Как я могу эффективно преобразовать многие страницы SwiftUI в PDF?IOS

Программируем под IOS
Гость
Как я могу эффективно преобразовать многие страницы SwiftUI в PDF?

Сообщение Гость »


Я пытаюсь создать PDF-документ из сотен страниц представления SwiftUI. На данный момент мой подход следующий. Это работает нормально, но довольно медленно. Интересно, есть ли лучший способ сделать это, используя UIKit или какой-либо другой метод?

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

@MainActor
func renderPages() async {
let pathComponent = "example.pdf"
let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(pathComponent)
var box = CGRect(x: 0, y: 0, width: 1000, height: 500)
guard let pdf = CGContext(url as CFURL, mediaBox: &box, nil) else {
return
}
for pageIndex in pageIndices {
pdf.beginPDFPage(nil)
let renderer = ImageRenderer(content:
MySwiftUIView(index: pageIndex)
)
renderer.render { size, myContext in
myContext(pdf)
}
pdf.endPDFPage()
}
pdf.closePDF()
self.url = url
}


Источник: https://stackoverflow.com/questions/781 ... tui-to-pdf

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