pdf.js を使用して Vue で PDF ファイルをプレビューする方法

pdf.js を使用して Vue で PDF ファイルをプレビューする方法

ページ上で PDF をプレビューすると、一部のファイルは印刷またはダウンロードできません。現時点では、Windows に付属の PDF を使用して顧客のニーズを満たすことは困難です。そのため、特殊な状況下で PDF ファイルのプレビューをサポートする別の方法が必要です。ここでは、pdf.js ファイルを導入する形式を使用して目的を達成します。

ステップ1: pdf.jsをダウンロードする

pdf.js ファイルをインポートする

アドレスは次のとおりです: http://mozilla.github.io/pdf.js/getting_started/

2番目のステップはVueを導入することです

ダウンロードしたファイルをpiblicのルートディレクトリに置きます

ステップ3: 使用

メインのアドレスは「/build/generic/web/viewer.html?file="+href」です。ここで、href はリクエストバックエンドから返されたファイルパス、またはバックエンドから返されたファイルストリームをフロントエンドで解析した後に生成されたファイルパスです。先頭に /build/generic/web/viewer.html?file= が追加されます。アドレスは、導入した pdf.js ファイルのパスです。/build/generic/web/viewer.html を直接記述することもでき、直接検索に行きます。以下では、フロントエンド解析ファイル ストリームを使用してアドレス プレビューを生成します。

プレビューメソッド window.open("/build/generic/web/viewer.html?file="+href);

アクシオス({
                メソッド: 'get'、
                url:url,
                ヘッダー: {
                    「トークン」:認証、
                },
                レスポンスタイプ: 'blob',
            }).then(応答 => {
                type_ = type_.toLowerCase();
                (type_ == "docx") の場合 {
                    that._type_ = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
                } そうでない場合 (type_ == "doc") {
                    that._type_ = "application/msword"
                } そうでない場合 (type_ == "gif") {
                    that._type_ = "image/gif"
                } そうでない場合 (type_ == "jpeg" || type_ == "jpg") {
                    that._type_ = "image/jpeg"
                } そうでない場合 (type_ == "png") {
                    that._type_ = "image/png"
                } そうでない場合 (type_ == "pdf") {
                    that._type_ = "アプリケーション/pdf"
                } そうでない場合 (type_ == "txt") {
                    that._type_ = "text/plain;charset=utf-8'"
                } そうでない場合 (type_ == "xls") {
                    that._type_ = "application/vnd.ms-excel" 
                } そうでない場合 (type_ == "xlsx") {
                    that._type_ = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
                }そうでない場合 (type_ == "zip") {
                    that._type_ = "application/zip"
                } そうでない場合 (type_ == "ppt") {
                    that._type_ = "application/vnd.ms-powerpoint"
                } そうでない場合 (type_ == "pptx") {
                    that._type_ = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
                }
               if(type_ == "pdf"){
                    var blob = new Blob([response.data], { type: that._type_ })
                    var href = window.URL.createObjectURL(blob); //ダウンロード リンクを作成します window.open("/build/generic/web/viewer.html?file="+href);
                }
            })

やっと

PDF ファイルのダウンロード、印刷、その他の機能を無効にしたい場合、最も簡単な方法は、インポートしたファイルで viewer.html を見つけることです。パスは、build の下の generic フォルダーの下の web フォルダーにある viewer.html です。

この HTML で対応するダウンロードされた DOM を見つけて、display:none を設定するだけです。コメントアウトしないでください。コメントアウトするとエラーが報告されます。下図のように、赤いボックスでは 1 つはダウンロード用、もう 1 つは印刷用なので、非表示にします。

これも安全ではないかと尋ねられた場合は、ページに表示しないようにクライアントと話し合うことができます。ページに表示されるものはすべてスクリーンショットでキャプチャされる可能性があり、それは必ず安全ではないからです。

これで、vue を使用して pdf.js で PDF をプレビューする方法についての記事は終わりです。vue を使用して pdf.js で PDF コンテンツをプレビューする方法の詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue で HTML ページから高解像度の PDF ファイルを生成する方法
  • Vue で pdfjs を使用して PDF ファイルをプレビューする方法
  • Vue は PDF ファイルのオンライン プレビューを実装します (pdf.js/iframe/embed を使用)
  • Vue での携帯電話番号とメールの定期検証と 60 秒で検証コードを送信する例
  • VueはPDFファイルをメールボックスに送信するサンプルコードを実装します

<<:  MySQL の「特殊キーが長すぎます」の解決策

>>:  パゴダパネルとドッカーを使用して Gogs をインストールするプロセス全体

推薦する

Linux で PCIe のバージョンと速度を確認する方法

PCIE には 4 つの異なる仕様があります。下の図でそのうちの 2 つを見てみましょう。マザーボー...

Prometheus を使用して、MySQL の自動増分主キーの残りの使用可能パーセンテージをカウントします。

最近、本番環境のデータベースがログデータを狂ったように書き込み、主キー値のオーバーフローを引き起こし...

RocketMQ の Docker インストールとインストール中に発生した問題の解決策

目次rocketmqイメージを取得する名前rvを作成する単一のブローカーノードを作成するrocket...

Oracle10パーティションとMySQLパーティションの違いの詳細な説明

一般的に使用される Oracle10g パーティションは、範囲 (範囲パーティション)、リスト (リ...

APP (IOS、Android) を呼び出すモバイル H5 の記述例

iOS 1. URLスキームこのソリューションは基本的に、WeChat、QQ 組み込みブラウザ、QQ...

LinuxのCPU負荷とCPU使用率の詳細な説明

CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...

WindowsX Hyper-V ベースの CentOS システムをインストールする

現在、Linux を使用するほとんどの人は、クラウド サーバーを使用するか、Windows 上に仮想...

VirtualBox+Ubuntu16でKubernetesクラスタを構築する実装

目次Kubernetesについて基本的な環境の準備VirtualBoxをインストールするUbuntu...

Docker を使用して pypi プライベート リポジトリを構築する方法

1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...

ハイパーリンクアイコンの仕様: 記事の読みやすさを向上

1. ハイパーリンクアイコンの仕様とは?<br />ハイパーリンクアイコンの仕様は、「C...

JS を使って CSS3 で丸い角を実装する方法

IE で CSS3 を使用して角を丸くする方法を探していたときに、例を見つけました。まだテストして...

Win10にMySQL8圧縮パッケージ版をインストールするチュートリアル

1 公式サイトからMySQL8をダウンロードしてインストールするMySQL8 ダウンロードアドレスこ...

一般的な Linux の問題に対する解決策の概要

1. VMwareでCentos7を接続し、固定IPを設定する1) まず、仮想イメージ名を右クリック...

Vue nextTickの原理の分析

目次イベントループmiscroTask (マイクロタスク) UI レンダリング (重要なポイント)次...

Vueはカウンターのシンプルな生成を実装します

この記事では、Vueカウンターの簡単な実装コードを例として紹介します。具体的な内容は以下のとおりです...