GNU/Linux >> Linux の 問題 >  >> Linux

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

最後の提案は、実際にはグレースケールにのみ変換され、基になるドキュメントが 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 年以上が経過しているため、上記は不十分であるか、不正確であるか、偶然でさえある可能性があります。より良い方法を知っている場合は、提案してください。


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

<オール>
  • 単純な pdf2ps を使用して PDF を PostScript に変換します ユーティリティ
  • 再定義された /setrgbcolor を使用しながら、その PostScript を PDF に変換します。 PostScript オペレーター
  • これらはコマンドです:

    最初

      pdf2ps color.pdf color.ps
    

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

    2番目

    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
    

    これは Ghostscript ではありませんが、imagemagick を使用すると非常に簡単です:

     convert -monochrome input.pdf output.pdf
    

    Linux
    1. Black Hat USA 2016 での Kali によるハッキング

    2. Linux で Densify を使用して PDF ファイルを圧縮する

    3. PDF ファイルの最適化 (Ghostscript などを使用)

    1. 数値ソートでpdfファイルをマージする

    2. Linuxでコマンドラインを使用してPDFをJPGに変換するには?

    3. LinuxでPDFからOCRでテキストを抽出するには?

    1. このコマンドライントリックでPDFサイズを縮小する

    2. 白い背景のイントロ透明度を変換せずに PDF を PNG に変換する方法

    3. 各行末の空白の各文字を「_」に置き換えます