2012-05-15 3 views
0

Я использую iText (java library) для создания PDF-файла. Здесь у меня есть пункт, в котором я должен поставить галочкуПоместите галочку в pdf с помощью itext

PdfPCell cell95 = new PdfPCell(new Paragraph((new Chunk('\u2713', FontFactory.getFont(FontFactory.HELVETICA, 11, Font.BOLD, new BaseColor(0,0,0)))))); 

Я использую это, но он не работает.

+1

Каков результат? Неправильный персонаж? Ничего? Исключено ли исключение? –

+0

ничего нет ... –

+0

Является ли символ юникода существующим шрифтом, который вы используете? –

ответ

0

Вы не можете использовать юникод непосредственно в PDFPCell.

Вместо этого создайте изображение с галочкой и вставьте его в PDFPCell.

+2

Почему бы и нет? Много PDF-файлов полно unicode. Можете ли вы предоставить документацию по поддержке? –

+0

спасибо @Suhel, что я должен был сделать .. –

0

This stackoverflow post и this item from itext-questions показывают, что вам нужно создать шрифт с помощью символов Юникода набора вместо Windows по умолчанию CP1252 Набора символов - попробуйте использовать перегрузку getFont с кодирующим спецификатором:

FontFactory.getFont(FontFactory.HELVETICA, BaseFont.IDENTITY_H, 11, Font.BOLD, new BaseColor(0,0,0)) 
0

Используйте этот код :

String FONT = "C:/dev/dejavu-fonts-ttf-2.33/ttf/DejaVuSans.ttf"; 
    FontSelector selector = new FontSelector(); 
    BaseFont base = BaseFont.createFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 
    selector.addFont(FontFactory.getFont(FontFactory.HELVETICA, 12)); 
    selector.addFont(new Font(base, 12)); 
    Phrase ph = selector.process(text); 
    document.add(new Paragraph(ph)); 

Здесь пункт 1) установлен BaseFont.IDENTITY_H; 2) только некоторые шрифты предоставляют «галочку»

Смежные вопросы