次のコードで、適切なメタデータを含む空白の PDF が作成されると思います。代わりに、もちろんAcrobatが開かない0kbのpdfファイルになってしまいます。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/ .
私はこれを正しくやっているようですが...そうではありません。
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");
}
}