`

上传pdf,word,ppt文档转化为在线阅读的flash文档

阅读更多

1 pdf在linux下有命令行的工具可以转化为flash
2 word ,ppt 通过openoffice的服务模式可以在命令行下转化为pdf , 再使用步骤1 就可以了,这里有一个文档介绍:
http://www.artofsolving.com/opensource/pyodconverter

这样, 可以写一个脚本程序来串联整个流程(如果做成工具的话,就不能再图形界面环境下实现这个)。
里面比较麻烦的是word ,ppt to pdf的步骤,我简单在我的vps上尝试一下:
sudo yum install python-openoffice.noarch openoffice.org-writer.x86_64 openoffice.org-langpack-zh_CN.x86_64  openoffice.org-pyuno openoffice.org-impress.x86_64

运行 soffice -accept=”socket,port=8100;urp;” 输出:
javaldx: Could not find a Java Runtime Environment!
/usr/lib64/openoffice.org3/program/soffice.bin X11 error: Can‘t open display:
   Set DISPLAY environment variable, use -display option
   or check permissions of your X-Server

所以要做两件事情, 1 建立java运行时环境 2 处理display问题

首先下载并安装最新的jdk :
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter;pgid=yYdgaHqkkjVSR0EUPIQsoQ3D0000U2mCVFtF;sid=4k13hkOCk7F3hw–tOL-eFMsxz6zu5DCPg6VLoVcx7E7hi12yJM=?DLWidget=true&AutoWidgetDL=&ADWOptLoginReg=fromLogin

第二个问题的解决方案 ,发现了这个帖子:
http://www.linuxforums.org/forum/linux-desktop-x-windows/1633-use-dummy-display.html

思路是使用Xvfb来没有显示设备的情况下在内存虚拟一个framebuffer 。
[rainx@vps ~]$  sudo yum install xorg-x11-server-Xvfb

运行之:[rainx@vps ~]$ sudo Xvfb :1 -screen 0 800x600x16
再次运行 soffice :
sudo soffice -accept=”socket,port=8100;urp;” -display :0

PS: 之后又找到一个哥们用类似的方式搞vmware的 :http://www.ixpub.net/thread-2264906-1-1.html

进行转换 :
[rainx@vps ~]$ python DocumentConverter.py who.docx who.pdf
[rainx@vps ~]$ ls -l who.*
-rw-r–r– 1 rainx rainx  51823 Jul 13 20:54 who.docx
-rw-r–r– 1 root  root  690854 Jul 13 20:55 who.pdf

who.pdf 就是转换好的文档了, 可以看到转换后的文件还是很大的,不过用阅读器看下,效果还可以..

这步比较简单,主要是应用 swftools 里的 pdf2swf工具,
下载swftools 可以从这里: http://www.swftools.org/download.html

下载编译之:
wget http://www.swftools.org/swftools-0.9.1.tar.gz
tar xvzf swftools-0.9.1.tar.gz
cd swftools-0.9.1
./configure 
make

这个时候,遇到报错
jpeg.c:463: error: conflicting types for ‘jpeg_load_from_mem’
jpeg.h:15: error: previous declaration of ‘jpeg_load_from_mem’ was here
make[1]: *** [jpeg.o] Error 1
原来是函数的定义和头文件的声明有点冲突,解决方式比较简单,修改 jpeg.c 的 463行:
改为:
int jpeg_load_from_mem(unsigned char*_data, int _size, unsigned char**dest, int*width, int*height)

继续即可,


然后又遇到问题:
gcc -DHAVE_CONFIG_H swfrender.o -o swfrender ../lib/libgfxswf.a ../lib/librfxswf.a ../lib/libgfx.a ../lib/libbase.a -L/usr/local/lib -lz -lm
../lib/libgfx.a(gfxfont.o): In function gfxfont_free‘:
gfxfont.c.text+0x7c0): undefined reference to glyph_clear’

解决方法 :
sudo yum install freetype-devel

再继续(需要重新./configure )
在 sudo make install 就可以了


我了个擦,发现没编译pdf2swf,仔细看下./configure提示信息:
* The following headers/libraries are missing:  jpeglib ungif jpeglib.h gif_lib.h
* Disabling pdf2swf tool…

所以先安装上述的库,再重新编译 : sudo yum install libjpeg-devel
试一下 :
pdf2swf who.pdf -o who.swf

关于乱码问题,可以参考这个链接: http://www.iteye.com/topic/538361

这样的swf文件有一个问题, 是自动播放的,我们无法对其进行控制,这显然不是我们期望的,所以我们可以通过 -b 来附加一个默认的阅读器, 加上-T9 强制版本为v9(据说可以避免一些单页的pdf显示问题)
pdf2swf -T9 -b who.pdf -o who.swf

到这里,生成过程就差不多了,不过显然这个viewer还需要美化,这个我们后面再继续研究

 

 

引用自:

 

 

  http://www.tech-q.cn/thread-9672-1-1.html

分享到:
评论

相关推荐

    在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版

    本资源提供了两种预览方式:Flash版和HTML版,两者都支持对Word、Excel、PPT和PDF等常见文档格式的预览。 首先,让我们了解一下Flash版在线预览。Flash是一种广泛使用的多媒体平台,它曾经在网页动画和交互式内容...

    WORD或PPT转换成FLASH或PDF的--FlashPaper

    同时,Flash文档具有良好的压缩率,适合网络传输。 - **步骤**:使用FlashPaper打开Word或PPT文件,点击“转换”按钮,选择保存为Flash格式,然后指定输出位置,即可完成转换。 3. **转换为PDF**: - **优点**:...

    php版本 office文档(word,ppt,excel)转pdf转swf(加水印),实现在线预览

    本文将详细探讨如何使用PHP实现Office文档(包括Word、PPT和Excel)转换为PDF,并进一步转化为SWF文件,同时添加水印功能,以实现安全的在线预览。 首先,我们需要了解PHP在处理文件转换时常用的一些库和工具。在本...

    在线显示Word、Excel、PPT文档(不用转换成Flash、PDF文件,不需要swf播放器)

    总的来说,在线预览Word、Excel、PPT文档而不依赖Flash或PDF转换,依赖于先进的API和云服务。这种技术提高了用户体验,减少了技术复杂性,同时保持了文档的原始格式和内容。通过选择合适的工具和技术,开发者可以...

    word pdf ppt 转为swf

    标题中的“word pdf ppt 转为swf”指的是将Microsoft Word文档、Adobe PDF文件以及PowerPoint演示文稿转换成SWF(ShockWave Flash)格式的过程。SWF是一种广泛用于网络上的多媒体内容格式,尤其适合展示动态图形、...

    excel、word、ppt转pdf,再转swf实现在线浏览

    标题中的“excel、word、ppt转pdf,再转swf实现在线浏览”指的是一个技术流程,涉及将Microsoft Office文档(Excel、Word、PowerPoint)转换为PDF格式,然后进一步转化为SWF(Shockwave Flash)文件,以便在网页上...

    实现类似百度文库的PDF文档在线阅读

    1. **文档转换**:首先,为了实现在线阅读,PDF、Word、txt等格式的文档需要转化为适合网页显示的格式。在描述中提到的是将文档转换为SWF(Shockwave Flash)格式。SWF是一种用于在Web上展示多媒体内容的格式,它...

    Aspose插件与pdf2swf与flashpaper弄的在线浏览文档主类,无需安装

    通过将PDF转换为SWF,我们可以将原本静态的文档转化为可在线播放的动态形式,用户可以在浏览器中直接查看,而无需下载或安装PDF阅读器。 **FlashPaper**: FlashPaper是Adobe公司推出的一款产品,主要用于将PDF和...

    在线文档浏览

    这里提到的核心技术是将文档转化为PDF,然后再将PDF转化为SWF(ShockWave Flash),最后通过HTML页面展示SWF文件,从而实现在线浏览。 1. PDF(Portable Document Format):PDF是一种通用的文件格式,能够保留文档...

    将ppt,word,pdf,jpg成批转换成swf格式

    标题提到的"将ppt,word,pdf,jpg成批转换成swf格式"是一个典型的需求,这涉及到多种文件类型的互转,尤其是将静态的文档和图片转换为交互式的SWF(ShockWave Flash)格式。SWF是一种由Adobe Flash技术产生的格式,它...

    知识库中文档在线预览功能的实现-2019年精选文档.pdf

    首先,文档预览的核心是将不同格式的文件如TXT、Word、Excel、PPT转化为统一的PDF格式,再进一步转化为Flash(SWF)文件,以便于在网页上以流媒体的形式展示。这里采用了JODConverter和OpenOffice这两个开源工具。...

    文件在线预览仅支持word/excel/ppt/pptx 4种文件的转换和预览

    扩展新格式需要开发相应的转换器,将文件内容转化为适合在线预览的格式,例如SWF(ShockWave Flash)或HTML5,以实现浏览器的兼容。 **OfficeToSwf1.1**:这个压缩包文件名暗示了一个工具或者库,可能用于将Office...

    PDF转化器V1.7破解版

    PDF转换器支持Word, Doc, RTF, TXT, Excel XLS, PowerPoint PPT以及所有可打印格式,方便将您的文档转换为电子书。 PDF转换器同时支持PDF转WORD,PDF转DOC,PDF转RTF,PDF转JPG,PDF转BMP,PDF转GIF,PDF转PNG,PDF...

    FlexPaper文档在线预览源码.rar

    这款技术的核心在于将传统的本地文档转化为可以在网页上流畅查看的格式,为用户提供了一种便捷的在线阅读体验,无需下载原始文件即可预览内容。 1. **FlexPaper 框架** FlexPaper 是由 Seadocx 团队开发的一个开源...

    java-flexpaper-swftools仿百度文库文档在线预览系统设计与实现.doc

    OpenOffice是一款免费的办公软件,能够读取和保存多种文档格式,包括将Office文档转化为PDF。 - 接着,使用`swftools`将PDF转换为SWF文件。SWFTools是一个开源工具集,能够处理PDF并将其转化为SWF格式,以适应Flash...

    asp.net doc ppt xls jpg pdf等转swf

    在ASP.NET开发中,有时我们需要将常见的文档格式,如DOC(Word文档)、PPT(PowerPoint演示文稿)、JPG(图像)、PDF(便携式文档格式)等,转换成SWF(Shockwave Flash)格式。SWF是一种常用的网络多媒体格式,支持...

    文档在线预览实现方法思路

    文档在线预览是一种常见于网页应用中的功能,它允许用户无需下载即可查看各种类型的文档,如PDF、Word、Excel、PPT等。本篇将详细阐述实现文档在线预览的方法和思路,尤其关注C#环境下的开发实践。 一、基础原理 ...

    java实现在线阅读

    该方案主要通过一系列的转换步骤,将常见的文本文件(如TXT、Word、Excel、PPT等)转化为可在Web端流畅浏览的格式,具体涉及到了PDF、SWF以及FlexPaper技术的应用。 #### 转换流程分析 根据提供的内容,转换流程...

Global site tag (gtag.js) - Google Analytics