我有一个包含pdf文件的文件夹。我想要打印文件名以及pdf文件所具有的页数。我正在使用macbook。
通过将特定文件夹拖放到打印机图标,我可以轻松获取文件名称的打印,但是获取页面数量非常困难。
正如我所研究的那样,聚光灯在搜索时有多个页面可供选择,许多人在论坛中都需要使用AppleScript或终端命令。
是否有一种简单的方法可以获取页面数量以及pdf文件的名称,或者我们可以操纵聚光灯索引来查看页面数量作为选项在" list view"。
答案 0 :(得分:4)
使用OS X中提供的工具的shell解决方案:
mdls -name kMDItemFSName -name kMDItemNumberOfPages ./*.pdf | cut -d= -f 2 | paste - -
答案 1 :(得分:1)
感谢大家的帮助,我尝试了以上所有解决方案。 Pdfinfo和pdftk需要初始安装,如xpdf,xquartz等.pdfin文件和pdftk都提供警告&错误消息,虽然它们都提供输出但是错过了一些pdf文件的名称。另一件事是pdftk没有扫描子文件夹。
总而言之,msdl命令工作得很好,给出了所有文件名的页数。它也包含子文件夹中的文件。
现在,这是我从here复制的另一个解决方案。它非常整洁和完美。这个网页w.r.t子文件夹还有更多内容。这是shell脚本:
RxHelper.toObservable(request1)
.filter(response1 -> response1.status == "200")
.flatMap(response1-> RxHelper.toObservable(request2))
.map(response2 -> //Bla)
});
答案 2 :(得分:0)
如果你不介意使用一个小的shell脚本,那么你可以试试这个:
首先,从这里安装并安装pdf工具:http://www.foolabs.com/xpdf/download.html这将为您提供非常方便的pdfinfo。
然后,您可以通过打开终端并输入以下内容来获取有关PDF文件的信息:
pdfinfo "/path/to/your/file.pdf"
...或将结果写入桌面上的文件:
pdfinfo "/path/to/your/file.pdf" | egrep "^(Pages:|Title:)" > ~/Desktop/info.txt
...或根据原始问题扫描文件夹:
find "/path/to/your/folder" -name "*.pdf" | while read thePDFFile; do pdfinfo "$thePDFFile" | egrep "^(Pages:|Title:)" >> ~/Desktop/info.txt ; echo --- >> ~/Desktop/info.txt; done
...明显替换" / path / to / your / folder"以及文件夹的路径。
希望有所帮助!
答案 3 :(得分:0)
这是另一个shell脚本解决方案,使用pdftk
代替pdfinfo
,使用for
循环而不是find|while
(因此只能在for f in *.pdf ; do echo -e -n $f '\t' ; (pdftk $f dump_data|grep ^NumberOfPages) ; done
中找到PDF当前文件夹)并生成一个以制表符分隔的名称和页数输出:
0033-0124%2E00250.pdf NumberOfPages: 19
hooky.pdf NumberOfPages: 1
hunt100.pdf NumberOfPages: 1
huntmap.pdf NumberOfPages: 1
hunt.pdf NumberOfPages: 1
map1.pdf NumberOfPages: 1
msoas.pdf NumberOfPages: 1
RelativeRisk.pdf NumberOfPages: 16
典型输出:
currencyConversion.jsp