Python Cookbook-2.24 在 Mac OSX平台上统计PDF文档的页数

任务

你的计算机运行着比较新的MacOSX系统(10.3的"Panther"或更新的版本),现在需要知道一个 PDF 文档的页数。

解决方案

PDF格式和 Python都已经集成到了Mac OsX系统中(10.3或更高版本),因而这个问题解决起来也相对比较容易:

python 复制代码
#!/usr/bin python
import CoreGraphics
def pageCount(pdfPath):
#返回指定路径的 PDF 文档的页数
	pdf = CoreGraphics.CGPDFDocumentCreateWithProvider(CoreGraphics.CGDataProviderCreatewithFilename(pdfPath)
	return pdf.getNumberOfPages()
if __name__ == '__main__'
	import sys
	for path in sys.argv[l:]:
		print pageCount(path)

讨论

另一个完成任务的方法是使用 Python扩展,PyObjC,它使得 Python 代码可以利用 MacOS X所带的 Foundation 和 AppKit 框架的能力。该方案也可以让你的代码运行在较老版本的 Mac OsX中,比如 10.2Jaguar。不过依赖并使用 Mac OsX10.3 或更高版本提供的集成 Python 的环境和 CoreGraphics扩展(也是 Mac OSX"Panther"的一部分),可以使我们的代码可直接利用 Apple 强大的 Quartz 图形引擎。

相关推荐
万邦科技Lafite1 分钟前
如何对接API接口?需要用到哪些软件工具?
java·前端·python·api·开放api·电商开放平台
VBA633728 分钟前
数组与字典解决方案第三十讲:如何将记录集的数据记入数组
开发语言
m0_4805026432 分钟前
Rust 登堂 之 Cell 和 RefCell(十二)
开发语言·后端·rust
qq_2529241934 分钟前
PHP 8.0+ 极限性能优化与系统级编程
开发语言·性能优化·php
凤年徐34 分钟前
【C++】string类
c语言·开发语言·c++
qluka1 小时前
Android 窗口结构(三) Home Task 添加Home ActivityRecord
android·开发语言
这儿有一堆花1 小时前
PHP文件与本地及外部资源的深度交互指南
开发语言·php
不良人天码星1 小时前
使用Java连接redis以及开放redis端口的问题
java·开发语言·redis
EEG小佬2 小时前
KAN(Kolmogorov-Arnold Networks)通俗理解
人工智能·python·深度学习·神经网络
恸流失2 小时前
java基础-12 : 单列集合(Collection)
java·开发语言·windows