不同的PDF版本在不同的坐标上打印相同的信息

  • 本文关键字:打印 信息 PDF 版本 坐标 java pdf
  • 更新时间 :
  • 英文 :


我正在研究一个应用程序,我必须生成一个PDF文件,最终在指定的表单上打印。我必须非常准确地了解生成的PDF文件上每个信息的X和Y坐标,以便将其打印到目标表单上的正确位置。我的问题是,当我在所需的表单上实际打印这个PDF文件时,通过不同的PDF版本打印时,信息在不同的坐标上打印。这对我来说是一个非常奇怪的问题,为什么同样生成的PDF文件在不同的X-Y坐标上打印。任何想法如何我可以解决这个问题编程或它的问题的Adobe阅读器?

理论上,这应该没有什么区别-正如您所知道的,PDF坐标系统是非常良好定义的,基于(0,0)作为页面的左下角。

这就是有趣的地方。当你打印时,Acrobat(当我说"是"时,我的意思是当我在1999年最后一次使用它时是这样的)将根据打印机/打印驱动程序来决定如何打印文档。它应该在清洗中都是相同的,但是代码经过不同的路径,这取决于打印机是否有PostScript(以及哪个版本)或其他东西。在"其他"类别中,Acrobat必须将页面栅格化以作为一个大图像打印,并且如何栅格化将取决于打印机所宣传的页面的实际可打印区域及其标称分辨率。如果Acrobat改变了该信息的解释方式(例如,因为它是错误的),那么页面将看起来不同。

这是你真正的测试。创建一个文档,在1英寸或1/2英寸的边界上有一个网格,在(36,36)处做一个标记来确定角的方向。用两个版本的Acrobat打印该文档,看看它们是否对齐(我会用尺子检查一下)。如果它们对齐,那么在已知位置重新编写文本。如果它们仍然对齐,则问题可能出在您的代码中(例如,没有以足够的精度生成坐标并结合许多导致舍入错误的复合转换)。

最新更新