2013-08-07 17 views
4

我想在pdf的每個頁面上顯示一個文本。這個文本是一個看起來像<p style="color: #ff0000">blabla</p>的html代碼,它在最終文檔中顯示爲紅色,我將它轉換爲pdf(html2pdf lib),然後將它合併(PyPDF2 lib)到我的pdf的每個頁面。 ...但合併非常緩慢!將信息添加到pdf,PyPDF2合併得太慢

我的問題是: 是否有合併PDF比PyPDF2的page.mergePage方法更快的方法? (或者也許有更快的方式來添加我的文本到這個pdf?)

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

+0

對您要添加的文本有何限制?你需要使用特定的字體嗎?你需要控制文本顯示在頁面的哪個位置? – Felipe

回答

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)