Добавить существующий файл PDF - PullRequest
0 голосов
/ 23 января 2012

У меня есть некоторый код, который генерирует файл PDF программно, и мне нужно добавить к нему существующий файл (до конца сгенерированного). Может кто-нибудь привести пример или ссылку?

Спасибо

UPD # 1: На самом деле я ищу какой-то фрагмент кода слияния существующего файла и байтового массива (сгенерированного программным путем файла)

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Спасибо всем ответчикам, я нашел решение:

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 голосов
/ 23 января 2012

Itext - хорошее решение. Для добавления необходимо прочитать уже имеющиеся данные и записать их в следующий файл.

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

И прежде чем вы напишите свой код, который генерирует файл PDF программным способом, вам нужно добавить текст1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...