iText를 사용하여 일부 PDF를 생성 할 때 이러한 pdf에는 중국어 문자 (중국어 간체 - GB2312)가 있지만이 문자로 pdf를 생성 할 수 없습니다.IText - 한자로 PDF 생성
누구나 내가 틀린 곳을 말할 수 있습니까?
나는 창조의 다양한 형태를 사용하여 시도했지만 성공하지 못했습니다 : 는BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
com.itextpdf.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:699)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:606)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:441)
at com.ford.fc.frc.render.wsltopdf.PDFDefaultWriter.printText(PDFDefaultWriter.java:176)
at com.ford.fc.frc.render.wsltopdf.PDFDefaultConverter.convertFile(PDFDefaultConverter.java:122)
at com.ford.fc.frc.render.wsltopdf.PDFDefaultConverter.convert(PDFDefaultConverter.java:234)
at com.ford.fc.frc.render.plugins.PDFDefaultRenderer.render(PDFDefaultRenderer.java:41)
at com.ford.fc.frc.report.ReportManager.executeRenderer(ReportManager.java:1113)
at com.ford.fc.frc.report.ReportManager.reportCompleted(ReportManager.java:596)
at com.ford.fc.roc.ReportOutputControl.reportCompleted(ReportOutputControl.java:87)
at LoadFRC.main(LoadFRC.java:69)
BaseFont bfComic = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H, BaseFont.NOT_EMBEDDED);
Font fontbold = new Font(bfComic, 8);
BaseFont bfComic = BaseFont.createFont("C:\\Windows\\Fonts\\cour.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font fontbold = new Font(bfComic, 8);
누군가가 나를 도울 수 있을까요? 당신은 당신의 CLASSPATH에 iText를 항아리를
while(null != (line = reader.readLine())) {
document.open();
FontSelector selector = new FontSelector();
/*FontFactory.getFont("MSung-Light","UniCNS-UCS2-H", BaseFont.NOT_EMBEDDED);*/
Font f2 = FontFactory.getFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseTraditionalEncoding_H, BaseFont.NOT_EMBEDDED);
f2.setColor(BaseColor.RED);
selector.addFont(f2);
Phrase ph = selector.process(line);
document.add(new Paragraph(ph));
BaseFont bfComic = BaseFont.createFont("C:\\Windows\\Fonts\\arialuni.ttf", BaseFont.IDENTITY_V, BaseFont.EMBEDDED);
Font fontbold = new Font(bfComic, 8);
Paragraph p = new Paragraph(line, fontbold);
document.add(p);
// step 5: we close the document
}
내 현재 작업, 다른 해결책이? itext-asian을 추가 할 필요없이? –
새로운 API를 추가한다고 가정합니다. itext-asian.jar을 열면 실행 가능한 코드가 아닌 메트릭 파일 (데이터)이 있다는 것을 알게됩니다. 또한 귀하의 작업 환경이 관료적 인 경우 귀사는 iText를 사용하기위한 상용 라이센스를 구입했을 것입니다. 그렇다면, 그들은 iText와 관련된 모든 항아리를 이미 수락했습니다. –
질문 : 특정 요구 사항이 CJK 글꼴 (포함되지 않고 글꼴 팩이 필요한 글꼴)을 사용하는 것이라면 itext-asian.jar에 메트릭이 필요합니다. 귀하의 요구 사항이 중국어 텍스트를 작성하는 것이라면 다른 옵션이 있습니다. 이것들은 제 책에 설명되어 있습니다. 책을 소유하지 않은 경우 11 장의 예제를 살펴보십시오. http://itextpdf.com/book/chapter.php?id=11 (예 : arialuni.ttf를 as –