Mam jeden UIImage w moim UIViewController i chcę migrować ten obraz do formatu PDF, więc jest to możliwe do tego rodzaju migracji? Proszę mi pomóc, nie mam pojęcia o tym.Jak mogę zrobić plik PDF z UIImage?
6
A
Odpowiedz
10
Jeśli masz UIImageView do UIViewController następnie wywołać tę metodę:
-(NSData*)makePDFfromView:(UIView*)view
{
NSMutableData *pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData(pdfData, view.bounds, nil);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
[view.layer renderInContext:pdfContext];
UIGraphicsEndPDFContext();
return pdfData;
}
Zastosowanie takiego:
NSData *pdfData = [self makePDFfromView:imgView];
//[pdfData writeToFile:@"myPdf.pdf" atomically:YES]; - save it to a file
9
To nie jest trudne, ale jest kilka kroków, aby wszystko ustawić. Zasadniczo trzeba utworzyć kontekst grafiki PDF, a następnie narysować w nim standardowe polecenia rysowania. Po prostu położyć UIImage do pliku PDF, można zrobić coś jak poniżej:
// assume this exists and is in some writable place, like Documents
NSString* pdfFilename = /* some pathname */
// Create the PDF context
UIGraphicsBeginPDFContextToFile(pdfFilename, CGRectZero, nil); // default page size
UIGraphicsBeginPDFPageWithInfo(CGRectZero, nil);
// Draw the UIImage -- I think PDF contexts are flipped, so you may have to
// set a transform -- see the documentation link below if your image draws
// upside down
[theImage drawAtPoint:CGPointZero];
// Ending the context will automatically save the PDF file to the filename
UIGraphicsEndPDFContext();
Aby uzyskać więcej informacji, zobacz Drawing and Printing Guide for iOS.