Linux 上で php を DOC に PDF から SWF に変換し、Baidu のライブラリ プレビュー機能を実現します
昨年、百度図書館の機能と同様に、ワンクリックで文書をアップロードし、オンラインでプレビューできるOAシステムが開発された。
動作環境:CentOs5.5
使用したツール: Openoffice 3、Pdf2Swf ツール、Jodconverter、FlexPaper
インターネットで情報を検索したところ、そのような機能はすでに実装されていることがわかりましたが、PHP については見つかりませんでした。
オンライン情報をもとに運用体験を実施します。
記録して要約します:
全体的なアイデアは次のとおりです:
実装手順: 1. DOC をアップロード 2. DOC を PDF に変換 3. PDF を SWF に変換 4.
を表示
Linux 環境への openoffice sdk + pdf2swf ツールの導入に基づいて、最初に openoffice sdk を使用してドキュメントを pdf に均一に変換し、次に pdf2swf ツールを使用して pdf を swf に変換します
。
実装プロセス
DOC を PDF に変換するには、LINUX で Openoffice を使用できます。
したがって、最初に必要なのは Openoffice をインストールすることです。
1. openoffice3 をインストールします。私は複数のサーバーにインストールしたため、さまざまな問題が発生しました。問題が発生した場合は、openoffice のインストールに関する前の記事を参照してください。
tar zxvf OOo_3.3.0_Linux_x86-64_install-rpm-wJRE_zh-CN.tar.gz
cd RPEM
rpm -ivh *.rpm --nodeps –force
インストール後のデフォルトのディレクトリは /opt/ ディレクトリ
の下にあります。
サービスの開始:
/opt/openoffice.org3/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
CentOs では Hengti と Songti が不足します。Windows でフォント ディレクトリを直接見つけて、Hengti と Songti をディレクトリ
にコピーします。
/opt/openoffice.org/basis3.3/share/fonts/truetype/
再起動後に有効になります
2. OpenOffice SDK3.3
をインストールします
tar zxvf OOo-SDK_3.3.0_Linux_x86-64_install-rpm_en-US.tar.gz
cd OOO330_m20_native_packed-1_en-US.9567/RPMS/
rpm -vih *.rpm
3. jodconverter.2.2.2 をインストールします。これをインストールすると、すでに DOC を PDF に変換できます。
インストールは非常に簡単で、Web サイトにアクセスしてこれをダウンロードするだけです。
これを解凍してディレクトリにコピーすると、その中の /lib/jodconverter-cli-2.2.2.jar を呼び出すだけで、コマンド test を直接実行できます。
java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/1.doc /tmp/1.pdf
4. swftools をインストールします
中国語サポートのインストール:
mkdir –p /usr/share/xpdf
cd /usr/share/xpdf/
中国語サポートとフォント ライブラリをダウンロード
wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz
wget http://www.nginxs.com/download/font.zip
tar zxvf xpdf-chinese-simplified.tar.gz
font.zip を解凍します
mv Gbsn00lp.ttf gkai00mp.ttf xpdf-簡体字中国語/CMap/ cd /usr/share/xpdf/xpdf-簡体字中国語
新しいフォントを編集して追加します
vim add-to-xpdfrc
内容は以下の通りです:
cidToUnicodeAdobe-GB1/usr/share/xpdf/簡体字中国語/Adobe-GB1.cidToUnicode
unicodeMapISO-2022-CN/usr/share/xpdf/簡体字中国語/ISO-2022-CN.unicodeMap
unicodeMapEUC-CN/usr/share/xpdf/簡体字中国語/EUC-CN.unicodeMap
unicodeMapGBK/usr/share/xpdf/簡体字中国語/GBK.unicodeMap
cMapDirAdobe-GB1/usr/share/xpdf/簡体字/CMap toUnicodeDir/usr/share/xpdf/簡体字/CMap
displayCIDFontTT Adobe-GB1 /usr/share/xpdf/簡体字中国語/CMap/gkai00mp.ttf
保存して終了
SwfTool のインストール:
cd /usr/local/wenku
wget http://www.swftools.org/swftools-0.9.1.tar.gz
tar zxvf swftools-0.9.1.tar.gz
cd swftools-0.9.1
./configure 6) make
インストールを行う
動作するかテストします
pdf2swf -o /usr/output.swf -T -z -t -f /usr/test1.pdf -s languagedir=/usr/local/share/xpdf/簡体字中国語 -s flashversion=9
テストが成功した場合は、半分以上は OK であり、表示の問題です。
5. FlexPaper を使用してオンライン プレビューを実装します
これはインターネットからダウンロードできます。デモを見て JS を変更するだけです。これは SWF のパスを読み取るために使用されます。これは簡単なので、詳細は説明しません。
PHP が変換を実装するために LINUX コマンドを呼び出すと、PHP に実行権限がないという問題が発生する場合があります。PHP のユーザー権限をユーザー none の権限に変更することに注意してください。
以下は私自身が書いたコードであり、PHP の学習を始めたばかりで、十分に簡潔ではありません。
Yiiフレームワークのファイル変換機能、DOCからSWFへ
/**
ファイル変換
オスカー 2011-11-25 jincan.liu@gmail.com
*/
クラスコンバータはCWidgetを拡張します{
パブリック関数 run($file)
{
$filesArr = array('pdf','doc','docx','xls','xlsx','ppt','pptx','txt');
//ファイルのアップロードと変換
if($_FILES["ファイル"] && $_FILES["ファイル"]["エラー"] <=0 ){
$fileName = iconv('UTF-8','gb2312',$_FILES["ファイル"]["名前"]);
$types =explode('.',$fileName);
$typesIf = $types[1];
//変更名は時間です
$types[0] = 時間();
$fileName = $types[0].'.'.$types[1];
$filetype = $typesIf;
// 制限上ダウンロード类型
if(!in_array($typesIf,$filesArr)){
echo '';
}その他{
move_uploaded_file($_FILES["file"]["tmp_name"], $path.$fileName);
//変数パス
$docpath = '/data/oa/frontend/www/converter/files/doc/';
$pdfpath = '/data/oa/frontend/www/converter/files/pdf/';
$swfpath = '/data/oa/frontend/www/converter/files/swf/';
if (file_exists($path . $fileName)){
//执行转换
if($typesIf=='pdf'){ //PDF 转SWF
$pdf = $ファイル名;
$swf = str_replace('pdf','swf',$pdf);
exec('/usr/local/wenku/swftools/bin/pdf2swf -o '.$swfpath.$swf.' -T -z -t -f '.$pdfpath.$pdf.' -s languagedir=/usr/ share/xpdf/xpdf-chinese-simplified -s flashversion=9');
$path2 = $pdfpath.$pdf;
$path3 = $swfpath.$swf;
}else{ //ドキュメント转 PDF
$doc = $fileName;
$format =explode('.',$fileName);
$formatName = $format[0].'.pdf';
$command = 'java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar '.$docpath.$doc.' '.$pdfpath.$formatName;
exec($command);
$path1 = $docpath.$doc;
$path2 = $pdfpath.$formatName;
if(file_exists( $pdfpath.$formatName)){
$pdf = $formatName;
$swf = str_replace('pdf','swf',$pdf);
$swfcommand = '/usr/local/wenku/swftools/bin/pdf2swf -o '.$swfpath.$swf.' -T -z -t -f '.$pdfpath.$pdf.' -s languagedir=/usr/share/xpdf/xpdf-chinese-simplified -s flashversion=9';
exec($swfcommand);
$path3 = $swfpath.$swf;
}
}
}
}
// print_r($_FILES["file"]);
$filetype = isset($filetype) ? $ファイルタイプ: '';
$path1 = isset($path1) ? str_replace('/data/oa/frontend/www','',$path1) : '';
$path2 = isset($path2) ? str_replace('/data/oa/frontend/www','',$path2) : '';
$path3 = isset($path3) ? str_replace('/data/oa/frontend/www','',$path3) : '';
$reArr = array('filetype' => $filetype,'path1'=>$path1,'path2'=>$path2,'path3'=>$path3);
$reArr を返します;
}
// php100.com php100中文网
}
//删除文件
パブリック関数 DelFile($path,$pdfpath,$swfpath){
$pathcommand = 'rm -rf /data/oa/frontend/www'.$path;
exec($pathcommand);
$pdfpathcommand = 'rm -rf /data/oa/frontend/www'.$pdfpath;
exec($pdfpathcommand);
$swfpathcommand = 'rm -rf /data/oa/frontend/www'.$swfpath;
exec($swfpathcommand);
}
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Linux システムで PATH 環境変数を設定する方法 Linux システムでは、PATH 環境変数を使用して、システムがコマンド ラインで実行可能ファイルを検索するパスを指定します。 PATH 環境変数を正しく設定すると、任意の場所でシステム コマンドやカスタム コマンドを実行できるようになります。この記事では、Linux システムで PATH 環境変数を設定する方法と詳細なコード例を紹介します。現在の PATH 環境変数を表示する ターミナルで次のコマンドを実行して、現在の PATH 環境変数を表示します: echo$P

パス環境変数を設定する方法: 1. Windows システムでは、[システムのプロパティ] を開き、[プロパティ] オプションをクリックし、[システムの詳細設定] をクリックし、[システムのプロパティ] ウィンドウで [詳細] タブを選択します。 「環境変数」ボタンをクリックし、「パス」を見つけてクリックして編集し、保存します。 2. Linux システムの場合は、ターミナルを開き、bash 構成ファイルを開き、ファイルの最後に「export PATH=$PATH: file path」を追加します。ファイルを保存して保存します; 3. MacOS システムの場合、操作は上記と同じです。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Linux で PATH 環境変数を正しく設定する方法 Linux オペレーティング システムでは、環境変数はシステム レベルの構成情報を保存するために使用される重要なメカニズムの 1 つです。このうち、PATH 環境変数は、システムが実行可能ファイルを検索するディレクトリを指定するために使用されます。 PATH 環境変数を正しく設定することは、システムの正常な動作を保証するための重要な手順です。この記事では、Linux で PATH 環境変数を正しく設定する方法と、具体的なコード例を紹介します。 1. 現在の PATH 環境変数を確認し、ターミナルに次のコマンドを入力します。

設定手順: 1. Java インストール ディレクトリを見つけます; 2. システム環境変数設定を見つけます; 3. 環境変数ウィンドウで「Path」という名前の変数を見つけて編集ボタンをクリックします; 4. ポップアップ編集環境で変数ウィンドウで、「新規」ボタンをクリックし、ポップアップダイアログボックスに Java のインストールパスを入力します; 5. 入力が正しいことを確認した後、「OK」ボタンをクリックします。

「Linux における PATH 環境変数の役割と重要性」 PATH 環境変数は、Linux システムの非常に重要な環境変数の 1 つで、システムが実行可能プログラムを検索するディレクトリを定義します。 Linuxシステムでは、ユーザーがターミナルにコマンドを入力すると、環境変数PATHに設定されているディレクトリを1つずつ検索し、コマンドの実行ファイルが存在するかどうかを確認し、見つかった場合は実行します。それ以外の場合は、「commandnotfound」というプロンプトが表示されます。 PATH 環境変数の役割: 簡略化

1. jdk インストール ディレクトリの下にある bin ディレクトリを見つけてコピーします 2. [コンピュータ] をクリックして [プロパティ] を選択します; 3. [詳細設定]、[環境変数] を選択します; 4. パス行に貼り付けます。管理者ユーザー変数は管理者ユーザーのみが使用できますが、システム変数はすべてのユーザーが使用できます。環境変数の中でもパスはjavaコマンドが確実にパス配下で実行されるようにするために使用され、環境変数設定には欠かせないリンクと言えます。

1. ファイル区切り文字 ファイル区切り文字は、特定の場所へのパスを構成するディレクトリ名を区切るために使用される文字です。 1. ファイル区切り文字を取得する Java では、ファイル区切り文字を取得する方法がいくつかあります。 File.separator を使用して文字列の区切り文字を取得できます。 StringfileSeparator=File.separator; File.separatorChar を使用してこの区切り文字の文字を取得することもできます。 charfileSeparatorChar=File.separatorChar; Java7 からはファイルシステムも使えるようになりました。 StringfileSeparator=F
