我正在使用 DynamicPDF 生成带有一些韩文文本的 PDF 文件。我正在为 CJK 字符使用 PDF 系统字体并且没有得到可怕的方块,我只是得到......空白。
字符占用空间,然后添加拉丁字符确实显示在您期望的位置。选择空格并右键单击或复制它会显示正确的预期字符,因此它们存在。
我的系统确实呈现韩文文本,在 chrome 中的 HTML 页面中显示它有效,而在 chrome 中的 PDF 没有。
这是一个最小示例,其中包含(工作)日文文本进行比较。
ceTe.DynamicPDF.Document document = new ceTe.DynamicPDF.Document();
ceTe.DynamicPDF.Page page = new ceTe.DynamicPDF.Page(PageSize.Letter, PageOrientation.Portrait, 54.0f);
// Create a Label to add to the page
var testString = "Korean: 안녕하세요 세계 </korean>";
page.Elements.Add(new Label(testString, 0, 0, 504, 100, Font.SinoTypeSongLight, 18, TextAlign.Center));
page.Elements.Add(new Label(testString, 0, 100, 504, 100, Font.HanyangSystemsGothicMedium, 18, TextAlign.Center));
page.Elements.Add(new Label(testString, 0, 200, 504, 100, Font.HanyangSystemsShinMyeongJoMedium, 18, TextAlign.Center));
testString = "Japan: こんにちは世界 </japan>";
page.Elements.Add(new Label(testString, 0, 300, 504, 100, Font.SinoTypeSongLight, 18, TextAlign.Center));
// Add page to document
document.Pages.Add(page);
// Outputs the document to the current web page
document.Draw("D:/HelloWorld.pdf");