2012-01-23 150 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