pdf.js

uniapp 在线预览pdf

[亡魂溺海] 提交于 2020-10-04 13:37:50
使用pdf.js、pdfh5.js、pdfworker.js、web-view。跳转到外部链接页面,进行查看pdf文件; uniapp中的web-view跳转到本地文件,需要在根目录下创建hybrid目录。下面在创建html文件夹。详见: 步骤 建立对应文件夹,hybrid和html文件夹;把文件复制进去; 然后准备一个vue页面,里面是web-view,如下: <template> <view> <web-view :src="url"></web-view> </view> </template> <script> export default { data () { return { url: '', // pdf链接 } }, onLoad (options) { let links = decodeURIComponent(options.links); // 设置连接地址; this.url = `/hybrid/html/pdf.html?url=${links}`; }, } </script> 然后有需要预览pdf的页面,把pdf的地址传过来就可以了,如:(我这个web-view页面名字是report) goReport (url) { let links = encodeURIComponent(url) uni.navigateTo({ url: '..

pdfjs优化,实现按需加载,节省流量和内存

久未见 提交于 2020-08-14 03:15:45
1 问题   当使用pdfjs来实现预览功能的时候,遇到了2个问题:   一是带宽占用过大,会下载整个pdf文件,这对部署在公网的应用来说,成本压力很大,因为云服务带宽是很贵的。   二是内存占用过大,一个80M的pdf,在预览时占用内存高达600M,在一些内存较小的手机上容易发生崩溃。   pdfjs默认配置下,会加载所有的分片(内容),即使只预览一个页面也会加载整个文件。能不能实现按需加载呢?只加载所预览的页面?答案是可以,下面我就详细地介绍如何做。 2 测试环境 pdfjs 1.10.100 prebuild chrome 76 springboot 2.1 3 步骤 3.1 原理   要实现按需下载,需要用到HTTP协议的范围(Range)请求。MSN站点中有关Range的介绍如下: The Range HTTP request header indicates the part of a document that the server should return. Several parts can be requested with one Range header at once, and the server may send back these ranges in a multipart document. If the server sends back

【PDF-js】移动端使用pdfjs预览pdf文件

十年热恋 提交于 2020-08-11 20:05:18
需求: 在预览这个pdf文件时候,PC端可以直接 放地址, 在手机端直接放会变成下载,所以就要使用 pdfjs 来实现 背景: 文件地址: http://www.alioss.test.com/files/laofan.pdf 我的项目域名: http://www.test.com 官网地址: http://mozilla.github.io/pdf.js/ 下载稳定版本 目录结构如下。你要先访问 web目录里的 viewer.html 把文件放到你得项目静态文件里 那么你访问 www.test.com/web/viewer.html , 如下图 项目中配置使用 nginx 配置反向代理,此时就代表 /alioss/ 在项目中就代替了 http://www.alioss.test.com #代理第三方文件访问 location /alioss/ { proxy_pass http://www.alioss.test.com/; } php文件接收访问的文件 ,格式为: http://www.test.com/file_view?file_url=http://www.alioss.test.com/files/laofan.pdf /** *预览 * 依然范儿特西 */ public function file_view(Request $request) { $file_url

how to get parent div data-attribute javascript

泄露秘密 提交于 2020-08-09 07:17:07
问题 I have a HTML structure like this : <div class="page" data-page-number="29" data-page-label="18" data-loaded="true" style="width: 816px; height: 1056px;"> <div class="canvasWrapper" style="width: 816px; height: 1056px;"> <canvas id="page29" width="1632" height="2112" style="width: 816px; height: 1056px;"></canvas> </div> <div class="textLayer" style="width: 816px; height: 1056px;"> some content </div> </div> <div class="page" data-page-number="29" data-page-label="18" data-loaded="true" style

pdfjs优化,实现按需加载,节省流量和内存

我只是一个虾纸丫 提交于 2020-08-09 04:05:34
1 问题   当使用pdfjs来实现预览功能的时候,遇到了2个问题:   一是带宽占用过大,会下载整个pdf文件,这对部署在公网的应用来说,成本压力很大,因为云服务带宽是很贵的。   二是内存占用过大,一个80M的pdf,在预览时占用内存高达600M,在一些内存较小的手机上容易发生崩溃。   pdfjs默认配置下,会加载所有的分片(内容),即使只预览一个页面也会加载整个文件。能不能实现按需加载呢?只加载所预览的页面?答案是可以,下面我就详细地介绍如何做。 2 测试环境 pdfjs 1.10.100 prebuild chrome 76 springboot 2.1 3 步骤 3.1 原理   要实现按需下载,需要用到HTTP协议的范围(Range)请求。MSN站点中有关Range的介绍如下: The Range HTTP request header indicates the part of a document that the server should return. Several parts can be requested with one Range header at once, and the server may send back these ranges in a multipart document. If the server sends back

How to use pdf.js library in a firefox addon?

旧时模样 提交于 2020-07-22 21:43:29
问题 I'm making a Firefox add-on extension to insert a pdf document in the translated page of Google and I want to use pdf.js . Don't want to use embed or iframe tags to do it, I want to do my own pdf viewer. I'm trying to use the pdj.js library in a Firefox add-on, but it not work. I have already tried to do it adding this in manifest.json . "content_scripts": [ { "matches":["*://translate.google.com/*"], "js": ["script.js","pdf.js"] } [enter image description here][1] ] but when I do: pdfjsLib

How to use pdf.js library in a firefox addon?

▼魔方 西西 提交于 2020-07-22 21:36:15
问题 I'm making a Firefox add-on extension to insert a pdf document in the translated page of Google and I want to use pdf.js . Don't want to use embed or iframe tags to do it, I want to do my own pdf viewer. I'm trying to use the pdj.js library in a Firefox add-on, but it not work. I have already tried to do it adding this in manifest.json . "content_scripts": [ { "matches":["*://translate.google.com/*"], "js": ["script.js","pdf.js"] } [enter image description here][1] ] but when I do: pdfjsLib