Создавать PDF программно на iPhone? - PullRequest
3 голосов
/ 28 августа 2009

Привет всем, интересно, кто-нибудь может указать мне правильное направление. Мне любопытно, как я могу создать PDF-файл программно на iPhone. В документации упоминается CGPDFDocumentCreateWithProvider, но я не уверен, как его использовать. Спасибо!

Ответы [ 3 ]

2 голосов
/ 28 августа 2009

Точно так же я не верю, что можно просматривать PDF на iPhone без внешнего сервиса для вывода вывода

Это неверно. Вы можете отобразить PDF-документ в экземпляре UIWebView, например:

NSString *urlPathStr = [[NSBundle mainBundle] pathForResource:@"myPDFFile" ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:urlPathStr];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[myWebView loadRequest:urlRequest];

Вы также можете визуализировать PDF в объекте UIView для повышения производительности.

Библиотека PDFKit пока недоступна для iPhone.

Вы можете посмотреть пример приложения QuartzDemo для некоторых методов Quartz2D для рендеринга и управления документом PDF.

1 голос
/ 16 февраля 2011

CGPDFDocumentCreateWithProvider или CGPDFDocumentCreateWithURL - это методы, которые вы должны использовать.

Я попробовал этот метод. CGPDFDocumentCreateWithURL.it создаст PDF в URL, который вы указали методу в качестве первого параметра.

После создания, загрузите URL-адрес в веб-представлении для просмотра в формате PDF.

вы можете вводить контент в формате pdf, используя класс cgcontextRef.

0 голосов
/ 21 сентября 2012

Вот как вы можете прочитать и сохранить свой pdf локально в приложении для iphone:

Сначала создайте UIWebView и включите << <strong>UIWebViewDelegate >>

  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
  NSString *documentsPath = [paths objectAtIndex:0];
  NSString *filePath = [documentsPath stringByAppendingPathComponent:@"YourPDF.pdf"]; 
 if(![[NSFileManager defaultManager] fileExistsAtPath:filePath]){
           // download file , here "https://s3.amazonaws.com/hgjgj.pdf" = pdf downloading link
         NSData *pdfData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"https://s3.amazonaws.com/hgjgj.pdf"]];
            //Store the downloaded file  in documents directory as a NSData format
         [pdfData writeToFile:filePath atomically:YES];
    }

     NSURL *url = [NSURL fileURLWithPath:filePath];
     NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
     [yourWebView setUserInteractionEnabled:YES];
     [yourWebView setDelegate:self];
     yourWebView.scalesPageToFit = YES;
     [yourWebView loadRequest:requestObj];

Или, если вы просто хотите прочитать / загрузить pdf из папки Resource, то просто сделайте это:

     NSString*  filePath= [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"pdf"]];
    /// or you can even read docs file as : pathForResource:@"sample" ofType:@"docx"]
     NSURL *url = [NSURL fileURLWithPath:filePath];
     NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
     [yourWebView setUserInteractionEnabled:YES];
     [yourWebView setDelegate:self];
     yourWebView.scalesPageToFit = YES;
     [yourWebView loadRequest:requestObj];

Или, если вы хотите создать свой собственный pdf из набора текста и строк, вот как я это сделал: http://iosameer.blogspot.com/2012/09/creating-pdf-file-from-simple.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...