web-dev-qa-db-ja.com

PDF

100ページありますPDF印刷する必要のあるドキュメント。印刷業者に、どのページにカラーが含まれているかを通知する必要があります。手動でスキャンしたくない場合。ページを検出するプログラムはありますか?色で、ページ番号を出力できますか?

23
None

これは http://root42.blogspot.de/2012/10/counting-color-pages-in-pdf-files.html で見つかりました

gs -o - -sDEVICE=inkcov input.pdf | grep -v "^ 0.00000  0.00000  0.00000" | grep "^ " | wc -l

私にとってはうまくいった

総ページ数は、

pdfinfo input.pdf | grep Pages:
25
Ulrik

Linux(およびおそらくmac /その他のUnix)では、次の非常に短いBASHスクリプトでうまくいくようです。

 #!/bin/bash
 file="$1"
 for page in $(identify -density 12 -format '%p ' "$file") ; do
     if convert "$file[$((page-1))]" -colorspace RGB -unique-colors txt:- | sed -e 1d | egrep -q -v ': \(\s*([0-9]*),\s*\1,\s*\1' ; then
         echo $page
     fi
 done

スクリプトにcoloredpages.shのような名前を付け、chmod +x coloredpages.shで実行可能にしてから./coloredpages.sh "pdfname.pdf"を実行すると、ページ番号のリストが返されます。

これには、ImageMagickとおそらくGhostscriptがインストールされている必要があります。そして、それは世界で最も速いものではありません。

申し訳ありませんが、これをWindowsに適応させる方法がわかりません(とにかく、Cygwinや類似のものがない場合)。

8
frabjous

OPと同じタスクを持ち、Windowsで動作するため、次の解決策が迅速かつ適切に機能することがわかりました。 Spool File Page Counter SDK はnon-freeですが、評価版はまだ機能します。上記のリンクからZipファイルをダウンロードし、解凍してbin/C#_ParsingTest yourfile.pdfを実行します。次のようなものが表示されます

Page   1 is [   BW]
Page   2 is [Color]
...
Page 143 is [Color]
============
Statistics: bwPageCount=99, colorPageCount=44

Rapid PDF Count別の答えはこちら に記載されているインストールが必要です(これは、1回限りのジョブでは-論文の印刷)です。しかし、それはまた仕事をし、GUIを提供します。インストール後、それを実行し、PDFファイルをドラッグアンドドロップして、セットアップ/オプションのColor Pages Countingをチェックしてください、[Page count files in list]ボタンをクリックします。

興味深いことに、私の論文の結果は1ページ異なります(99/44対100/43)。これは、一部の図(すべてInkscapeで作成)は実際には白黒ですが、メタデータでは色として記述されているためだと思います。私はわかりません。 Rapidで見つけられなかったものPDFカウントは、すべてのカラー/白黒ページのリストなので、この不一致の正確な原因を特定することはできません。

3
texnic