为何UIGraphicsImageRenderer生成的图片在PDFPage中显示褪色?
问题:PDF生成图片显示异常,求系统设置及复现思路
问题背景
同版本iOS/iPadOS 16.6下,部分设备(iPad、iPhone 12 Pro Max)生成PDF时出现图片排版异常,自身设备无此问题。已排查辅助功能设置未复现,现寻求其他可能影响的系统设置或复现方向。
相关代码
PDF生成逻辑
let document = PDFDocument() for image in images { let page = PDFPage(image: image.scaledWithMaxWidthOrHeightValue(value: 425)!)! document.insert(page, at: document.pageCount) }
UIImage缩放扩展
extension UIImage { func scaledWithMaxWidthOrHeightValue(value: CGFloat) -> UIImage? { let width = self.size.width let height = self.size.height if width <= value && height <= value { return self } let ratio = width/height var newWidth = value var newHeight = value if ratio > 1 { newWidth = min(width, value) newHeight = height * (newWidth/width) } else { newHeight = min(height, value) newWidth = width * (newHeight/height) } let renderer = UIGraphicsImageRenderer(size: CGSize(width: newWidth, height: newHeight)) let image = renderer.image { _ in draw(in: CGRect(x: 0, y: 0, width: newWidth, height: newHeight)) } return image } }
效果对比
- 异常效果:多张图片被压缩挤在同一页面,排版错乱,无法按预期分页显示
- 正常效果:每张缩放后的图片单独占一页,排版规整
求助方向
已排查辅助功能相关设置,无法复现问题。排除系统版本和设备型号影响的可能,求其他可能的系统设置项或复现思路。
内容的提问来源于stack exchange,提问作者kunass2
相关产品推荐
相关产品推荐

