使用 PyPDF2 检查页面是否垂直?
Check if page is vertical using PyPDF2?
有没有办法使用 PyPDF2 检查 PDF 页面是否垂直?
理想情况下,会有 pdfReader.getPage(0).isVertical()
方法 returns true
或 false
,但我在 PageObject docs
我正在尝试在 PDF 的第一页顶部合并水印,但只有当 PDF 处于垂直方向时它才会看起来正确。
希望做到以下几点。
if (not (pdfReader.getPage(0).isVertical())):
pdfReader.getPage(0).rotateClockwise(90)
我能够保证我的第一页 firstPage = PyPDF2.PdfFileReader(pdfFile).getPage(0)
是垂直的,方法是结合使用两件事。
代码
我用右上角和右下角的坐标计算了isVertical
def isVertical(page):
page = page.mediaBox
return page.getUpperRight_x() - page.getUpperLeft_x() < page.getUpperRight_y() - page.getLowerRight_y()
如果页面是横向的,我将它向左旋转 90 度,这可能会导致页面上下颠倒,但至少它是垂直的。如果pdf页面旋转了,就旋转回去。
if (not isVertical(firstPage)):
firstPage.rotateCounterClockwise(90)
if (firstPage.get('/Rotate')):
firstPage.rotateCounterClockwise(firstPage.get('/Rotate'))
有没有办法使用 PyPDF2 检查 PDF 页面是否垂直?
理想情况下,会有 pdfReader.getPage(0).isVertical()
方法 returns true
或 false
,但我在 PageObject docs
我正在尝试在 PDF 的第一页顶部合并水印,但只有当 PDF 处于垂直方向时它才会看起来正确。
希望做到以下几点。
if (not (pdfReader.getPage(0).isVertical())):
pdfReader.getPage(0).rotateClockwise(90)
我能够保证我的第一页 firstPage = PyPDF2.PdfFileReader(pdfFile).getPage(0)
是垂直的,方法是结合使用两件事。
代码
我用右上角和右下角的坐标计算了isVertical
def isVertical(page):
page = page.mediaBox
return page.getUpperRight_x() - page.getUpperLeft_x() < page.getUpperRight_y() - page.getLowerRight_y()
如果页面是横向的,我将它向左旋转 90 度,这可能会导致页面上下颠倒,但至少它是垂直的。如果pdf页面旋转了,就旋转回去。
if (not isVertical(firstPage)):
firstPage.rotateCounterClockwise(90)
if (firstPage.get('/Rotate')):
firstPage.rotateCounterClockwise(firstPage.get('/Rotate'))