PDF рендеринг с белыми линиями сверху / снизу, слева / справа по краям
Я использую (отлично) vfr-ридер в нескольких приложениях для iOS. Это работает как шарм, но у меня проблемы с рендерингом некоторых файлов PDF.
В VFR-Reader я вижу белые линии сверху и снизу и / или слева и справа по краям, что очень раздражает на полностраничных фотографиях.
Они появляются на визуализированной странице и миниатюрах страниц в ThumbsViewController:
Белые линии становятся (немного) больше при увеличении:
(нижний край, хотя его трудно увидеть на белом фоне страницы)
и я могу изменить их цвет, изменив
CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f); // White
в ReaderContentPage.m / drawLayer.
Я наивно пытался установить RGBFillColor на черный, но тогда все текстовые страницы (обычно на белом фоне) в PDF также будут выглядеть черными.
Я предполагаю, что проблема заключается в некоторых аспектных соотношениях / размерах страницы PDF, которые по какой-то причине не полностью заполняют область рисования, поэтому белый фоновый цвет "кровоточит".
Сами PDF-файлы выглядят хорошо, они отлично отображаются (без белых линий) в Safari и GoodReader.
Буду признателен за любую подсказку, как это исправить, или за общее направление, которое я должен исследовать.
1 ответ
Автор VFR ответил мне по электронной почте:
"Я подозреваю, что это вызвано тем, что размер страницы PDF не совсем соответствует размеру UView с поддержкой CATiledLayer, который показывает страницу. Когда страница PDF отображается в iOS, она соответствует аспекту, оставляя белые границы. В ReaderContentPage.m, в -drawLayer:inContext: метод, попробуйте изменить истину на ложь в этом вызове функции: CGPDFPageGetDrawingTransform(_PDFPageRef, kCGPDFCropBox, self.bounds, 0, true)"
что действительно исправило проблему!
(Чтобы исправить эскизы, я изменил ту же строку в ReaderThumbRender.m)