IOS中使用printer列印數組

來源:互聯網
上載者:User

問題描述:


在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() == UIUserInterfaceIdiomPad) 

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

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.