为什么页面的MuPDF MediaBox比包含的图像小?

问题描述

对于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图像资源中的像素数。在页面上绘制图像时,这实际上对图像的大小几乎为零。页面上图像的物理尺寸完全取决于绘制图像的页面内容流命令。