【发布时间】:2014-07-10 00:16:54
【问题描述】:
我正在通过我的应用程序以UIWebView 显示 PDF。
- (void) startPrinting
{
UIPrintInfo *pi = [UIPrintInfo printInfo];
pi.outputType = UIPrintInfoOutputGeneral;
pi.jobName = self.webView.request.URL.absoluteString;
pi.orientation = UIPrintInfoOrientationPortrait;
pi.duplex = UIPrintInfoDuplexLongEdge;
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
pic.printInfo = pi;
pic.showsPageRange = NO;
pic.printFormatter = self.webView.viewPrintFormatter;
UIPrintPageRenderer *renderer = [[UIPrintPageRenderer alloc] init];
self.webView.viewPrintFormatter.printPageRenderer.headerHeight = 30.0f; //webView is the IBOutlet connected
self.webView.viewPrintFormatter.printPageRenderer.footerHeight = 30.0f;
self.webView.viewPrintFormatter.contentInsets = UIEdgeInsetsMake(0.0f, 30.0f, 0.0f, 30.0f);
self.webView.viewPrintFormatter.startPage = 0;
[renderer addPrintFormatter:self.webView.viewPrintFormatter startingAtPageAtIndex:0];
pic.printPageRenderer = renderer;
[pic presentAnimated:YES completionHandler:^(UIPrintInteractionController *pic2, BOOL completed, NSError *error) {
NSLog(@"Completed status = %d and error status = %@", completed, error);
}];
}
在 NSObject 类中,以下代码使用标准 A4 大小的纸张。
- (void)drawPDF:(NSString*)fileName
{
// Create the PDF context using the default page size of 612 x 792.
UIGraphicsBeginPDFContextToFile(fileName, CGRectZero, nil);
// Mark the beginning of a new page.
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);
//[self drawText:@"Hello World" inFrame:CGRectMake(0, 0, 300, 50)];
[self drawLabels];
[self drawLogo];
// Close the PDF context and write out the contents.
UIGraphicsEndPDFContext();
}
我已加载大小为 612 x 792 的笔尖来创建 pdf。但是当我从打印机打印输出时,我得到的打印如下图所示。
如何将 PDF 调整到所需的边距?
【问题讨论】:
标签: ios objective-c pdf