You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:27:25