我有一份PDF文档,我希望将所有页面旋转90度。我找到了一个解决方案here,但我无法使其发挥作用。 resoult PDF为空。任何帮助都会很棒。
这是我的代码:
guard let getCGPDFPage = pdfReference!.page(at: index) else {
NSLog("Error occurred in creating page")
return
}
page = getCGPDFPage
mediaBox = page.getBoxRect(.mediaBox)
// Get rotation angle and convert from degrees to radians:
let angle = CGFloat(page.rotationAngle) * CGFloat.pi / 180
// Apply rotation transform to media box:
var rotatedBox = mediaBox.applying(CGAffineTransform(rotationAngle: angle))
let m = page.getDrawingTransform(.mediaBox, rect: rotatedBox, rotate: 90, preserveAspectRatio: true)
writeContext?.concatenate(m)
writeContext?.clip(to: page.getBoxRect(.mediaBox))
writeContext?.beginPage(mediaBox: &rotatedBox)
writeContext?.drawPDFPage(page)
writeContext?.endPage()
答案 0 :(得分:0)
旋转PDF文件页面的方法比使用CoreGraphics转换每个页面的上下文要简单得多。
使用PDFKit的PDFPage
对象,该对象包含页面旋转的属性。您可以将其设置为90、180、270或0度。
https://developer.apple.com/documentation/pdfkit/pdfpage/1503443-rotation
请注意,CGPDFPage
和CGPDFDocument
与PDFPage
和PDFDocument
不同。