PDF.js介绍以及使用

这里写目录标题

下载

官网地址

下载最新版浏览器版本。

放入项目内

我这是uniapp项目 放入了 static vue 项目可以放入public

build 是源码库 web 内是写好的一个类似pdf编辑器的完整项目

加载pdf文件

html 复制代码
// 组件 使用 iframe之类的标签引入新的页面
<template>
	<view class="main-containers">
		<web-view :webview-styles="webviewStyles" :src="iframe"></web-view>
	</view>
</template>
<script>
	import config from "@/config"
	export default {
		data() {
			return {
				 iframe: "",
				 webviewStyles: {
					progress: {
						color: '#FF3333'
					}
				}
			};
		},
		props: {
		    isSelf:{
		      type: Boolean,
		      default: true
		    }
		},
		onLoad(opts) {
			if (opts.pdfUrl){
				this.loadFrame(opts.pdfUrl)
			}
		},
		mounted() {
		  },
		methods:{
			loadFrame(pdfUrl){
			    this.iframe = "/static/pdfjs/web/viewer.html?file="+config.baseUrl+pdfUrl+"&ver="+Date.now(); // file 是文件地址
			},
		}
	}
</script>

<style lang="scss">
.main-containers {
  margin-left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
</style>

其他问题

加载远程文件跨域

js 复制代码
// 找到源码地址 直接删除代码
 if (fileOrigin !== viewerOrigin) {
        throw new Error("file origin does not match viewer's");
      }

中文语言

html 复制代码
// viewer.html
<link rel="resource" type="application/l10n" href="locale/locale.json">
<!--<link rel="resource" type="application/l10n" href="locale/zh-CN/viewer.ftl">--> 无法直接使用

修改web/locale/locale.json ,"zh-cn":"zh-CN/viewer.ftl" 放在首位

json 复制代码
{"zh-cn":"zh-CN/viewer.ftl","ach":"ach/viewer.ftl", ...  ,"zh-tw":"zh-TW/viewer.ftl"}
相关推荐
一粒黑子6 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
IT枫斗者6 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
九转成圣7 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
Beginner x_u7 小时前
链表专题:JS 实现原理与高频算法题总结
javascript·算法·链表
SmartRadio7 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython8 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫8 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch8 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI8 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0018 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript