我需要iText的帮助我看一些谷歌的结果和一些在这里,但没有找到任何适合我的东西。我需要在我的pdf中使用波兰字符,但我什么都没有。如果需要在评论中写下其他内容,我认为这是一个很重要的代码:
private static Font bigFont = new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD);
另一个
Paragraph par = new Paragraph(Łabadzak, bigFont);
任何人都可以告诉我如何使这个Ł在pdf和其他波兰人角色中可见
更新 我资助这个,但不知道如何将它用于我的项目 Polish character in itext PDF
答案 0 :(得分:8)
您需要一个unicode字体。这是一个例子:
BaseFont bf = BaseFont.createFont("arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Paragraph p = new Paragraph("Şinasi ıssız ile ağaç", new Font(bf, 22));
document.add(p);
http://abdullahakay.blogspot.com/2011/11/java-itext-unicode.html
修改强>
此处,字体文件名arialuni.tff
是/src/main/resources/
下的静态资源,可以是您选择的任何Unicode字体文件。 Here是在线提供的免费Unicode字体文件列表。
答案 1 :(得分:3)
这取决于使用的字体和编码。我发现了这样的事情:
有这样的例子:
BaseFont bf = BaseFont.createFont("c:/windows/fonts/arial.ttf",
BaseFont.CP1250, BaseFont.EMBEDDED);
Font font = new Font(bf, 12);
String polish = "\u0104\u0105\u0106\u0107\u0118\u0119";
document.add(new Paragraph(polish, font));
请记住,某些字体不包含波兰国家字符。
答案 2 :(得分:1)
如果您使用的是com.itextpdf.kernel包,则可以使用PdfEncodings类中不存在的任何编码
PdfWriter writer ;
writer = new PdfWriter( dest ) ;
PdfDocument pdf = new PdfDocument( writer ) ;
Document document = new Document( pdf ) ;
FontProgram fontProgram = FontProgramFactory.createFont( ) ;
PdfFont font = PdfFontFactory.createFont( fontProgram, "Cp1254" ) ;
document.setFont( font );
对于土耳其语字符,我使用了“ Cp1254”