2013-03-11 1 views
0

앱에서 pdf를 표시하는 데있어 더 나은 대안을 살펴 보면서 vfr 리더 프레임 워크를 발견했습니다. 내 맥락에서, 나는 pdf를 다운로드 할 필요가있다. 이미 앱 번들에 포함되어 있지 않습니다. pdf가 내장 된 vfr 프레임 워크를 사용하기는 쉽지만 지금까지 파일에 쓰는 다운로드 된 데이터로 작업 한 다음 해당 경로가있는 ReaderDocument를 초기화하는 것으로 지금까지 당황했습니다. 같은 파일을 UIWebView에 아무 문제없이로드 할 수 있으므로 데이터라고 생각하지 않습니다. 여기 코드는 다음과 같습니다iOS vfr 리더 프레임 워크에서 다운로드 한 PDF를 사용할 수 없습니다

NSString *fullPathToPDF = [[[self appDelegate] urlForFileUnderRecursiveDocWithName:self.pdfName andOptionallyStartingAtDirectory:[[self appDelegate] pathURLForImagesDirectory]] path]; 
     ReaderDocument *pdfDoc = [ReaderDocument withDocumentFilePath:fullPathToPDF password:nil]; 

결과 pdfDoc는 null가됩니다하거나, 그것을 위처럼 전체 경로를 통과 할 때,

NSAssert(NO, @"CGPDFDocumentRef == NULL"); 

때문에 (I ReaderDocument

의 라인 229에서 주장과 충돌합니다 합리적인 가정을하고있다)이 줄 (217; 같은 클래스) :

CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateX(docURLRef, _password); 

은 CGPDFDocumentRef를 만들지 못한다. 필자는 이전에 전체 경로와 파일 이름을 전달하는 것의 차이점에 대해 언급했는데, 이는 코드를 살펴보면 ReaderDocument 클래스가 파일을 찾을 위치에 대한 일부 가정을하기 때문입니다. 어디서 파일을 저장하든 관계없이 작업을 수행 할 수 없었습니다 ... withDocumentFilePath 메서드.

다시 말해서 동일한 파일을 사용하여 UIWebView에서 열어도 문제가 없습니다.

그래서이 문제가있는 사람이나 내가 성공적으로 시도 할 수있는 사람이 있습니까? 감사.

답변

5

죄송합니다. 나는이 문제를 직접 보았고, 그래서 나는 지혜를 따라갈 것이라고 생각했다.

내 생각에 임시 디렉토리에 PDF를 다운로드하고 계신지 확인해보십시오. 이 프레임 워크는 NSDocumentDirectory에서 파일을 찾고 있습니다. 다운로드 한 파일을 저장하려고하면 다음과 같은 경로에 저장하면됩니다.

일단로드하면 제대로로드됩니다.

p.s 임시 디렉토리를 허용하도록 ReaderDocument를 수정하면 여기에 수정 사항이 게시됩니다.

+0

답변을 주셔서 감사합니다, Henry. 예상대로 작동하고, ReaderDocument를 절대 경로를 허용하고 NSDoc하에 있다고 가정되는 기존 경로 외에도 사용하는 등의 아이디어를 수정하는 것이 좋습니다. 다시 한번 감사드립니다. – wkhatch

관련 문제