2011-02-02 1 views
14

SQLite DB에서 PDF를 NSData 변수로 가져옵니다. 이제이 NSData에서 CGPDFDocumentRef를 만드는 내 옵션은 무엇입니까?NSData의 CGPDFDocumentRef

어쨌든이 CGPDFDocumentRef를 만들려면 SQLite에 데이터가 있습니까?

CGDataProviderRef CGDataProviderCreateWithCFData (
    CFDataRef data 
); 

NSDataCFDataRef은 무료 그래서 브리지 것을 고려하십시오

CGPDFDocumentRef CGPDFDocumentCreateWithProvider (
    CGDataProviderRef provider 
); 

이 기능을 사용할 수있는 공급자를 만들려면 :

답변

36

이 기능을 사용하여 PDF 문서를 만들 수 있습니다 당신은 그것들을 서로 바꾸어 사용할 수 있습니다.

그래서 이것을 시도 요약 :
NSData *data = ... my data from SQLite ... 
CFDataRef myPDFData = (CFDataRef)data; 
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData); 
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithProvider(provider); 

CFRelease에 사용되지 않은 모든 데이터를 잊지 마세요.

+1

내가 작성한 PDF 파일을 ios 파일에 어떻게 쓸 수 있는지 알고 계십니까? NSData 객체에서 writeToFile을 시도했지만 PDF의 내용을 볼 수 없습니다. 데이터는 CGPath에서 생성됩니다. –

+1

UIGraphicsBeginPDFContextToFile (...)은 PDF 파일을 만든 다음 CGPath를 사용하여 그래픽을 작성하여 UIGraphicsBeginPDFPage()를 사용하여 페이지를 만들고 마지막으로 UIGraphicsEndPDFContext()를 사용하여 파일을 닫습니다. 결과는 저장된 PDF가됩니다. – viggio24

+0

NSData를 pdf로 변환하는 것이 정말 힘듭니다. 실제로 NSView를 webView에 표시하고 싶지만 항상이 오류가 있습니다. "PDF 헤더를 찾을 수 없습니다 : '% PDF'을 찾을 수 없습니다.", 어떤 도움이 중요한 것입니다. –