`

php在linux系统下实现百度文库功能 doc或pdf转swf预览功能

    博客分类:
  • PHP
 
阅读更多

php在linux系统下实现百度文库功能 doc或pdf转swf预览功能

 

系统环境:CentOs5.5
用到的工具:Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper
 
网上找了些资料,早有人已经实现了这样的功能,只不过是用JAVA来写的东东,PHP的没找着。
结合网上的资料根据实现操作经验。
纪录并总结一下:
 
整体思路如下:
实现步骤: 1. DOC上传   2. DOC转成PDF   3. PDF转成SWF  4. 显示
基于对Linux环境引入openoffice sdk + pdf2swf tool,分两个步骤,先利用openoffice sdk把文档统一转成pdf,然后利用pdf2swf tool把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下面会缺少黑体和宋体的,直接找到Windows下面的字体目录把黑体和宋体复制进去到目录
 
/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了。
这个安装很简单,直接上网站下一个这个东东回来。
解压,复制到一个目录里面去,就能直接用了,调用它里面的/lib/jodconverter-cli-2.2.2.jar这个玩意儿就行,可以直接运行命令测试:     
 
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
unzip font.zip
mv Gbsn00lp.ttf gkai00mp.ttf xpdf-chinese-simplified/CMap/ cd /usr/share/xpdf/xpdf-chinese-simplified
编辑,加入新增的字体
 
vim add-to-xpdfrc
内容如下:
cidToUnicodeAdobe-GB1/usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMapISO-2022-CN/usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMapEUC-CN/usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
unicodeMapGBK/usr/share/xpdf/chinese-simplified/GBK.unicodeMap
cMapDirAdobe-GB1/usr/share/xpdf/chinese-simplified/CMap toUnicodeDir/usr/share/xpdf/chinese-simplified/CMap
displayCIDFontTT Adobe-GB1 /usr/share/xpdf/chinese-simplified/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
make install
测试一下是否可用
pdf2swf -o /usr/output.swf -T -z -t -f /usr/test1.pdf -s languagedir=/usr/local/share/xpdf/chinese-simplified -s flashversion=9
如果测试成功,那么就已经OK一大半了,就是显示的问题了。
 
5. 用FlexPaper实现在线预览
这个是网上下载吧,看着demo改下JS就行了,里面是用的JS读取SWF的路径,这个简单吧,不讲了。
 
PHP来调用LINUX命令实现转换,可能会遇到一个问题说PHP没有执行权限,注意把PHP的用户改成权限也就是nobody这个用户的权限。
 
 
下面是我自己写的代码,PHP初学不久,不够精简,仅供参考
Yii框架中文件转换功能,DOC转SWF
php在linux系统下实现百度文库功能 doc或pdf转swf预览功能
2012-09-14 08:46:24 | 1232次阅读 | 评论:0 条 | itokit  php在linux系统下实现百度文库功能 doc或pdf转swf预览功能
百度文库中,有些文件上传后,会自动生成swf文件,可以让用户在线阅读或在线预览的功能。怎么实现这个功能呢?在linux+php环境下,我们就使用openoffice和FlexPaper来实现百度文库的功能。
系统环境:CentOs5.5
用到的工具:Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper
 
网上找了些资料,早有人已经实现了这样的功能,只不过是用JAVA来写的东东,PHP的没找着。
结合网上的资料根据实现操作经验。
纪录并总结一下:
 
整体思路如下:
实现步骤: 1. DOC上传   2. DOC转成PDF   3. PDF转成SWF  4. 显示
基于对Linux环境引入openoffice sdk + pdf2swf tool,分两个步骤,先利用openoffice sdk把文档统一转成pdf,然后利用pdf2swf tool把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下面会缺少黑体和宋体的,直接找到Windows下面的字体目录把黑体和宋体复制进去到目录
 
/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了。
这个安装很简单,直接上网站下一个这个东东回来。
解压,复制到一个目录里面去,就能直接用了,调用它里面的/lib/jodconverter-cli-2.2.2.jar这个玩意儿就行,可以直接运行命令测试:     
 
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
unzip font.zip
mv Gbsn00lp.ttf gkai00mp.ttf xpdf-chinese-simplified/CMap/ cd /usr/share/xpdf/xpdf-chinese-simplified
编辑,加入新增的字体
 
vim add-to-xpdfrc
内容如下:
cidToUnicodeAdobe-GB1/usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMapISO-2022-CN/usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMapEUC-CN/usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
unicodeMapGBK/usr/share/xpdf/chinese-simplified/GBK.unicodeMap
cMapDirAdobe-GB1/usr/share/xpdf/chinese-simplified/CMap toUnicodeDir/usr/share/xpdf/chinese-simplified/CMap
displayCIDFontTT Adobe-GB1 /usr/share/xpdf/chinese-simplified/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
make install
测试一下是否可用
pdf2swf -o /usr/output.swf -T -z -t -f /usr/test1.pdf -s languagedir=/usr/local/share/xpdf/chinese-simplified -s flashversion=9
如果测试成功,那么就已经OK一大半了,就是显示的问题了。
 
5. 用FlexPaper实现在线预览
这个是网上下载吧,看着demo改下JS就行了,里面是用的JS读取SWF的路径,这个简单吧,不讲了。
 
PHP来调用LINUX命令实现转换,可能会遇到一个问题说PHP没有执行权限,注意把PHP的用户改成权限也就是nobody这个用户的权限。
 
 
下面是我自己写的代码,PHP初学不久,不够精简,仅供参考
Yii框架中文件转换功能,DOC转SWF
 
分享到:
评论

相关推荐

    仿百度文库 文档转pdf在转swf,flexpaper查看swf

    本文将详细探讨如何实现“仿百度文库”的文档转换流程,即从文档转PDF,再将PDF转换为SWF,最后通过FlexPaper进行SWF的查看。这个过程涉及到的技术点主要包括PDF生成、SWF转换和富媒体展示。 首先,让我们从PDF生成...

    java实现类似百度文库功能(linux).pdf

    总结来说,实现类似百度文库功能在Linux环境下,涉及到的技术点包括OpenOffice的安装与操作、JodConverter库的使用、PDF与SWF文件的转换、FlexPaper在线阅读器的集成以及Linux下的文件操作和字体配置等。这些知识点...

    java实现类似百度文库预览pdf功能

    实现类似百度文库在线预览文档功能,核心在于将多种文档格式(如txt、word、excel、ppt等)转换为网页可展示的格式,如PDF或SWF,再利用Web容器或插件进行展示。具体而言,文件转换与展示主要涉及以下几个步骤: 1....

    php在linux系统下完美实现百度文档功能

    通过上述步骤,我们可以使用PHP在Linux系统下实现百度文档功能,即用户上传DOC文档后,自动转换为PDF再进一步转换为SWF格式,并在网页中展示。这不仅提升了用户体验,也为网站提供了更强大的文档处理能力。在整个...

    JAVA仿百度文库预览PDF文件绝对好用

    这个项目“JAVA仿百度文库预览PDF文件绝对好用”就是这样的一个解决方案,它允许用户在Web端预览PDF文档,类似于百度文库的功能。 首先,让我们了解PDF和SWF格式。PDF(Portable Document Format)是一种通用的文件...

    Java实现百度文库文档在线预览系统设计与实现

    "Java实现百度文库文档在线预览系统设计与实现" 本文档介绍了如何使用Java实现百度文库文档在线预览系统的设计与实现。该系统能够将上传到管理系统的文档(包括ppt、word、excel、txt等)转换成swf文件,并实现在线...

    仿百度文库实现文档在线预览

    - **兼容性**:确保预览功能在不同浏览器和设备上都能正常工作,可能需要针对不同的环境做适配。 总结来说,仿照百度文库实现文档在线预览涉及到的技术主要包括前端的文件上传、请求处理,后端的文档转换,以及最终...

    java实现类似百度文库功能

    在Java中实现类似百度文库的功能,主要是为了提供在线阅读文档的能力,支持doc和pdf格式。这一过程涉及到多个步骤,包括文件的转换和展示。下面将详细介绍这些关键知识点。 首先,我们需要处理的是文件的转换。在...

    百度文库文档在线预览系统设计与实现

    百度文库的在线预览系统是一种技术实现,允许用户在不下载文档的情况下预览各种类型的文件,如PPT、Word、Excel和TXT。这种系统通常通过将文档转换成Flash支持的SWF格式来实现。以下是对这一系统设计与实现的详细...

    仿百度文库在线预览文档转换的demo

    【标题】"仿百度文库在线预览文档转换的demo"是针对文档在线预览功能的一个示例项目,它借鉴了百度文库的功能设计,旨在帮助开发者实现多种格式的文档(如doc、xls、ppt、txt)在网页上的预览。这种技术在现代Web...

    java pdf转swf,最后在页面显示实例(类似百度文库)

    总结来说,"java pdf转swf,最后在页面显示实例(类似百度文库)"涉及的技术包括PDF解析、图像处理、SWF编码、网页展示、用户交互设计、安全策略以及性能优化。通过熟练掌握这些技术,可以构建出一个功能完善且用户...

    java实现仿百度文库预览文档功能

    在他人基础上实现java实现仿百度文库预览文档功能, Txt/Word/Excel/PPT => PDF(OpenOffice+JodConverter) => SWF(pdf2swf)=>FlexPaper浏览。 包含了源代码,文档,部分较小文件的安装文件,部分较大文件的下载...

    java实现类似百度文库预览pdf功能.pdf

    本文主要介绍如何使用Java实现类似百度文库的在线预览PDF功能,涉及到的技术包括文件转换、PDF到SWF的转换以及在Web环境中展示。以下是详细的知识点: 1. **文件转换**: - 文件转换是实现在线预览的关键步骤,...

    实现类似百度文库的阅读

    在IT行业中,实现类似百度文库的在线阅读功能是一项常见的需求,这涉及到多个技术环节的集成与优化。本文将详细探讨如何将Office文档转换为PDF,再进一步转换为SWF,最后通过FlashPaperViewer进行展示。 首先,我们...

    java实现类似百度文库预览pdf功能.docx

    【Java实现类似百度文库预览PDF功能】 在互联网领域,提供类似百度文库的在线预览功能是一项常见的需求,尤其是对于文档分享和阅读平台。本文主要探讨如何使用Java技术来实现这一功能,特别是涉及将多种文件格式如...

    java实现类似文库功能(linux).doc

    【Java实现类似文库功能在Linux环境下的技术详解】 在Java开发中,构建类似百度文库的功能是一项挑战,尤其在Linux环境下。本文将详细介绍如何利用Java实现这一功能,包括核心的文档转换流程、所需的工具以及具体...

    最全仿百度文库系统_也许是你想要的

    在构建一个最全仿百度文库系统的项目中,开发者可能会面临多个技术和功能挑战。这个系统旨在提供类似百度文库的功能,允许用户上传、查看和下载各种文档,同时可能包括文档预览、转换和分享等特性。以下是根据标题、...

    java实现访百度文库、道客巴巴、豆丁阅读

    在线预览word,ppt,excel,text,PDF,SWF文件,类似百度文库效果 java实现访百度文库、道客巴巴、豆丁阅读,windows系统下实现仿百度文库效果,使文档只能浏览,保护文档的下载。 经本人测试,在线预览效果还不错 真正实现...

Global site tag (gtag.js) - Google Analytics