PDFでBW /カラーページをカウントする


23

印刷する必要がある100ページのPDFドキュメントがあります。私のプリントショップは、どのページに色が含まれているかを知る必要があります。手動でスキャンしたくありません。色付きのページを検出し、ページ番号を出力できるプログラムはありますか?


1
オペレーティング・システム?
狂気

回答:


25

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:

このワンライナーは、「色付きのページを検出し、ページ番号を出力できるプログラムはありますか?」という質問に答えます。 gs -o - -sDEVICE=inkcov input.pdf |tail -n +4 |sed '/^Page*/N;s/\n//'|sed -E '/Page [0-9]+ 0.00000 0.00000 0.00000 / d'
フレドリクアー

8

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などはありません)。


おかげで、Linuxを実行しているときに試してみます。それを検出できるより良い印刷所を見つけるかもしれません。
なし

3

OPと同じタスクを持つとWindowsでの作業、私は迅速かつきれいに仕事に、次の解決策を見つけた:スプールファイルページカウンターSDKは非フリーですが、評価版は、まだ仕事をしていません。上記のリンクからzipファイルをダウンロードし、解凍して実行しbin/C#_ParsingTest yourfile.pdfます。次のようなものが表示されます

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

迅速なPDFはカウントで述べたここ別の答え欠点である(私のワンタイムの仕事のためにどの---論文印刷)のインストールが必要です。ただし、これはジョブを実行し、GUIを提供します。インストール後、実行し、PDFファイルをドラッグアンドドロップして、Color Pages Countingセットアップ/オプションをチェックインし、Page count files in listボタンをクリックします。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.