我使用iText创建带有图形的PDF,包括文本。为此,我使用Graphics2D。但是drawString忽略了任何字体选择,它总是使用Arial。
FileOutputStream fos = new FileOutputStream("c:\\temp\\test.pdf");
Document document = null;
Rectangle rect=PageSize.A3.rotate();
document = new Document(rect);
PdfWriter writer=PdfWriter.getInstance(document, fos);
document.open();
PdfContentByte cb = writer.getDirectContent();
Graphics2D g =cb.createGraphics(rect.getWidth(),rect.getHeight());
Font font=new Font(“Times New Roman“,Font.PLAIN,10);
// here the font-Variable shows the correct font
g.setFont(font);
Font checkFont=g.getFont();
// here checkFont is correctly Times New Roman
g.drawString(“Merry Christmas!”,100,200);
…
但是文本总是在PDF文件中打印为Arial,无论我指定什么字体。
感谢您的任何评论或帮助!