`
cometlj
  • 浏览: 116018 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用PHP创建 PowerPoint2007 文档

阅读更多
今天早上从订阅的 Zend DevZone 看到篇很有意思的文章. Creating PowerPoint 2007 files using PHP. 试了一下. 果然很又意思, 分享给大家吧.
程序需要 PHP 5.2 以上环境, 另外需要 php_zip 和 php_xml 扩展模块支持. 另外需要下载 PHPPowerPoint 类库. 官方网站地址: http://phppowerpoint.codeplex.com/ 目前稳定版本是 0.1.0
这里已经下载好了. 各位可以直接同示例代码一起在本站下载. 我已打好包. 点击这里下载示例包. 另外一个官方发原始包带了API文档还有官方的示例程序的也放出来 官方包下载.
说一下感觉吧. 这个类库还可以. 编码很规范. 完全PHP5的风格. 我喜欢的类型. 和 Zend Framework 一样. 处理速度也非常快. 本次只做了简单才测试. 更多高级功能未花时间去玩. 帖一下测试代码吧.
  1. <?php
  2. /**
  3. * PHP 生成 PowerPoint 2007 示例脚本.
  4. *
  5. * 本程序需要 PHP 5.2 以上版本, 需要 php_zip 和 php_xml 扩展支持.
  6. * 通常WIN下程序只要打开 php_zip 扩展即可, php_xml 扩展内置支持.
  7. * Linux 下需要根据编译条件具体调整.
  8. *
  9. * @author: Guya
  10. * @since: 2009-4-30
  11. */
  12. //目录分割符号
  13. define('DS', DIRECTORY_SEPARATOR);
  14. //定义根目录
  15. define('ROOT', dirname(__FILE__) . DS);
  16. //修改include路径, PHPPowerPoint 包放在当前目录的 libs 目录下.
  17. set_include_path(get_include_path() . PATH_SEPARATOR . ROOT . 'libs');
  18. //不限制脚本运行时间限制.
  19. set_time_limit(0);
  20. //简单设置自动载入函数.
  21. function __autoload($className) {
  22.     include_once(str_replace("_", DS, $className) . ".php");  
  23. }
  24. //新建立一个 PHPPowerPoint 对象.
  25. $ppp = new PHPPowerPoint();
  26. //获取当前使用的一页幻灯片
  27. $activeSlide = $ppp->getActiveSlide();
  28. //添加一个图片到幻灯片.
  29. $shape = $activeSlide->createDrawingShape();
  30. //设置图片名称.
  31. $shape->setName('MmClub.net Logo');
  32. //设置图片的描述信息.
  33. $shape->setDescription('MmClub.net Logo');
  34. //图片实际路径
  35. $shape->setPath(ROOT . 'mmclub.net.jpg');
  36. //图片高度
  37. $shape->setHeight(103);
  38. //设置图片宽度
  39. $shape->setWidth(339);
  40. //设置图片相对于左上角X位置, 单位像素
  41. $shape->setOffsetX(10);
  42. //设置图片相对于左上角Y位置, 单位像素
  43. $shape->setOffsetY(10);
  44. //设置图显示状态
  45. $shape->getShadow()->setVisible(true);
  46. $shape->getShadow()->setDirection(45);
  47. $shape->getShadow()->setDistance(10);
  48. //设置一个文本框
  49. $shape = $activeSlide->createRichTextShape();
  50. //设置文本框高度, 单位像素
  51. $shape->setHeight(150);
  52. //设置文本框宽度, 单位像素
  53. $shape->setWidth(600);
  54. //设置文本框相对于左上角X位置, 单位像素
  55. $shape->setOffsetX(150);
  56. //设置文本框相对于左上角Y位置, 单位像素
  57. $shape->setOffsetY(200);
  58. //设置文本布局位置为水平居中, 垂直居中.
  59. $shape->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER );
  60. $shape->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
  61. //设置文本框文本内容. 在中文环境下测试没中文问题. 如果在 e 文环境. 注意要指定支持中文的字体. 否则可能出乱码了.
  62. $textRun = $shape->createTextRun('欢迎使用 PHPPowerPoint2007');
  63. //使用字体加粗
  64. $textRun->getFont()->setBold(true);
  65. //设置字体尺寸为 38, 这里注意一下文字的大小设置. 前面的文本框的大小是固定的. 如果文字超出的容器会被出容器被排到下面
  66. $textRun->getFont()->setSize(38);
  67. //设置文字颜色, 这里是ARGB模式 , 16进制模式, 前面2位为透明度, 后面为RGB值. 这里设置为 blue蓝色
  68. $textRun->getFont()->setColor( new PHPPowerPoint_Style_Color( 'FFFF0000' ) );
  69. //下面再设置几个文本框
  70. $shape0 = $activeSlide->createRichTextShape();
  71. $shape0->setHeight(50);
  72. $shape0->setWidth(400);
  73. $shape0->setOffsetX(250);
  74. $shape0->setOffsetY(400);
  75. $shape0->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER );
  76. $shape0->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
  77. $textRun0 = $shape0->createTextRun('http://www.mmclub.net');
  78. $textRun0->getFont()->setSize(26);
  79. $textRun0->getFont()->setColor( new PHPPowerPoint_Style_Color( 'FF0000FF' ) );
  80. $shape1 = $activeSlide->createRichTextShape();
  81. $shape1->setHeight(30);
  82. $shape1->setWidth(200);
  83. $shape1->setOffsetX(700);
  84. $shape1->setOffsetY(500);
  85. $shape1->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT );
  86. $shape1->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
  87. $textRun1 = $shape1->createTextRun('Author: Guya');
  88. $textRun1->getFont()->setSize(14);
  89. $textRun1->getFont()->setColor( new PHPPowerPoint_Style_Color( 'FF000000' ) );
  90. $shape2 = $activeSlide->createRichTextShape();
  91. $shape2->setHeight(30);
  92. $shape2->setWidth(200);
  93. $shape2->setOffsetX(700);
  94. $shape2->setOffsetY(540);
  95. $shape2->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT );
  96. $shape2->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
  97. $textRun2 = $shape2->createTextRun('Date: 2009-4-30');
  98. $textRun2->getFont()->setSize(14);
  99. $textRun2->getFont()->setColor( new PHPPowerPoint_Style_Color( 'FF000000' ) );
  100. //保存PPTX 文件, 使用 2007 格式
  101. $objWriter = PHPPowerPoint_IOFactory::createWriter($ppp, 'PowerPoint2007');
  102. //保存文件
  103. $objWriter->save(ROOT . 'myPhpPpt.pptx');
  104. echo 'ppt create success!';
  105. ?>
这个东西的应用前景的话. 在WEB的某些场合还是很有用的. 需要的朋友可以多花点时间去研究了.
网上几乎很少有相关资料,找了好久,拿上来跟大家分享,同时感谢作者,。
分享到:
评论
1 楼 lippor 2017-06-01  
如何读取啊,怎么都是创建

相关推荐

    PHP创建PowerPoint2007文档的方法

    使用PHP创建PowerPoint 2007文档是一项非常实用的技术,它适用于需要从PHP代码动态生成演示文稿的场景。通过PHPPowerPoint类库,开发者能够以编程方式控制演示文稿的生成过程,从而满足各种自动化演示文稿生成需求。...

    phpword.zip

    PHPWord基于OpenXML标准,这是一个由Microsoft制定的文件格式规范,包括Word、Excel和PowerPoint等Office文档的结构和内容。通过PHPWord,开发者可以创建新的Word文档,或者打开已有的.docx文件进行编辑。 1. **...

    PHP读取PPT文件的方法

    5. PHPPowerPoint对象的创建:使用PHPPowerPoint类可以创建一个新的PowerPoint对象。随后,可以使用这个对象来添加幻灯片、创建形状等。 6. 添加和移除幻灯片:PHPPowerPoint类库支持对PPT文件中的幻灯片进行添加和...

    基于PHP的用PHP实现WORD2007文件批量生成实现代码源码.zip

    本资源提供的"基于PHP的用PHP实现WORD2007文件批量生成实现代码源码.zip"是一个使用PHP来批量创建Microsoft Word 2007(.docx)文件的项目。下面将详细探讨这一技术实现的原理、步骤以及可能的应用场景。 1. PHP与...

    Spire.Cloud.PowerPoint_PHP源码及APIDemo.zip

    总的来说,这个工具包对于需要处理PowerPoint文档的PHP开发者来说是一个宝贵的资源,它简化了与云端PPT操作相关的复杂工作,并且提供了直观的学习材料,使得开发过程更加顺畅。记得在实际应用中遵循Spire.Cloud的...

    Phpword/phpoffice

    【标签】"phpword" 指的是这个PHP库本身,"thinkphp+"表明了它是与ThinkPHP框架结合使用的,"phpoffice"则代表了这个库属于PHP Office套件的一部分,该套件还包括其他处理Excel、PowerPoint等Office文档的库。...

    php利用word模版替换并生成word

    在PHP开发中,生成Word文档是一项常见的需求,特别是在自动化报告、数据导出或者自定义文档创建的场景下。`PHPWord`是一个强大的PHP库,它允许开发者通过PHP代码来创建、编辑和操作Microsoft Word文档。这个库是`...

    PHP创建word文档的方法(平台无关)

    总结来说,本文通过一个PHP类的示例,向读者展示了如何在不依赖特定平台和外部组件的情况下,使用PHP创建Word文档。通过定义简单的开始和保存方法,结合HTML标签输出,实现了一个实用、跨平台的解决方案。这种方法...

    PHP读取word文档的方法分析【基于COM组件】

    通过这种方式,PHP可以方便地与Office应用程序交互,不仅限于读取Word文档,还可以编辑、保存或创建新的文档。如果你对其他Office格式(如Excel或PowerPoint)的操作感兴趣,原理类似,只需更换相应的COM对象即可。 ...

    phpoffice类库 phpoffice.zip

    在Web开发领域,PHP是一种广泛应用的服务器端脚本语言,而PHPOffice类库则是PHP开发者处理各种办公文档(如Microsoft Office格式的Word、Excel和PowerPoint)的重要工具。PHPOffice类库为PHP开发者提供了一套完整的...

    iWebOffice-ocx-php.rar_WebOffice-ocx-php_iweboffice php_iwebof

    1. **Web Office**:这是一种技术,允许用户在浏览器中处理Office文档,如Word、Excel和PowerPoint,提供在线协作和编辑功能,通常适用于企业级的应用场景,例如文档共享和协同工作。 2. **PHP**:PHP是一种广泛...

    php将word转换pdf.zip_PHP把word转pdf_drawnm4x_php word_to_pdf_php word

    1. **PHPWord**: PHPWord是一个PHP库,它允许开发者读取、写入和创建Microsoft Office Word文档(.docx格式)。这个库提供了对Word文档内容的全面控制,包括文本、图像、表格等元素。 2. **drawnm4x**: 这可能是对...

    使用PHP+MYSQL\PHP+MSSQL做的简易论坛 +PPT +WORD

    标题中的“使用PHP+MYSQL\PHP+MSSQL做的简易论坛”表明这是一个使用PHP编程语言构建的论坛系统,同时支持两种不同的数据库管理系统:MySQL和MSSQL。这通常意味着该论坛系统具有一定的数据库兼容性,可以适应不同类型...

    用PHP生成PPT或PPTX

    本文将深入探讨如何使用PHP生成PowerPoint 2007的文件格式,即PPT和PPTX。这两个文件格式是微软Office套件中PowerPoint软件用来创建演示文稿的标准格式。 PHPPowerPoint是一个开源的PHP库,它允许开发者通过编程...

    PageOffice_4.3.0.3_PHP

    这个压缩包包含了PHP版本的PageOffice组件,允许开发者在网页上直接编辑、创建、预览和保存Word、Excel、PowerPoint等Office文档,而无需借助Microsoft Office软件本身。 在Web应用中,PageOffice的核心功能包括: ...

    NTKO_OFFICE文档控件开发接口参考V5002

    NTKO_OFFICE文档控件是一款广泛应用于企业信息化系统中的组件,它主要负责处理与Office文档相关的功能,如创建、编辑、显示和打印等。这款控件提供了丰富的开发接口,允许开发者进行深度定制和集成,以满足不同应用...

    PHPPowerPoint一个用于处理MicrosoftPowerPointPresentations的纯PHP库

    这些库可以结合使用,实现多文档格式的集成处理。 综上所述,PHPPowerPoint为PHP开发者提供了一个强大的工具,让他们能够无缝地在Web应用中处理PowerPoint文件,增强了PHP在企业级应用中的文档处理能力。通过深入...

    php office

    这些库允许开发者使用PHP语言在服务器端创建、读取、编辑和转换Word、Excel、PowerPoint等文件,极大地提升了Web应用的数据处理能力。本文将深入探讨PHP Office库的各个方面,包括其组件、功能、应用场景以及使用...

Global site tag (gtag.js) - Google Analytics