Добавление заголовка PDF с NULNULNULNUL% PDF-1.6 - PullRequest
0 голосов
/ 01 июня 2018

В нашем приложении у нас есть функциональные возможности для просмотра / загрузки файлов PDF
Ниже приведен код, используемый для загрузки и отображения в браузере

> while ((readLength = bufInputStream.read(buffer)) != -1) {
outStream.write(buffer, 0, readLength);
}
}

, недавно мы наблюдали, как всплывающее окно типа "Произошла ошибкаОткрытие этого документа. Файл поврежден и не может быть восстановлен. "

когда мы проверяли содержимое хороших и плохих pdf


good.pdf

начинается с "% PDF-1.6" и заканчивается на "%% EOF"


bad.pdf

начинается с «NULNULNULNUL% PDF-1.6»

заканчивается на «506053»

Когда мы проверяли с помощью Original PDF,который был передан в потоковом режиме, имеет правильный заголовок

Если мы буферизуем и пишем, как эти символы добавляются в заголовок ???

03 июн 2018

Есть ли у васпроверил данные из вашего bufInputStream?
нам нужно распечатать данные?или как проверить данные?
Вы проверили, что происходит с данными, записанными в ваш outStream?
нам нужно распечатать данные?или как проверить данные?

Я погуглил и получил некоторую информацию, как показано ниже
1.Если вы видите, что плохой PDF заканчивается, %% EOF отсутствует.Возможно, это связано с тем, что в последнем цикле не происходит outstream.write (пожалуйста, исправьте меня)
2.Недавно хост, который внес некоторые графические изменения в содержимое PDF, и после этого эта проблема началась
3.old PDF-файлы работают нормальнобез каких-либо проблем, только проблема с новыми PDF-файлами
4. Мы обслуживаем эту функцию для различных клиентов, и только эти новые PDF-файлы становятся проблемой (с win10 + IE11) + (win7 + IE11)
4. Любой параметр просмотраили плагин Acrobat решит эту проблему?
5.Что может быть причиной добавления / удаления этих символов?

4 июня 2018

кажется, что %% EOF в конце отсутствует - основная причина проблемы.Мы получили плохой / поврежденный файл из приложения и вручную добавили %% EOF в конце, чтобы решить проблему.Теперь пара вопросов

  • как это работало раньше?
    • когда добавлен заголовок NUL NUL, почему %% EOF не добавляется к потоковым данным?
    • есть ли настройка, которую мы можем автоматически добавлять %% EOF к потоковым данным?
    • для этого нужно изменить код?
    • есть ли какие-либо настройки Acrobat или веб-сферы или браузера для решения этой проблемы?

11 июня

Мы сделали изменение кода, чтобы добавить %% EOF в пропущенные PDF-файлы (временное решение).
Мы пытаемся напечатать то, что идет через сеть ..
Мы видели, что NULNUL идет, но ПРИНИМАЮТ, что они не отправляют ..
у нас есть Балансировщики нагрузки, другие компоненты в сетевом канале
Мы получили старые файлы PDF из cacheServer и видели эти символы долгое время
Проблема началась с PDF1.6версия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...