Office ファイルのオンライン プレビュー用の Vue サンプル コード

Office ファイルのオンライン プレビュー用の Vue サンプル コード

最近、電子アーカイブに取り組んでおり、バックエンドではファイルの Huawei Cloud OSS リンクを提供しています。クリックしてファイルをダウンロードする機能が実装されました。しかし、彼らは、通常のファイルをダウンロードせずに直接プレビューできることを望んでいます。

論理的に言えば、ファイルのオンラインプレビューを行うには、サードパーティのサービスを購入し、そのサービスをバックエンドに展開し、フロントエンドに接続するだけで、すべて完了します。
第三者に耐えられない場合は、基本的にお金を払わなければならなくなります。お金をかけたくない場合、他にどんな解決策がありますか?

方法1

Microsoft Office Online でオンラインプレビュー

https://view.officeapps.live.com/op/view.aspx?src=ファイル アドレス 例: https://view.officeapps.live.com/op/view.aspx?src=http://www.xxx.com/xxx.ppt

方法2

docxクラウドサービスのオンラインプレビューを使用します。使用方法はMicrosoftと同様です。

http://view.xdocin.com/xdoc?_xdoc=文件地址

前提として、バックエンドによって提供されるファイル アドレスは、パブリックにアクセス可能なリンクである必要があります。たとえば、ここではファイルを Huawei Cloud にアップロードします。ファイルは表示のみ可能で、編集はできません。

効果は以下のとおりです

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

コードについて

    <!-- プレビュー アイコン -->
                  <i
                    v-if="row.doc_url && canPreviewList.includes(row.doc_ext)"
                    スタイル="font-weight: bold;font-size:16px;"
                    クラス="link-type el-icon-view"
                    @click.stop="previewFileEvent(行)"
                  />
    プレビューファイルイベント(行) {
      const typeArr = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx']
      url = '' とします
      (typeArr.indexOf(row.doc_ext) !== -1) の場合 {
        // Microsoft Office Online を使用する
        url = 'http://view.officeapps.live.com/op/view.aspx?src=' + row.doc_url
      } それ以外 {
        url = 行.doc_url
      }
      // window.open() は中央に開きます const width = 1000; const height = 800
      定数 top = (window.screen.availHeight - 高さ) / 2
      定数 左 = (window.screen.availWidth - 幅) / 2
      window.open(url, '', 'width=' + width + ',height=' + height + ',top=' + top + ',left=' + left)
    }

Microsoft が提供するサービスを利用しています。 「doc」、「docx」、「ppt」、「pptx」、「xls」、「xlsx」ファイルを開くために使用できます。
PDF や画像ファイルなど、リンクから直接開くことができる他のファイルにもいくつかの処理が行われており、ブラウザは直接プレビューをサポートしています。
プレビューできないその他のファイルについては、プレビューアイコンが表示されないように制限しています。

ここで問題があります。ブラウザで直接開くと、txt ファイルが文字化けします。ダウンロードは正常でしたが、解決策は見つかりませんでした。
知っている人がいたら、ぜひ持ってきてください。オ(∩_∩)オ

txt ファイルが文字化けする原因が判明しました。これはブラウザのエンコード形式に関連しています。

ここにある txt ファイルは utf-8 エンコードで保存されています。しかし、デフォルトのブラウザは Google Chrome ではありません。

ここに画像の説明を挿入

正常に表示するには、対応するエンコード形式に変更する必要があります。

Google Chromeのエンコード形式を変更するには、App Storeから公式プラグイン「Set Character Encoding」をインストールする必要があります。
インストール後、ページを右クリックしてエンコード形式を変更します。

ここに画像の説明を挿入

これで、Office ファイルのオンライン プレビューを実現するための Vue のサンプル コードに関するこの記事は終了です。Office コンテンツの Vue オンライン プレビューの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue は PDF ファイルのオンライン プレビューとダウンロードを実装します (pdf.js)
  • Vue は PDF ドキュメントのオンライン プレビュー機能を実装しました
  • Vue プラグイン開発: pdf.js を使用してモバイル フォンで PDF ドキュメントのオンライン プレビューを実現する方法
  • Vue は PDF ファイルのオンライン プレビューを実装します (pdf.js/iframe/embed を使用)
  • vue vue-pdf を使用して PDF オンライン プレビューを実装するためのサンプル コード
  • Vue-pdfはPDFファイルのオンラインプレビューを実装します
  • vue-pdf はオンラインファイルプレビューを実現します
  • Vue プロジェクトでよく使用される 3 つのファイル タイプ (pdf/word/excel テーブル) のオンライン プレビュー

<<:  Centos7 に Docker をインストールします (2020 の最新バージョンが利用可能、コピーして貼り付けるだけ)

>>:  HTMLの行間設定方法と問題点

推薦する

Vueはページの部分的なリフレッシュを実装します(ルータビューのページリフレッシュ)

Vue でprovide+inject組み合わせを使用するまず、App.vue を変更する必要があ...

yum を使用して rpm と関連する依存関係をダウンロードして、docker をオフラインでインストールします。

yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...

Ubuntu Server でのワイヤレス ネットワーク カードの詳細な設定

1. ワイヤレス ネットワーク カードを挿入し、コマンドiwconfigを使用してワイヤレス ネット...

ウェブページの読み込み速度を上げる簡単なヒント

Web ページの読み込み速度は、Web サイトの品質を評価するための重要な指標です。その理由は、ほと...

Vue 組み込みコンポーネントのキープアライブでの LRU アルゴリズムの使用

目次Vue の keep-alive 組み込みコンポーネントの使用でもこのアルゴリズムが使用されます...

HTML テーブルタグチュートリアル (7): 背景色属性 BGCOLOR

テーブルの背景色は、BGCOLOR 属性を通じて設定できます。基本的な構文<テーブル BGCO...

uniappとvueの違いの詳細な説明

目次1. シンプルなページの例2.uni-appはvueコンポーネントとミニプログラムネイティブコン...

MySQLのユーザーアカウント管理と権限管理の詳細な説明

序文MySQL の権限テーブルは、データベースの起動時にメモリにロードされます。ユーザーが ID 認...

iframeを使用してページを呼び出すとページがキャッシュされるかどうかの簡単な分析

最近、毎日変更されるページを iframe を使用して呼び出す必要があるプロジェクトがあります。その...

JSにおけるデータ型の正しい判定方法の例

目次序文typeof は型を正しく判別できますか? instanceof は型を正しく判別できますか...

mysql5.7.19 winx64 解凍版のインストールと設定のチュートリアル

mysql 5.7.19 winx64解凍版のインストールチュートリアルを収録しました。具体的な内容...

JSのアンカーリンクをクリックするとスムーズにスクロールし、自由にトップ位置に調整できます。

アンカーリンクをクリックするとスムーズにスクロールし、自由にトップ位置に調整できます。 1. アンカ...

MySQL 8.0.2 オフラインインストールと設定方法のグラフィックチュートリアル

MySQL_8.0.2のオフラインインストール方法は参考までに。具体的な内容は以下のとおりです。次の...

Vueでeslintを使用する方法の詳細な説明

目次1. 説明2. 関連する依存パッケージをダウンロードする3. 設定ファイル .eslintrc....

MySQL 中断された接続警告ログの分析

序文:場合によっては、MySQL に接続されたセッションが異常終了することが多く、エラー ログに「通...