Sto stampando un file PDF esistente con informazioni aggiuntive utilizzando la libreria iText. Le informazioni extra sono testo che deve essere visualizzato in un font TTF personalizzato.Il font ttf incorporato iText non è visibile in Adobe Reader
Il problema è che il testo non è visibile solo in Adobe Reader. Altri visualizzatori PDF, come ad esempio il lettore eVince predefinito in Ubuntu e il lettore PDF online di Google, rendono il testo stampato nel font incorporato personalizzato.
ho cercato più codifiche, come ad esempio CP1251, BaseFont.Identity_H, ...
Il codice dove avviene la magia:
PdfReader pdfReader = new PdfReader(new FileInputStream(inputPdf));
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("stamped.pdf"));
PdfContentByte canvas = pdfStamper.getOverContent(1);
String text = "The stamp";
BaseFont bf = BaseFont.createFont("assign.ttf", "Cp1251",BaseFont.EMBEDDED);
canvas.beginText();
canvas.setColorFill(BaseColor.BLUE);
canvas.setFontAndSize(bf, 13);
canvas.moveText(310, 600);
canvas.showText(text);
pdfStamper.close();
Quando vai su Documento> Proprietà e apri la scheda Caratteri, cosa vedi? Vedi il font? –
Vedo il problema: probabilmente stai utilizzando una versione obsoleta di iText! –