Nano Hash - криптовалюты, майнинг, программирование

Рендеринг PDF с белыми линиями сверху/снизу, слева/справа по краям

Я использую (отлично) vfr-reader в нескольких приложениях 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.

Я был бы признателен за любые подсказки, как это исправить, или общее направление, в котором я должен исследовать.


  • есть ли какая-то особая причина, по которой вы хотите использовать VFR? Почему бы не использовать Safari или GoodReader, если они работают нормально? 04.04.2013
  • Потому что мне нужна библиотека PDF с открытым исходным кодом для включения в мои собственные приложения, а не готовое независимое приложение для чтения PDF. 04.04.2013
  • Как насчет открытия PDF-файлов в UIWebView? Поскольку Safari может их читать, если вы загрузите их в UIWebView, вы сможете сделать то же самое. 04.04.2013
  • Нет, я уже использую VFR, так как он делает много вещей, которые PDF-файлы, показанные в UIWebView, не могут. 05.04.2013
  • Можете ли вы опубликовать образец PDF-файла, чтобы я мог взглянуть на него? 05.04.2013

Ответы:


1

Автор VFR ответил мне по электронной почте:

«Я подозреваю, что это вызвано тем, что размер страницы PDF не совсем соответствует размеру UView с поддержкой CATiledLayer, который показывает страницу. Когда страница PDF визуализируется iOS, она подходит по размеру, оставляя белые границы. В ReaderContentPage .m, в методе -drawLayer:inContext: попробуйте изменить true на false в вызове этой функции: CGPDFPageGetDrawingTransform(_PDFPageRef, kCGPDFCropBox, self.bounds, 0, true)"

что действительно решило проблему!

(Чтобы исправить миниатюры, я изменил ту же строку в ReaderThumbRender.m)

05.04.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..