From 5d53b15033be222ef5a45189e9000bf8501a7b3c Mon Sep 17 00:00:00 2001 From: Jens-Uwe Mager Date: Sun, 16 Aug 2015 16:35:47 -0800 Subject: [PATCH 1/3] Upscale the PDF if the destination is larger. --- UIImage+PDF/PDFView.m | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/UIImage+PDF/PDFView.m b/UIImage+PDF/PDFView.m index c66d03f..3c063d2 100755 --- a/UIImage+PDF/PDFView.m +++ b/UIImage+PDF/PDFView.m @@ -169,7 +169,15 @@ +(void)renderIntoContext:(CGContextRef)ctx url:(NSURL *)resourceURL data:(NSData CGPDFPageRef page1 = CGPDFDocumentGetPage( pdf, page ); CGRect destRect = CGRectMake(0, 0, size.width, size.height); + + CGRect smallPageRect = CGPDFPageGetBoxRect(page1, kCGPDFCropBox); + CGFloat pdfScale = size.width/smallPageRect.size.width; CGAffineTransform drawingTransform = CGPDFPageGetDrawingTransform(page1, kCGPDFCropBox, destRect, 0, preserveAspectRatio); + if (pdfScale > 1) { + drawingTransform = CGAffineTransformScale(drawingTransform, pdfScale, pdfScale); + drawingTransform.tx = 0; + drawingTransform.ty = 0; + } CGContextConcatCTM(ctx, drawingTransform); CGContextDrawPDFPage( ctx, page1 ); From 4e8b945f67b3b97c2b6ab0b3a6812b13ee9647f3 Mon Sep 17 00:00:00 2001 From: Jens-Uwe Mager Date: Sat, 18 Nov 2017 16:38:34 -0800 Subject: [PATCH 2/3] Rename the image function renderedImage to avoid conflicts with UIImageView image property. --- UIImage+PDF/UIView+Image.h | 2 +- UIImage+PDF/UIView+Image.m | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/UIImage+PDF/UIView+Image.h b/UIImage+PDF/UIView+Image.h index be1f194..e1dd435 100644 --- a/UIImage+PDF/UIView+Image.h +++ b/UIImage+PDF/UIView+Image.h @@ -10,7 +10,7 @@ @interface UIView( Image ) --(UIImage *) image; +-(UIImage *) renderedImage; -(void) savePNG:(NSString *)filePath; -(void) saveJPEG:(NSString *)filePath :(float)quality; diff --git a/UIImage+PDF/UIView+Image.m b/UIImage+PDF/UIView+Image.m index c1a9e60..2fb6098 100644 --- a/UIImage+PDF/UIView+Image.m +++ b/UIImage+PDF/UIView+Image.m @@ -10,7 +10,7 @@ @implementation UIView( Image ) --(UIImage *)image +-(UIImage *)renderedImage { if( [ self.layer respondsToSelector:@selector(setShouldRasterize:)]) { @@ -32,13 +32,13 @@ -(UIImage *)image -(void) savePNG:(NSString *)filePath { - [ UIImagePNGRepresentation(self.image) writeToFile:filePath atomically:NO ]; + [ UIImagePNGRepresentation(self.renderedImage) writeToFile:filePath atomically:NO ]; } -(void) saveJPEG:(NSString *)filePath :(float)quality { - [ UIImageJPEGRepresentation(self.image, quality) writeToFile:filePath atomically:NO ]; + [ UIImageJPEGRepresentation(self.renderedImage, quality) writeToFile:filePath atomically:NO ]; } @end From dd0f84a064d76de24077b6e39061f31c87f3203a Mon Sep 17 00:00:00 2001 From: Jens-Uwe Mager Date: Fri, 31 Mar 2023 12:09:56 -0500 Subject: [PATCH 3/3] Rename do avoid name conflict with Apple's PDFView. --- UIImage+PDF/PDFView.h | 1 + 1 file changed, 1 insertion(+) diff --git a/UIImage+PDF/PDFView.h b/UIImage+PDF/PDFView.h index ec6019c..65c8952 100755 --- a/UIImage+PDF/PDFView.h +++ b/UIImage+PDF/PDFView.h @@ -7,6 +7,7 @@ #import +#define PDFView XXPDFView @interface PDFView : UIView {