Я бы ожидал, что следующий код создаст пустой PDF с соответствующими метаданными. Вместо этого я получаю файл в формате 0kb, который, конечно же, Acrobat не откроется. Я просмотрел http://www.avajava.com/tutorials/lessons/how-do-i-write-to-a-pdf-file-using-itext.html и http://www.java4s.com/core-java/creating-pdf-with-java-and-itext-generating-pdf-using-java-example/.Создает .pdf-файл с 0kb и без содержимого через iText
Кажется, я делаю это правильно ... но ... нет.
public class BuildSheet {
JobSetEntity jobSetEntity;
public BuildSheet(JobSetEntity jobSetEntity) {
this.jobSetEntity = jobSetEntity;
}
public boolean generate(File destinationFile) {
try {
Document document = new Document();
FileOutputStream stream = new FileOutputStream(destinationFile);
PdfWriter.getInstance(document, stream);
document.open();
addMetaData(document);
document.close();
stream.close();
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
private void addMetaData(Document document) {
document.addAuthor(ApplicationContextProvider.getProperty("application.name"));
document.addCreator(ApplicationContextProvider.getProperty("application.name"));
document.addTitle("Build sheet for JobSet #"+jobSetEntity.getId());
document.addLanguage("EN");
}
}