ios - 使用 AirPrint 打印 Pdf 会导致内容被截断

标签 ios iphone objective-c uiprintpagerenderer uiprintinteractioncntrler

我在这里打印大小为“pageSize = CGSizeMake(640, 832);”的 pdf。这个尺寸比 A4 尺寸的页面大。所以我会截掉一些文本(意味着它不会打印整页)。

在使用 MAC 打印相同的 pdf 时,它将在选项(缩放以适合)的帮助下打印整个页面。所以任何人都可以帮助我解决这个问题.. IOS sdk 中是否有任何选项可以适应比例。

这是我的代码..

-(void)printItem
{

NSArray *aArrPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ;
NSString *aStr = [[aArrPaths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"PropertyReport_%d.pdf",self.propertyId]];

  // NSString *aStr = [[NSBundle mainBundle] pathForResource:@"TRADUZIONE HELP SECTIONS REV2" ofType:@"pdf"];
NSURL *url=[[NSURL alloc] initFileURLWithPath:aStr];
NSData *data=[[NSData alloc] initWithContentsOfURL:url];
printController = [UIPrintInteractionController sharedPrintController];
if(printController && [UIPrintInteractionController canPrintData:data])
{
    printController.delegate = self;
    UIPrintInfo *printInfo = [UIPrintInfo printInfo];
    printInfo.outputType = UIPrintInfoOutputGeneral;
    //printInfo.jobName = [NSString stringWithFormat:@"New Image"];
    printInfo.duplex = UIPrintInfoDuplexLongEdge;

    printController.printInfo = printInfo;
    printController.showsPageRange = YES;

    printController.printingItem = data;




    void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error)
    {
        if (!completed && error)
        {
            //NSLog(@"FAILED! due to error in domain %@ with error code %u", error.domain, error.code);
        }
    };

  //  aWebViewPDF.hidden=FALSE;
    [printController presentAnimated:YES completionHandler:completionHandler];
}

}

谢谢!

最佳答案

尽管听起来很奇怪,但请尝试:

printController.showsPageRange = NO;

这似乎启用了自动缩放,但有时会在作业结束时打印额外的空白页。 AirPrint 基本上是巫术。

关于ios - 使用 AirPrint 打印 Pdf 会导致内容被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13174557/

相关文章:

ios - 用核心蓝牙唤醒我的 iOS 应用程序

iphone - 显示 Plist 词典中的随机单词 - 内存泄漏?

ios - 如何更改二维 NSMutableArray 中的值?

ios - 如何使用 Forge 更改 iOS 中最顶部栏(运营商/时钟等)的颜色?

ios - 无法提交使用 Xcode Beta 创建的应用程序

iphone - 使用 iOS 4.x 管理设备旋转的简洁方法

objective-c - 如何从 NSString 获取每一行?

ios - UITableViewCellAccessoryCheckmark 未在 iOS 7 中显示

objective-c - 处理 View Controller 或 subview 中的通知

iphone - -[UIImage绘制矩形:]/CGContextDrawImage() not releasing memory?