提问人:Tim 提问时间:10/13/2023 更新时间:10/13/2023 访问量:30
如果内容复杂,'pypdf'的'merge_scaled_page'会导致空白页
`pypdf`'s `merge_scaled_page` leads to blank pages if content is complex
问:
我正在使用 和 的组合将页码添加到 pdf 列表中。reportlab
pypdf
- 首先,我使用 - 连接许多 pdf。
pypdf
PdfMerger
- 然后制作一个带有编号但其他空白页的 pdf
reportlab
- 然后我使用 - 将数字组合到串联的 pdf 中。
pypdf
merge_scaled_page
第三步不是报告错误,而是间歇性地产生不良输出。
下面是代码的业务部分
with open(tmp, "rb") as ftmp:
number_pdf = PdfReader(ftmp)
# iterate pages
for p in range(n):
page = reader.pages[p]
number_layer = number_pdf.pages[p]
page.merge_scaled_page(number_layer,scale=1.0,over=True)
writer.add_page(page)
现在,90% 的时间都可以正常工作。但有时完成的文档中的页面是空白的。它不是随机的:我通常可以预测哪些页面会失败,即内容复杂的页面。例如,一个 Microsoft Word 文档包含许多审阅标记,或者一个页面上有许多详细的 Excel 图表的组合。除了这个一般功能之外,我看不出有效的页面和无效的页面之间有任何区别。我已经尝试了变体,看看这是否有帮助,但它没有。merge_scaled_page
目前,我的解决方法只是在页面复杂时跳过该步骤;但这是非常手动的,并不令人满意。page.merge_scaled_page
有什么想法吗?
答: 暂无答案
评论