pdfjs-dist 在vue3中的使用,统计pdf页码

109 阅读1分钟
  1. package.json 添加pdfjs-dist依赖

    "pdfjs-dist": "^5.1.91",

  2. ts

    import { getDocument, GlobalWorkerOptions } from 'pdfjs-dist'
    // 使用本地 worker 文件, 优化渲染性能
    GlobalWorkerOptions.workerSrc = new URL('pdfjs-dist/build/pdf.worker.mjs', import.meta.url).toString()
    async function getPdfPageCount(file: any) {
      try {
        const loadingTask = await getDocument(file.url)
        const pdfDoc = await loadingTask.promise
        const numPages = pdfDoc.numPages
        console.log(`该PDF文件有 ${numPages} 页`)
      } catch (error) {
        console.error('该PDF=== Error loading PDF:', error)
      }
    }
  1. 服务端 nginx 配置 mjs文件类型
// 如果不配置 线上环境可能会报错
location ~ \.mjs$ {
    add_header Content-Type application/javascript;
    try_files $uri =404;
}