iText basefont mingliu.ttc italic无法正常工作

时间:2015-01-03 08:23:23

标签: itext

我想以mingliu字体样式斜体显示文本,使用以下代码但失败,输出仍然是标准样式,而不是斜体(我使用的是iText 2)。

PdfContentByte cb = writer.getDirectContent();
..................
String ttfPath = null;
ttfPath = BaseSection.class.getResource("/WEB-INF/lib/mingliu.ttc").getPath();
try{
   this.bfi = BaseFont.createFont(ttfPath+",0,Italic", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
   cb.setFontAndSize(bfi, 8);
   ..........
    cb.showText(companyText);
 }

使用BaseFont.createFont以斜体样式显示mingliu文本的任何方法? 感谢。

1 个答案:

答案 0 :(得分:0)

我发现以下内容可以解决我的问题

PdfContentByte cb = writer.getDirectContent();
cb.saveState(); 
String ttfPath = BaseSection.class.getResource("/WEB-INF/lib/mingliu.ttc").getPath();
bf = BaseFont.createFont(ttfPath+",0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
String companyText = "abc";
Font font = new Font(bf, 8, Font.ITALIC);
Chunk chunk = new Chunk(companyTextC, font);
Phrase phrase = new Phrase(chunk);
ColumnText.showTextAligned(cb, Element.ALIGN_RIGHT, phrase, document.right(), 1, 0);
cb.restoreState();

希望这可以帮助其他有类似问题的人。