【问题标题】:Open PDF files using PDF.js without passing file as query string使用 PDF.js 打开 PDF 文件而不将文件作为查询字符串传递
【发布时间】:2016-06-21 00:27:44
【问题描述】:

我目前正在使用PDF.js 打开一个PDF 文件并且它工作正常。

以前我是这样使用的:

http://myapp.mycompany.com/web/viewer.html?file=http://myapp.mycompany.com/my-PDF-file.pdf

我的问题:

由于某些原因,我真的不想透露我的 PDF 文件的文件路径,并希望将我的 PDF 文件移到根目录之外。有没有其他方法可以将 pdf 文件提供给 viewer.html?还是这是唯一的方法?

注意:我已将所有 PDF 文件移出我的根目录。那么我现在如何访问 PDF?

【问题讨论】:

    标签: javascript php html pdf pdf.js


    【解决方案1】:

    是的,有。而是调用一些函数(你甚至不需要 PDF.js):

    http://www.example.com/getPDF.php?fileName=pdfname.pdf
    
    function fileName() {
        $fileName = $_GET['fileName'];
        header("Content-type:application/pdf");
        header("Content-Disposition:inline;filename='{$fileName}'");
        readfile(__DIR__."/../pdfs/private/{$fileName}");
    }
    

    【讨论】:

    • sorry..我想使用 PDF.js,因为它提供了一个好看的审阅者,我如何使用 PDF.js 来加载文件,你知道吗?
    • 将您的 URL 更改为 http://myapp.mycompany.com/web/viewer.html?file=http://myapp.mycompany.com/getPDF.php?filename=pdfname.pdf,上面的响应将是文件 getPDF.php 的内容,您可能需要对 file= 之后的部分进行 urlencode(取决于 viewer.html 中的实现)
    • @apokryfos:嘿,我成功了,非常感谢你的建议 :)
    • @Abhinav PDF.js 主要用于不支持原生 PDF 预览的浏览器,或者如果您想对 PDF 进行一些高级操作。
    • @Justinas:是的,我一直在寻找一些高级操作,这就是我想通过 PDF.js 实现它的原因,我根据你的建议解决了它,谢谢 :)
    【解决方案2】:

    使用rawurlencode 编码'/getP‌​DF.php?filename=pdfname.pdf' 部分:

    "http://myapp.mycompany.com/web/viewer.html?file=".rawurlencode("/getP‌​DF.php?filename=".rawurlencode("pdfname.pdf"))
    

    【讨论】:

    猜你喜欢
    • 2021-03-27
    • 2013-01-23
    • 2021-07-15
    • 2012-11-12
    • 1970-01-01
    • 2021-09-24
    • 2020-10-31
    • 2012-08-19
    • 2013-12-09
    相关资源
    最近更新 更多