Размещение двух существующих PDF-страниц рядом (половинный размер) в новом PDF-файле без потери разрешения.IOS

Программируем под IOS
Ответить
Anonymous
 Размещение двух существующих PDF-страниц рядом (половинный размер) в новом PDF-файле без потери разрешения.

Сообщение Anonymous »

В Swift, iOS, у меня есть PDF-файл с двумя страницами.

Я хочу разместить две страницы рядом на новой странице.

Для этого мне нужно масштабировать исходные страницы на половину размера и повернуть .pi/2.
Мне удалось добиться этого, преобразовав страницы PDF в UIImages и используя UIGraphicsImageRenderer. Но с критической потерей разрешения.
Я пытался улучшить разрешение, создавая изображения в формате jpegData(withCompressionQuality: 1.0), но безрезультатно.
Поэтому мне пришлось бы работать непосредственно со страницами PDF, используя формат CGPDFDocument.

Чтобы вставить одну масштабированную страницу, структура кода следующая:

Код: Выделить всё

  if let _page = theCGPdfDocument.page(at: 1) {
var _pageRect: CGRect = _page.getBoxRect(CGPDFBox.mediaBox)

writeContextInDestination!.beginPage(mediaBox: &_pageRect)

// translate to compensate for the flip caused displacement
writeContextInDestination!.translateBy(x: _pageRect.size.width, y: _pageRect.size.height)
Scale (-1, -1) // rotate 180°
// add rotate as needed
writeContextInDestination!.scaleBy(x: -1, y: -1)
writeContextInDestination!.clip(to: _pageRect)

writeContextInDestination!.drawPDFPage(_page)
writeContextInDestination!.endPage()  // end the current page
}

writeContextInDestination!.closePDF()
Но мне не удается вставить рисунок второй страницы.

Я пробовал повторить строки с 7 по 11 для второй страницы в строке 13. Безуспешно.

В каком направлении искать?

Подробнее здесь: https://stackoverflow.com/questions/799 ... hout-loosi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»