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 { 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 ); 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