1

私たちは ABCpdf ソフトウェアを使用しており、最近、一部のドキュメントにロシア語の翻訳オプションを追加しました。PDF のコンテンツのほとんどは、AddImageURL メソッドを使用して Web ページから取得されます。これはすべて正常に機能し、ロシア語のテキストが読めることを意味します。

ただし、ページの一番下に正確に配置する必要があるテキスト セクションがいくつかあるため、ABCpdf の AddText メソッドを使用してこれを行います。これらの文字列は、???????? として表示されます。生成された PDF で。

簡単なコード サンプルを次に示します。

Doc pdfDoc = new Doc();
//snip snip snip...

//add footer text
pdfDoc.Rect.SetRect(30, 30, 552, 10);  //footer section
pdfDoc.HPos = 0; //set horizontal position to left
pdfDoc.AddText(GetRussianString("REFERENCE") + " #" + ReferenceID);

Websupergoo のサイトのドキュメントを読んだ後、AddFont と EmbedFont を (別々に、または一緒に) 使用してみましたが、うまくいきませんでした:

pdfDoc.Font = pdfDoc.EmbedFont("Times-Roman", LanguageType.Unicode);

ドキュメント レベルでエンコーディングを設定する方法も検索しましたが、これに関するドキュメントは見つかりませんでした。少なくともバージョン 8 についてはそうではありません。現在、ABCpdf ソフトウェアの 8.11.2 を使用しています。

このようなことを成功させた人はいますか?

4

1 に答える 1

0

OK、(完全に恥ずかしい)答えは、私がWebSuperGooのサイトの例についてあまりにも文字通りであったということです。開発/本番マシンの正確なフォント名を使用する必要がありました。

pdfDoc.Font = pdfDoc.EmbedFont("Times New Roman", LanguageType.Unicode);

明らか?はい。しかし、急いでいると見落とされがちなことの1つなので、誰かがつまずいた場合に備えて、ここに回答を投稿します。

私の混乱の一部は、URLから追加されたロシア語のテキストがドキュメント内で問題なく機能したが、テキストとして追加されたコンテンツではなかったという事実に起因していました。abcPDFは、Webページから取得するエンコーディングに従ってフォントを設定すると思いますが、これは、PDF全体ではなく、取り込むコンテンツにのみ影響します。

とにかく、gekanntと他の人に見てくれてありがとう。

于 2013-01-03T18:36:30.080 に答える