Ios 创建CGPDFPage时,旋转角度数据丢失

Ios 创建CGPDFPage时,旋转角度数据丢失,ios,swift,core-graphics,cgcontextdrawpdfpage,Ios,Swift,Core Graphics,Cgcontextdrawpdfpage,我随身带着PDF文件。我使用以下代码呈现此PDF文件的第一页 let page = self.pdfDocument.page(at: 0 )! // get first page let rotationAngle = page.rotation // this value is 90 let renderedPdfData = renderPDF(page: page.pageRef!) 其中renderPDF方法为 func renderPDF(page: CGPDFPage) ->

我随身带着PDF文件。我使用以下代码呈现此PDF文件的第一页

let page = self.pdfDocument.page(at: 0 )! // get first page
let rotationAngle = page.rotation // this value is 90
let renderedPdfData = renderPDF(page: page.pageRef!)
其中renderPDF方法为

func renderPDF(page: CGPDFPage) -> Data {
    let pageRect = page.getBoxRect(.mediaBox)
    let renderer = UIGraphicsPDFRenderer(bounds: pageRect)
    return renderer.pdfData { (context) in
        context.beginPage()
        context.cgContext.setFillColor(UIColor.white.cgColor)
        context.fill(pageRect)
        context.cgContext.translateBy(x: 0.0, y: pageRect.size.height)
        context.cgContext.scaleBy(x: 1, y: -1)
        context.cgContext.drawPDFPage(page)
    }
}
func createPDFPage(pdfData: Data) -> CGPDFPage? {
    guard let provider = CGDataProvider(data: pdfData as CFData) else {
      return nil
    }

    guard let document = CGPDFDocument(provider) else {
      return nil
    }

    // page starting at 1. The input PDF data only has 1 page.
    return document.page(at: 1)
  }
然后稍后我想用上面的
renderedPdfData
创建一个
CGPDFPage
。为此,我使用以下方法

var newPage: CGPDFPage = createPDFPage(pdfData: renderedPdfData)
其中createPDFPage方法为

func renderPDF(page: CGPDFPage) -> Data {
    let pageRect = page.getBoxRect(.mediaBox)
    let renderer = UIGraphicsPDFRenderer(bounds: pageRect)
    return renderer.pdfData { (context) in
        context.beginPage()
        context.cgContext.setFillColor(UIColor.white.cgColor)
        context.fill(pageRect)
        context.cgContext.translateBy(x: 0.0, y: pageRect.size.height)
        context.cgContext.scaleBy(x: 1, y: -1)
        context.cgContext.drawPDFPage(page)
    }
}
func createPDFPage(pdfData: Data) -> CGPDFPage? {
    guard let provider = CGDataProvider(data: pdfData as CFData) else {
      return nil
    }

    guard let document = CGPDFDocument(provider) else {
      return nil
    }

    // page starting at 1. The input PDF data only has 1 page.
    return document.page(at: 1)
  }
但是如何设置
newPage
的旋转角度数据(即90)?因为“rotationAngle”是一个只能获取的属性。因为我没有为它设置值,所以它的值总是0

let angle = newPage.rotationAngle // value is 0
有没有办法创建一个带有旋转信息的CGPDFPage