2009-11-21 236 views
10

タグマップを定義し、XMLデータファイルを取得しました。 iTextを使って、XMLデータファイルをPDFに変換したい。問題は、XMLをPDFに変換する際に、ターゲットPDFにフォント(例:ポーランド語フォント、中国語フォント)を埋め込む方法です。iTextを使用してPDFファイルにフォントを埋め込む

答えて

9

iTextでもっと仕事をしている場合は、iText bookに投資したいと思うかもしれません。iTextのすべての機能の例があります。

あなたはフォントの埋め込みを定義するフォントの作成時に指定するパラメータがあります:

BaseFont helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED); 
Font font = new Font(helvetica, 12, Font.NORMAL); 

あなたがここでより多くのiTextのフォント関連の例を見つけることができます:http://1t3xt.info/examples/browse/?page=toc&id=14

+1

私はiTextブックでいくつかの例を研究しましたが、私の問題のヒントはありませんでした。あなたの例では、フォントファイルの埋め込みを示すために使用できるフラグ "BaseFont.EMBEDDED"があります。しかし、私がしなければならないことは、定義されたタグマップを使ってXMLファイルをPDFディレクトリに変換することです。フォントを埋め込むコードを置く場所がありません。 例では、フォントをその段落に埋め込むようにフォントをいくつかの段落に設定できます。しかし、タグマップを使って自動PDFを生成するには、どのようにフォントを設定すればよいのですか?どのクラス/インタフェースを使ってフォントを埋め込むことができますか?ありがとう。 – moonli

+4

問題が解決しました。 TagMapに設定でフォントを埋め込むことができます。 "embedded"属性を "true"に設定すると、フォントの埋め込みを示します。とにかくありがとうございます。 – moonli

+0

https://www.manning.com/books/itext-in-action-secondededitionこの本ですか? –

0

あなたは、埋め込みフォントをすべて持っているPDF/Aに変換してみてくださいすることができます。

PdfReader reader = new PdfReader(GetTemplateBytes()); 
    pst = new PdfStamper(reader, Response.OutputStream); 

    pst.Writer.SetPdfVersion(PdfWriter.PDF_VERSION_1_4); 
    pst.Writer.PDFXConformance = PdfWriter.PDFA1A; 
7

iTextにすべてのフォントを埋め込むように指示する本当に簡単な方法があります。コードをロードしてフォントをロードする前にこれを挿入してください:

FontFactory.defaultEmbedding = true; 
+1

iTextSharpでは、FontFactory.DefaultEmbeddingは読み取り専用プロパティです。 – howcheng

関連する問題