gpt4 book ai didi

pdf - iOS7 更新 - 在 UIWebView 中加载的 Airprinting PDF 产生缩放 PDF 到字母页面大小的 50%

转载 作者:行者123 更新时间:2023-12-04 22:06:44 27 4
gpt4 key购买 nike

我的应用程序的一部分涉及打印加载到 UIWebView 中的 PDF。

我用来打印加载到我的 UIWebView 中的这些 PDF 的代码在 iOS 版本 6 上运行良好。自从 iOS7 更新以来,我的页面仍然使用我的应用程序上的相同代码打印,但是存在几个问题,如所列:

  • 每次打印都会打印一个额外的空白页。如果我的 PDF 文档有 2 页长,打印机将打印 2 页 PDF 内容和另外的第 3 页空白。这对我来说不是很重要,因为没有浪费墨水或纸张,但是对于我尝试实现的解决方案来说,这有点草率。

  • 我遇到的主要问题是,在 iOS7 更新后,在 iOS 6 iPad/iPhone 设备上运行良好的相同代码现在已损坏。 代码允许我打印 PDF 的全部内容,但是内容被缩小到总纸张区域的 50%(在我的例子中是纵向信纸大小的纸张)

尽管在 apple 的开发网站上发帖,但我无法从他们的论坛成员那里得到任何回应。

这是我使用的代码:

-(void) printWebView:(UIWebView *)webView {
UIPrintInfo *pi = [UIPrintInfo printInfo];
pi.outputType = UIPrintInfoOutputGeneral;
pi.jobName = webView.request.URL.absoluteString;
pi.orientation = UIPrintInfoOrientationPortrait;
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
pic.printInfo = pi;
pic.showsPageRange= NO;
UIPrintPageRenderer *renderer = [[UIPrintPageRenderer alloc] init];
webView.viewPrintFormatter.printPageRenderer.headerHeight = 30.0f;
webView.viewPrintFormatter.printPageRenderer.footerHeight = 30.0f;
webView.viewPrintFormatter.contentInsets = UIEdgeInsetsMake(0.0f, 30.0f, 0.0f, 30.0f);
webView.viewPrintFormatter.startPage = 0;
[renderer addPrintFormatter:webView.viewPrintFormatter startingAtPageAtIndex:0];
pic.printPageRenderer = renderer;
[pic presentAnimated:YES completionHandler:^(UIPrintInteractionController *pic2, BOOL completed, NSError *error) {
// indicate done or error
}];

有没有其他人遇到过这个问题,是否有解决方案,或者这是 Apple 需要在下一次更新中修复的合法问题?

此外,虽然对我来说这不太可能,但 Xcode 的非当前版本(旧版本 1)是否会导致该问题?

最佳答案

我在 iOS 7 下观察到同样的问题。我能想到的唯一解决方案是将 UIPrintInteractionController 的 printingItem 设置为指向所需 PDF 的 URL,或者将 printingItem 设置为 NSData 表示PDF 而不是设置 printFormatter 属性。我在 iOS 5 下使用 printingItem 时遇到了一些问题,所以我有一个后备解决方案,如下所示。

// Work around for printing item not working with our document URL under iOS 5.
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0"))
{
printController.printingItem = self.documentURL;
}
else
{
printController.printFormatter = [self.webView viewPrintFormatter];
}

关于pdf - iOS7 更新 - 在 UIWebView 中加载的 Airprinting PDF 产生缩放 PDF 到字母页面大小的 50%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com