IOS中使用printer打印数组

原问题来自于CSDN问答频道,更多解决方案见:http://ask.csdn.net/questions/2512

问题描述:

在IOS中有三个nsmutable数组。要使用printer打印类似下面的数据,怎么实现?

举例:

0.5    1    10
 1      10   11
 2      5    22
 3      4    6

解决方案:

UIPrintInteractionController来实现:

具体代码:

NSMutableString *stringToPrint = [[NSMutableString alloc] initWithString:@""];
for(int i = 0;i<[array count];i++)
{
    [stringToPrint appendFormat:@"%@",[array objectAtIndex:i]];
    if(i%2 == 0)
    {
        [stringToPrint appendFormat:@"\n"];
    }
    else
    {
         [stringToPrint appendFormat:@"\t"];
    }
}
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];

UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = @"Midhun";
pic.printInfo = printInfo;

UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc]
                                             initWithText:stringToPrint];
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;
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];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值