我从iPad应用程序中的UIView创建PDF。它的大小为768 * 2000。当我创建pdf时,它会创建相同的大小,并在一个页面上显示所有内容。所以我在iPad上打印时遇到问题。我使用下面的代码来创建PDF: -从UIView在iPad中创建pdf的问题应用程序
-(void)drawPdf:(UIView *)previewView{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"Waypoint Data.pdf"];
//CGRect tempRect = CGRectMake(0, 0, 768, 1068);
CGContextRef pdfContext = [self createPDFContext:previewView.bounds path:(CFStringRef)writableDBPath];
CGContextBeginPage (pdfContext,nil); // 6
//turn PDF upsidedown
CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformMakeTranslation(0, previewView.bounds.size.height);
transform = CGAffineTransformScale(transform, 1.0, -1.0);
CGContextConcatCTM(pdfContext, transform);
//Draw view into PDF
[previewView.layer renderInContext:pdfContext];
CGContextEndPage (pdfContext);// 8
CGContextRelease (pdfContext);
}
//Create empty PDF context on iPhone for later randering in it
-(CGContextRef) createPDFContext:(CGRect)inMediaBox path:(CFStringRef) path{
CGContextRef myOutContext = NULL;
CFURLRef url;
url = CFURLCreateWithFileSystemPath (NULL, // 1
path,
kCFURLPOSIXPathStyle,
false);
if (url != NULL) {
myOutContext = CGPDFContextCreateWithURL (url,// 2
&inMediaBox, NULL);
CFRelease(url);// 3
}
return myOutContext;// 4
}
任何人都可以建议我如何缩小pdf大小,它有多个页面?
在此先感谢。
你发现了解决方案吗? – 2012-04-08 17:17:22