Hi everyone,
We have been noticing since release iOS 17, that our code which renders PDFPage objects to images was randomly failing (while no error is logged) and produced full black images.
This problem seems to mainly occurs on old devices (iPad Pro 2017 and 2018).
I mention that this portion code has been running for several years in our app without any issue from iOS10 to iOS16.
let renderFormat = UIGraphicsImageRendererFormat.default()
renderFormat.opaque = true
renderFormat.scale = CGFloat(scale)
let renderer = UIGraphicsImageRenderer(size: pageRect.size, format: renderFormat)
mainImage = renderer.image { context in
// Setup drawing context
context.cgContext.setShouldAntialias(false)
context.cgContext.setShouldSmoothFonts(false)
context.cgContext.setAllowsFontSmoothing(false)
context.cgContext.setShouldSubpixelPositionFonts(true)
context.cgContext.setShouldSubpixelQuantizeFonts(true)
// Draw pdf page
context.saveGState()
UIColor.white.setFill()
context.clip(to: rect)
context.fill(rect)
page.draw(with: .cropBox, to: context)
context.restoreGState()
}
Did anyone encountered a similar issue?
Is there any mean to get an error at least in such cases ?
Thanks for any help or advice on this issue.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello,
We are experiencing on some occasions a wrong behavior with PDFDocument method:
func page(at index: Int) -> PDFPage?
With certain PDF files, this method returns the wrong PDFPage.
This occurs on iOS 18.3, 18.5 and 18.6.2 (an maybe on other versions).
Try this PDF for instance (page 81 is returned when index = 2):
https://drive.google.com/open?id=1MHm2wjfsbWB8OiRmARUMmvODYxp4DIqP&usp=drive_fs
Also, I mention that this doesn't occur systematically with this PDF. When making a copy of this file we don't observe the issue.
Could this be linked some kind of internal cache issue ?