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

LinuxでPDFを抽出/ラスタライズする方法

フォントをアウトラインとしてレンダリングするいくつかのオプション (この質問と pstoedit を含む) を試してみて失敗した後、ImageMagick を使用して PDF をラスター化された形式に簡単に変換する方法を見つけました:

convert -density 600 +antialias input.pdf output.pdf

これにより、600 dpi でレンダリングされた PDF が作成され、アンチエイリアスがオフになります (その解像度では不要です)。

出力ファイルは非常に大きく (8 ページのドキュメントで約 30 MB)、印刷に非常に時間がかかりますが、コンテンツをレンダリングするのに十分なメモリがプリンターにある限り、動作するはずです。


私が現在推奨している方法は次のとおりだと思います:

<オール>
  • pdftoppm を使用して、PDF ファイルを一連の画像に変換します。

    <ブロック引用>

    $ pdftoppm source.pdf 出力 -png

  • これらの画像から PDF ファイルを作成するには、img2pdf を使用します。

    <ブロック引用>

    $ img2pdf *.png -o output.pdf

  • 幸いなことに、bash スクリプトを作成してプロセス全体を自動化できます。

    ディレクトリ内のすべての pdf ファイルを抽出し、オリジナルを新しいディレクトリ "originals" に保存する bash スクリプトを次に示します。

    #!/bin/bash
    
    mkdir "originals";
    for filename in ./*.pdf; do
        pdftoppm "$filename" output -png
        mv "$filename" ./originals
        img2pdf *.png "-o" "$filename"
        rm *.png
    done
    

    クレジット:img2pdf の回答 &pdftoppm の回答 &bash スクリプトのヘルプ:1 &2

    (補足) 以下を使用して img2pdf をインストールできます:

    <ブロック引用>

    $ sudo apt install img2pdf


    Linux
    1. LinuxでBusyBoxを使用する方法

    2. LinuxにPythonをインストールする方法

    3. Linuxでcronを使用する方法

    1. LinuxにJavaをインストールする方法

    2. Linuxでディスクをパーティション分割する方法

    3. LinuxでPDFファイルからビデオを作成する方法

    1. UbuntuLinuxで複数の画像をPDFに変換する方法

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

    3. PDF 内のすべてのテキストをラスタライズするにはどうすればよいですか?