将信息添加到pdf,PyPDF2合并得太慢了

时间:2013-08-07 14:12:42

标签: python python-2.x pypdf

我想在pdf的每一页上都有一个文字。这个文本是一个看起来像<p style="color: #ff0000">blabla</p>的html代码,在最终文档中显示为红色,我将其转换为pdf(html2pdf lib)然后我将它(PyPDF2 lib)合并到我的pdf的每个页面。 ......但合并非常缓慢!

我的问题是: 是否有更快的方法来合并pdf而不是PyPDF2的page.mergePage方法? (或者可能有更快的方法将我的文本添加到此pdf中?)

谢谢! (在Windows 8上使用python 2.7.5)

1 个答案:

答案 0 :(得分:0)

由于你所做的只是在页面上添加一些文字,你可以通过编辑页面来加快这个过程。直接内容流。合并必须处理显着减慢过程的字体,其他资源,裁剪框等。如果您确实需要修改其中的一些内容,则解决方案会变得更加复杂。一些示例代码:

TEXT_STREAM = []  # The PS operations describing the creation of your text
def add_text(page):
    "Add the required text to the page."
    contents = page.getContents()
    if contents is None:
        stream = ContentStream(TEXT_STREAM, page.pdf)
    else:
        contents.operations.extend(TEXT_STREAM)