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

相关推荐
kyle~16 分钟前
C++---多态(一个接口多种实现)
java·开发语言·c++
芜青23 分钟前
JavaScript手录18-ajax:异步请求与项目上线部署
开发语言·javascript·ajax
一个会的不多的人43 分钟前
C# NX二次开发:面收集器控件和曲线收集器控件详解
开发语言·c#
Freak嵌入式1 小时前
一文速通 Python 并行计算:教程总结
开发语言·python
2401_837088501 小时前
setup 语法糖核心要点
开发语言·前端·javascript
hweiyu001 小时前
Python办公之Excel(openpyxl)、PPT(python-pptx)、Word(python-docx)
python·powerpoint·excel
java技术之路1 小时前
【免费AI文档助手开发实战系列】基于正则表达式的PDF脱敏python服务构建(一)
python·pdf·pymupdf·免费pdf脱敏
waynaqua1 小时前
FastAPI开发AI应用五:模型新增图片理解
python·openai·fastapi
waynaqua1 小时前
FastAPI开发AI应用四:新增豆包、kimi模型
python·fastapi·ai编程
我爱学嵌入式2 小时前
C语言:第18天笔记
c语言·开发语言·笔记