如何让PyPDF2读取PDF页面的正确尺寸?
解决PyPDF2获取PDF页面宽高与实际不符的问题
问题原因:PDF页面可能存在旋转属性,PyPDF2的
mediaBox.getWidth()和getHeight()是基于PDF原始坐标系计算的,当页面旋转90°或270°时,视觉上的宽高会和获取到的数值互换。修正代码:
# 获取页面旋转角度,默认0度 rotation = page.get('/Rotate', 0) # 根据旋转角度调整宽高取值 if rotation in [90, 270]: w, h = page.mediaBox.getHeight(), page.mediaBox.getWidth() else: w, h = page.mediaBox.getWidth(), page.mediaBox.getHeight() print(w, h)补充说明:PDF的标准旋转角度为0、90、180、270四种,只有当旋转90或270度时,页面视觉上的宽高方向才会和PDF坐标系的x/y轴方向相反,此时需要互换宽高值来匹配实际显示的尺寸。
内容的提问来源于stack exchange,提问作者Mas Zero
相关产品推荐
相关产品推荐

