2011-07-28 10 views
0

이 코드가 : 나는 두 개의 열이 내 문자열의 텍스트 서식이이 코드IOS :있는 NSString은 형식

NSString *firstString = [[NSString stringWithFormat:@"%@",stringToWrite] stringByPaddingToLength:40 withString:@" " startingAtIndex:0]; 
    NSString *finallyString = @""; 
    finallyString = [firstString stringByAppendingString:secondString]; 

을,하지만 난 AirPrint를 방법으로 이러한 문자열을 인쇄 할 때이 텍스트 서식을 잃었다. NSLog에서 모두 괜찮습니까? 용지에 인쇄 할 때 텍스트 서식이 손실 되었습니까? 인쇄

코드 :

NSMutableString *printHead = [NSMutableString stringWithFormat:@"%@", @"words"]; 
for (int i = 0; i<myArray.count; i++) 
{ 
    [printHead appendFormat:@"\n\n\n"]; 
    NSString *stringToWrite = [[myArray objectAtIndex:i]objectAtIndex:0]; 
    NSString *firstString = [[NSString stringWithFormat:@"%@",stringToWrite] stringByPaddingToLength:40 withString:@" " startingAtIndex:0]; 
    NSString *finallyString = @""; 
    finallyString = [firstString stringByAppendingString:[[myArray objectAtIndex:i]objectAtIndex:1]]; 
    [printHead appendString:finallyString]; 
    } 
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; 
pic.delegate = self; 

UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
printInfo.outputType = UIPrintInfoOutputGeneral; 
pic.printInfo = printInfo; 

UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc] initWithText:printHead]; 
textFormatter.startPage = 0; 
//textFormatter.color = [UIColor redColor]; 
textFormatter.contentInsets = UIEdgeInsetsMake(30.0, 30.0, 72.0, 72.0); // 1 inch margins 
textFormatter.maximumContentWidth = 8 * 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 presentAnimated:YES completionHandler:completionHandler]; 
+0

인쇄 할 글꼴은 무엇입니까? – Mark

+0

인쇄용 코드는 무엇입니까? 어쩌면 뭔가가 없습니다. –

+0

내 게시물을 변경합니다. – CrazyDev

답변

0

NSLog()는 당신이 서식에 의존 할 게 아니다. 텍스트를 인쇄 할 때 특정 방식으로 나타나게하려면보기에 그려야합니다. 화면에서 보이는 것과 비교하여 인쇄 할 때보기가 다르게 보이게하려면 -drawRect:forViewPrintFormatter:을 구현하여 인쇄 된 버전을 그리십시오.

+0

괜찮 았지만 내 응용 프로그램에서보기를보고 싶지 않습니다. 어디에서이 텍스트 서식을 쓸지 볼 수 있습니까? – CrazyDev

+0

이해가 안됩니다. 답을 설명해 주시겠습니까? – CrazyDev

+0

내가 틀릴 수도 있지만 뷰를 인쇄 가능한 창에 추가해야한다고 생각하지 않습니다. UIViewPrintFormatter를 살펴보십시오. – Caleb