1

PDF ファイルのすべてのページに (FAX アプリケーション用に) 自動的にスタンプを押さなければならないという非常に特殊な要件があるため、作成したプロセスは次のとおりです。

3 番目のステップの出力ファイルは、「理論的には」ステップ 1 の入力ファイルと同じ (それにスタンプを加えたもの) になりますが、そうではありません。 input.pdf と output.pdf に違いが見られない場合でも、ピクセルはファックス ワイヤを通過しません。拡大してみると、テキスト文字がエッジでぼやけていることがわかります。

入力 (ステップ 1) または出力 (ステップ 3) で使用するのに最適なパラメーターは何ですか?

ありがとう !

4

2 に答える 2

5

アンチエイリアスを使用しています(TextAlphaBits = 4)。これにより、テキストの端の黒いピクセルの間に灰色のピクセルが導入され、テキストの端が「滑らかに」なります。低解像度(ディスプレイなど)では、これによりテキストの「ジャギー」が防止され、より読みやすい結果が得られます。より高い解像度では、その価値は非常に議論の余地があります。

ファックスは1ビットのモノクロメディアであるため、ディザリングによってグレースケール値を再作成する必要があります。ご存知のように、これはシャープネスの低下につながるため、解像度が制限されたデバイスではお勧めできません。

-dTextAlphaBits = 4を削除すると、すぐに改善されると思います。また、GraphicsAlphaBitsも削除することをお勧めします。これは、ラインワークに同じ影響を与えるためです。

それでもアンチエイリアシングが必要だと思われる場合は、攻撃性を減らしてみてください。現在は4に設定して、2に減らしてみてください。

その他のコメントについて; Kurtは、fouratと同様に非常に正確であり、MarcBが間違っているのではないかと思います。-r400は、レンダリングの解像度を1インチあたりのドット数で設定します。番号が1つだけ指定されている場合は、xとyの両方の解像度に使用されます。Ghostscriptを使用して固定サイズのラスターを作成することは可能ですが、-dFIXEDMEDIAと-sPAPERSIZEスイッチ、またはFIXEDMEDIAを自動的に設定する-gスイッチを使用します。

PDFをビットマップ形式(PNG)に変換してからPDFに戻すと品質が低下するというymsとKurtには同意しますが最終的なPDFをFAX経由の送信にのみ使用する場合は、問題ありません。PDFは、プロセスのある時点でファックス解像度のビットマップにレンダリングする必要があります。スタンプが適用される前にレンダリングされた場合、大きな問題にはなりません。

ここでBitBankに同意しません。ベクトル表現をビットマップに変換するということは、特定の解像度でそれをラスター化することを意味します。これが行われると、結果の画像は品質を損なうことなく再スケーリングできませんが、元のベクトル表現は、別の解像度で再度レンダリングされるだけです。PDFの画像はビットマップを参照しているため、ベクタービットマップを使用することはできません。ymsによって投稿された画像は、ベクトル表現を画像にレンダリングする効果を明確に示しています。

最後の注意点。ここで使用されている他のツールについてはよくわかりませんが、2つのコマンドラインは少なくとも「サイズ変更」を意味します。ビットマップを「サイズ変更」すると、問題が発生しているのと同じ種類のアーティファクト(アンチエイリアシング)がツールによって導入される可能性があります。ビットマップを作成したら、それをまったく変更しないでください。そもそも正しいサイズでPNGを作成することが重要です。

そして最後に.....

元のPDFファイルを確認したところ、ページのコンテンツがすでに画像になっていることがわかりました。それだけでなく、DCT(JPEG)画像です。JPEGは、モノクロ画像のフォーマットの選択としては非常に貧弱です。非可逆圧縮形式であり、常に画像にアーティファクトを導入します。元のPDFファイルをAcrobat(または同様のビューア)で開いてズームインすると、テキストの周りにかすかな「ハロー」があることがわかります。また、テキストがすでにぼやけていることもわかります。

次に、おそらく元の画像解像度とは異なる解像度で画像をレンダリングし、同時に-dGraphicsAlphaBitsを設定してより多くのぼかしを導入します。次に、コメントできない画像データにさらに変更を加えます。最後に、画像をモノクロのビットマップに再度レンダリングします。灰色のピクセルを表すために必要なディザリングにより、テキストが読めなくなります。

これを改善するいくつかの方法があります:1)テキストをこのような画像に変換しないでください。すぐに品質が低下します。2)JPEGを使用してモノクロ画像を圧縮しないでください。3)画像を操作する場合は、画像を前後に変換し続けないでください。完了するまで元の画像を操作してから、そこからPDFファイルを作成してください。本当にしなければならない。4)本当にこれをすべて行うことを主張する場合は、アンチエイリアシングを増やして問題を悪化させないでください。コマンドラインから-dGraphicsAlphaBitsを削除します。ファイルにテキストが含まれていないため、-dTextAlphaBitsも削除することをお勧めします。スイッチを使用する前にドキュメントを読み、それが何をしているのかを理解してください。

ここでワークフローについて本当に考える必要があります。明らかに、私たちはあなたが何をしているのか、なぜなのかわからないので、いくつかのことが不可能な理由があるかもしれませんが、このような画像の操作は避けてください。これらはベクトルではないため、画像データに変更を加えるたびに、後の段階で復元できない情報が失われる可能性があります。このような変換を多数行うと(そして、描かれているワークフローは「元の」画像データから最大5つの変換を実行するように見えます)、品質が低下することは避けられません。

可能であれば、すべてをベクターデータとして保持します。画像データへの移動がやむを得ない場合は、最終的に使用するために必要な画像データを作成し、それ以上変換しないでください。

于 2012-11-08T08:26:06.170 に答える
5

提供されたファイルを詳しく調べました。こちらを参照してください。

拡大されたビットマップ

そのため、mogrify resize コマンドの結果である最初の画像 (image_raw) は、1062x1375 ではかなりぼやけています。サードパーティ ツールの結果である 2 番目の画像 (image_stamped) ではぼやけは悪化しませんが、3 番目の画像 (output.pdf から抽出されたもの)、つまり convert コマンドの結果はさらにぼやけています。これは、グラフィックのサイズが変更されたためです (これは、明示的に行うように指示したものです)。

お使いのファックス プログラムがどの解像度で機能するかはわかりませんが、少なくとも 24 ビット カラーから白黒への変換により、さらに多くの品質が失われます。

ワークフロー (つまり、pdf->png->stamped png->pdf->fax) に固執する場合は、次のようにする必要があります。

  1. 最初のラスタライズでは、ラスター化されたイメージが次のすべてのステップ (ファックス送信を含む) で持つインチあたりの解像度を既に使用しています。

  2. アンチエイリアシングとアルファ ビットの使用を控える (KenS の回答を参照)。

  3. ラスタライズされた画像をファックス送信で利用可能な色空間、つまり白黒に制限します。

PS KenSが指摘したように、すでに元のPDFは単なる画像のコンテナです(最初はぼやけています)。したがって、ワークフローを改善する別の方法は、その画像をレンダリングする代わりに抽出し、その元の画像にスタンプを付けて、FAX 送信時にサイズを変更するだけです (これもアンチエイリアシングなし)。

ここに画像の説明を入力

于 2012-11-08T09:43:33.100 に答える