给定具有多页的 PDF 文档,如何检查给定页面是否旋转(-90、90 或 180º)?最好使用 Python (pdfminer, pyPDF) ...
更新:页面被扫描,大部分页面由文本组成。
给定具有多页的 PDF 文档,如何检查给定页面是否旋转(-90、90 或 180º)?最好使用 Python (pdfminer, pyPDF) ...
更新:页面被扫描,大部分页面由文本组成。
我简单地使用/Rotate
了页面的属性PyPDF2
:
pdf = PyPDF2.PdfFileReader(open('example.pdf', 'rb'))
orientation = pdf.getPage(pagenumber).get('/Rotate')
它可以是0
, 90
, 180
,270
或None
如果您正在使用 PDFMiner 并希望每页的方向:
from pdfminer.pdfpage import PDFPage
from io import StringIO
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
output_string = StringIO()
resource_manager = PDFResourceManager()
device = TextConverter(resource_manager, output_string,
laparams=LAParams())
interpreter = PDFPageInterpreter(resource_manager, device)
for page in PDFPage.get_pages(open('sample.pdf', 'rb')):
interpreter.process_page(page)
if page.mediabox[2] - page.mediabox[0] > page.mediabox[3] - page.mediabox[1]:
orientation = 'Landscape'
else:
orientation = 'Portrait'
如果您正在使用,您可以通过调用实例的属性pdfminer
来获得旋转。.rotate
PDFPage
for page in PDFPage.create_pages(doc):
interpreter.process_page(page)
r = page.rotate