# Itext: Fonts einbetten



## Aske (6. Aug 2009)

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)


```
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?


----------



## Aske (11. Aug 2009)

Hat niemand eine Idee? :-(


----------

