Можно ли сгенерировать файл PDF из UITableView? - PullRequest
5 голосов
/ 20 апреля 2011

У моего приложения есть табличное представление с пользовательскими ячейками (включая текстовое поле, метку и кнопку), я хочу сгенерировать pdf-файл из табличного представления.

Ниже представлен код (теперь предположим, что содержимое табличного представления все видно):

    UIGraphicsBeginImageContext(self._tableView.bounds.size);
    UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, self._tableView.bounds.size.width, self._tableView.bounds.size.height), nil);

    // what's the code here?
    // [self._tableView drawInRect:];

    UIGraphicsEndPDFContext();

Я всегда генерирую пустой файл PDF.В настоящее время я создаю табличное представление как изображение, затем рисую изображение в текущем контексте и получаю файл PDF.но какая-нибудь хорошая идея?

Ответы [ 2 ]

5 голосов
/ 20 апреля 2011

HI, вы можете преобразовать текущий вид как изображение через следующий код, а затем использовать это изображение для создания PDF-файла по ссылке

    - (UIImage *)captureView:(UIView *)view {
    CGRect screenRect = [[UIScreen mainScreen] bounds];

    UIGraphicsBeginImageContext(screenRect.size);

    CGContextRef ctx = UIGraphicsGetCurrentContext();
    [[UIColor blackColor] set];
    CGContextFillRect(ctx, screenRect);

    [view.layer renderInContext:ctx];

    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return newImage;
   }
0 голосов
/ 24 февраля 2014

Чтобы получить хорошее качество изображения,

Использование

UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 0.0) 

вместо

UIGraphicsBeginImageContext(screenRect.size)

@ JeffWood: спасибо миллион за ответ :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...