2012-01-23 312 views
0

我有一些編程生成PDF文件的代碼,我需要將它附加到現有文件(到生成的一個結尾)。有人可以舉一個例子或鏈接?追加現有的PDF文件

謝謝

UPD#1:其實我在尋找一些片合併現有的文件和字節的數組(的程序生成的文件)

+1

其中我們的代碼是什麼具有u試過嗎? –

+0

我沒有試過,因爲沒有找到任何代碼片段 – nKognito

+0

ucan考慮Itext –

回答

0

感謝所有repliers,我已經找到了解決辦法:

PdfWriter writer = PdfWriter.getInstance(document, outputStream); 
writer.setPageEvent(new FooterGenerator()); 

document.open(); 
document.setMargins(MARGIN_LEFT, MARGIN_RIGHT, MARGIN_TOP, MARGIN_BOTTOM); 
document.add(generateHeader()); 
document.add(generateContent()); 
appendTermsAndConditions(writer, document, context.getRealPath("/files/terms-and-conditions.pdf"); 
document.close(); 

protected void appendTermsAndConditions(PdfWriter writer, Document document, String fileName) throws IOException { 
    File f = new File(fileName); 
    if (f.exists()) { 
    PdfReader reader = new PdfReader(fileName); 
    PdfContentByte cb = writer.getDirectContent(); 
    int pagesCount = reader.getNumberOfPages(); 
    PdfImportedPage page; 
    for (int i = 0; i < pagesCount; i++) { 
     document.newPage(); 
     page = writer.getImportedPage(reader, document.getPageNumber() + 1); 
     cb.addTemplate(page, 0, 0); 
    } 
    } 
} 
0

Itext是根據我的好選擇的代碼。

0

Itext是很好的解決方案。 要追加,您需要讀取已經存在的數據並將其寫入下一個文件。

PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("D:/Text.pdf")); 
String text1 = parser.getTextFromPage(3); 

並且在編寫以編程方式生成PDF文件的代碼之前,需要添加text1。

+0

如果現有的PDF文件包含圖像等?我怎樣才能添加所有的內容沒有任何鬆動? – nKognito

+0

其實我還沒有嘗試追加。現在我正在嘗試按照你的想法做。等待,讓我們看看它是否工作。你也可以在你身邊嘗試相同的事情。 – vikiiii

+0

對不起。這種方法將只提取文本部分而不提取圖像。 – vikiiii