2010-07-13 6 views
0

CoreGraphics는 PDF 문서를 렌더링 할 수있는 가능성을 제공합니다. 그러나 Word 문서, HTML, RTF 및 기타와 같은 다른 유형도 지원할 수있는 것 같습니다. 내가있는 CoreGraphics '파이썬 바인딩을 작동 방식을 이해하지 않는,코코아의 CoreGraphics로 여러 문서 포맷을 렌더링

 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)

을 불행하게도 (그것은 보인다 :

맥 OS X 개발자 DVD에 doc2pdf.py 예에서 얼핏 나를 그렇게 생각한다 바인딩 자체는 바이너리이며 독점적입니다.) C/Obj-C 애플 개발자 설명서에서 이러한 방법에 해당하는 찾을 수 없습니다. 그리고 Google이 이러한 기능성에 관해 말하는 많은 웹 페이지는 없습니다.

아이디어가 있으십니까?

답변

0

CoreGraphics만으로는 그렇게 생각하지 않습니다. App Kit은 NSAttributedString 클래스에 추가하여 다양한 종류의 문서에서 속성이 지정된 문자열을 초기화하고 현재 NSGraphicsContext에 그려 넣을 수있는 방법을 제공합니다.

0

어떻게 작동하는지 발견했습니다. http://www.bean-osx.com/Bean.html

: 여기

는 이러한 형식에 대한 코코아 프레임 워크 지원을 사용하여 훌륭한 오픈 소스 여기 예를 분석하는 등 파일 문서, DOCX, ODT, RTF,이다