アンチエイリアスを使用しています(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つの変換を実行するように見えます)、品質が低下することは避けられません。
可能であれば、すべてをベクターデータとして保持します。画像データへの移動がやむを得ない場合は、最終的に使用するために必要な画像データを作成し、それ以上変換しないでください。