Вместо скачивания PDF: как заставить PDF открываться/просматриваться только в браузере?

Всякий раз, когда я загружаю PDF-файл, он отображается в теме следующим образом:

image

Я использую Inline PDF для отображения файла в десктопной версии. Однако в мобильной версии Inline PDF не работает. Кроме того, Google и другие поисковые системы автоматически обнаруживают PDF-файлы, но при клике пользователя на такие результаты вместо открытия в новой вкладке появляется диалоговое окно загрузки PDF. Это не совсем удобно, и большинство пользователей предпочитают просматривать PDF онлайн, а не скачивать его и открывать отдельно.

Есть ли какое-либо решение этой проблемы?

ПРИМЕЧАНИЕ: Я видел эту тему PDF onebox instead of download, on uploaded files, но обсуждение в ней закончилось без ответа на исходный вопрос. Поэтому я создал новую тему.

Спасибо за этот вопрос! Мне тоже интересно узнать ответ!

Встраивание PDF-файла, хранящегося в Google Диске

PDF-файлы отображаются как на мобильных устройствах, так и на компьютерах.

(Мой предпочтительный способ, чтобы PDF-файлы в iFrame отображались на любом устройстве как адаптивные)

  1. Поделиться
  2. Скопировать ссылку для обмена
  3. Открыть ссылку для обмена в новой вкладке
  4. Нажмите на три вертикальные точки в правом верхнем углу
  5. Выберите «Встроить элемент»
  6. Скопируйте отображаемый код iFrame
  7. Вставьте его в редактор Discourse

Пример для компьютера…

Пример для мобильного устройства…

Встроенный просмотр PDF-файлов не работает у меня и на рабочем столе.

У меня частичный успех в отображении PDF-файлов встроенно при добавлении их в FileHelper.inline_images:

Однако затем необходим параметр inline=1:

Это можно добавить в компонент темы (Inline PDF Previews).

Я хотел бы узнать чистый способ переключения Discourse на отдачу PDF-файлов с заголовком content-disposition: inline с помощью плагина или параметра конфигурации.

Мне удалось написать небольшой плагин для этой цели: