Xcode сохранить PDF как изображение? - PullRequest
3 голосов
/ 21 марта 2012

У меня есть вопрос, возможно ли сохранить PDF в Camera Roll? Я имею в виду, я знаю, как сохранить изображение, но вы также можете сохранить PDF?

Ответы [ 4 ]

1 голос
/ 22 марта 2012

As @ jshin47 - следующий фрагмент поможет вам:

Это преобразует pdf с именем test.pdf, находящийся в каталоге локальных документов, в png с именем test.png.Я использовал размеры А4 для PDF, но если вы не в Великобритании / Европе, вам могут потребоваться американские размеры букв.

NSString* localDocuments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
NSString* pdfPath = [localDocuments stringByAppendingPathComponent:@"test.pdf"];

// create a sample PDF (just for illustration)
UIGraphicsBeginPDFContextToFile(pdfPath, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);
[@"Test string" drawInRect:CGRectMake(50, 50, 300, 200) withFont: [UIFont systemFontOfSize: 48.0]];
UIGraphicsEndPDFContext();

NSURL* url = [NSURL fileURLWithPath: pdfPath];

CGPDFDocumentRef document = CGPDFDocumentCreateWithURL ((CFURLRef) url);

UIGraphicsBeginImageContext(CGSizeMake(596,842));
CGContextRef currentContext = UIGraphicsGetCurrentContext();

CGContextTranslateCTM(currentContext, 0, 842);
CGContextScaleCTM(currentContext, 1.0, -1.0); // make sure the page is the right way up

CGPDFPageRef page = CGPDFDocumentGetPage (document, 1); // first page of PDF is page 1 (not zero)
CGContextDrawPDFPage (currentContext, page);  // draws the page in the graphics context

UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSString* imagePath = [localDocuments stringByAppendingPathComponent: @"test.png"];
[UIImagePNGRepresentation(image) writeToFile: imagePath atomically:YES];

UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); // do error checking in production code
0 голосов
/ 21 марта 2012

Вы можете конвертировать PDF в набор изображений и импортировать их в рулон. Вы не можете добавить фактический PDF в рулон.

0 голосов
/ 22 марта 2012

Если вы попытаетесь сделать это косвенно, и кто-то попробовал это, вы не сможете просмотреть это. https://discussions.apple.com/thread/2479252

Камера Roll для фотографий. iBooks для PDF.

0 голосов
/ 21 марта 2012

Нет, это невозможно. Apple разрешает хранить только фотографии и видео в библиотеке фотографий. Файлы в формате PDF могут храниться в iBooks или других программах, которые могут обрабатывать PDF, но библиотека фотографий не может принимать PDF

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