Html 使用Cocoa的CoreGraphics呈现多种文档格式

Html 使用Cocoa的CoreGraphics呈现多种文档格式,html,cocoa,ms-word,core-graphics,rtf,Html,Cocoa,Ms Word,Core Graphics,Rtf,CoreGraphics提供了呈现PDF文档的可能性,这非常好。但它似乎也可以支持其他类型,如Word文档、HTML、RTF和其他类型 快速查看Mac OS X Developer DVD上的doc2pdf.py示例,我会这样想: pageRect = CGRectMake(0, 0, 612, 792) c = CGPDFContextCreateWithFilename(output_file, pageRect) c.beginPage(pageRect) if fnmatc

CoreGraphics提供了呈现PDF文档的可能性,这非常好。但它似乎也可以支持其他类型,如Word文档、HTML、RTF和其他类型

快速查看Mac OS X Developer DVD上的doc2pdf.py示例,我会这样想:

pageRect = CGRectMake(0, 0, 612, 792) c = CGPDFContextCreateWithFilename(output_file, pageRect) c.beginPage(pageRect) if fnmatch(ext,".txt") or fnmatch(ext,".?") or fnmatch(ext,".??"): tr = c.drawPlainTextInRect(text, pageRect, font_size) elif fnmatch(ext,".rtf"): tr = c.drawRTFTextInRect(text, pageRect, font_size) elif fnmatch(ext,".htm*") or fnmatch(ext,".php"): tr = c.drawHTMLTextInRect(text, pageRect, font_size) elif fnmatch(ext,".doc"): tr = c.drawDocFormatTextInRect(text, pageRect, font_size) elif fnmatch(ext,"*ml"): tr = c.drawWordMLFormatTextInRect(text, pageRect, font_size) else: return "Error: unknown type '%s' for '%s'"%(ext, input_file) 不幸的是,我不理解CoreGraphics的Python绑定是如何工作的,而且似乎绑定本身是二进制的和专有的。我在Apple开发者文档中找不到这些方法的C/Obj-C等价物。谷歌也没有发现多少网页在谈论这些功能


有什么想法吗?

我不认为只有CoreGraphics可以做到这一点。NSAttributedString类中添加的应用程序工具包提供了从各种文档初始化属性字符串的方法,以及在当前NSGraphicsContext中绘制属性字符串的方法。

我找到了它的工作原理

这里有一个很好的开源示例,仅通过使用Cocoa框架支持以下格式来解析doc、docx、odt、rtf等文件: