Pdf.js: IOS не может отображать определенные PDF-файлы

Созданный на 16 мар. 2018  ·  4Комментарии  ·  Источник: mozilla/pdf.js

16391_49885.pdf

Конфигурация:

Веб-браузер и его версия: Safari Latest
Операционная система и это
s версия: iOS 11.1.1
Версия PDF.js: последняя
Шаги по воспроизведению проблемы:

Загрузите прикрепленный файл в любое средство визуализации или просмотра pdf.js.
Какое ожидаемое поведение? (добавить скриншот)
Визуализация PDF

Что пошло не так? (добавить скриншот)
Показан чистый белый холст, а не PDF.
Это происходит только в браузерах iOS. Он работает во всех браузерах для Windows и во всех браузерах для MacOS. Он также работает в Google Chrome на устройстве Android.

1-core 4-os-ios

Все 4 Комментарий

Я проверил указанный выше PDF-файл в веб-программе просмотра.

Сначала я проверяю, работает ли он с другими PDF-файлами с помощью этого PDF-файла :

В Safari:

В Google Chrome:

Затем я пытаюсь открыть указанный документ в Safari:

Попытка открыть указанный документ в Google Chrome

Я также обнаружил, что если я попытаюсь открыть рабочий PDF-файл с помощью веб-средства просмотра после попытки открыть PDF-файл hanyan123, рабочий PDF-файл больше не будет отображаться.

В Safari:

29634560_10208553894044613_2131570870_o

В Google Chrome:

Мы также столкнулись с этой проблемой с другим документом на iOS: https://tcpdf.org/files/examples/example_033.pdf (одностраничный PDF-файл)

После расследования мы получили дополнительную информацию об этой ошибке:

  • Он также воспроизводится в настольном Safari (v. 11.0.3 (12604.5.6.1.1), macOS 10.12.6) с помощью размещенной программы просмотра по адресу https://mozilla.github.io/pdf.js/web/viewer.html. .
  • Документы ДОЛЖНЫ загружаться (как тот, который указан выше, так и тот, который связан с @ hanyan123), но это занимает очень много времени (примерно 5-10 минут).

Я наблюдал нечто подобное, хотя в моем случае я никогда не видел, чтобы документ отображался даже после ожидания. Я описал свои наблюдения на StackOverflow - здесь я повторю свой вопрос вместе с чьим-то убедительным ответом:

У меня есть двухстраничный PDF-документ, который не отображается ни в Safari, ни в Chrome на iOS, используя pdf.js; там две страницы, но обе пустые. Если я «распечатаю» документ с помощью CutePDF в другой PDF-файл, он отобразится! Но если я оптимизирую с помощью Acrobat PRO, он не будет отображаться. Я где-то читал, что если я визуализирую как Postscript с помощью Acrobat PRO, а затем повторно сохраняю как pdf, это линеаризуется; все еще нет любви. Я показываю все четыре ароматов здесь - шоу уменьшенных метаданные PDF, наряду с размером файла. Отрисовывается только версия CutePDF, хотя она и не самая маленькая. Помимо того, что я просто перепечатываю каждый PDF-файл, который есть на моем веб-сайте, с помощью CutePDF - может ли кто-нибудь сказать мне, чем pdf.js недоволен?

NB: все четыре варианта обрабатываются под Windows. Проблема только в iOS, с тремя из четырех.

Вот ответ:

Во всех нерабочих версиях растровое изображение нарисовано как один большой объект XObject, заключенный в узор. В рабочей версии растровое изображение разрезано на множество изображений меньшего размера, нарисованных непосредственно в содержимом страницы. Возможно, вы захотите найти проблемы с pdf.js, связанные с этими факторами.

CutePDF не предоставляет возможности управлять растровым изображением таким образом - он просто делает это. Что такого особенного в «одном большом XObject, обернутом в шаблон», который не нравится pdf.js - и как я могу контролировать, например, Acrobat PRO для рендеринга, как это делает CutePDF (если это обходной путь)?

Я наблюдал нечто подобное, хотя в моем случае я никогда не видел, чтобы документ отображался даже после ожидания. Я описал свои наблюдения на StackOverflow - здесь я повторю свой вопрос вместе с чьим-то убедительным ответом:

У меня есть двухстраничный PDF-документ, который не отображается ни в Safari, ни в Chrome на iOS, используя pdf.js; там две страницы, но обе пустые. Если я «распечатаю» документ с помощью CutePDF в другой PDF-файл, он отобразится! Но если я оптимизирую с помощью Acrobat PRO, он не будет отображаться. Я где-то читал, что если я визуализирую как Postscript с помощью Acrobat PRO, а затем повторно сохраняю как pdf, это линеаризуется; все еще нет любви. Я показываю все четыре ароматов здесь - шоу уменьшенных метаданные PDF, наряду с размером файла. Отрисовывается только версия CutePDF, хотя она и не самая маленькая. Помимо того, что я просто перепечатываю каждый PDF-файл, который есть на моем веб-сайте, с помощью CutePDF - может ли кто-нибудь сказать мне, чем pdf.js недоволен?
NB: все четыре варианта обрабатываются под Windows. Проблема только в iOS, с тремя из четырех.

Вот ответ:

Во всех нерабочих версиях растровое изображение нарисовано как один большой объект XObject, заключенный в узор. В рабочей версии растровое изображение разрезано на множество изображений меньшего размера, нарисованных непосредственно в содержимом страницы. Возможно, вы захотите найти проблемы с pdf.js, связанные с этими факторами.

CutePDF не предоставляет возможности управлять растровым изображением таким образом - он просто делает это. Что такого особенного в «одном большом XObject, обернутом в шаблон», который не нравится pdf.js - и как я могу контролировать, например, Acrobat PRO для рендеринга, как это делает CutePDF (если это обходной путь)?

Есть новости по этой проблеме? Я тоже с этим сталкивался.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги