iphone sdk - Загрузка PDF из каталога документов

Я использую проект Leaves, чтобы показать свои PDF-файлы в моем проекте iphone, но у меня возникла проблема, когда я пытаюсь отобразить pdf из документа, а не из пакета .. я думаю, что это просто, но есть трюк, который я не могу понять, потому что я не гуру в чтении pdf :)

я использую следующий код

-(void) viewWillAppear:(BOOL)animated{
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
pListPath = [ documentDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",self.fileName]];


CFURLRef pdfURL = (CFURLRef)[NSURL fileURLWithPath:pListPath];    


//  CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("fekhElSunaI.pdf"), NULL, NULL);

pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
NSLog(@"%@",pListPath);

//    CFRelease(pdfURL);

   [self init];
}

вы заметите, что я поместил код в viewWillAppear, а не в инициализацию, как это делают листья. PDF-файл не отображается и не инициализируется. Я использовал решение, которое находится на этом ССЫЛКА и это тоже не сработало

так что у кого-то здесь есть чем мне помочь :)


person Mohamed Emad Hegab    schedule 28.08.2011    source источник
comment
В чем проблема или вопрос? Ты сказал, что у тебя проблемы. Не отображается? Вы получаете ошибку?   -  person bryanmac    schedule 28.08.2011
comment
да, он вообще не отображается, хотя и получает количество страниц, поэтому я сомневаюсь, что проблема в положении кода   -  person Mohamed Emad Hegab    schedule 28.08.2011


Ответы (2)


Вы поместили код в viewWillAppear, и это, вероятно, ваша проблема. В другом месте код может предположить, что код уже вызван и PDF-файл уже существует. Попробуй зайти в init и посмотри что будет. viewWillAppear может вызываться несколько раз.

person Owen Hartnett    schedule 15.09.2011

Используйте этот код

- (id)init {
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths objectAtIndex:0];

  myPathDocs =  [documentsDirectory stringByAppendingPathComponent:@"abc.pdf"];
  pdfURL = (CFURLRef)[NSURL fileURLWithPath:myPathDocs];    
  NSLog(@"myString %@",myPathDocs);

  pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);        //        }

  size_t pageCount = CGPDFDocumentGetNumberOfPages(pdf);
}

для вашей функции просмотра листьев init

person Developer    schedule 10.03.2012