1

「Hello World!」という文字列だけを表示する小さな PDF ファイルがあります。

残念ながら、文字の代わりに黒いボックスが表示されます。フォントに問題があると思いますが、よくわかりません。

この問題を診断してトラブルシューティングする方法はありますか? 私がインターネットで目にするのは、これを行うこととあれを行うことのアドバイスだけです。私には暗闇で撮影しているように見えます。

これが具体的な例です。この PDFに文字列Hello Worldではなく黒い四角が表示されるのはなぜですか?

編集

コンテキストのビット。ツールを使用して、簡単な HTML を PDF に変換しようとしていwkhtmltopdfます。インターネット検索によると、このツールは機能するはずであり、非常にうまく機能するため、これは絶対的な不満です. しかし、それは私にはうまくいきません。残念ながら、このツールは HTML を PDF に変換する唯一の無料ツールのようです。これは非常に残念です。

4

3 に答える 3

3

David のヒント (最初に既知の優れたビューアーを使用し、次にプリフライト ツールを使用) に加えて、検査プロセスには 3 番目のレベルがあります。

3) PDF を自分の目で調べ、PDF 仕様 (ここで Adob​​e が入手可能) を手元に置いて、テキスト ビューアーで (第一印象を確認するため)、(問題の原因がすぐにわからない場合) を調べます。 PDF閲覧ツール(詳細な分析用)。

この手順は、最初は非常に面倒ですが、しばらくすると、PDF の使い方がわかります。

このような PDF ブラウザー ツールのサンプルはRUPSですが、他にもあります。

于 2013-04-07T10:52:42.613 に答える
2

「"Hello World!" を表示する小さな PDF ファイル」

正しくありません。リンク先のファイルには、人間の脳が「Hello World!」と読み取るピクセルを画面または紙にレンダリングできるコードは含まれていません。このファイルには、12 個のブラック ボックスが作成されるベクトル描画操作のみが含まれています。

コマンド ライン ツールpdffontsは、ファイルで使用されているフォントを示しません。

pdffonts so-file-#15858199.pdf

探している単語の「レンダリング」を引き起こす可能性があるのは、PDF に含まれるベクターまたはピクセルの描画コードです。これについて調べるには、PDF の低レベルのソース コードを調べる必要があります。

元のファイルは 1.570 バイトです。したがって、このタスクはそれほど巨大ではないように見えます。

「この問題を診断してトラブルシューティングする方法はありますか?」

qpdfを使用すると、「PDF ファイルに対して構造的でコンテンツを保持する変換を行うコマンドライン プログラム」を使用して、含まれているすべてのストリーム (通常は圧縮されます) を展開できます。

qpdf --qdf --object-streams=disable so-file-#15858199.pdf qdf-#15858199.pdf

結果のファイルqdf-#15858199.pdfは 3.875 バイトです。これをテキスト エディタで開きます。PDF オブジェクト番号 6 (行 66 ~ 219) には、ページの内容が含まれています。行 123 ~ 194 には、演算子m(moveto)、l(lineto)、およびh(closepath) のみが含まれています。これらの行には、描画コマンドの 12 の異なるグループが含まれています。各グループは、画面にレンダリングされるか紙に印刷される 12 のブラック ボックスの 1 つのパスを表します。

102.400001 12.8000001 m
268.800004 12.8000001 l
268.800004 179.200002 l
102.400001 179.200002 l
102.400001 12.8000001 l
h

行 196 には次が含まれます

f

これは、これまでに構築された (閉じた) パスに実際に黒色を塗りつぶすための塗りつぶし演算子です。他の行 (詳細には分析していません) には、グリフの形状に似た描画を行うものはありません。

「残念ながら、このツールは HTML を PDF に変換する唯一の無料ツールのようです」

どちらも正しくありません。

1.

「無料」がliberty のように無料であると仮定すると、代替オプションはHTMLDOCです。

HTMLDOC は、CSS を介して HTML 入力に割り当てられる特定のフォントをサポートしていませんが、1 つまたは複数の HTML ドキュメントを、章、ページ番号、ページ ヘッダーとフッターなどを含む 1 つの PDF ブックに変換するのに適しています。利用可能なすべてのオプションについては、完全なドキュメントを参照してください。

2.

あなたの「無料」がビールのように無料であると仮定すると、代替オプション(私的な使用のみ)はPrinceXMLになる可能性があります。

PrinceXML は、HTML ドキュメントが使用している可能性のあるほぼすべての CSS 機能をサポートするという点で、非常に優れています。そのドキュメントと、PrinceXML によって作成されたサンプル PDF ファイルの一部を参照してください。

于 2014-04-18T21:12:57.953 に答える