CoreGraphics дает возможность рендерить PDF документы, это здорово.Но похоже, что он может поддерживать и другие типы, такие как документы Word, HTML, RTF и др.
Быстрый просмотр примера doc2pdf.py на DVD-диске Mac OS X для разработчиков заставляет меня думать так:
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)
К сожалению, я не понимаю, как работает привязка Python в CoreGraphics (и кажется, что сама привязка является двоичной и проприетарной).Я не могу найти эквивалент C / Obj-C для этих методов в документации разработчиков Apple.И Google нашел не так много веб-страниц, рассказывающих об этих функциональных возможностях.
Есть идеи?