[英]Merge 2 PDFs in Java
我在使用iText並將2PDF合並為1 PDF時遇到問題。
我想合並以下PDF:
PDF1-一個站點:
這是PDF1。
PDF2-一個站點:
這是PDF2。
我需要什么: https : //dl.dropboxusercontent.com/u/4001370/whatIneed.pdf
代碼1-兩個站點:
一個站點一個:這是PDF1。
一個站點2:這是PDF2。
PDFMergerUtility ut = new PDFMergerUtility();
ut.addSource("C:\\Temp\\PDF1.pdf");
ut.addSource("C:\\Temp\\PDF2.pdf");
ut.setDestinationFileName("C:\\Temp\\Code1.pdf");
ut.mergeDocuments();
代碼2-數字被覆蓋:
這是PDF(1/2)。
public class main {
public static void main(String[] args) throws IOException, DocumentException {
PdfReader reader;
PdfImportedPage page;
LinkedList<File> fileList = new LinkedList<File>();
fileList.add(new File("C:\\Temp\\PDF1.pdf"));
fileList.add(new File("C:\\Temp\\PDF2.pdf"));
File ergebnis = new File("C:\\Temp\\Code2.pdf");
Document document2 = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.getInstance(document2, new FileOutputStream(ergebnis));
document2.open();
PdfContentByte canvas = writer.getDirectContent();
// Header
reader = new PdfReader(fileList.get(0).getAbsolutePath());
page = writer.getImportedPage(reader, 1);
canvas.addTemplate(page, 0, 0);
// Aufgabe
reader = new PdfReader(fileList.get(1).getAbsolutePath());
for(int i=1; i<=reader.getNumberOfPages(); i++){
page = writer.getImportedPage(reader, i);
canvas.addTemplate(page, 0, 0);
document2.newPage();
}
document2.close();
writer.close();
}
}
我不知道。 希望您能在這個問題上幫助我。
請閱讀我的書的第6章 。 它解釋了為什么使用PdfWriter
/ PdfImportedPage
是合並文檔的錯誤方法。 如果要串聯兩個文檔,則應使用PdfCopy
或PdfSmartCopy
。 如果希望一個文檔充當另一文檔的公司信紙 ,則應使用PdfStamper
。 從您的問題出發,尚不清楚您需要兩者中的哪一個(您可以公開解釋),因此請閱讀第6章。我已盡力編寫並免費提供了它,以便您選擇可以解決的方案。適合您
這個問題有點含糊-如果您要問如何獲取兩個PDF並將它們合並在一起,那么這篇SO文章展示了在iText中最簡單的方法: 如何將不同的文檔合並為一個文檔?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.