我正在开发一个用户可以上传文件的应用程序,应用程序使用pdf.js显示上传文件的预览。服务器端代码是:
byte[] content= new BASE64Decoder().decodeBuffer(documentVO.getDocument());
outPutStream.write(content, 0, content.length);
responseReturn.setContentType("application/pdf");
问题是某些.tiff文件预览未显示,并且在控制台上显示以下警告。 警告:未处理拒绝:[例外...“组件不可用”nsresult:“0x80040111(NS_ERROR_NOT_AVAILABLE)”位置:“JS frame :: http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js :: CanvasGraphics_paintJpegXObject :: line 6511”数据:否] CanvasGraphics_paintJpegXObject @ http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js:6511:0 CanvasGraphics_executeOperatorList @ http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js:5467:10 InternalRenderTask__next @ http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js:4846:29 InternalRenderTask__continue @ http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js:4838:8 InternalRenderTask_operatorListChanged @ http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js:4827:6 pageDisplayReadyPromise @ http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js:4154:10 runHandlers @ http://tmc.pw.com:8080/dpg2/Viewer.js/pdf.js:810:26
只有部分.tiff文件收到此警告,并且未显示预览。
注意:如果我将这些.tiff文件从任何在线tiff转换为pdf转换器,那么它会被转换而不会出现任何错误,因此我猜这些文件没有问题。
答案 0 :(得分:0)
PDF.js无法渲染tiff。它需要PDF作为输入文件。 如果您有“真实的pdf”产生问题,请在https://github.com/mozilla/pdf.js/issues/new报告,并确保提供不起作用的pdf。