2013-05-09 43 views
-1

我有一個iText和2PDF合併爲PDF的問題。在Java中合併2 PDFs

我想這個合併的PDF文件:

PDF1 - 一個網站:

這是PDF1。

PDF2 - 一個網站:

這是PDF2。

我需要什麼:https://dl.dropboxusercontent.com/u/4001370/whatIneed.pdf

碼1 - 兩個網站:

站點一個:這是PDF1。
一個網站二:這是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(); 
} 

}

我不知道。我希望你能在這個問題上幫助我。

+0

顯而易見的是,頁面1的全部加上頁面2的全部都適合單個目標頁面嗎?在這種情況下,你只需要調整'canvas.addTemplate(page,0,0);' – mkl 2013-05-10 06:02:30

回答

1

的問題是有點含糊 - 如果你問如何採取兩種PDF和它們合併在一起,這太文章顯示了這樣做在iText的最簡單的方法:How to merge different documents into single one?

+0

這個代碼的數字參數就像我的第一個例子的代碼一樣。 – Ulti 2013-05-14 08:04:55

2

請讀我的書的Chapter 6。它解釋了爲什麼使用PdfWriter/PdfImportedPage是合併文檔的錯誤方法。如果要連接兩個文檔,則應該使用PdfCopyPdfSmartCopy。如果您希望一個文檔作爲公司文具用於其他文檔,則應使用PdfStamper。從你的問題來看,目前還不清楚你們兩個人中哪一個人需要你(你可以打開解釋),所以請閱讀第6章。我已經完成了編寫和免費提供的工作,以便你可以選擇解決方案適合你。

+0

我收集提問者想把兩個源文檔的內容在同一個結果頁上**一個在另一個之下,因此PdfCopy可能不是解決方案。 – mkl 2013-05-10 08:38:33

+0

這就是爲什麼我添加了關於PdfStamper和公司文具的評論。 – 2013-05-10 10:37:59

+0

Jep我需要在一個結果頁上的兩個文件。感謝關於iText的章節。我讀過它,但是我無法在一個網站上將我的兩個PDF連接成一個pdf。 – Ulti 2013-05-14 08:07:56