2015-12-04 108 views
0

有沒有一種方法來使用Python創建一個多層的PDF。但不合並。Python - 創建一個多層的PDF

我認爲多層PDF意味着頁面中有多個圖層,我可以選擇在Acrobat中顯示哪一層。

這裏是我找到分層PDF文檔: http://www.open.ac.uk/opencetl/files/opencetl/file/ecms/web-content/Multi-pdf-how-to-%20file.pdf

和分層PDF的例子: http://www.talkgraphics.com/attachment.php?s=1901864ddbe7b63f672440daffc3907e&attachmentid=76844&d=1285324919

+0

首先記錄_multi層PDF_並與我們分享這些信息。 –

+0

@DirkHorsten我添加了一個關於多層PDF的文檔。謝謝! –

回答

0

從我可以告訴,既不ReportLab的也不Pypdf有機制來創建的塊標記爲實現圖層(或可選內容組)所必需的內容。

我已經創建了這樣的APDFL使用IronPython和Datalogics .Net接口。 還有一個Java接口,所以你可以用Jython做同樣的事情。

該技術基本上是爲圖層創建OptionalContentGroup,然後將圖層中的內容添加到容器中,然後將Container的OptionalContentMembershipDict設置爲一個OptionalContentMemberDict,它將兩者連接起來。

ocg = PDFL.OptionalContentGroup(doc,"Labels") 
doc.DefaultOptionalContentConfig.Order.Insert(0,PDFL.OptionalContentOrderLeaf(ocg)) 
labelContainer.OptionalContentMembershipDict = PDFL.OptionalContentMembershipDict(doc,[ocg,],PDFL.VisibilityPolicy.AnyOn) 

其中labelContainer是我已添加到我的頁面的內容的容器元素。

披露:我爲Datalogics工作。

1

您可以使用PyPDF2覆蓋來自不同PDF文件的頁面,生成另一個未展平的PDF文件。

你可以找到一個很好的例子添加水印here。查看「Overlaying Pages」部分中的示例和解釋。