Поворот всех страниц в графическом контексте PDF

Я создаю файл PDF, содержащий несколько страниц:

NSMutableData *pdfData = [NSMutableData new];
CGRect rect = CGRectMake(0, 0, 300, 100);
UIGraphicsBeginPDFContextToData(pdfData, rect, nil);
for (NSInteger page = 0; page < 10; page++)
{
    UIGraphicsBeginPDFPage();
    // DRAW PAGE
}
UIGraphicsEndPDFContext();

PDF будет напечатан, но всегда вдоль длинной стороны страницы. Поэтому в конце и перед отправкой на принтер я хочу повернуть каждую страницу на 90°. Как это может быть сделано?

2 ответа

Решение

Вместо UIGraphicsBeginPDFPage вы можете использовать UIGraphicsBeginPDFPageWithInfo(bounds, dict); В словаре установите ключ "Поворот" и значение (NSNumber) 90. Например:

NSDictionary* dict = [NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:90] forKey:@"Rotate"];
UIGraphicsBeginPDFPageWithInfo(bounds, dict);

Вы можете сделать, беря одну за другой страницу в UIImage отформатируйте и поверните изображение на 90 градусов, а затем конвертируйте изображение в PDF.

Другие вопросы по тегам