この記事では、PHP が Baidu Library と Docin オンライン ドキュメントを模倣する効果を実現する例について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
このプロジェクトは Baidu Library と同様の機能を実装する必要があり、私が一人で行っているプロジェクトなので、無料で使える既製のものを見つけて使用することを考えました。オンラインで見つかるものはすべて同じです。以下の通り:
Flash Paper は、Office ドキュメント (.doc、.xls、.ppt) から PDF または SWF への直接変換をサポートしており、非常に高速で優れた効果があります。残念ながら、Flash Paper は V2.2 以降更新されていません。 Flash Paper をインストールした後、コマンドを直接使用して FlashPrinter.exe を呼び出し、バッチ変換を実行できます。
例: C:FlashPaper2.2FlashPrinter.exe C:Flex テクノロジー紹介.ppt -o C:Flex テクノロジー紹介.swf
FlashPaper をダウンロードします。インストール後、コントロール パネルのプリンターの下に仮想プリンターが表示されます。これは、win7 で 32 ビット版と 64 ビット版を試しましたが、インストールできないことを意味します。
コマンドラインで上記のコマンドを試して、自分に合ったパスを調整してください。実行後、成功した場合は使用できることを意味します。
次のステップは php を使用することです。PHP は exec や system などを使用して次のような cmd コマンドを実行します。
コードをコピーします コードは次のとおりです: exec("C:FlashPaper2.2FlashPrinter.exe C:Flex テクノロジー紹介.ppt -o C:Flex テクノロジー紹介.swf");
テストすると実行が成功しました。
これらはオンラインで見つけることができます。office 2007 を使用しているため、変換中に単語サフィックス .docx が失敗しました。誤って a.docx を変換してしまい、変換は次のようになりました。成功しました。cmd で直接 .docx を変換できるため、わかりません。同様に、2007 ppt または Excel を変換したい場合は、接尾辞の x を削除することで変換できます。
追加:
最近、DOCIN と同様のドキュメント変換および読み取り機能が必要なプロジェクトがあったため、関連情報を探し始め、最終的に以下の 2 つの方法の実装について説明します。最初の方法: DOC ドキュメントを変換して FLASH PAPER を介して直接 SWF を生成します。これは非常に簡単です。FLASH PAPER をダウンロードしてインストールし、プログラム内で呼び出します。呼び出しコマンドは C:Program です。 FilesMacromediaFlashPaper 2FlashPrinter.exe xxx.ppt -o xxx.swf ですが、テストしたところ、これには大きな欠陥があり、同時には 1 つのドキュメントしか変換できません。この問題を解決する他の方法があれば教えてください。FLASH PAPER の変換原理は次のとおりです。仮想プリンタを作成し、ドキュメントを開き、仮想的に印刷し、印刷された内容を取得します。 SWF を直接生成するため、ドキュメントを変換するには仮想プリンタが必要です。プリンタの動作中に、ドキュメントを印刷して開くためのウィンドウが表示されます。このプランは私の要件を満たしていないため、直接パスします。
2 番目の方法: オープンソース ソフトウェア OPENOFFICE を使用してドキュメントを PDF に変換し、次に SWFTOOLS を使用して PDF を SWF に変換する必要があります。それらを 1 つずつ見ていきましょう。このソリューションは Microsoft システムまたは LINUX で実行できます。私は CENTOS5.5 文字インターフェイスで実行しました。プロセスは次のとおりです。
まずCENTOS5.5システムをインストールします。インストールプロセスはもう面倒ではありません。これが私にとって最も簡単なインストールです。
システムをインストールした後、必要なソフトウェア パッケージをすべてダウンロードします。使用するソフトウェア パッケージはリーリー
openoffice 用のプラグインもあります。すべてのアプリケーションはそれに基づいています: jodconverterダウンロードアドレスは次のとおりです: http://sourceforge.net/projects/jodconverter/files/
さて、ソフトウェアパッケージの準備ができました。作業を始めましょう⌒_⌒
最初に JDK と Tomcat をインストールします。インストール プロセスは詳しくありません。方法がわからない場合は、Google で調べてください。
次に、openofficeをインストールします
リーリーこれは OPENOFFICE のインストール方法です。システムに中国語フォントがない場合は、中国語フォントをインストールしてください。そうしないと、変換された PDF が文字化けします
openoffice をインストールした後、swftools をインストールします。 swftools のインストールも比較的簡単です。 リーリー
現在使用しているため、この時点で、インストールする必要のあるソフトウェアはすべてインストールされていますそれでは、必要なサービスをすべて開始しましょう
まずOPENOFFICEをサービスとして起動します。 起動コマンドは以下の通りです。 コードをコピーします コードは次のとおりです: #/opt/openoffice.org3/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp; -nofirststartwizard &
その後、TOMCAT を起動し、WEB APP 変換サービスとして jodconverter を使用します。そのため、まず災害から回復した jodconverter-webapp-2.2.2.zip を解凍し、jodconverter-webapp-2.2.2.war を TOMCAT ルート ディレクトリに置きます。 TOMCAT を実行すると、APP フォルダーが自動的に生成されます。記述を簡素化するために、サーバー IP が 192.168.1.123www.linghan56.cn、ブラウザ入力が 8080 であると仮定します。 : http://192.168 .1.123:8080/converter/ で、変換プログラムが正常に実行されているかどうかを確認してください。正常に起動すれば、作業の半分以上が完了したことになります。 主な作業は完了しました。あとは、それを適用する方法だけです。PHP を使用して変換プログラムを呼び出し、ユーザーは PHP を通じてファイルをアップロードしました。
SWFTOOLS を使用して直接変換できる JPG、GIF、PNG、PDF などのファイルの種類を決定します。それ以外の場合は、http://192.168.1.123:8080 を通じてファイルを PDF に変換します。 /converter/ を使用してください。SWFTOOLS は PDF を SWF に変換します。PDF を SWF に変換する場合は、バージョンを 9 に変換することに注意してください。9 未満のバージョンに変換すると、AS3 の操作が非常に困難になります。 SWFTOOLS変換コマンドは以下の通りです:
コードをコピーします コードは次のとおりです: #/usr/local/swftools/bin/pdf2swf -T 9 XXX.pdf XXX.swf
これで全体の 3/4 が完了しました。あとは AS3 を使用して PDF で生成された SWF を操作するだけです。生成された SWF ファイル形式は次のようになります。具体的なコードはありますが、これ以上は難しくないと思います。
もともとオンラインデモを入れたかったのですが、VPS の構成が低すぎて、メモリが 512M なので、自分でスワップを追加することができず、メモリと CPU を実行できませんでした。このアプリケーションの要求は依然として非常に高いです。
2 つの方法を比較すると、最初に変換されたものの方が優れており、より多くの形式をサポートする必要があります。理論的には、印刷できるものはすべて変換できますが、同時実行はできないため、使用できるかどうかはほとんど意味がありません。この原則に従って、同時実行の問題を解決するために自分で変換サーバーを作成する場合は、最初の方法が最適です。
2 番目のタイプは、サーバー上の要件が非常に高い、openoffice でサポートされている形式のみを変換できます。 DOCIN と BAIDU のドキュメントの解決策がわかりません
さらに PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: 「PHP Office ドキュメント操作スキルのまとめ (Word、Excel、Access、ppt を含む)」、「PHP の日付と時刻の使用方法のまとめ」 , 『phpオブジェクト指向プログラム』設計入門チュートリアル』『php文字列(ストリング)使い方まとめ』『php+mysqlデータベース操作入門チュートリアル』『php共通データベース操作スキルまとめ』
この記事が PHP プログラミングのすべての人に役立つことを願っています。
興味があるかもしれない記事: