ホームページ >バックエンド開発 >PHPの問題 >phpオンラインデモ機能の実装方法

phpオンラインデモ機能の実装方法

藏色散人
藏色散人オリジナル
2021-09-25 10:13:192453ブラウズ

php のオンラインデモ機能の実装方法: 1. OpenOffice を使用して他の形式の文書を PDF 形式の文書に変換する; 2. swftools を使用して PDF 形式の文書を swf 形式の文書に変換する; 3. flexpaper を使用して swf 形式を表示するドキュメントを複数の形式でプレビューできるようになります。

phpオンラインデモ機能の実装方法

#この記事の動作環境:Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

PHP の実装方法オンラインデモ機能?

Windows での php オンライン プレビュー機能の実装

最近、ドキュメントのオンライン プレビュー機能を使用しました。これまで一度も使用したことがありませんでした。すべては、から始まりました。スクラッチして少し時間がかかりましたが、やっと気づいたので、その方法を皆さんにシェアします!

1. 主なアイデア

まず、他の形式のドキュメント (オフィス ドキュメント、テキスト、画像など) を OpenOffice を介して PDF 形式のドキュメントに変換し、次に swftools (http://www) を使用します。 .swftools.org/) は、PDF 形式のドキュメントを swf 形式のドキュメントに変換し、最終的に flexpaper を介して swf 形式のドキュメントを表示することで、複数の形式でドキュメントをプレビューできるようにします。

使用されるツールはインターネットからダウンロードされ、簡単に見つけることができます。

2. 実装プロセス

1. 他のドキュメントを PDF に変換します

コマンドを使用して OpenOffice を起動します:

Run->cmd を入力し、次のコマンド

cd /d E:/openoffice/program & soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

または、cmd でプログラム ディレクトリを入力し、

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

PHP 実装コードを入力します。

 set_time_limit(0); 
                         function MakePropertyValue($name,$value,$osm){  
                               $oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");  
                               $oStruct->Name = $name;  
                               $oStruct->Value = $value;  
                               return $oStruct;  
                       }  
                       function word2pdf($doc_url, $output_url){  
                             $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.n");  
                             $args = array(MakePropertyValue("Hidden",true,$osm));  
                             $oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");  
                             $oWriterDoc = $oDesktop->loadComponentFromURL($doc_url,"_blank", 0, $args);  
                             $export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));  
                             $oWriterDoc->storeToURL($output_url,$export_args);  
                             $oWriterDoc->close(true);  
                       } 
                       $doc_file = 'D:/wamp/www/onlineread/uploads/docfile.doc';  
                       $output_file = 'D:/wamp/www/onlineread/uploads/pdffile.pdf'; 
                       $doc_file = "file:///" . $doc_file;  
                       $output_file = "file:///" . $output_file;
                       word2pdf($doc_file,$output_file);

2. PDF を swf に変換し、

を表示します。 PHP 実装コード:

<div style="width:100%;height:800px;display:block;margin-left: auto;margin-right: auto; margin-top: 20px;">
         <a id="viewerPlaceHolder" style="width:100%;height:800px;display:block;"></a>  
         <script type="text/javascript">
           var path="/<?=$convert?>";//调用php的变量,如果不能实现可考虑下一句的写法
           //var path="/<?php echo $convert?>";
             var fp = new FlexPaperViewer(
             &#39;__PUBLIC__/FlexPaper/FlexPaperFlash/FlexPaperViewer&#39;,
             &#39;viewerPlaceHolder&#39;, { config : {//配置参数,可自行修改成自己想要的
               SwfFile : escape(path),
               Scale : 1,
               ZoomTransition : &#39;easeOut&#39;,
               ZoomTime : 0.5,
               ZoomInterval : 0.2,
               FitPageOnLoad : false,
               FitWidthOnLoad : false,
               PrintEnabled : true,
               FullScreenAsMaxWindow : false,
               ProgressiveLoading : false,
               MinZoomSize : 0.2,
               MaxZoomSize : 5,
               SearchMatchAll : false,
               InitViewMode : &#39;Portrait&#39;,
               ViewModeToolsVisible : true,
               ZoomToolsVisible : true,
               NavToolsVisible : true,
               CursorToolsVisible : true,
               SearchToolsVisible : true,
               localeChain: &#39;en_US&#39;
           }});
         </script>
       </div>

3. 実行前の準備

まず以下の設定をしておかないと、動作中にエラーが発生する可能性があります。

[コントロール パネル] - [管理ツール] - [コンポーネント サービス] - [コンピューター] - [マイ コンピューター] - [DOCM 構成] で、OpenOffice Service Manager (Ver 1.0) の右クリック プロパティを見つけて、次のように構成します。

次のように: 図に示すように、OpenOffice Service Manager (Ver 1.0) を見つけます:

ポップアップ ボックスで [セキュリティ] を選択し、[スタートアップとアクティベーションのアクセス許可] を編集します。 ' と 'アクセス権限' それぞれ:

## 「スタートアップとアクティベーションの権限」ポップアップボックスで「追加」をクリックし、「Everyone:

#」と入力します。

##Everyone のアクセス許可を設定します:

## ポップアップ ボックスで [追加] をクリックし、Everyone:

と入力します## 全員の権限を設定します:

COM クラスのインスタンス化の失敗の問題が発生した場合は、php 構成ファイルを開き、com.allow_dcom=true の前のセミコロンを削除し、extension=php_com_dotnet.dll を追加します。これは、php5.4 以降では com が埋め込まれないためです。

設定後はサービスを再起動することを忘れないでください。

推奨学習: 「

PHP ビデオ チュートリアル

以上がphpオンラインデモ機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。