0

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");
4

1 に答える 1

2

CJK フォントに関する DynamicPDF ドキュメントを参照してください。

韓国語の文字を追加するために使用している SinoTypeSongLight フォントは、実際には簡体字中国語の文字をサポートしています。そのフォントではハングル文字がサポートされていないため、PDF の最初の行には空白が必要です。

2 行目と 3 行目では、韓国語の文字をサポートする正しいフォント (HanyangSystemsGothicMedium と HanyangSystemsShinMyeongJoMedium) を実際に使用しています。ただし、上記のドキュメント リンクによると、この PDF を表示しているマシンに Asian Font Pack がインストールされている必要があります。お使いの Chrome ブラウザがどの PDF ビューア プラグインを使用しているかはわかりませんが、Adobe Reader などの PDF ビューアはアドオンとして Asian Font Pack を提供しています。アジア フォント パックを使用した Adob​​e Reader DC のコードで生成された PDF を示すスクリーンショットを参照してください。

ここに画像の説明を入力

免責事項: 私は、DynamicPDF ライブラリを開発する会社である ceTe Software で働いています。

于 2016-10-07T14:10:14.387 に答える