BW / renkli sayfaları PDF olarak say


23

Yazdırmam gereken 100 sayfalık bir PDF belgesine sahibim. Matbaa dükkanıma hangi sayfaların renkli olduğu söylenmeli. Manuel olarak taramak istemiyorum. Sayfaları renkli algılayan ve sayfa numarasını çıkarabilecek bir program var mı?


1
İşletim sistemi?
frabjous

Yanıtlar:


25

Bunu http://root42.blogspot.de/2012/10/counting-color-pages-in-pdf-files.html adresinde bulabilirsiniz.

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

Benim için iyi çalıştı

Toplam sayfa sayısını şurada bulabilirsiniz:

pdfinfo input.pdf | grep Pages:

Bu oneliner, "Renkli sayfaları algılayan ve sayfa numarasını çıkarabilen bir program var mı?" Sorusuna cevap veriyor. 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'
Fredrik Erlandsson

8

Linux'ta (ve muhtemelen mac / diğer Unix), aşağıdaki çok kısa BASH betiği hile yapıyor gibi görünüyor:

 #!/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

Komut dosyasına benzer bir ad verin ve coloredpages.shçalıştırılabilir hale getirin chmod +x coloredpages.shve çalıştırdıktan sonra ./coloredpages.sh "pdfname.pdf"sayfa numaralarının bir listesini döndürmelidir.

Bu ImageMagick ve muhtemelen Ghostscript'in kurulmasını gerektirir. Ve bu dünyadaki en hızlı şey değil.

Üzgünüz, bunun Windows'a nasıl uyarlanacağı hakkında hiçbir fikrim yok (zaten Cygwin veya benzeri olmadan).


Sağol, linux çalıştığımda bir şans vereceğim. Algılayabilecek daha iyi bir matbaa bulabilirim.
Yok,

3

OP ile aynı göreve sahip ve Windows'ta çalışan, hızlı ve güzel bir şekilde çalışmak için aşağıdaki çözümü buldum: Makara Dosya Sayfa Sayacı SDK ücretsiz değil ancak değerlendirme sürümü hala iş yapıyor. Zip dosyasını yukarıdaki linkten indirin, açın ve çalıştırın bin/C#_ParsingTest yourfile.pdf. Gibi bir şey göreceksiniz

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

Rapid PDF Kont belirtilen burada başka bir cevap (Bir kerelik iş --- tez baskı için) bir dezavantajdır yükleme gerektirir. Ancak aynı zamanda işi yapar ve bir GUI sağlar. Yükledikten sonra çalıştırın, PDF dosyasını sürükleyip bırakın, Color Pages CountingAyarlar / Seçenekler'i işaretleyin ve ardından Page count files in listdüğmeyi tıklayın.

İlginçtir ki, tezimin sonuçları 1 sayfa (99/44 vs. 100/43) arasında değişmektedir. Bunun, bazı rakamların (Inkscape ile yaptığım) aslında siyah beyaz olduğu, ancak meta verilerde renk olarak tanımlandığı için inanıyorum. Emin değilim. Hızlı PDF Sayısı'nda bulamadığım şey, tüm renkli / S / B sayfalarının bir listesidir, bu yüzden bu tutarsızlığın kaynağını tam olarak anlayamıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.