问题描述
对于this example PDF,我这样做了:
import fitz
doc = fitz.open("PDF-export-example-image-ocr.pdf")
print(f"(1) {doc[0].bound()=}")
print(f"(2) {doc[0].MediaBox=}")
print(f"(3) {doc[0].getimageList()}")
doc.close()
给出:
(1) doc[0].bound()=Rect(0.0,0.0,612.0399780273438,792.530029296875)
(2) doc[0].MediaBox=Rect(0.0,792.530029296875)
(3) [(15,1275,1651,8,'DeviceRGB','','R12','DCTDecode')]
我希望(1)和(2)相同,尽管我不明白为什么有两种方法可以使它们相同。
我不明白的是,为什么(3)中的图像值比它所在的页面大得多。有人可以解释吗?
解决方法
您看到的图像大小是嵌入式JPEG图像资源中的像素数。在页面上绘制图像时,这实际上对图像的大小几乎为零。页面上图像的物理尺寸完全取决于绘制图像的页面内容流命令。