簡體   English   中英

用Java合並2個PDF

[英]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是合並文檔的錯誤方法。 如果要串聯兩個文檔,則應使用PdfCopyPdfSmartCopy 如果希望一個文檔充當另一文檔的公司信紙 ,則應使用PdfStamper 從您的問題出發,尚不清楚您需要兩者中的哪一個(您可以公開解釋),因此請閱讀第6章。我已盡力編寫並免費提供了它,以便您選擇可以解決的方案。適合您

這個問題有點含糊-如果您要問如何獲取兩個PDF並將它們合並在一起,那么這篇SO文章展示了在iText中最簡單的方法: 如何將不同的文檔合並為一個文檔?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM