Поворот всех страниц в графическом контексте 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.