Я хочу создать объект PdfWriter и установить события для верхнего и нижнего колонтитула. Проблема заключается в том, что я создаю новый PDF-файл. Но моя проблема в том, что у меня уже есть PDF-файл в потоке вывода. Пожалуйста, найдите мой пример кода ниже.PdfWriter и события
Document document = new Document();
try {
// step 2:
FileInputStream is = new FileInputStream("D://2.pdf");
int nRead;
byte[] data = new byte[16384];
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
while ((nRead = is.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead);
}
buffer.flush();
PdfWriter writer = PdfWriter.getInstance(document,buffer);
writer.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft);
writer.setPageEvent(new DossierPortalUtil());
document.setMargins(36, 36, 54, 72);
// step 3:
document.open();
document.add(new Chunk("testing"));
} catch (Exception de) {
de.printStackTrace();
}
finally{
document.close();
}
Если я комментирую строку
document.add(new Chunk("testing"));
я получаю исключение
Исключение в потоке "основного" ExceptionConverter: java.io.IOException: Документ не имеет страниц.
Без комментариев нет исключений, но он не добавляет верхний и нижний колонтитулы. Любые подсказки высоко ценятся.
С уважением, Тина
enter code here
Thanks Mark. Я заработал. Но теперь проблема, с которой я столкнулся, - это не запись заголовка. Хотя я делаю getOverContent getUnderContent, а затем добавляю таблицы, но почему-то заголовок не записывается. Есть предложения? –