序文現在、私はコースウェア PPT のオンライン プレビューを必要とする高品質のコースに取り組んでいます。私たちのアイデアは、オンライン プレビュー用に PPT を PDF に変換することです。そのため、PDF のオンライン プレビューを実現する方法が問題となります。 実装の過程では、効果をより良く見せるためにさまざまな方法を試し、最終的に最も効果があった pdf.js を選択しました。 実施方法:1: インラインフレーム プレビュー効果を実現するために、iframe を使用して PDF を Web ページに埋め込みます。アイデアは優れており、実装も簡単ですが、表示が残酷です... 1 行のコードは簡潔で明確であり、Google Chrome を開いたときの効果は問題ありませんが、欠点も非常に明白です。 ! ! ! <iframe src="http......" 幅="100%"></iframe> 欠点: (1)iframeは標準化されておらず、IEではもう使われていないため、IEと互換性がない (2)ポップアップウィンドウをダウンロード! ! !プレビューを開くたびにダウンロードポップアップウィンドウがポップアップ表示され、ユーザーエクスペリエンスが非常に悪くなります。 2: 埋め込む Embed と iframe は似たような感じがします。使い方は同様にシンプルで明確で、IE を開いたときの効果も良好ですが、ダウンロード ポップアップ ウィンドウの干渉は避けられません。 <埋め込み src="http......" 幅="100%" 高さ="400" /> 3: pdf.js (効果が最高) 実装手順: (1)pdf.jsファイルをダウンロードする pdf.js ファイルは多数あるため、コア ファイルのみを使用すればよいため、コア ファイルを抽出します (クロスドメイン エラーは処理されています)。クリックしてコアファイルをダウンロード (2)コアファイルを静的にインポートする (3)使用 <テンプレート> <iframe :src="pathUrl" width="100%"></iframe> </テンプレート> <スクリプト> エクスポートデフォルト{ データ () { 戻る { パスURL:'' } }, マウントされた(){ this.pathUrl = '../../../../../static/pdf/web/viewer.html?file=' + encodeURIComponent('https://lidn02.o%BA.pdf') // 前に紹介した pdf ファイル内の viewe.html を見つけて、+ pdf アドレスを取得します}, } </スクリプト> (4)エフェクトはすべての主要ブラウザと互換性があります。 (5)PDFをストリームとして受信する 上記の効果は達成されましたが、コンソールを開くとエラー ラインがまだ表示されます。 この問題を解決するために、またはクロスドメインに遭遇したときに、PDF ファイルはストリームの形式で受信され、表示されます。 マウントされた(){ this.getData(PDF アドレス) } //ファイルストリームを受信し、アドレスを変換して表示します getData(url){ axios.get(url,{ レスポンスタイプ:'blob', }) .then(res => { blob = new Blob([res.data], {type: "application/vnd.ms-excel"}) とします。 objectUrl = URL.createObjectURL(blob) とします。 this.pathUrl = '../../../../../static/pdf/web/viewer.html?file=' + オブジェクト URL }) .catch(エラー => { コンソール.log(エラー) }) } 要約するVue の PDF ファイルのオンライン プレビューに関するこの記事はこれで終わりです。Vue の PDF ファイルのオンライン プレビューに関するより詳しい情報は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Mysql: 定義者として指定されたユーザー ('xxx@'%') が存在しません 解決策
>>: Linuxカーネルがプロセスアドレス空間に侵入し、プロセスメモリを変更する方法
vue3コンポーネントの通信モードは次のとおりです。小道具$放出$expose / 参照$属性vモデ...
1. AデータベースとBデータベースの同期ステータスを確認する次のコマンドを入力すると多くの情報が表...
目次1 システムの紹介2 システムショートカット3 一般的なシステムコマンド1 システムの紹介 1....
この記事では、jQueryツリービューツリー構造のアプリケーションコードを例として紹介します。具体的...
1. CentOS 7 仮想マシンを開きます。 2. 仮想マシンにログインし、リストにないユーザー名...
目次1. アレイ重複排除2. 配列内のオブジェクトの重複排除3. 配列内の同じフィールドに基づいて別...
この記事では、Docker の使用で最もよく使用されるイメージ コマンドとコンテナ コマンドを一覧表...
ページめくりの問題のシナリオBとCは同じページ(表と裏)にありますページをめくって A をカバーした...
セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...
目次1. 基本的な例2. インスタンスプロトタイプのスコープを設定する3. グローバル変数の登録と使...
すべてのタグは小文字でなければなりませんXHTML では、すべてのタグは小文字でなければなりません。...
Dockerタグの詳しい説明docker tag コマンドの使い方と、ローカルイメージを daocl...
Vue でのコードの再利用により、mixnis が提供されます。テンプレートの再利用により、スロット...
1. 使用シナリオこのような要件があるため、システムが開発されました。ユーザーがデスクトップを離れ...
CSS は、スクロールを許可しながらスクロール バーを非表示にするために Overflow を設定し...