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

相关推荐
学习编程的gas4 分钟前
C++:STL中list的使用和模拟实现
开发语言·c++
今晚打老虎22 分钟前
c++之基础B(第一课)
开发语言·c++
wa的一声哭了23 分钟前
Python多进程并行multiprocess基础
开发语言·jvm·人工智能·python·机器学习·语言模型·自然语言处理
全宝25 分钟前
🎨【AI绘画实战】从零搭建Stable Diffusion环境,手把手教你生成超可爱Q版大头照!
人工智能·python·stable diffusion
Ice__Cai36 分钟前
Django 视图详解(View):处理请求与返回响应的核心
数据库·后端·python·django·pip
枫叶丹437 分钟前
【Qt开发】信号与槽(三)-> 自定义信号和槽
开发语言·qt
蔷薇のぬ43 分钟前
Python 使用pandas库实现Excel字典码表对照自动化处理
python·pandas
奔跑吧邓邓子1 小时前
从0到1学PHP(三):PHP 流程控制:掌控程序的走向
开发语言·php·流程控制
青衫客361 小时前
LLM—— 基于 MCP 协议(SSE 模式)的工具调用实践
python·大模型·llm
Ly2020Wj1 小时前
pytorch入门:利用pytorch进行线性预测
人工智能·pytorch·python