我想在 PDFKit 的 PDFDocument 和 Core Graphics 的 CGPDFContext 之间移动数据,但我不知道该怎么做。我正在使用 python,但是任何显示要使用的方法和对象的代码都将受到欢迎。
使用 CGPDFDocument 会很容易,但我需要使用 PDFDocument 是有原因的。你会认为他们会被免费桥接。
从 PDFDocument 创建上下文。
pdfDoc = PDFDocument.alloc().initWithURL_(pdfURL) pdfData = pdfDoc.dataRepresentation() CGPDFContextCreate(pdfData, None, metaDict)
但我得到:'deflateEnd:错误-3:(null)。'
我可以使用 drawWithBox ToContext 将 PDFPage 添加到 CGPDFContext,但这只是 10.12 及更高版本。我试过这个:
page = pdfDoc.pageAtIndex_(0) writeContext = CGPDFContextCreateWithURL(myURL, None, dictarray) CGContextBeginPage(writeContext, mbox) CGContextDrawPDFPage(writeContext, page.pageRef)
这给了我一个分段错误。(通过注释掉 drawPDF 行,或者用page
一个CGPDFPage
对象代替一个PDFPage
.
- 使用 CGPDFContext 中的数据初始化 PDFDocument 对象。
为此,我可能不得不以某种方式使用 CGDataProviders 和 Consumers ,但没有任何线索。