使用 itextpdf 转换为 PDF 时如何使西里尔字符正确显示?
How to make Cyrillic characters display correctly when converting to PDF with itextpdf?
有没有人知道如何使 itextpdf 使用西里尔符号?
I have code:
Font normal = FontFactory.getFont(String.valueOf(Font.FontFamily.HELVETICA), "CP1251", false, 13);
Document doc = new Document(PageSize.A4, 36, 36, 36, 65);
Paragraph paragraph = new Paragraph("ЗАПИСЬ!!!", normal);
doc.add(paragraph);
我看到 CP1251 工作正常,但对于单个字符 - 而对于文本 - (在我的示例中为“ЗАПИСЬ”)。并且它显示所有相互重叠的字符。
我的代码有什么问题?
谢谢!
您可以从网络下载字体源(http://fonts4web.ru/Helvetica.html#test)。
将字体保存在您的资源目录中。
按照下面的示例操作:
public class HelloWorld {
/** Path to the resulting PDF file. */
public static final String RESULT = "results/hello.pdf";
public static final String FONT = "fonts/HelveticaRegular.ttf";
/**
* Creates a PDF file: hello.pdf
* @param args no arguments needed
*/
public static void main(String[] args)
throws DocumentException, IOException {
new HelloWorld().createPdf(RESULT);
}
/**
* Creates a PDF document.
* @param filename the path to the new PDF document
* @throws DocumentException
* @throws IOException
*/
public void createPdf(String filename)
throws DocumentException, IOException {
Font font = FontFactory.getFont(FONT, BaseFont.IDENTITY_H, true);
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(filename));
document.open();
document.add(new Paragraph("Hello World! Ты можешь использовать кирилицу.", font));
document.close();
}
}
有没有人知道如何使 itextpdf 使用西里尔符号?
I have code:
Font normal = FontFactory.getFont(String.valueOf(Font.FontFamily.HELVETICA), "CP1251", false, 13);
Document doc = new Document(PageSize.A4, 36, 36, 36, 65);
Paragraph paragraph = new Paragraph("ЗАПИСЬ!!!", normal);
doc.add(paragraph);
我看到 CP1251 工作正常,但对于单个字符 - 而对于文本 - (在我的示例中为“ЗАПИСЬ”)。并且它显示所有相互重叠的字符。
我的代码有什么问题? 谢谢!
您可以从网络下载字体源(http://fonts4web.ru/Helvetica.html#test)。
将字体保存在您的资源目录中。
按照下面的示例操作:
public class HelloWorld {
/** Path to the resulting PDF file. */
public static final String RESULT = "results/hello.pdf";
public static final String FONT = "fonts/HelveticaRegular.ttf";
/**
* Creates a PDF file: hello.pdf
* @param args no arguments needed
*/
public static void main(String[] args)
throws DocumentException, IOException {
new HelloWorld().createPdf(RESULT);
}
/**
* Creates a PDF document.
* @param filename the path to the new PDF document
* @throws DocumentException
* @throws IOException
*/
public void createPdf(String filename)
throws DocumentException, IOException {
Font font = FontFactory.getFont(FONT, BaseFont.IDENTITY_H, true);
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(filename));
document.open();
document.add(new Paragraph("Hello World! Ты можешь использовать кирилицу.", font));
document.close();
}
}