欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php 生成 word 的库 phpword 有大用 有大大用 有大大大用

@troosantroosan https://github.com/PHPOffice/PHPWord 的分支 'develop' 合并到 d...

aca1078on 5 Jun

Git 统计信息

文件

类型名称最新提交消息提交时间.github升级到 GitHub 原生的 Dependabot8个月前文档 https://github.com/PHPOffice/PHPWord 的 分支 'develop' 合并到 d...7个月前样品将分支“开发”合并到开发中11个月前源代码/ PHPWord添加了对 Garamond 字体的支持7个月前测试'normal' line-height 表示默认的行高8个月前.git 属性添加 .git 属性4年前.github_changelog_generator准备发布 18.2.07个月前.gitignore添加用 ComplexType 替换宏的方法3年前.php_cs.dist在构建和修复结果警告中启用 php-cs-fixer ( #1099 )4年前.scrutinizer.yml检查器修复,允许 zip 扩展14个月前变更日志准备发布 18.2.07个月前贡献.mdcomposer check在提交拉取请求之前添加关于使用的注释3年前复印[已更改] 许可证已按照此处的建议拆分为两个文件 ...8年前小抄[已更改] 许可证已按照此处的建议拆分为两个文件 ...8年前执照更新版权。6年前自述文件准备发布 18.2.07个月前引导程序更新版权至 20184年前作曲家.json准备发布 18.2.07个月前phpmd.xml.dist放宽一些 phpmd 规则8个月前phpstan.neon修复 phpstan 问题4年前phpunit.xml.dist添加声纳配置文件3年前phpword.ini.dist使默认纸张可配置2年前sonar-project.properties添加声纳配置文件3年前

自述文件

PHPWord

掌握: 最新稳定版本 构建状态 代码质量 覆盖状态 总下载量 执照 在 https://gitter.im/PHPOffice/PHPWord 加入聊天

发展: 最新开发版本 构建状态 代码质量 覆盖状态

PHPWord 是一个用纯 PHP 编写的库,它提供了一组用于写入和读取不同文档文件格式的类。PHPWord 的当前版本支持 Microsoft Office Open XML(OOXML 或 OpenXML)、OASIS办公应用程序的开放文档格式(OpenDocument 或 ODF)、富文本格式(RTF)、HTML 和 PDF。

PHPWord 是一个开源项目,根据LGPL 版本 3的条款获得许可PHPWord 旨在通过结合持续集成单元测试成为高质量的软件产品您可以通过阅读开发人员文档了解有关 PHPWord 的更多信息

如果您有任何问题,请在StackOverFlow上提问

阅读有关 PHPWord 的更多信息:

特征

借助 PHPWord,您可以使用 PHP 5.3.3+ 脚本动态创建 OOXML、ODF 或 RTF 文档。以下是您可以使用 PHPWord 库执行的一些操作:

  • 设置文档属性,例如标题、主题和创建者。

  • 创建具有不同设置的文档部分,例如纵向/横向、页面大小和页码

  • 为每个部分创建页眉和页脚

  • 设置默认字体类型、字体大小和段落样式

  • 使用 UTF-8 和东亚字体/字符

  • 将自定义字体样式(例如粗体、斜体、颜色)和段落样式(例如居中、多列、间距)定义为命名样式或文本内嵌

  • 插入段落,作为简单文本或包含其他元素的复杂文本(文本运行)

  • 插入标题(标题)和目录

  • 插入文本中断和分页符

  • 插入和格式化图像,本地、远程或作为页面水印

  • 插入二进制 OLE 对象,例如 Excel 或 Visio

  • 为每一行(例如作为标题行重复)和单元格(例如背景颜色、行跨度、colspan)插入和设置具有自定义属性的表格

  • 以项目符号、编号或多级形式插入列表项

  • 插入超链接

  • 插入脚注和尾注

  • 插入绘图形状(圆弧、曲线、直线、折线、矩形、椭圆)

  • 插入图表(饼图、甜甜圈、条形图、折线图、面积图、散点图、雷达图)

  • 插入表单域(文本输入、复选框和下拉列表)

  • 从模板创建文档

  • 使用 XSL 1.0 样式表转换 OOXML 模板的页眉、主要文档部分和页脚

  • ......以及更多进展中的功能

要求

PHPWord 需要以下内容:

安装

PHPWord 是通过Composer安装的在您的项目中添加对 PHPWord的依赖

运行以下命令以使用最新的稳定版本

    作曲家需要 phpoffice/phpword

或者如果你想要最新的主版本

    作曲家需要 phpoffice/phpword:dev-master

你当然也可以手动编辑你的 composer.json 文件

{
     “要求”:{
        “phpoffice/phpword” v0.18.* 
    }
}

入门

以下是PHPWord 库的基本使用示例。

<?php 
require_once  'bootstrap.php' ;

// 创建新文档... 
$ phpWord = new \ PhpOffice \ PhpWord \ PhpWord ();

/* 注意:您附加到文档的任何元素都必须位于节内。*/

// 向文档中添加一个空节... 
$ section = $ phpWord -> addSection ();
// 将 Text 元素添加到默认设置字体样式的 Section 中... 
$ section -> addText (
     '"从昨天学习,为今天而活,为明天而希望。' 
        . '重要的是不要停止提问。" ' 
        . '(阿尔伯特·爱因斯坦)'
);

/* 
* 注意:可以通过三种方式自定义添加的 Text 元素的字体样式:
* - 内联;
* - 使用命名字体样式(将隐式创建新的字体样式对象);
* - 使用显式创建的字体样式对象。
*/

// 内联添加自定义字体的 Text 元素... 
$ section -> addText (
     '"伟大的成就通常源于巨大的牺牲,' 
        . '永远不是自私的结果。" ' 
        . '(Napoleon Hill)' ,
    数组'name' => 'Tahoma''size' => 10
);

// 添加使用命名字体样式自定义字体的文本元素... 
$ fontStyleName = 'oneUserDefinedStyle' ;
$ phpWord -> addFontStyle (
     $ fontStyleName ,
     array ( 'name' => 'Tahoma' , 'size' => 10 , 'color' => '1B2232' , 'bold' => true )
);
$ section -> addText (
     '"最大的成就不是永不跌倒,' 
        . '而是跌倒后重新站起来。" ' 
        . '(Vince Lombardi)' ,
     $ fontStyleName
);

// 添加带有使用显式创建的字体样式对象自定义字体的文本元素... 
$ fontStyle = new \ PhpOffice \ PhpWord \ Style \ Font ();
$ fontStyle -> setBold ( true );
$ fontStyle -> setName ( 'Tahoma' );
$ fontStyle -> setSize ( 13 );
$ myTextElement = $ section -> addText ('“相信你能做到,你就成功了一半。” (西奥多·罗斯福)' );
$ myTextElement -> setFontStyle ( $ fontStyle );

// 将文档保存为 OOXML 文件... 
$ objWriter = \ PhpOffice \ PhpWord \ IOFactory :: createWriter ( $ phpWord , 'Word2007' );
$ objWriter -> save ( 'helloWorld.docx' );

// 将文档保存为 ODF 文件... 
$ objWriter = \ PhpOffice \ PhpWord \ IOFactory :: createWriter ( $ phpWord , 'ODText' );
$ objWriter -> save ( 'helloWorld.odt' );

// 将文档保存为 HTML 文件... 
$ objWriter = \ PhpOffice \ PhpWord \ IOFactory :: createWriter ( $ phpWord , 'HTML' );
$ objWriter -> save ( 'helloWorld.html' );

/* 注意:我们跳过 RTF,因为它不是基于 XML 的,需要一个不同的例子。*/ 
/* 注意:我们跳过PDF,因为“HTML-to-PDF”方法用于创建PDF 文档。*/

示例文件夹中提供了更多示例为了轻松访问php -S localhost:8000在示例目录中启动的这些示例,然后浏览到http://localhost:8000以查看示例。您还可以阅读开发人员文档以获取更多详细信息。

贡献

我们欢迎大家为 PHPWord 做出贡献。以下是您可以做的一些贡献。


来自 https://github.com/PHPOffice/PHPWord#getting-started


普通分类: