谷歌浏览器下 PDF 直接打印没有反应

 

问题描述


由于 PDF 打印清晰度问题,更换了 itext2_rq.jar,发现谷歌下无法进行 PDF 直接打印,如下图所示,只弹出提示消息,然后这个消息自动关闭后,不会出来打印页面:

imagepng

而 pdfbox 那个 jar 则可以正常打印;IE 谷歌下使用 itext2 测试无法进行直接打印,火狐则可以正常进行直接打印。

排查过程


由于是同一个报表在更新 jar 后出现的异常,所以怀疑是 jar 处理的问题,但是,PDF 第三方处理包后来没有变动过代码,而且内置示例报表以及新增报表却都可以正常进行 PDF 直接打印。
那会不会是报表哪里设置有影响 PDF 直接打印处理?
删除了报表里所有单元格,也还是不能进行直接打印,说明和单元格设置无关,不是由于特殊设置引起的问题;
然后看报表属性里的整体配置,最后对比发现 PDF 导出设置那里有不同,如下图所示:

imagepng

解决方法


勾选上图所示里的“打印“就可以正常进行 PDF 直接打印了。
这里勾选表示允许支持这个功能,不勾选则表示禁用。

上图所示的 PDF 相关属性是由 pdf 解释器去解释的;所以能否解释对,取决于解释器是否做得完全,这个就是为什么谷歌和火狐测试 PDF 直接打印效果不一致的原因。