Конфигурация:
Веб-браузер и его версия: Safari Latest
Операционная система и это
s версия: iOS 11.1.1
Версия PDF.js: последняя
Шаги по воспроизведению проблемы:
Загрузите прикрепленный файл в любое средство визуализации или просмотра pdf.js.
Какое ожидаемое поведение? (добавить скриншот)
Визуализация PDF
Что пошло не так? (добавить скриншот)
Показан чистый белый холст, а не PDF.
Это происходит только в браузерах iOS. Он работает во всех браузерах для Windows и во всех браузерах для MacOS. Он также работает в Google Chrome на устройстве Android.
Я проверил указанный выше PDF-файл в веб-программе просмотра.
Сначала я проверяю, работает ли он с другими PDF-файлами с помощью этого PDF-файла :
В Safari:
В Google Chrome:
Затем я пытаюсь открыть указанный документ в Safari:
Попытка открыть указанный документ в Google Chrome
Я также обнаружил, что если я попытаюсь открыть рабочий PDF-файл с помощью веб-средства просмотра после попытки открыть PDF-файл hanyan123, рабочий PDF-файл больше не будет отображаться.
В Safari:
В Google Chrome:
Мы также столкнулись с этой проблемой с другим документом на iOS: https://tcpdf.org/files/examples/example_033.pdf (одностраничный PDF-файл)
После расследования мы получили дополнительную информацию об этой ошибке:
Я наблюдал нечто подобное, хотя в моем случае я никогда не видел, чтобы документ отображался даже после ожидания. Я описал свои наблюдения на 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 (если это обходной путь)?
Есть новости по этой проблеме? Я тоже с этим сталкивался.