2017-08-29 6 views
-2

iTextライブラリを使用してPDFを生成することに成功しましたが、奇妙な問題が発生しています。自分のシステムでPDFファイルをダウンロードしても問題ありません。私はそれを正統で正しいと表現するでしょう。しかし、PDFファイルを友人に電子メールで送ると、それは違ったレイアウトになります。これは不規則であると言います。インターネット上のPDFを(ダウンロードせずに)スキャンすると、不規則に見えます。だから私は疑問に思っています。私は何か間違ったことをしましたか?もしそうなら、どうしたらこの問題を解決できますか?iTextで作成されたPDFは、異なるシステムで異なって見える

+1

どのように不規則ですか?あなたが詳細を提示しない限り、私たちはあなたを助けることはできません。 – sorifiend

+2

最初の推測:あなたはフォントを埋め込んでいません。 PDFは* Portable * Document Formatの略で、PDFをどこで(あるいはどのOS上で)見るかは関係ありません。それは常に同じに見えるはずです。主な例外は、埋め込まれていないフォントを使用する場合です。この問題を解決するには、PDFをPDF/Aファイルとして作成します。 2番目の推測:あなたの友人は壊れたPDFビューアを使用します。オンラインで見つかった多くの「PDFスキャナ」は実際には機能しません。第3の推測:あなたはiTextの古いバージョンを使用しています。 –

+0

* "私は何か間違ったことをしました" * - もっともありそうです。 *もしそうなら、私はこの問題をどのように修正することができますか? "* - 実際に何をしたのか、つまり質問にピボットコードを追加し、サンプル結果PDFを共有することから始めるべきです。 – mkl

答えて

0

特殊文字を含むPDFを作成しているとします。たとえば、システムで見つかった特定のフォントを使用して英語と中国語のテキストを混在させているとします。

このフォントのサブセットを埋め込んでいないとします。つまり、PDFには、文書で使用した特殊文字のUnicode値が含まれていますが、ですが、対応するグリフを表示する方法がPDFで分かりません。

このPDFを自分のマシンで開くと、完璧に見えます。どうして? Unicodeの値がのPDFがあるので、自分のシステムにというフォントが必要です。

ただし、友だちが文書を受信して​​PDFを開くと、それらはユニコード文字を持ちますが、はフォントではありません。彼らのPDFビューアはあなたが気にしていたフォントとは異なるフォントを使用します。その結果、コンテンツが異なるように見えることがあります(私が使用する言葉はです)。です。 PDFをいくつかのオンラインストレージに入れてブラウザでPDFを見ると、同じことが当てはまります。そのオンラインストレージがPDFとしてイメージを提供する場合、オンラインサービスにはあなたのシステム上にあるフォントへのアクセス。

この問題を解決するにはどうすればよいですか? フォントの埋め込み(一部)!

私はあなたが使用しているのiTextのバージョンを知っていないとあなたはどんなコードを共有しませんでしたが、あなたはiTextの7にiTextの5中BaseFontまたはFontProgram/PdfFontを作成するときに、あなたがにパラメータを使用することができますフォントがドキュメントに埋め込まれるべきかどうかを示します。

巨大な中国語フォントがある場合に備えて、フルフォントがiTextに埋め込まれることを心配しないでください。その場合、iTextはフォントをサブセット化し、ドキュメントで使用されているグリフのみを追加します。

関連する問題