附加现有PDF文件

时间:2012-01-23 05:47:01

标签: java itext

我有一些代码以编程方式生成PDF文件,我需要将现有文件追加到它(到生成文件的末尾)。有人可以给出一个例子或链接吗?

谢谢

UPD#1:其实我正在寻找一些合并现有文件和字节数组(编程生成文件)的代码

2 个答案:

答案 0 :(得分:0)

Itext是一个很好的解决方案。 要追加,您需要读取已存在的数据并将其写入下一个文件。

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

在编写以编程方式生成PDF文件的代码之前,需要添加text1。

答案 1 :(得分:0)

感谢所有回复者,我找到了解决方案:

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);
    }
   }
}