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

相关推荐
天天进步20152 分钟前
Python全栈项目--基于计算机视觉的车牌识别系统
开发语言·python·计算机视觉
Algo-hx22 分钟前
C++编程基础(五):字符数组和字符串
开发语言·c++
无敌最俊朗@22 分钟前
C++ STL中 std::list 的高频面试题与答案
开发语言·c++·list
星光一影23 分钟前
Java医院管理系统HIS源码带小程序和安装教程
java·开发语言·小程序
敲代码的瓦龙30 分钟前
C语言?大小端!!!
c语言·开发语言·c++·1024程序员节
软件开发技术深度爱好者37 分钟前
使用Python实现播放“.gif”文件增强版
开发语言·python
感哥1 小时前
Django Model高级特性
python·django
李辉20031 小时前
Python简介及Pycharm
开发语言·python·pycharm
赵谨言1 小时前
基于python大数据的城市扬尘数宇化监控系统的设计与开发
大数据·开发语言·经验分享·python
Yurko131 小时前
【C语言】程序控制结构
c语言·开发语言·学习