當我試圖打印從servlet生成的pdf時,我在google-chrome中的打印預覽有問題。錯誤只出現在默認的pdf插件中,它適用於Adobe pdf插件。在servlet代碼的PDF輸出:Chrome瀏覽器中的PDF打印預覽錯誤
response.setContentType("application/pdf");
response.setHeader("Cache-Control","public");
response.setHeader("Content-Disposition", "inline; filename=\"crreport.pdf\"");
/*if (byteArrayInputStream != null){
byteArray = new byte[1024];
while((bytesRead = byteArrayInputStream.read(byteArray)) != -1) {
response.getOutputStream().write(byteArray, 0, bytesRead);
}
}else {
throw new Exception("byteArrayInputStream is null!");
}*/
if (byteArrayInputStream != null){
byteArray = new byte[byteArrayInputStream.available()];
byteArrayInputStream.read(byteArray);
response.setContentLength(byteArray.length);
response.getOutputStream().write(byteArray);
}else {
throw new Exception("byteArrayInputStream is null!");
}
System.out.println("End");
response.getOutputStream().flush();
response.getOutputStream().close();
在Chrome中的錯誤日誌,當我嘗試預覽生成的PDF: 意想不到的MIME類型application/PDF(預期應用程序/ x-谷歌 - 鉻 - 打印預覽 - 忽略插件pdf)
但是預覽工程,如果我保存這個pdf與默認保存按鈕在鉻頁面的右下角並從本地機器打開它。
我試過googleit,但在大量的關於鉻pdf插件不能找到任何有用的信息的問題。任何建議如何解決這個問題?
我更正了您標記的代碼中的錯誤。感謝您的評論,但它並未解決Chrome打印預覽的主要問題。 – Konstantin