PDFをダウンロードせず、ブラウザで直接開く方法

PDF をアップロードするたびに、トピックには以下のように表示されます。

image

デスクトップ版では「Inline PDF」を使用して表示していますが、モバイル版では Inline PDF は機能しません。さらに、Google や他の検索エンジンが PDF ファイルを自動検出しますが、ユーザーがその結果をクリックすると、新しいタブで開く代わりに PDF のダウンロードダイアログが表示されてしまいます。これは少し使い勝手が悪いもので、多くのユーザーはダウンロードしてローカルで開くよりも、オンラインで PDF を閲覧することを好みます。

これに対する解決策はありますか?

注意:このトピック PDF onebox instead of download, on uploaded files を確認しましたが、元の質問とは関係なく話題が終了していました。そのため、新しいトピックを作成しました。

ご質問ありがとうございます。私もその答えが気になります!

Googleドライブに保存されたPDFを埋め込む

PDFはモバイルとデスクトップの両方に表示されます。

(iFrames内のPDFが、あらゆるデバイスでレスポンシブに表示される私の推奨方法です)

  1. 共有
  2. 共有リンクをコピー
  3. 共有リンクを新しいタブで開く
  4. 右上隅の縦3点リーダーをクリック
  5. アイテムの埋め込みを選択
  6. 表示されたiFrameコードをコピー
  7. Discourseのコンポーザー/エディターに貼り付ける

デスクトップの例…

モバイルの例…

インラインPDFはデスクトップでも機能しません。

FileHelper.inline_images に追加すると、PDFをインラインで表示することに部分的に成功しました。

しかし、その場合、「inline=1」というパラメータが必要になります。

これは、テーマコンポーネントで追加できる可能性があります (Inline PDF Previews)。

プラグインまたは設定オプションを使用して、Discourseがcontent-disposition: inlineでPDFを提供するように切り替えるクリーンな方法を学びたいと思います。

これを目的とした小さなプラグインを作成しました。