如何使用 Python 获取 PDF 文件元数据“页面大小”?

Posted

技术标签:

【中文标题】如何使用 Python 获取 PDF 文件元数据“页面大小”?【英文标题】:How to get PDF file metadata 'Page Size' using Python? 【发布时间】:2018-02-24 06:10:26 【问题描述】:

我尝试在 Python 3 中使用 PyPDF2 模块,但无法显示“页面大小”属性。 在扫描到 PDF 文件之前,我想知道纸张尺寸是多少。

类似这样的:

import PyPDF2
pdf=PdfFileReader("sample.pdf","rb")
print(pdf.getNumPages())

但我正在寻找另一个 Python 函数,而不是例如 getNumPages()...

下面的这个命令打印某种元数据,但没有页面大小:

pdf_info=pdf.getDocumentInfo()
print(pdf_info)

【问题讨论】:

【参考方案1】:

这段代码应该可以帮助你:

import PyPDF2
pdf = PyPDF2.PdfFileReader("a.pdf","rb")
p = pdf.getPage(1)

w_in_user_space_units = p.mediaBox.getWidth()
h_in_user_space_units = p.mediaBox.getHeight()

# 1 user space unit is 1/72 inch
# 1/72 inch ~ 0.352 millimeters

w = float(p.mediaBox.getWidth()) * 0.352
h = float(p.mediaBox.getHeight()) * 0.352

【讨论】:

~0.352 正好是 25.4/72

以上是关于如何使用 Python 获取 PDF 文件元数据“页面大小”?的主要内容,如果未能解决你的问题,请参考以下文章

从 ruby​​ 中的 pdf 文件中获取元数据

在应用中打开后获取文件元数据

如何使用 Python 获取两个 PDF 文件的差异?

如何使用python代码查找PDF文件每一段的字体大小?

如何在 Python 中使用 tesseract 获得图像中最大的文本?

使用python处理pdf中的表格