2017-10-12 64 views
1

我寫了一個webapp,它將.pdf.png文件合併。一切正常,除非輸入的PDF有多個頁面,因爲PDFBox沒有選擇我想疊加的特定頁面的功能。它只有第一,最後,奇數,偶數或全部頁面。我首先使用PDFBox將.png保存在新的PDF上。我的合併方法使用.pngPDF作爲覆蓋並將其放在輸入PDF上。PDFBox set覆蓋特定頁面

我對合並的代碼如下:

 File file2 = new File(getImagePdfLocation()); 
     PDDocument overlayDoc = PDDocument.load(file2); 
     Overlay overlayObj = new Overlay(); 

     PDDocument originalDoc = PDDocument.load(new File("Path")); 
     overlayObj.setOverlayPosition(Overlay.Position.FOREGROUND); 
     overlayObj.setInputPDF(originalDoc); 
     overlayObj.setAllPagesOverlayPDF(overlayDoc);  //alternatives? 
     Map<Integer, String> ovmap = new HashMap<Integer, String>();    
     overlayObj.overlay(ovmap); 
     originalDoc.save("Path"); 

     overlayDoc.close(); 
     originalDoc.close(); 

有我俯瞰任何功能,也可以提出一個解決辦法?

我有一個Javascript,它檢索當前頁碼並將它傳遞給我的bean,我需要的只是一種設置它的方法。

回答

1

我找到了解決方案,很簡單。您只需在地圖上輸入所需的頁碼,並將文件路徑添加到疊加層。

像這樣:

ovmap.put(2, "Path");