主要用途:动态生成 word
优势:生成 word 只需关注动态数据及逻辑,无需关注式样的调整(式样可以借助 office word 调整母版即可)
与 PHPWord 的爱恨情仇
PHP 编写的库(资源包)
用于生成 office word
PHPWord 专注于一个元素一个元素的写入,而 MDword 则是专注于在母版的基础上修改,功能更强大,编码效率更高
修改文字式样,增加封面,修改页眉页脚 MDword 只需用 word 编辑软件调整母版,而 PHPWord 需要繁琐的去调整每个元素
可以自动生成目录
$TemplateProcessor =
new
WordProcessor();
$template =
'temple.docx'
;
$TemplateProcessor->load($template);
$TemplateProcessor->setValue(
'value'
,
'r-value'
);
//克隆并复制
$TemplateProcessor->clones(
'people'
,
3
);
$TemplateProcessor->setValue(
'name#0'
,
'colin0'
);
$TemplateProcessor->setValue(
'name#1'
, [
[
'text'
=>
'colin1'
,
'style'
=>
'style'
,
'type'
=>MDWORD_TEXT],
[
'text'
=>
1
,
'type'
=>MDWORD_BREAK],
[
'text'
=>
'86'
,
'style'
=>
'style'
,
'type'
=>MDWORD_TEXT]
$TemplateProcessor->setValue(
'name#2'
,
'colin2'
);
$TemplateProcessor->setValue(
'sex#1'
,
'woman'
);
$TemplateProcessor->setValue(
'age#0'
,
'280'
);
$TemplateProcessor->setValue(
'age#1'
,
'281'
);
$TemplateProcessor->setValue(
'age#2'
,
'282'
);
//图片复制
$TemplateProcessor->setImageValue(
'image'
, dirname(
__FILE__
).
'/logo.jpg'
);
//删除某行
$TemplateProcessor->deleteP(
'style'
);
$rtemplate =
__DIR__
.
'/r-temple.docx'
;
$TemplateProcessor->saveAs($rtemplate);
性能情况(统计脚本)
用时 (S)
写入器流式按行赋值时,对于值为 nil 的单元格将会跳过生成该单元格,相关 issue #756
获取超链接 GetCellHyperLink 函数支持读取合并单元格中的超链接
添加了新的导出类型 ChartType 以表示图表类型枚举
流式按行赋值时,若行号未递增将返回错误,以避免生成的工作簿损坏,相关 issue #1139
按行流式写入工作表时,支持通过指定 RowOpts 为单元格设置样式,相关 issue #1354
支持流式设置窗格,相关 issue #1047
表格的乘法语法 ( #8658 )。
Docx 阅读器:解析 LibreOffice 生成的文件中的图像替代文本。LibreOffice 标记图像与 Word 略有不同;此更改使解析在查找图像描述(替代文本)时考虑到该差异。
DocBook 阅读器:
DocBook 阅读器:
工具提示的统一外观(Windows, Linux)
窗口阴影效果(仅 Windows)
开始菜单和任务栏中的应用程序快捷方式 Jump List(任务)(Windows 7 及以后版本)
放弃第三方更新窗口,重
4, #1668, #698)
为了在导出到 html 时支持从右到左的语言,生成的 html 文本行不再是 LINE<br/> 而是 <p>LINE</p>
在导出到 pdf 时修复了指向 non ascii anchor name 的 node+anchor 的链接
修复在 Wndows 下导出到 pdf 的问题,node/node+