Python - PyPdf2 合并不保持 PDF 大小
Posted
技术标签:
【中文标题】Python - PyPdf2 合并不保持 PDF 大小【英文标题】:Python - PyPdf2 merge does not keep PDF size 【发布时间】:2019-12-16 15:33:12 【问题描述】:我在使用 PyPDF2 合并 PDF 时遇到了大小问题。我有以下代码来合并 pdfs 文件:
merger = PyPDF2.PdfFileMerger()
for pdf in fileSorted:
merger.append(pdf[1])
os.remove(pdf[1])
merger.write(tmpPath + '/result.pdf')
问题是,PDF 尺寸比原始尺寸太大。如何指定 pdf 大小?
输入文件大小为 210*297mm (A4),输出大小为 900x1273mm
非常感谢
【问题讨论】:
输出是什么样的?除了尺寸问题,它是否正确附加? 是的,我的内容没有问题,但大小对我来说是个问题,因为在浏览器中显示效果很差(firefox pdf 查看器缩放它而不是完全显示 pdf) 这真的很奇怪哈哈。你要合并的所有文件都是一样的大小,210*297,对吧? 我只是发布我的解决方案 :) 【参考方案1】:我终于找到了解决办法。我的问题就在这里,因为在合并之前,我将 pdf 转换为 jpg,然后将 jpg 转换为 pdf,然后合并它。所以我将合并更改为:
writer = PyPDF2.PdfFileWriter()
for pdf in fileSorted:
reader = PyPDF2.PdfFileReader(pdf[1])
page = PageObject.createBlankPage(reader)
page.mergePage(reader.getPage(0))
page.scaleTo(width=595,height=842)
writer.addPage(page)
outputStream = open(tmpPath + '/result.pdf', 'wb')
writer.write(outputStream)
outputStream.close()
【讨论】:
以上是关于Python - PyPdf2 合并不保持 PDF 大小的主要内容,如果未能解决你的问题,请参考以下文章