Office製品等をそのまま、WordPressのサイトに埋め込みたいと思い、
調べた内容をメモとして残したいと思います。
いきなり結果
一般公開されているWebサイトであれば、Google Drive APIを使用した、
Document Embedder プラグインがお勧めです。※サイズ20MByte以下に限る
もし、会社や特定の環境下でのみ閲覧可能なサイトを構築し、その環境下でのみ閲覧可能なファイルを埋め込みたい場合、セキュリティに対して懸念があると言うのであれば、PDFを直接埋め込む方法になるので、PDF Embedder プラグインがお勧めです。
確認したプラグイン
インストール数が多く、最近まで更新がかかっているプラグインを調べた所、
以下のプラグインが候補としてあがりました。
PowerPointが埋め込み可能なプラグイン Document Embedder
PDFが埋め込み可能なプラグイン PDF Embedder
Document Embedder プラグイン
このプラグインは対応フォーマットが豊富で魅力的でした。
20MByte以下のファイルまで対応しています。
実行サンプル
対応フォーマット
- Microsoft Word (.DOC and .DOCX)
- Microsoft Excel (.XLS and .XLSX)
- Microsoft PowerPoint (.PPT and .PPTX)
- Adobe Portable Document Format (.PDF)
- Apple Pages (.PAGES)
- Adobe Illustrator (.AI)
- Adobe Photoshop (.PSD)
- Image files (.JPEG, .PNG, .GIF, .TIFF, .BMP)
- Video files (WebM, .MPEG4, .3GPP, .MOV, .AVI, .MPEGPS, .WMV, .FLV)
- Text files (.TXT)
- Markup/Code (.CSS, .HTML, .PHP, .C, .CPP, .H, .HPP, .JS)
- Tagged Image File Format (.TIFF)
- Autodesk AutoCad (.DXF)
- Scalable Vector Graphics (.SVG)
- PostScript (.EPS, .PS)
- TrueType (.TTF)
- XML Paper Specification (.XPS)
- Archive file types (.ZIP and .RAR)
Google Drive file viewer API
なぜこれだけのフォーマットが対応されているかと言うと、
プラグインの説明に以下の記述があります。
Embed any documents such as Word, Excel, PowerPoint, Apple Pages, Psd, Pdf +more 10 Type of document in your wordpress website. Very easy to use, user friendly & lite weight plugin.
This plugin is powered by Google Drive file viewer API.
https://ja.wordpress.org/plugins/document-emberdder/
各PCに何かインストールする事なくPowerPoint等のOffice製品を表示する方法として、Google DriveのAPIを使用しているわけですね。
ファイルをWordPressにアップロードし、そのURLをGoogle Drive APIに渡す事で、iframe内で表示されるようになります。
$frame_style= 'width:'.$width.'; '. 'height:'. $height. ';';
$base_url = '//docs.google.com/gview?embedded=true&url=';
echo '<iframe id="s_pdf_frame" src="' . $base_url . $url . '" style="float:left; padding:10px;' . $frame_style . '" frameborder="0"></iframe>';
つまり、Webに一般公開せず、特定環境下でのみ閲覧可能なサイト、ファイルでの運用の場合は使用がためらわれます。
・Is Google doc viewer API available for commercial use
https://support.google.com/docs/thread/2816352/is-google-doc-viewer-api-available-for-commercial-use?hl=en
Google Drive の file viewer に関するドキュメントを軽く探してみましたが、APIに問い合わせたファイルの取り扱いに関する部分は見つかりませんでした。
(API使用後削除されるのか残るのか?ドキュメントの所在を知っている方いましたらぜひ!)
PDF Embedder プラグイン
実行サンプル
plugin-pdfキャッシュトラブル
プラグインをインストール埋め込んだ際に下記のエラーが出る場合があります。
自身の環境で発生したのですが、エラーを見た瞬間に、
あ~~... JavaScriptの最適化で動作しなくなったか...とすぐに気づきました。
PDF Embedder プラグインの最適化を無効化しましょう。
Autoptimaize プラグインを使用していたので、無視リストに以下を追加します。
wp-content/plugins/pdf-embedder/