C# DynamicPDF创建的PDF将韩文文本呈现为空白
我正在使用DynamicPDF生成一个包含一些韩文文本的PDF文件。我正在使用PDF系统字体的CJK字符,并没有得到可怕的方块,我只是得到。。。空白 这些字符占用空间,之后添加拉丁字符会显示在您期望的位置。选择空白空间,右键单击或复制,显示适当的预期字符,因此它们存在。 我的系统会呈现韩文文本,在chrome works中以HTML页面显示,而在chrome中则不会 这里是一个与(工作)日语文本进行比较的最小样本C# DynamicPDF创建的PDF将韩文文本呈现为空白,c#,pdf,cjk,dynamicpdf,C#,Pdf,Cjk,Dynamicpdf,我正在使用DynamicPDF生成一个包含一些韩文文本的PDF文件。我正在使用PDF系统字体的CJK字符,并没有得到可怕的方块,我只是得到。。。空白 这些字符占用空间,之后添加拉丁字符会显示在您期望的位置。选择空白空间,右键单击或复制,显示适当的预期字符,因此它们存在。 我的系统会呈现韩文文本,在chrome works中以HTML页面显示,而在chrome中则不会 这里是一个与(工作)日语文本进行比较的最小样本 ceTe.DynamicPDF.Document文档=新的ceTe.Dynami
ceTe.DynamicPDF.Document文档=新的ceTe.DynamicPDF.Document();
ceTe.DynamicPDF.Page Page=新的ceTe.DynamicPDF.Page(PageSize.Letter,PageOrientation.Portrait,54.0f);
//创建要添加到页面的标签
var testString=“韩语:안녕하세요 세계 ";
添加(新标签(testString,0,0,504,100,Font.SinoTypeSongLight,18,TextAlign.Center));
添加(新标签(testString,0100504100,Font.hanyangsgothicmedium,18,TextAlign.Center));
添加(新标签(testString,0,200,504,100,Font.HanyangSystemsShinMyeongJoMedium,18,TextAlign.Center));
testString=“日本:こんにちは世界 ";
添加(新标签(testString,0,300,504,100,Font.SinoTypeSongLight,18,TextAlign.Center));
//向文档中添加页面
文件。页码。添加(第页);
//将文档输出到当前网页
文件绘制(“D:/HelloWorld.pdf”);
请参阅上的DynamicPDF文档
用于添加韩文字符的SinoTypeSongLight字体实际上支持简体中文字符。该字体中不支持韩文字符,因此PDF中的第一行需要空格
在第二行和第三行中,您实际使用的字体是正确的(HanyangSystemsGothicMedium和HanyangSystemsShinmeyeongjoMedium)这支持韩文字符。但是,根据上面的文档链接,您应该在查看此PDF的计算机上安装亚洲字体包。我不确定您的Chrome浏览器使用的PDF查看器插件是什么,但Adobe Reader等PDF查看器提供亚洲字体包作为附加组件。请查看显示t他用你的代码在AdobeReaderDC中生成PDF,带有亚洲字体包
免责声明:我在ceTe软件公司工作,该公司开发DynamicPDF库。请参阅上的DynamicPDF文档 用于添加韩文字符的SinoTypeSongLight字体实际上支持简体中文字符。该字体中不支持韩文字符,因此PDF中的第一行需要空格 在第二行和第三行中,您实际使用的字体是正确的(HanyangSystemsGothicMedium和HanyangSystemsShinmeyeongjoMedium)这支持韩文字符。但是,根据上面的文档链接,您应该在查看此PDF的计算机上安装亚洲字体包。我不确定您的Chrome浏览器使用的PDF查看器插件是什么,但Adobe Reader等PDF查看器提供亚洲字体包作为附加组件。请查看显示t他用你的代码在AdobeReaderDC中生成PDF,带有亚洲字体包 免责声明:我在ceTe软件公司工作,该公司开发DynamicPDF库
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");