- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个应用程序需要从 iPad 打印收据和通行证。我已经实现了 AirPrint SDK,它运行良好,也就是说,我能够使用兼容 AirPrint 的打印机从 iPad 打印文档。
问题是我需要将这些收据和通行证放在半页(即 A4 页的一半)或 A5 页上。无论我对打印作业进行什么更改,它始终以完整的 A4 页面和横向打印。
这是我要打印的代码:
UIPrintInteractionController *printer = [UIPrintInteractionController sharedPrintController];
UIPrintInfo *printObject = [UIPrintInfo printInfo];
[printObject setJobName:@"Receipt"];
[printObject setOutputType:UIPrintInfoOutputGeneral];
[printObject setOrientation:UIPrintInfoOrientationLandscape];
UIPrintFormatter *printFormatter = [[UIPrintFormatter alloc] init];
[printFormatter setContentInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[printer setPrintFormatter:printFormatter];
[printer setPrintInfo:printObject];
[printer setDelegate:self];
[printer setPrintingItem:targetURL];
[printer presentFromRect:sender inView:view animated:YES completionHandler:^(UIPrintInteractionController *printInteractionController,BOOL completed, NSError *error){}];
我还尝试实现 choosePaper
委托(delegate)方法,但它也没有帮助。哦,在创建文档时,我指定了大小:
CGSize pageSize = CGSizeMake(595, 420);
NSString* fileName = @"GatePass.PDF";
NSArray *arrayPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [arrayPaths objectAtIndex:0];
NSString* pdfFileName = [path stringByAppendingPathComponent:fileName];
UIGraphicsBeginPDFContextToFile(pdfFileName, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil);
理想的工作方式是,如果用户在打印时使用 A5 纸,则正常打印。如果用户使用A4纸,只打印一半页面等等。
知道如何实现吗?
最佳答案
使用 chosePaper 委托(delegate)方法。如果 A5 列在给定的列表中,则选择该纸。如果打印机有 A5 并且知道它有 A5 那么你应该得到 A5 输出。您还需要以从 chosePaper 返回的大小创建 PDF。
您可以使用打印机模拟器对此进行测试。使用加载纸张尺寸按钮设置其中一台带有“模拟纸张传感器”的打印机,并在其中一个纸盘中加载 A5。
关于ios - 如何使用 AirPrint 在半页或 A5 上打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23523337/
我向自定义 QLPreviewController 的 navigationItem 添加了一个操作按钮。当点击操作按钮时,我会呈现一个 UIPrintInteractionController。 我
我正在开发一个应用程序,需要能够在用户完成注册过程后打印出名称标签。它需要在不显示使用 UIPrintInteractionController 时自动创建的弹出窗口的情况下执行此操作。 我知道其他应
我正在制作一个应用程序,用户首先选择默认打印机,然后在单击“打印”按钮时继续,照片会自动打印,无需任何对话框。下面是我的代码。我收到错误消息“PrintViewController 没有初始化程序”
在我的应用程序中,可以打印不同尺寸的照片。这工作正常,但对于 iOS 8,即使打印对话框显示例如 5"x7",纸张大小始终为字母/A4。如果用户再次选择纸张尺寸,则纸张尺寸变为例如5"x7". 有没有
我已经在我的应用程序中实现了 AirPrinting,但我遇到了一个奇怪的问题。每当出现打印对话框时,都不会显示取消或完成/打印按钮,如下图所示。 我使用的代码如下: if ([UIPrintInte
我是否必须使用支持 Apple AirPrint 的打印机才能在我的 iPad 应用程序中使用 AirPrint? 我不能在 Mac 上设置共享 Bonjour 打印服务并连接到它吗? 最佳答案 您必
我想将 AirPrint 功能添加到我的 iPad 应用程序 我一直在尝试显示 Apple 的 Drawing and Printing Guide 中描述的打印机选项。 我有工具栏和UIBarBut
我有一个单例弹出窗口,因此我一次只显示一个弹出窗口。当我执行共享弹出窗口并选择 AirPrint 时,共享弹出窗口会正确消失,并在其位置显示 AirPrint 弹出窗口。 但是,如果我再次按下共享按钮
我有Posiflex打印机。据我所知,它没有启用 AirPrint。而且它也没有wifi。我需要做的是连接到打印机并使用我的 iPad (IOS 5) 中安装的支持 AirPrint 的应用程序打印输
我正在编写使用收据打印机将收据打印到连续纸卷上的代码。这些收据类似于您在商店使用信用卡付款时收到的收据。 我正在使用 UIMarkupTextPrintFormatter,您可以在下面的代码中看到。
我需要在没有用户交互的情况下在后台使用 Xcode 进行 AirPrint。我不在乎是否必须使用第 3 方框架来执行此操作。这是我的代码,但需要用户的交互。 NSMutableString *pri
我愿意在 iOS 中使用 AirPrint 从我的应用程序中导出一些 pdf 文件。然而,当我呈现 UIPrintInteractionController 时,它显示两个后退图标 <<。我附上了图像
我有点卡住了:-) 我有一个小应用程序,它允许我将地址簿中的字段放入标签类型 UIView 中。现在我希望能够打印出这些标签:-)如果它出现在一张普通的纸上,我现阶段不介意 - 我稍后会整理这部分内容
我的应用程序当前正在创建大小为 2480 3508 的图像(A4 页面)如何将此图像发送到 A4 页面上的 AirPrint?创建图像后,它会将其保存到照片应用程序中,我还想将其发送以进行打印。有任何
我可以选择在我的 iPhone 应用程序中进行打印。 按下“打印”按钮后,将显示 UIPrintInteractionController。问题是如果没有连接打印机,我想在按下打印按钮时显示警告。 我
我正在尝试在我的应用程序中实现 AirPrint。目前,我的代码是这样的: AirPrintingViewController.h #import @interface AirPrintingVie
我必须在横向模式下向我的 WebView 发送 Airprint。但是我在设置方向时遇到错误。我写了这段代码 let printcontroller = UIPrintInteractionC
我无法打印到我的打印机模拟器... 这是我所做的: 找到打印机模拟器 https://developer.apple.com/download/more/?=for%20Xcode 下载并安装 Add
我想显示一个列表,其中包含设备可通过 AirPrint 访问的所有打印机。 我使用 UIPrinterPickerController 让它工作。 是否有以自定义方式显示此 PickerControl
在我的 iOS 应用程序中,我有以下代码用于 AirPrinting 一个简单的 NSString。 #pragma mark - Print -(IBAction)print:(id)sender
我是一名优秀的程序员,十分优秀!