当前位置:编程学习 > wap >>

IOS中使用printer打印数组

问题描述:


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

举例:


[plain]
0.5    1    10 
 1      10   11 
 2      5    22 
 3      4    6 

0.5    1    10
 1      10   11
 2      5    22
 3      4    6
解决方案:


用UIPrintInteractionController来实现:

具体代码:

[plain]
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() == UIUserInte易做图ceIdiomPad) 

    [pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler]; 

else 

    [pic presentAnimated:YES completionHandler:completionHandler]; 

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() == UIUserInte易做图ceIdiomPad)
{
    [pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler];
}
else
{
    [pic presentAnimated:YES completionHandler:completionHandler];
}

 

补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,