web-dev-qa-db-ja.com

PDF to to images to PDF

PDFがあり、それをコピーする権限を与えずに誰かに見せたい。考えられる方法の1つは、ページを画像に変換してから、それらをPDFに戻すことです。 convertまたはpdftkまたはその他のスクリプトを使用するにはどうすればよいですか? GUIではありません。

7
ArekBulski

Imagemagickはすべてをラスタライズします。簡単にできます:

convert -density 200 input.pdf output.pdf

もちろん、受信者はファイルに対してOCRプログラムを実行することを決定する場合があります。 densityパラメーターは、PPIで表される解像度を設定します。

18

PDF画像へ

poppler-utilsパッケージには、pdftoppmファイルをPDFppm、またはpng形式のいずれかに変換できるjpegユーティリティが含まれています。

pdftoppm -png file.pdf prefix

これにより、ファイル名がprefix-X.extensionになります。ここでXはページ番号(出力される各ファイルはPDFの1ページになります)およびextensionは選択した出力タイプです。

デフォルトでは、解像度は150dpiです。次のコマンドを使用して、解像度を上げることができます(出力の品質を高めるため)。

pdftoppm -rx 300 -ry 300 -extension file.pdf prefix

1ページのみを印刷するには、次のようにします。

pdftoppm -f N -singlefile -extension file.pdf prefix

ここで、Nは1から始まるページ番号です。

この方法は、他の投稿で説明されているimagemagickパッケージを使用するよりもはるかに高速で不格好です。ただし、元に戻すにはこれを使用する必要があります。

PDFへの画像

これには、imagemagickパッケージのインストールが必要です。これを行うには、次を実行します。

Sudo apt-get install imagemagick

imagemagickパッケージには、convertというユーティリティがあります。このユーティリティは、名前どおりに機能します。変換します。あなたが望むようにそれを利用するには、次のように実行します:

convert file.extension file.pdf

ただし、これにより、その単一ページのみのPDFが作成されます。前のコマンドのすべての出力を組み合わせて画像に変換するには、次のコマンドを使用します。

convert *.extension file.pdf

これにより、extension拡張子を持つディレクトリ内のすべてのファイルが取得され、file.pdfという名前のPDFファイルに変換されます。

注意

私は、2つのコマンドをリンクする1つのコマンドではなく、OPに柔軟性を与え、完了しようとしているタスクを理解できるように、2つの別々のコマンドの方法で回答をフォーマットすることにしました。もちろん、もしその解決策が彼らにとって良いなら、私は彼らにその特定の答えに答えて賛成/マークすることを勧めます。

9
Owen Hines

私は常にpdftoppmを使用してpdfをpng画像に変換します。次のコマンドを実行するだけです

pdftoppm -f [startpage] -l [end page] -r [resolution (use 300 or 600) -png <pdf file location> [Prefix for your image files]

そして実行する

convert prefix-[number].png file.pdf

しかし、これらの画像をテキストに戻すプログラムがあります。 PDFをコピー不可にすることは非常に困難です。暗号化保護を追加して、PDFファイルのコピーと印刷が(少し)より困難になるコピーと印刷を防止できます。

3
Akisame