发布
社区首页 >问答首页 >在客户端解密PDF文件并使用pdf.js查看

在客户端解密PDF文件并使用pdf.js查看
EN

Stack Overflow用户
提问于 2015-01-30 18:49:53
回答 1查看 10.4K关注 0票数 6

我正在做一个项目,所有pdf文件都是在Web服务器上加密的。

使用XMLHttpRequest,我可以获得加密的pdf文件的内容。然后使用JavaScript工具对文件进行解密。毕竟,将文件的内容分配给javascript变量作为decrypted_file。所有这些都是在客户端完成的。

以下是我想做的事;

pdf.js呈现并查看位于web服务器或同一目录基础上的pdf文件。

我如何处理pdf.js才能从javascript变量(而不是url )获得“http//yourdomain.com/Fir-test.pdf”或文件为"first-test.pdf“的内容?

欢迎任何回答,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-15 10:21:55

假设您使用的是viewer.html of PDF.js,从数据中打开一个PDF文件就像用正确的参数调用PDFViewerApplication.open一样容易。

示例:类型化数组(Uint8Array / ArrayBuffer / ..)

代码语言:javascript
代码运行次数:0
复制
// in viewer.html
var data = new Uint8Array( /* ... data ... */ );
PDFViewerApplication.open(data);

示例: Blob / File对象

代码语言:javascript
代码运行次数:0
复制
// in viewer.html
var data = new Blob([ '%PDF....'] , {type: 'application/pdf'});
var url = URL.createObjectURL(data);
PDFViewerApplication.open(url);

示例:数据URL (如果浏览器支持)

代码语言:javascript
代码运行次数:0
复制
var url = 'data:application/pdf;base64,....';
PDFViewerApplication.open(url);

示例:数据URL (任何浏览器)

这包括两个步骤:解码base64数据-URL,然后将二进制字符串转换为Uint8Array

代码语言:javascript
代码运行次数:0
复制
var url = 'data:application/pdf;base64,....';
var data = url.split(';base64,')[1];
// Decode base64
var binaryString = atob(data);
// Convert binary string to Uint8Array
data = new Uint8Array(binaryString.length);
for (var i = 0, ii = binaryString.length; i < ii; ++i) {
    data[i] = binaryString.charCodeAt(i);
}
PDFViewerApplication.open(data);

示例:在帧中使用PDF.js

代码语言:javascript
代码运行次数:0
复制
<iframe src="viewer.html" id="pdfjsframe"></iframe>
<script>
var pdfjsframe = document.getElementById('pdfjsframe');
// At the very least, wait until the frame is ready, e.g via onload.
pdfjsframe.onload = function() {
    var data = ... data here or elsewhere ... ;
    pdfjsframe.contentWindow.PDFViewerApplication.open(data);
};
</script>
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28242700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档