web-dev-qa-db-ja.com

バッチPDF PNGへの最初のページ

問題はかなり単純に聞こえます。複数のPDFファイルがあり、それぞれの最初のページをPNGファイルに抽出したいのです。

Adobe Acrobat DCで、次のことを行うことになっているアクションを作成しました。

  • 2から999までのすべてのページを削除します(「ページ1だけを保持する」または「番号1以降のすべてのページを削除する」とは言えないため)

  • すべてのレイヤーをフラット化する

  • 画像をPNGにエクスポート

私の考えでは、これは機能するはずですが、明らかに機能しません。これは、3番目の指示に従うだけで、エクスポートフォルダにofページではなくfrom ページ。

私はここでかなり迷っています。誰かが私の行動がうまくいかない理由やこれを達成する方法について私に示唆することができれば、それは素晴らしいことです。

ごきげんよう!

編集

知っておくべきいくつかのこと:

  • 会社のPCで作業していて、新しいソフトウェアをインストールできません。

  • 私はWindows10を使用しています。

  • 私は開発者ではなく、CLI、PHP、BAT、その他のスクリプトに慣れていません。

  • 私はインターネットを使うことができるので、答えはオンラインツールを利用することができます。


前回からわかったこと

そのため、ドキュメントに999ページ以上が含まれていない場合(およびいずれも含まれていない場合)、「2ページから999ページを削除」命令が機能しないことがわかりました。 「2〜23ページを削除する」という指示を使用して23ページのドキュメントでスクリプトを実行したところ、うまく機能しましたが、23ページのPDFでしか機能しませんでした。

今のところ、「ページの削除」命令を削除し、エクスプローラーで1以外のページを手動で削除しました。言うまでもなく、これは途方もなく長く、最適化されていません。

4
Ctouw

(実際には非常に明白な)アプローチは、Photoshopを使用することです。

Photoshopは、特定のページを開いて、適切な色空間を使用して構成可能な解像度でレンダリングできます。また、ページを適切にレンダリングします(他のソフトウェアで問題が発生する可能性があります)。 PNGとして書き出すことも非常に簡単で、適切に構成できます。

JavaScript(別名Extendscript)とApplescript/VBが適切にサポートされているため、ワークフロー全体を簡単に自動化して、バッチとして実行できます。

1
Max Wyss

Acrobatを使用しないことをお勧めしますが、代わりにimagick拡張子を対象とした単純なPHPスクリプト:

$i=new Imagick(); 
$i->readImage('path/to/your.pdf[0]'); 
$i->writeImage('/path/to/your.png'); 

PHPのglob構造と一緒に、PDFを簡単にループできます。

0
Eugen Rieck

もう一人の男はphpimagemagickを使用すると言いましたが、Linuxコマンドラインから、imagemagick変換バイナリはconvertと呼ばれます。 Doc/pdf/test.pdfに5ページのpdfがあり、Doc/png/testpage1.pngを作成する必要がある場合、コマンドは次のようになります。convert Doc/pdf/test.pdf Doc/png/test.png

Doc/pdf/test.pdf

Doc/png/test1.png

Doc/png/test2.png

Doc/png/test3.png

Doc/png/test4.png

Doc/png/test5.png

複数ページのpdfをpngに変換すると、ファイルがページに分割されます。

Imagemagick =/usr/bin/convert

編集:ArchLinuxでテスト済みのコメンターソリューション。解決策convert Doc/pdf/test.pdf[0] Doc/png/test.png

0
averagejoey2000