当我缩小时,PDFBox会生成黑线

时间:2019-04-22 06:28:23

标签: pdf pdfbox dotted-line

当我尝试使用PDFBox打印行时,当我缩小生成的pdf文件时,它会创建一行如此黑的行。

我正在使用带有行方法(moveTo,lineTo)的内容流来创建虚线模式。对于破折号模式和设置特定大小,我使用了一些方法(lineWidth,setLineDashPattern)。

您可以在我的github存储库(https://github.com/dmmax/pdfbox-dotted-pattern/blob/master/src/main/java/me/dmmax/pdfbox/dottedpattern/Main.java)上查看代码

下面的图片打开了两个文件:我的结果(左侧)和示例外观(右侧)。两个文件的缩放比例均为50%。

Compare my result with example 或者您可以在计算机上检查,只需下载两个文件:
1)我的结果:https://github.com/dmmax/pdfbox-dotted-pattern/blob/master/print.pdf
2)示例:https://github.com/dmmax/pdfbox-dotted-pattern/blob/master/informationyoushouldknow.pdf

当我缩小结果pdf时,有人知道如何修复黑线吗?

1 个答案:

答案 0 :(得分:0)

非常感谢@TilmanHausherr在此问题上的大力帮助。 如果pdf缩小时的线条太黑,则发生这种情况是因为pdf渲染了很多小对象,但缩小时的大小却相同(或接近)。

对于我来说,解决此问题的方法是在另一个pdf中生成点/破折号图案(具有所需的行数),然后将pdf转换为XObject并在当前的pdf上打印。

是的,它占用了更多空间,但是没有停电