我正在转换图像为PDF格式,并保存在文档目录中。图像大小是1 MB和PDF大小10MB。这是很难分享任何一个。需要你的帮助,压缩PDF文件时,我写的PDF文件在文档目录中。这是我的代码
func createPDF(image: UIImage) -> NSData? {
let pdfData = NSMutableData()
let pdfConsumer = CGDataConsumer(data: pdfData as CFMutableData)!
var mediaBox = CGRect.init(x: 0, y: 0, width: image.size.width, height: image.size.height)
let pdfContext = CGContext(consumer: pdfConsumer, mediaBox: &mediaBox, nil)!
pdfContext.beginPage(mediaBox: &mediaBox)
pdfContext.draw(image.cgImage!, in: mediaBox)
pdfContext.endPage()
return pdfData
}
1条答案
按热度按时间1cosmwyk1#
要在将PDF文件写入文档目录时对其进行压缩,可以使用CGContext方法setFlatness减少PDF文件中的细节量,这将减小文件大小。此外,可以使用CGContext方法setRenderingIntent调整PDF文件中图像的质量,这也有助于减小文件大小。
您可以按如下方式修改代码:
您可以尝试使用setFlatness和setRenderingIntent值,以查看哪些设置最适合您的特定用例。