iTextSharp PDF 出力で欠落している文字 (Č、Ć など) の解決策
質問:
iTextSharp を使用して PDF を生成すると、最終的な文書で一部の文字 (「Č」や「Ć」など) が欠落します。この問題は、静的テキスト段落を使用して PDF レポートを生成するときに発生します。
問題の原因:
iTextSharp は、「Č」や「Ć」など、特定の言語に固有の特殊文字をレンダリングするのが困難です。
解決策:
この問題を解決するには、次の手順を検討してください:
1. 特殊文字表記を使用します:
コードに特殊文字を直接含めず、代わりに別の表記を使用してください。たとえば、「Č」を表すには、「u010c」などの 16 進文字コードを使用します。この方法により、エンコード関連の問題を解決できます。
2. 適切なフォントを選択します:
選択したフォントが必要な文字をサポートしていることを確認します。 Helvetica などの一部のフォントには、必要なグリフが含まれていない場合があります。 Arial など、Helvetica のようなフォントの使用を検討してください。
3. フォントを埋め込む:
さまざまな環境間での互換性を確保するには、PDF ドキュメントにフォントを埋め込みます。こうすることで、受信者のシステムで元のフォントが利用できない場合でも、ドキュメントを正しく表示できます。
4. 文字エンコーディングを定義します:
フォントで使用されるエンコーディングを指定します。この場合、コード ページ 1250 は中央ヨーロッパおよび東ヨーロッパの言語に適しています。
実装例:
<code class="language-java">Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(DEST)); document.open(); // 嵌入字符编码的字体 Font f1 = FontFactory.getFont(FONT, "Cp1250", true); Paragraph p1 = new Paragraph("测试字母 \u010c,\u0106,\u0160,\u017d,\u0110", f1); document.add(p1); document.close();</code>
結論:
iTextSharp で PDF を生成するときに特殊文字を処理するには、PDF 形式でフォント、エンコーディング、文字セットがどのように機能するかをより深く理解する必要があります。これらのベスト プラクティスを実装すると、使用されているフォントや PDF が開かれる環境に関係なく、すべての文字が正しく表示されるようになります。
以上がiTextSharp で PDF を生成するときに欠落している文字 (「Č」や「Ć」など) を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。