Я работаю над pdf в своем новом приложении для iPhone. Я проверяю PDF является замок (защищен паролем) или неСохранить разблокировать PDFDocumentsRef в локальный каталог
BOOL bIsUnlock = CGPDFDocumentIsUnlocked(PDFDocument);
Если PDF является замок, то
BOOL success = CGPDFDocumentUnlockWithPassword (PDFDocument, [password UTF8String]);
Здесь мне удалось разблокировать документы. Теперь я хочу сохранить документ разблокировки в каталог приложения.
Я искал и нашел способ
CGPDFPageRef _PDFPage =CGPDFDocumentGetPage(PDFDocument, 1);
CGRect pageRect = CGPDFPageGetBoxRect(_PDFPage, kCGPDFMediaBox);
//create empty pdf file;
UIGraphicsBeginPDFContextToFile(newFilePath, pageRect, nil);
size_t count = CGPDFDocumentGetNumberOfPages(PDFDocument);
for (size_t pageNumber = 1; pageNumber <= count; pageNumber++)
{
//get bounds of template page
CGPDFPageRef templatePage = CGPDFDocumentGetPage(PDFDocument, pageNumber);
CGRect templatePageBounds = CGPDFPageGetBoxRect(templatePage, kCGPDFCropBox);
//create empty page with corresponding bounds in new document
UIGraphicsBeginPDFPageWithInfo(templatePageBounds, nil);
CGContextRef context = UIGraphicsGetCurrentContext();
//flip context due to different origins
CGContextTranslateCTM(context, 0.0, templatePageBounds.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
//copy content of template page on the corresponding page in new file
CGContextDrawPDFPage(context, templatePage);
//flip context back
CGContextTranslateCTM(context, 0.0, templatePageBounds.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
}
CGPDFDocumentRelease(PDFDocument);
UIGraphicsEndPDFContext();
Но я хочу любой другой простой способ, как преобразовать PDFDocument в NSdata
и сохранить в папку. Пожалуйста, помогите.
У вас есть NSData для инициализации i PDFDocument? Храните эти данные в случае успеха. – iOSfleer
К сожалению, я не могу найти другого способа сделать это, но спасибо за фрагмент кода. Это сработало отлично для меня. – atulkhatri