vue3 pdf预览
时间: 2023-08-08 10:12:00 浏览: 181
在Vue3中,有几种方法可以实现PDF的预览。其中一种方法是使用vue3-pdf-app插件。在Vue文件中,你可以引入PDFViewer组件,并设置相应的属性,如页面缩放、宽度、高度、主题和PDF文件的源。你还可以通过监听loaded事件来获取PDF应用程序的实例。以下是一个示例代码:
```html
<template>
<div>
<h1>vue3-pdf-app 参考文档</h1>
<ul class="m-list">
<li>
<a class="u-file" href="https://www.npmjs.com/package/vue3-pdf-app" target="_blank">vue3-pdf-app</a>
</li>
</ul>
<h2 class="mt30 mb10">PDFViewer 基本使用</h2>
<PDFViewer page-scale="page-fit" :width="800" :height="700" theme="dark" :src="PDFSrc" @loaded="onLoaded" />
</div>
</template>
<script setup lang="ts">
import PDFViewer from './PDFViewer.vue'
import { ref } from 'vue'
const PDFSrc = ref('https://cdn.jsdelivr.net/gh/themusecatcher/resources@0.0.3/Markdown.pdf')
function onLoaded (pdfApp: any) {
console.log('loaded app:', pdfApp)
}
</script>
```
另一种方法是使用vue-pdf-embed和pdfjs-dist插件。首先,你需要安装这两个插件的依赖。然后,你可以在Vue文件中使用PDFViewer组件,并设置相应的属性。你还可以通过调用print方法来实现PDF的打印。以下是一个示例代码:
```html
<template>
<div>
<PDFViewer ref="pdf" :src="PDFSrc" />
<div @click="print">打印</div>
</div>
</template>
<script setup>
import PDFViewer from 'vue-pdf-embed'
import { ref, getCurrentInstance } from 'vue'
const PDFSrc = ref('https://example.com/path/to/pdf')
function print() {
const { proxy } = getCurrentInstance()
proxy.$refs\['pdf'\].print()
}
</script>
```
这些方法可以帮助你在Vue3中实现PDF的预览功能。希望对你有所帮助!
#### 引用[.reference_title]
- *1* [Vue3PDF预览(vue3-pdf-app)](https://blog.csdn.net/Dandrose/article/details/130271456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Vue3预览并打印PDF的两种方法](https://blog.csdn.net/qing_jian0119/article/details/128739730)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文