如何在iOS 4.2中打印?

iPh*_*Dev 24 printing iphone cocoa-touch ipad ios-4.2

我想在我的应用程序中集成打印功能.

我要打印的文档将采用.doc或.txt格式.我在iPhone开发方面还不是很有经验,因此很难通过Apple文档来实现它.

如果有人可以通过发布一些示例代码来帮助我,那将是一个很大的帮助.

Mat*_*ick 34

查看适用于iOS绘图和打印指南 - 我链接到打印部分.这里有示例代码和更多示例代码的良好链接.

编辑:我现在看到您表明您发现难以遵循的文档.

Word文档很复杂 - 您需要解析数据,这非常困难.

文本和HTML更容易.我拿了Apple的HTML示例并将其更改为纯文本:

- (IBAction)printContent:(id)sender {
    UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
    pic.delegate = self;

    UIPrintInfo *printInfo = [UIPrintInfo printInfo];
    printInfo.outputType = UIPrintInfoOutputGeneral;
    printInfo.jobName = self.documentName;
    pic.printInfo = printInfo;

    UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc]
                                                 initWithText:yourNSStringWithContextOfTextFileHere];
    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);
        }
    };
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        [pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler];
    } else {
        [pic presentAnimated:YES completionHandler:completionHandler];
    }
}
Run Code Online (Sandbox Code Playgroud)