昨年、百度図書館の機能と同様に、ワンクリックで文書をアップロードし、オンラインでプレビューできる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["ファイル"]["エラー"]
$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衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ホットトピック









