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

相关推荐
shjita3 分钟前
记录java执行中的一个错误细节
java·开发语言
Qres8219 分钟前
Rabrg/artificial-life test
python·模拟
AI进化营-智能译站9 分钟前
ROS2 C++开发系列14-Lambda表达式处理传感器数据流|文件IO保存机器人实验日志
开发语言·c++·ai·机器人
itzixiao16 分钟前
L1-067 洛希极限(10分)[java][python]
java·开发语言·算法
财经资讯数据_灵砚智能17 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月1日
大数据·人工智能·python·信息可视化·自然语言处理
l1t26 分钟前
DeepSeek总结的DuckDB anofox-forecast季节调整时间序列预测插件功能
开发语言·数据库
xyq202427 分钟前
SVG 阴影
开发语言
福大大架构师每日一题28 分钟前
ragflow v0.25.1 最新版发布:API 统一、PDF 解析性能大幅优化、连接器删除同步全面增强,更新要点一次看懂
pdf·ragflow
好奇龙猫30 分钟前
[大学院ーpython-base learning3: python and recommendation system ]
开发语言·python
澈20731 分钟前
C++引用与指针:核心区别全解析
开发语言·数据结构·c++