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等价物。并且谷歌没有发现很多关于这些功能的网页。
有什么想法吗?
答案 0 :(得分:0)
我不认为CoreGraphics会这样做。 NSAttributedString
类的App Kit添加提供了从各种文档初始化属性字符串的方法,并在当前NSGraphicsContext
中绘制。
答案 1 :(得分:0)
我发现它是如何工作的。
这里有一个很好的开源示例,只能通过对这些格式使用Cocoa框架支持来解析doc,docx,odt,rtf等文件: http://www.bean-osx.com/Bean.html