Hallo,
ich habe ein Problem mit iText und dem Erstellen von PDF/A Dateien. Die Fonts müssen eingebettet werden, aber alle meine Versuche schlagen leider fehl (keine Fehlermeldung beim Ausführen des Quelltextes, sondern beim späteren Validieren durch diverse PDF/A Checker)
Ich dachte eigentlich, daß durch Anlegen eines Fonts mit dem Parameter BaseFont.EMBEDDED gleichzeitig auch das Font eingebettet wird, scheinbar passiert das allerdings nicht - zumindest die PDF/A Checker sagen, daß die Schriftart nicht eingebettet sei.
Weiß jemand, wie man Schriftarten per ITEXT API eingebetten kann?
ich habe ein Problem mit iText und dem Erstellen von PDF/A Dateien. Die Fonts müssen eingebettet werden, aber alle meine Versuche schlagen leider fehl (keine Fehlermeldung beim Ausführen des Quelltextes, sondern beim späteren Validieren durch diverse PDF/A Checker)
Java:
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
PdfWriter writer = PdfWriter.getInstance(document,out);
writer.setPdfVersion(PdfWriter.PDF_VERSION_1_4);
writer.setPDFXConformance(PdfWriter.PDFA1B);
document.open();
PdfContentByte cb = writer.getDirectContent();
for(int i=0;i<read.getNumberOfPages();i++){
document.newPage();
cb.addTemplate(writer.getImportedPage(read, i+1),0,0);
}
PdfDictionary dic = new PdfDictionary(PdfName.OUTPUTINTENT);
dic.put(PdfName.OUTPUTCONDITIONIDENTIFIER, new PdfString("sRGB IEC61966-2.1"));
dic.put(PdfName.INFO, new PdfString("sRGB IEC61966-2.1"));
dic.put(PdfName.S, PdfName.GTS_PDFA1);
ICC_Profile icc = ICC_Profile.getInstance(new FileInputStream(profilefile));
PdfICCBased ib = new PdfICCBased(icc);
ib.remove(PdfName.ALTERNATE);
dic.put(PdfName.DESTOUTPUTPROFILE, writer.addToBody(ib).getIndirectReference());
writer.getExtraCatalog().put(PdfName.OUTPUTINTENTS, new PdfArray(dic));
BaseFont font = BaseFont.createFont("c:/windows/fonts/arial.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED);
Font f = new Font(font, 12);
document.add(new Paragraph("test", f));
writer.createXmpMetadata();
document.close();
Ich dachte eigentlich, daß durch Anlegen eines Fonts mit dem Parameter BaseFont.EMBEDDED gleichzeitig auch das Font eingebettet wird, scheinbar passiert das allerdings nicht - zumindest die PDF/A Checker sagen, daß die Schriftart nicht eingebettet sei.
Weiß jemand, wie man Schriftarten per ITEXT API eingebetten kann?