ラベル PDF viewer の投稿を表示しています。 すべての投稿を表示
ラベル PDF viewer の投稿を表示しています。 すべての投稿を表示

2021年8月4日水曜日

PDFを直リンクしない(ダウンロードしない)で表示する方法

 PDFを直リンクしない(ダウンロードしない)で表示する方法

1.html5標準のembedを使用する

<embed style="position:absolute; left: 30px; top: 50px;"
       width="100%" height="100%"
       type="application/pdf"
       src="data:application/pdf;base64,---ココにbase64文字列---" />

 

2.PDF.jsを利用

https://mozilla.github.io/pdf.js/examples/
 上記のHello World using base64 encoded PDF を使用しました。

 1の場合、Android以外はOKでした。

仕方なく2のPDF.jsを使用しましたが、PDF.jsがCJKに対応していないので

PDFにフォントを埋め込んで対応しました。

 

サーバ側でPDFファイルをBase64に変換する。

 using (var fs = new System.IO.FileStream(Pdffile, System.IO.FileMode.Open, System.IO.FileAccess.Read)) {
                // ファイルをバイト配列に変換
                byte[] bs = new byte[fs.Length];
                fs.Read(bs, 0, bs.Length);
                fs.Close();

                // base64形式に変換
                string base64str = System.Convert.ToBase64String(bs);
                ViewBag.Base64 = base64str;
            } 

Razorで @ViewBag.Base64でデータを流し込みます。

 

PDFを直リンク させると誰でも見れるので、PDFファイルをbase64に変換後

pdf.jsでクライアント側で表示するようにしました。

2019年7月26日金曜日

2016年2月18日木曜日

firefoxの内部pdfビューアの設定を変更する

firefoxの内部pdfビューアの設定を変更する

要望
firefoxでpdfを表示すると、内部ビューアで表示しますが
表示する条件を設定したい。

対応内容
他のpdfビューア(adobeのpdf viewer)の場合は
urlの後ろに、#view=fixH を追加すれば良い fixH (Horizon)
fitV (Vertical)で対応出来るが、内部pdfだと出来なかった。

urlで部分で、abount:counfigを入力

pdfで設定を検索すると、defaultzoomvalueの値がある
これを、119などに設定すると、初期表示で119倍率のpdfで表示してくれる。