LoginSignup
Halchamdao
@Halchamdao

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

HTMLに埋め込んだPDFをChrome、safari、ipadで安定させて表示させたい

Lalavelを用いてWebアプリケーションの開発に取り組んでいるのですが、その際のPDFを出力で詰まっている状態です。

やりたいこと

HTMLに埋め込んだPDFをChrome、safari、ipadで安定させて表示させることです。
PDFデータの形式としては、AWSのS3に一度保存されたPDFを、"https://[暗号化されたAWSのファイルパス]"のURL形式で出力する仕様となっています。

試していること

HTMLでPDFを表示させる際iframe・embed・objectタグ等を用いて、src属性にファイルパスを入れると思うのですが、いずれもただパスを入れるだけではipadでの表示は叶わない状態です。
参考記事 https://developer.kaizenplatform.com/entry/2021/07/19/090000
(ipadはSafari(SP)に該当するようです)

よってPDF表示ライブラリを介する必要があり現在の候補として
①Google PDF Viewer
②PDF.js
が上がっています。

①の方法だとipadでの表示は叶うのですが、デフォルトのツールバーの表示はこちらから消せない(消したい)。
また、表示が不安定で何度かリロードをかけないと表示できないことがある。

②の方法だとツールバーの設定自体も触れて、ipadでの表示も叶うのですが、
PDF.jsのそもそもの仕様が、「上記S3のファイルパス」と、「表示させたい環境のパス」が同じドメイン、サーバー、ポートでないといけないそうです。データの保存形式を変えるのは厳しい状況です。
調べるとPDF.jsの仕様設定自体を強引に書き換えることでできるケースがあったりなかったりとのことでしたが、保証がない使い方とのことだったのでまだ試してはいません。

現在第③の方法として、PDFをLaravel、PHPのモジュール等を使って画像に変換して表示させる方法を調査中です。

質問

上記①、②内の方法で安定して表示させることは難しそうでしょうか?
また、ここであげている方法に誤り、またはそれ以外に何か案はないでしょうか?

どなたかご教授いただけますと幸いです。

0

No Answers yet.

Your answer might help someone💌