Ghostscriptを使用してPDFを白黒に変換する


21

この質問と同様に:

FLOSSのコマンドラインでPDFをグレースケールに変換しますか?

PDFドキュメントがあり、それを純粋な白黒に変換したい。だから、ハーフトーンを破棄したいです。ghostscriptでグレースケールに変換するには、次のコマンドを使用できます。

gs \
 -sOutputFile=output.PDF \
 -sDEVICE=pdfwrite \
 -sColorConversionStrategy=Gray \
 -dProcessColorModel=/DeviceGray \
 -dCompatibilityLevel=1.4 \
  input.PDF < /dev/null

モノクロを得るために何を変更する必要がありますか?たとえば、白黒のみでハーフトーンはありませんか?

回答:


6

最後の提案は、実際にグレースケールに変換するだけで、基礎となるドキュメントがsetrgbcolorを使用する場合にのみ機能しますsetcolorを使用するドキュメントを持っているので、これはうまくいきませんでした。

setcolorを再定義して、常に色を0,0,0に設定することに成功しました。

gs -o <output-file.pdf> -sDEVICE=pdfwrite \
-c "/osetcolor {/setcolor} bind def /setcolor {pop [0 0 0] osetcolor} def" \
-f <input-file.ps>

PostScriptのハッキングを行ってから15年以上が経過しているため、上記は不完全であるか、誤っているか、偶発的なものである可能性があります。


3

次の提案が機能するかどうかはわかりませんが、試してみる価値はあります。

  1. シンプルなpdf2psユーティリティを使用してPDFをPostScriptに変換します
  2. 再定義された/setrgbcolorPostScript演算子を使用しながら、そのPostScriptをPDFに変換します

これらはコマンドです:

最初

  pdf2ps color.pdf color.ps

これによりcolor.ps、出力が得られます。

第二

gs \
-o bw-from-color.pdf \
-sDEVICE=pdfwrite \
-c "/setrgbcolor{0 mul 3 1 roll 0 mul 3 1 roll 0 mul 3 1 roll 0 mul add add setgray}def" \
-f color.ps

私はこれを試しましたが、まだ灰色の色合いが残っていました。niklasfiはモノクロを求めています。
狂気

3

ゴーストスクリプトではありませんが、imagemagickを使用すると、これは非常に簡単です。

 convert -monochrome input.pdf output.pdf

10
結果のpdf品質は、元のものよりもはるかに劣っています。
ヒンドル

convert -monochrome -denisty 600
イリアw495ニキティン

これはハーフトーン処理を行うようです。暗闇に関係なく、すべての色(ただし白)を黒に変換したい。
g.rocket



0

純粋な白黒PDFの場合、それをps形式に変換してから、postscript用のPDFに変換する必要があります。

exec(" gs -sDEVICE=psmono  -dNOPAUSE -dBATCH -dSAFER  -sOutputFile=combined.ps  $pdf");

PDFへのポストスクリプト->白黒

exec(" gs -sDEVICE=pdfwrite   -dNOPAUSE -dBATCH -dSAFER  -sOutputFile=file_pdf.pdf  filename.ps");
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.