大致原理:用swftools下的pdf2swf.exe转换 word,excel,ppt,pdf 文件。办公软件需要用到openoffice转换为pdf,,最后转换为swf文件,转换为swf需要注意的就是中文乱码的问题,传送给flexpaper.

requires:

1.flexpaper 下载地址:http://flexpaper.devaldi.com/download/

2.swftools 下载地址:http://www.swftools.org/download.html 配置环境变量或者使用绝对路径定位转换的exe文件

3.openoffice 下载地址: http://www.openoffice.org/启动服务(配置环境变量或者使用绝对路径定位转换的exe文件):soffice -headless -accept=”socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard

4.gkai00mp.ttf、Gbsn00lp.ttf 解决转换时候中文乱码 (自行搜索下载)

5.xpdf-chinese-simplified 下载地址:http://foolabs.com/xpdf/download.html

6.xpdfbin-win-3.03.zip 下载地址:http://foolabs.com/xpdf/download.html

question:

1.转换pdf路径的问题 “file:///d:\\xx\xxx\x”
2.转换swf时候flash版本问题。 -s flashversion=9 指定flash版本
3.转换swf时候中文乱码问题。-s languagedir=D:\xpdf\xpdf-chinese-simplified 指定字体位置
4.选中文本问题 转换swf的时候添加这个参数 -s storeallcharacters

中文乱码问题解决办法:

1.解压缩xpdfbin-win-3.03.zip到指定目录(D:\xpdf)
2.解压缩xpdf-chinese-simplified.tar.gz 到上面的目录下(D:\xpdf\xpdf-chinese-simplified)
3.拷贝两个字体文件gkai00mp.ttf、Gbsn00lp.ttf到CMap目录下(D:\xpdf\xpdf-chinese-simplified\CMap)
4.修改D:\xpdf\xpdf-chinese-simplified下的add-to-xpdfrc文件

#—– begin Chinese Simplified support package
cidToUnicode Adobe-GB1 D:\xpdf\xpdf-chinese-simplified\Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN D:\xpdf\xpdf-chinese-simplified\ISO-2022-CN.unicodeMap
unicodeMap EUC-CN D:\xpdf\xpdf-chinese-simplified\EUC-CN.unicodeMap
unicodeMap GBK D:\xpdf\xpdf-chinese-simplified\GBK.unicodeMap
cMapDir Adobe-GB1 D:\xpdf\xpdf-chinese-simplified\CMap
toUnicodeDir D:\xpdf\xpdf-chinese-simplified\CMap
displayCIDFontTT Adobe-GB1 D:\xpdf\xpdf-chinese-simplified\CMap\gbsn00lp.ttf
displayCIDFontTT Adobe-GB1 D:\xpdf\xpdf-chinese-simplified\CMap\gkai00mp.ttf
#—– end Chinese Simplified support package

其他的问题看我写的这个类就好了。里面有标注

<?php
/**  * 文件转换swf程序,支持pdf,word,ppt,excel. 需要安装客户端软件。  * 需要安装的软件 openoffice   * swftools http://www.swftools.org/download.html 然后找到pdf2swf.exe,php需要调用这个应用程序来生成swf.  * flexpaper http://flexpaper.devaldi.com/download/ 用来显示swf  * @author youlipin <613972@qq.com>  * @date 2012-8-31  */
class Convert2Swf {public static $pdfFileDir;public static $pdfFileDirFixd; //调用openoffice api时候路径为"file:///d:\\xx\xxx\x"public static $swfFileDir;public static function setPdfDir($pdfDir) {self::$pdfFileDir = $pdfDir;}public static function setPdfDirFixd($pdfDirFixd) {self::$pdfFileDirFixd = $pdfDirFixd;}public static function setSwfDir($swfDir) {self::$swfFileDir = $swfDir;}/**      * pdf转换swf.需要安装flexpaper swftools. swftools配置环境变量(windows),还有需要注意flash版本      * @author youlipin <613972@qq.com>    * @date 2012-8-31      * @param inputFilePath string 输入pdf文件路径    * @param outFilePath string 输出swf文件路径      */public static function pdf2Swf($inputFile,$outputFile) {$command = "pdf2swf"; //命令$pdfFile = self::$pdfFileDir . $inputFile ; //输入文件$swfFile = self::$swfFileDir . $outputFile ; //输出文件$cmd = $command . ' -t ' . $pdfFile . ' -o ' . $swfFile . " -s flashversion=9 -s languagedir=D:\xpdf\xpdf-chinese-simplified -s storeallcharacters"; //解决转换时中文乱码问题echo $cmd;ob_start();system($cmd);ob_end_flush();}/**      * 调用openoffice的 API     */private static function makePropertyValue($name,$value,$osm){  $oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");  $oStruct->Name = $name;  $oStruct->Value = $value; return $oStruct;  }private static function word2Pdf($officeFile, $pdfFile) { $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed"); $args = array(self::makePropertyValue("Hidden",true,$osm));  $oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");  $oWriterDoc = $oDesktop->loadComponentFromURL(self::$pdfFileDirFixd.$officeFile,"_blank", 0, $args);  $export_args = array(self::makePropertyValue("FilterName","writer_pdf_Export",$osm));$oWriterDoc->storeToURL(self::$pdfFileDirFixd.$pdfFile,$export_args);  $oWriterDoc->close(true);}}?>  稍后更新整合sphinx

转载于:https://blog.51cto.com/thinkingod/1058621

windows下用php开发类似百度文库应用需要的工具和问题相关推荐

  1. linux word 转 pdf 上类似百度文库开发研究与实战

    缘起 由于项目需要开发了类似百度文库和DOCIN类似的Flash播放器读取上传文档的系统,虽然最终技术问题都得以解决,但开发的过程中走了不少弯路,浪费了不少时间,特别是FlexPaper去掉自带的Lo ...

  2. Windows下安装Objective-C开发环境

    Windows下安装Objective-C开发环境 1.首先用GNUstep在windows下模拟object c开发环境. 官方网址:http://www.gnustep.org/ 百度云下载: 链 ...

  3. Windows下配置IDEA开发环境

    Windows下配置IDEA开发环境 文章目录 Windows下配置IDEA开发环境 安装JDK 查看JDK是否安装 下载JDK 配置环境变量 安装IDEA 下载IDEA 安装IDEA 初始化IDEA ...

  4. Windows下搭建ESP-IDF开发环境,适合ESP32/S2/C3/S3系列模组二次开发

    前言 本教程适用于以下两种用户: ①无Linux环境搭建经验或搭建Linux开发环境不成功: ②使用安信可windows一体化环境IDE V1.5开发环境搭建不成功: 本教程提供了windows下搭建 ...

  5. Windows下Ionic Android开发环境搭建

    转自 http://www.itwap.net/ArticleContent.aspx?id=26 来源: itwap.net 作者: 词略 时间: 2015-4-2 16:57:28 (一)Ioni ...

  6. 乐鑫Esp32学习之旅② 巧用eclipes编辑器,官方教程在Windows下搭建esp32开发环境,打印 “Hello World”。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  7. 一、C++基础入门之 Windows下C/C++开发环境配置

    Windows 下 C/C++开发环境的配置:(51开源时代) 我的系统是Windows的,所以在这里我以Windows为例,我使用的是微软提供的VS2013(Microsoft Visual Stu ...

  8. windows下使用vscode开发stm32

    Windows下使用vscode开发stm32 写在开头 有条件的用clion,方法更简单,具体教程参考知乎稚晖君教程<配置CLion用于STM32开发[优雅の嵌入式开发>(点击跳转) 起 ...

  9. php环境搭建appserv,在 Windows 下安装 PHP 开发环境(基于 Appserv)

    在 Windows 下安装 PHP 开发环境(基于 Appserv) 1.Appserv 是什么? Appserv 是PHP网页架站工具组合包,可以将网络上免费的架站资源重新包装成单一的安装程序.它提 ...

最新文章

  1. Python 入门之格式化输出
  2. linux 神的编辑器,编辑器之神-vim的使用,编辑器神-vim
  3. android 自定义表单,Android实现Ant Design 自定义表单组件
  4. 对AutoIt中控件和窗口的理解
  5. 13.强符号和弱符号
  6. spss典型相关分析_SPSS做典型相关分析,新版本软件已经有独立菜单模块可完成...
  7. 二级c语言分数,C语言二级考试分数构成与攻略,高分必备
  8. 2022年GPS广播星历精密星历如何下载
  9. 图灵——如迷的解谜者
  10. C++输出平行四边形和菱形
  11. 色即是空之临时演员[韩国]
  12. 中国医药电子商务平台行业十四五盈利规模与运营前景分析报告2022年
  13. 计算机文化基础期末考试复习
  14. ESXi主机定时开关机设置
  15. 奇文|意识如何演化?机器何时有自我意识?《附着与隧通-心智的工作模式》
  16. python学习之旅_第2天
  17. JSON Schema定义 +Networknt validator格式校验
  18. linux设备驱动归纳总结(八):2.match.probe.remove
  19. Win11中Wlan图标忽然消失
  20. 2021-08-06 拉氏变换的收敛域和逆变换

热门文章

  1. [Ext JS 4] contentEL,renderTo, applyTo 释义与区别
  2. 汕头创易计算机科技,汕头文创设计下一个“爆款”在哪?汕大优秀毕业生分享创作心得...
  3. 时间管理类APP的Demo版本
  4. linux脚本expect分区,linux – 从不同位置执行Expect脚本
  5. java的数据连接_java中连接各种数据的方法
  6. P1502 窗口的星星(扫描线入门第一题)
  7. java 图形 登录_Java图形界面——登录框
  8. Base64与文件(docx)流的加密和解密
  9. mysql关联表id_mysql join联表 + id自增
  10. 使用回收站主键名、索引名问题