计算 PDF 中的黑白/彩色页面数

计算 PDF 中的黑白/彩色页面数

我有一份 100 页的 PDF 文档需要打印。我的打印店需要知道哪些页面包含颜色。我不想手动扫描。有没有可以检测带颜色的页面并输出页码的程序?

答案1

发现这个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:

答案2

在 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 或类似软件)。

答案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 中没有找到所有彩色/黑白页面的列表,所以我无法说出这种差异的确切来源。

相关内容