Щелкнуть ссылку на PDF-документ на веб-сайте и увидеть, как в нижней части окна появляется панель загрузки браузера вместо PDF-содержимого, изящно отображаемого на вкладке браузера, — это частый и разочаровывающий пользовательский опыт. Сам PDF-файл не поврежден, не отформатирован и не поврежден каким-либо образом. Веб-сервер и браузер молча договаривались о том, как обрабатывать входящий файл, прежде чем пользователь увидит первый пиксель контента, и они совместно решили загрузить файл на диск, а не отображать его в строке.
Будет ли PDF-файл плавно открываться в окне браузера для немедленного просмотра или загружаться в виде файла в локальное хранилище пользователя, определяется трехсторонним взаимодействием между настройками конфигурации веб-сервера, встроенными в браузер возможностями обработки PDF-файлов и личными настройками браузера пользователя, и все это незаметно работает за пользовательским интерфейсом.
Чтобы понять, почему PDF-файл загружается, а не отображается, необходимо изучить, как веб-серверы передают HTTP-заголовок Content-Disposition, как браузеры обрабатывают MIME-тип приложения/pdf и как настройки браузера и установленные расширения изменяют поведение обработки PDF по умолчанию. Инструменты PDF Format WukongPDF создают соответствующие стандартам PDF-файлы, подходящие для PDF Reading на разных платформах, а приведенное ниже объяснение охватывает каждый фактор в цепочке.

Заголовок Content-Disposition: как сервер инструктирует браузер
Когда какой-либо веб-сервер отправляет PDF-файл запрашивающему браузеру, он включает в себя набор заголовков ответа HTTP, которые предшествуют фактическим данным файла. Заголовок Content-Type идентифицирует входящий поток данных как application/pdf, сообщая браузеру, какой контент следует ожидать. Заголовок Content-Disposition предоставляет важную инструкцию, определяющую поведение браузера. Сервер, настроенный на отправку Content-Disposition: inline, инструктирует браузер отображать содержимое PDF непосредственно в окне браузера, используя любые возможности рендеринга PDF, доступные в браузере. Сервер, настроенный для отправки вложения Content-Disposition:, дает браузеру указание предложить пользователю загрузить и сохранить файл локально.
Администраторы веб-сайтов и хостинг-провайдеры настраивают заголовок Content-Disposition на уровне веб-сервера либо глобально для всех PDF-файлов, обслуживаемых из домена, либо для каждого каталога для определенных папок, либо для каждого файла для отдельных документов. Оператор сайта, который хочет, чтобы посетители читали PDF-файлы в своем браузере, не беспокоясь о загрузке, настраивает встроенную доставку. Оператор сайта, который хочет, чтобы посетители сохраняли постоянную локальную копию, например, налогового документа, юридической документации или гарантийной регистрации, которую пользователь должен заархивировать, настраивает доставку вложений. В большинстве случаев определяющим фактором является конфигурация сервера, а не какое-либо свойство самого PDF-файла.
Попробуйте редактировать PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
Настройки браузера и встроенные возможности просмотра PDF
Каждый современный веб-браузер, Chrome, Edge, Firefox, Safari, включает в себя встроенный компонент просмотра PDF-файлов, который может отображать PDF-документы непосредственно на вкладке браузера без необходимости использования какого-либо внешнего приложения или плагина. Эти встроенные средства просмотра включены по умолчанию во всех основных браузерах. Когда веб-сервер отправляет PDF-файл со встроенным заголовком Content-Disposition, браузер направляет входящий поток данных в свою встроенную программу просмотра, которая отображает страницы на вкладке браузера вместе с обычными элементами интерфейса браузера. Когда сервер отправляет Content-Disposition: вложение, браузер загружает файл на локальный диск независимо от того, доступно ли и включено ли встроенное средство просмотра.
Каждый браузер предоставляет настраиваемый пользователем параметр, который управляет тем, что происходит с PDF-файлами на уровне браузера, независимо от инструкций сервера. В Chrome перейдите в «Настройки», «Конфиденциальность и безопасность», «Настройки сайта», прокрутите до «Дополнительные настройки контента» и выберите «Документы PDF». Переключатель с надписью «Загружать PDF-файлы» вместо автоматического открытия их в Chrome напрямую контролирует, использует ли браузер встроенную программу просмотра или принудительно загружает каждый PDF-файл независимо от заголовка Content-Disposition на сервере. Пользователь, который намеренно включил этот переключатель, возможно, потому, что он предпочитает читать PDF-файлы в специальном настольном приложении, будет получать загрузки по каждой ссылке PDF, на которую он нажимает, даже если сервер правильно отправляет встроенные файлы.
Расширения браузера и сторонние приложения для обработки PDF-файлов
Установленные расширения браузера, которые управляют загрузками в целом или обрабатывают файлы PDF в частности, могут перехватывать и переопределять как HTTP-заголовки сервера, так и собственные встроенные настройки PDF браузера. Расширение диспетчера загрузок может перехватывать любой контент с MIME-типом application/pdf и автоматически направлять его в очередь загрузки, не позволяя средству просмотра браузера отображать его. Стороннее расширение просмотра PDF-файлов может зарегистрироваться в браузере в качестве назначенного обработчика PDF-содержимого и либо открыть файл в собственном пользовательском интерфейсе просмотра, либо предложить пользователю загрузить его для просмотра в автономном режиме.
Дополнительное расширение браузера Adobe Acrobat, если оно установлено и включено, может перехватывать ссылки, указывающие на файлы PDF, и предлагать открыть документ в полнофункциональном приложении Acrobat для настольного компьютера, а не отображать его в облегченном встроенном средстве просмотра браузера. Поведение расширения регулируется собственными настройками пользователя, настроенными в Acrobat. Пользователь, который ранее выбрал «Открыть в Acrobat» в качестве предпочтительного метода обработки PDF-файлов, будет видеть каждый запуск PDF-файла во внешнем настольном приложении, что может создать визуальное впечатление, что файл был загружен, когда он фактически был открыт в отдельном окне приложения.
| Фактор | Влияние на поведение PDF | Уровень управления пользователем |
|---|---|---|
| Расположение содержимого сервера: встроенное | Браузер открывает PDF во встроенной программе просмотра | Пользователь не может напрямую переопределить конфигурацию сервера. |
| Расположение содержимого сервера: вложение | Браузер загружает PDF независимо от всех остальных настроек. | Пользователь не может напрямую переопределить конфигурацию сервера. |
| Настройка переключения просмотра PDF-файлов в браузере | Переключение между встроенным просмотрщиком и принудительной загрузкой. | Полный пользовательский контроль в интерфейсе настроек браузера |
| PDF-расширение для браузера | Может перехватывать и перенаправлять обработку PDF-файлов. | Пользователь контролирует установку и настройку расширения. |
Проверка и изменение режима обработки PDF-файлов в браузере
Чтобы изменить способ обработки файлов PDF в вашем браузере, откройте интерфейс настроек браузера и найдите PDF. Найдите переключатель или раскрывающийся список, который управляет поведением обработки PDF-файлов, и настройте его по своему усмотрению. Если определенный веб-сайт постоянно заставляет загружать PDF-файлы, несмотря на то, что ваш браузер настроен для встроенного просмотра, сервер намеренно отправляет заголовок Content-Disposition вложения, и сами по себе настройки вашего браузера не могут отменить явную инструкцию сервера. Свяжитесь с владельцем веб-сайта, чтобы запросить изменение конфигурации или установить специализированное расширение браузера, предназначенное для удаления или перезаписи заголовка Content-Disposition из входящих HTTP-ответов.
Владельцам веб-сайтов и издателям контента, которые хотят, чтобы их PDF-документы плавно открывались в браузерах посетителей, следует настроить веб-сервер на отправку Content-Disposition: inline для всех файлов с MIME-типом application/pdf. На HTTP-сервере Apache добавьте встроенную директиву Content-Disposition набора заголовков в блок FilesMatch, предназначенный для расширений .pdf в файле .htaccess. В Nginx добавьте встроенную директиву Content-Disposition add_header в блок местоположения, который обрабатывает запросы PDF-файлов. Изменение конфигурации вступает в силу немедленно для всех новых входящих запросов.
Попробуйте редактировать PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
