Создание PDF-файла с использованием новых средств печати в iOS 4. 2

Исторически сложилось так, что мое приложение генерировало подтверждения в виде простого HTML и передавало этот HTML в обычный MFMailComposeViewController для отправки клиенту по электронной почте. Я хотел попробовать использовать новые классы печати в iOS 4.2, чтобы вместо этого преобразовать HTML в PDF и отправить его как вложение.

Я пробовал следующее:

NSString *html = /* generate my HTML here */
NSMutableData *pdfData = [NSMutableData data];
UIMarkupTextPrintFormatter *fmt = [[UIMarkupTextPrintFormatter alloc] 
                                   initWithMarkupText:html];

// Render the html into a PDF
UIGraphicsBeginPDFContextToData( pdfData, CGRectZero, nil );

for (NSInteger i=0; i < [fmt pageCount]; i++)
{
    UIGraphicsBeginPDFPage();
    CGRect bounds = UIGraphicsGetPDFContextBounds();
    [fmt drawInRect:bounds forPageAtIndex:i];
}

UIGraphicsEndPDFContext();

Проблема в том, что [fmt pageCount] всегда возвращает ноль, поэтому фактическое содержимое страницы никогда не отображается в PDF NSData.

Кому-нибудь повезло с использованием UIMarkupTextPrintFormatter вне фактического задания на печать для преобразования HTML в PDF? Любая помощь очень ценится.

9
задан glenc 4 December 2010 в 23:33
поделиться