簡體   English   中英

由DynamicPDF創建的PDF將韓文顯示為空白

[英]PDF created by DynamicPDF renders korean text as blank

我正在使用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");

請參考有關CJK字體的DynamicPDF文檔。

您用來添加韓文字符的SinoTypeSongLight字體實際上支持簡體中文字符。 該字體不支持韓文字符,因此PDF中的第一行應留有空格。

在第二和第三行中,您實際上使用的是支持韓文字符的正確字體(HanyangSystemsGothicMedium和HanyangSystemsShinMyeongJoMedium)。 但是,根據上面的文檔鏈接,您應該在查看PDF的計算機上安裝了Asian Font Pack。 我不確定您的Chrome瀏覽器使用哪種PDF查看器插件,但是Adobe Reader等PDF查看器是否提供了亞洲字體包作為附加組件。 請查看截圖,該截圖顯示在Adobe Reader DC中帶有亞洲字體包的代碼生成的PDF。

在此處輸入圖片說明

免責聲明:我在ceTe Software工作,該公司開發DynamicPDF庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM