Unicode characters in iText PDF

核能气质少年 提交于 2019-12-07 03:21:10

问题


I need help with iText I look at some Google result and some here but don't find anything that work for me. I need to use polish character in my pdf but i got nothing for no. Here is a code that I think is important if need something else write in comment:

private static Font bigFont = new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD);

another

Paragraph par = new Paragraph(Łabadzak, bigFont);

Can any1 tell me what to do to make that Ł visible in pdf and other polish character

UPDATE I fund this but dunno how to use it for my project Polish character in itext PDF


回答1:


You need a unicode font. Here is an example:

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

EDIT:

Here, the font file name arialuni.tff is a static resource directly under /src/main/resources/ and can be any Unicode Font File of your choice. Here's a list of free Unicode Font Files available online.




回答2:


It depends on used font and encoding. i found something like this:

http://itext-general.2136553.n4.nabble.com/Polish-National-Characters-are-not-getting-displayed-in-the-PDF-created-by-iTExt-td2163833.html

There is example like this:

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)); 

Remember that some fonts does not contain polish national characters.




回答3:


In case you are using com.itextpdf.kernel package you can use any encoding which is not present in PdfEncodings class

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 );

for turkish characters I used "Cp1254"



来源:https://stackoverflow.com/questions/9556678/unicode-characters-in-itext-pdf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!