1

私の ColdFusion アプリケーションでは、PDF をエクスポートすると、ポップアップ (Adobe Reader というタイトル) が表示され、エラー メッセージが表示されます。

「埋め込みフォント 'PCBOHZ + TimesNewRomanPS-BoldMT を抽出できません。一部の文字が正しく表示または印刷されない場合があります (または ) TimesNewRomanPS-BoldMT を抽出できません」

私のローカル環境と他のすべてのシステムで同じ PDF が問題なくダウンロードされます。この問題は、クライアント システムの 1 つ (Windows 8) でのみ発生します。

タグは、<CFDocument>を使用する PDF を作成するために使用されますfont-family = "Helvetica"。この PDF にはcfchart画像が含まれています (ColdFusion で生成された HTML コードが含まれています)。この PDF のすべての HTML コードは、ブラウザーでレポート ダッシュボード ビューとして表示されます。このダッシュボードで、ユーザーが「PDF」ボタンをクリックすると、同じ HTML コンテンツがCFdocument本文内に配置され、アラート ポップアップが表示されます。

最初は、Adobe Acrobat Reader に関連していると思いました。後で、PDF 作成の問題ではないことがわかりました。間違ったフォントファミリ名を指定した CSS 構文の問題のようです。PCBOHZ + TimesNewRomanPS-BoldMTフォントファミリ名はありません 。そのフォント ttf ファイルを CF 管理 fonts.cfm ファイルにインポートする必要があります。しかし、これが css スタイルに関連している場合、同じ HTML がクライアント ブラウザーでレンダリングされるべきではないのではないでしょうか。あなたの考えを共有してください。

別の問題は、CFDOCUMENT 画像が見つからないことです

生成された PDF では、画像は赤いバツ印として表示されます。PDF の作成中に、CFDOCUMENT は Coldfusion サーバーに HTTP URL 呼び出しを行い、CF 仮想フォルダー CFIDE/CFSERVLET から画像を取得します (これらの画像は cfchart タグ ベースによってこのフォルダーに保存されるため)。 CFアドミニストレーターのチャート設定で)、Googleでこの問題の原因を見つけたのは、画像のHTTPリクエストの時点で、ColdFusionがファイアウォールの背後にあるためです。そのため、CFPDFはHTTPリクエストを送信できません(ただし、それ自体に) . この画像により、リクエストは 404 ステータスを取得するため、ダウンロードした PDF では、デフォルトの HTML IMG タグに赤い十字マークが表示されます。重要なコールドフュージョン トピック URL の 1 つです。HOSTS ファイル エントリを維持することで http リクエストを機能させるソリューションがあります。 HOSTS ファイルへの内部 IP。

PDFをエクスポートするときにポップアップが表示されます

4

2 に答える 2

0

赤い X の問題については、CFChart 画像をローカル ドライブから取得する場合、CFPDF/CFDocument が最も信頼できることがわかりました。たとえば、CFChart イメージをローカル ドライブ (RAM ドライブが適しています) に書き込み、イメージ タグを次のように書き込みます。

<img src="file:///ram://myimage.png">

フォントについては、運が悪いかもしれません。フォントと ColdFusion PDF に関するまったく同じ問題で、私はあまりにも多くの時間を無駄にしました。いったいなぜAdob ​​e が Acrobat を CF に統合するオプションを提供しないのかは、完全な謎です。異なるフォントが必要な場合は、'wkhtmltopdf' を使用して PDF を作成することに頼りました。

于 2015-11-20T14:00:26.407 に答える