由于公司需要在业务系统展示文服的pdf,最后折腾发现pdf存在严重跨域问题。网上也是各种跨域解决方案,但是没有哪个真正合适或者说能实现的,我参考官方demo和结合网上的一些资源,自己写了一个demo,完美运行,希望对需要的人有一些帮助。
pdf.js官网:http://mozilla.github.io/pdf.js/
1、页面的body,这里放了一个div,将会动态添加多个canvas,也就是显示所有pdf页。
<body>
<div id="canvasDiv" style="width: 100%;background-color:#5f5f5f;text-align: center">
</div>
</body>
2、页面js代码块,
访问后端并获取到base64字符串
//远程文件路径,直接直接从此URL中获取到PDF,如果输入到浏览器应该会下载到一个pdf文件
var pdfUrl = "http://localhost:8088/files/getFileById?fileId=74b8995310b141413f1a32f86e1e1ecf";
$.ajax({
type: "get",
data: {"param": pdfUrl},
async: false,
mimeType: 'text/plain; charset=x-user-defined',
url: "/getData",
success: function (data) {
var pdfData = atob(data);
// Using DocumentInitParameters object to l