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 图形引擎。

相关推荐
belldeep18 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
布莱克60518 小时前
C/C++ 中变量的声明与定义:区别、联系与常见误区
c语言·开发语言·c++·声明·定义
LabVIEW开发19 小时前
LabVIEW 局部变量为何引发竞争条件?四种同步机制
开发语言·labview
benchmark_cc19 小时前
A 股、港股、美股如何建立统一的标的主数据格式?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
维克兜率天20 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python
Zenova EdgeOS20 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
取名真是21 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想21 小时前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
数字融合21 小时前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
FRing0321 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2