PDFObject 库:捕获错误 - 或如何知道我的 PDFObject 何时为空

PDFObject library: catching error - or how to know when my PDFObject is empty

本文关键字:PDFObject 何知道 我的 何时 错误      更新时间:2023-09-26

我有一个问题要问大家使用PDFObject库。(http://pdfobject.com/)(我在前端使用angularJS)

//This is the html code:
    <div id="boxPdf"></div>
//Here the code in the controller
    var pdfUrl = '/myUrl/myRestService/'+idDocument;
            var myPDF = new PDFObject({
                                    url: pdfUrl,
                                    pdfOpenParams: {
                                        width: "100%",
                                        height: "1500"
                                    },
                                    id: 'myIdObject'
                                });
            myPDF.embed('boxPdf');

代码有效,但烦人的是,如果我从后端发送一个空的 pdf,这个库无论如何都会显示灰色框。例如,我想抓住这个解释,不要显示灰色框。如何查看 myPDF 并了解是满的还是空的?感谢您的关注,对不起我的英语不好,伊戈尔

抱歉,无法使用 JavaScript 来确定 PDF 是否已加载。

使用 Flash,

您可以确定是否加载了 SWF,因为 Flash Player 提供了包含 PercentLoaded 属性的 API。这使开发人员能够查询 SWF 的加载状态。

PDF

没有统一的"播放器",它们通常由浏览器的默认PDF渲染引擎(通常是专有的),Adobe Reader或FoxIt Reader等Adobe竞争对手加载。这些 PDF 渲染系统都具有完全不同的功能。他们没有标准化任何特定的功能集或JavaScript API,因此没有标准方法来检查PDF是否已加载。

PDFObject旨在提供回退,以防浏览器不支持PDF嵌入。但是,它无法验证PDF URL是否合法 - PDFObject所做的只是在您的标记中创建一个<object>,并带有指向您的URL的src。它无法验证 URL 是否指向 PDF 或任何其他文件类型。如果您调用 PDFObject 并且浏览器支持 PDF 嵌入,您将获得<object>您的 URL 是否合法。