PYPDF2,如何压缩输出PDF

时间:2019-10-02 12:57:06

标签: python pdf pypdf2

我正在使用以下代码突出显示文本: https://gist.github.com/agentcooper/4c55133f5d95866acdee5017cd318558

from PyPDF2 import PdfFileWriter, PdfFileReader

from PyPDF2Highlight import createHighlight, addHighlightToPage

pdfInput = PdfFileReader(open("input.pdf", "rb"))
pdfOutput = PdfFileWriter()

page1 = pdfInput.getPage(0)
page1.compressContentStreams() # ADDED BY MYSELF
highlight = createHighlight(100, 400, 400, 500, {
    "author": "",
    "contents": "Bla-bla-bla"
})

addHighlightToPage(highlight, page1, pdfOutput)

pdfOutput.addPage(page1)

outputStream = open("output.pdf", "wb")
pdfOutput.write(outputStream)

问题与我收到的输出PDF太大有关,我添加了compressContentStreams()但仍然无法正常工作,输入文件:10MB,输出3 GB!

1 个答案:

答案 0 :(得分:0)

并非所有的PDF软件都能够压缩PDF,当我搜索其文档时,除了 compressContentStreams ()以外,没有找到其他可以优化文件的匹配项。

如果您最初需要更好的结果或具有压缩PDF文件的功能,则可能需要考虑使用其他PDF软件。我的公司提供PDF Optimizer来在这种情况下提供帮助。