2017-10-12 58 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");