我对如何以真实比例显示PDF文档感到困惑,即比例= 100%。
注意:我正在使用python-poppler-qt4。
Poppler-qt4 提供了一种获取 PDF 真实大小(以磅为单位)的方法:
document = Poppler.Document.load('mypdf.pdf')
page = document.page(0)
size = page.pageSize() # returns a QSize object
然后,要将页面渲染为 QImage,应提供图形设备的分辨率,以每英寸点数 (DPI) 为单位:
image = page.renderToImage(72, 72)
现在,由于文档的自然大小以点为单位(即每英寸 72),并且图像渲染器需要每英寸点数,我是否可以假设文档的自然大小是当其分辨率为 72 DPI 时?还是点和点是两种不同的度量?如果我错了,那么解决这个问题的方法是什么?
PDF 文件中的点是物理单位,您可以使用标尺测量它们。图像中的点(像素)是虚拟单位,它们之间的连接是通过分辨率因子完成的。将内容从矢量空间移动到栅格空间时,您可以决定点和像素之间的关系(用于转换的分辨率),由应用程序决定 100% 的含义。
大多数应用程序使用屏幕的 DPI 作为 100% 缩放的参考。在 Windows 上,这通常意味着 96DPI,距离 PDF 文件一英寸在屏幕上的 96 像素上表示。Adobe Reader 允许您将自己的分辨率设置为用于 100% 缩放,默认情况下为 110DPI。