AirPrint を使用して印刷できる機能を見つけようとしています。
ボタンを押すbtnPrint
と、myPic.jpg をデフォルトの AirPrint デバイスに印刷する必要があります。しかし、そのような機能があるかどうかさえわかりません。
xcode で AirPrint に関する多くのドキュメントを見つけることができません。
AirPrint を使用して印刷できる機能を見つけようとしています。
ボタンを押すbtnPrint
と、myPic.jpg をデフォルトの AirPrint デバイスに印刷する必要があります。しかし、そのような機能があるかどうかさえわかりません。
xcode で AirPrint に関する多くのドキュメントを見つけることができません。
Apple には、おそらく役立つ印刷に関するドキュメントがあります。
以下は、AirPrint の Objective-C コードからのものです。
印刷が利用可能かどうかを確認します。
if ([UIPrintInteractionController isPrintingAvailable])
{
// Available
} else {
// Not Available
}
ボタンのクリック後に印刷:
-(IBAction) buttonClicked: (id) sender;
{
NSMutableString *printBody = [NSMutableString stringWithFormat:@"%@, %@",self.encoded.text, self.decoded.text];
[printBody appendFormat:@"\n\n\n\nPrinted From *myapp*"];
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
pic.delegate = self;
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = self.titleLabel.text;
pic.printInfo = printInfo;
UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc] initWithText:printBody];
textFormatter.startPage = 0;
textFormatter.contentInsets = UIEdgeInsetsMake(72.0, 72.0, 72.0, 72.0); // 1 inch margins
textFormatter.maximumContentWidth = 6 * 72.0;
pic.printFormatter = textFormatter;
[textFormatter release];
pic.showsPageRange = YES;
void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
if (!completed && error) {
NSLog(@"Printing could not complete because of error: %@", error);
}
};
[pic presentFromBarButtonItem:self.rightButton animated:YES completionHandler:completionHandler];
}