我有一个问题要问每个使用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并了解它是满的还是空的?谢谢你的关注,并为我糟糕的英语道歉,伊戈尔
发布于 2014-11-13 01:46:27
很抱歉,这是不可能使用JavaScript来确定是否已加载。
使用Flash,您可以确定是否加载了SWF,因为Flash Player提供了一个包含PercentLoaded属性的API。这使得开发人员可以查询SWF的加载状态。
PDF没有统一的“播放器”,它们通常是由浏览器的默认PDF渲染引擎(通常是专有的),Adobe Reader,或Adobe的竞争对手,如FoxIt阅读器加载。这些PDF渲染系统都具有完全不同的功能。他们没有对任何特定的功能集或PDF进行标准化,因此没有标准的方法来检查JavaScript是否已加载。
PDFObject的设计是为了在浏览器不支持PDF嵌入的情况下提供后备。但是,它不能验证一个PDF URL是否合法-- PDFObject所做的只是在您的标记中创建一个<object>,并将一个src指向您的URL。它无法验证URL是否指向PDF或任何其他文件类型。如果你调用PDFObject并且浏览器支持PDF嵌入,不管你的<object>合法与否,你都会得到一个URL。
https://stackoverflow.com/questions/26890681
复制相似问题