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

这里的技术是共享的

You are here

PHP Word文档生成器将HTML转换为DOCX第1部分:使用VS PHP Word HTML类或PHPDocX示例

许多PHP应用程序需要以Microsoft Word格式导出文档。但是,大多数PHP开发人员仅具有生成HTML网页的经验。

阅读本文以了解如何使用HTML模板快速创建Microsoft Word DOCX格式。



内容

使用PHP Word文档生成器解决方案

Word DOCX格式的简介使用PHP HTML到Word DOC转换

如何使用PHP创建文档文件将HTML转换为DOCX

使用VS PHP Word HTML类从HTML动态生成Word文档

从HTML包下载PHP到Word文档

 

使用PHP Word文档生成器解决方案

从Office 2007开始,保存Word文档的默认格式为.DOCX。不幸的是,我们都习惯使用DOC文件,但是从那时起,我们需要开始转换为与旧的编程方式不兼容的新格式。

幸运的是有一些简单的解决方案,如 Raskin Veniamin 的VS PHP Word HTML,可以让您从HTML中轻松创建DOCX Word文档。

Docx和PHP

Word DOCX格式的简介使用  PHP HTML到Word DOC转换

DOCX是“Office Open XML Document”,是由Microsoft开发的用于表示文字处理文档的压缩的基于XML的文件格式。

旧的(.doc)格式是一种专有的,大部分是未记录的格式,而.docx格式是一种开放标准。这样可以使用PHP进行更多内容控制,而无需在服务器上安装Microsoft Office。

用于XML操作的PHP功能非常强大,DOCX实际上是一个包含XML文件的ZIP存档。所以只需解压缩你的DOCX文件并开始做魔术。

除了阅读DOCX文件,我们还可以使用PHP做一个新的事情,它们可以轻松地写入文件。使用这篇文章,您将学习如何以多种方式使用PHP创建DOCX文件。

如何使用PHP创建文档文件将HTML转换为DOCX

自从DOCX推出以来,我们有几个解决方案可以用PHP来创建DOCX文件,这里有一些。

PHPWord

PHPWord包是一个库,可让您使用PHP 5.3+脚本动态创建DOCX文档。该图书馆的一个障碍是您需要学习如何构建DOCX文档的结构,它不像HTML代码。

DOMDocument,XSLTProcessor和ZipArchive

另一种方法是使用PHP和DOCX模板来完成所有操作。您将需要创建XML和XSLT文件,然后使用DOMDocument库加载它们。

然后使用XSLTProcessor扩展(需要在PHP中启用)处理样式。将其转换为OpenXML Word处理格式,然后将其复制到模板中并将其压缩。这里的问题是您需要创建一个模板,您需要在PHP5和XSLT中拥有非常好的知识。

PHPDocx

另一个解决方案是使用像PHPDocx这样的服务。它是一个基本上是一个称为商业API的库。一个问题,它是不是免费的。所以你总是需要支付。他们有几个包可以订阅,他们有很好的支持。

VS PHP Word HTML类

Vs PHP Word HTML  是由Raskin Veniamin创建的包,它允许您通过将HTML转换为.DOCX来动态创建文件DOCX。它赢得了2015年1月PHP创新奖

它是开源的,易于使用。本文将重点介绍这个库,因为它是最容易使用的。

使用VS PHP Word HTML类从HTML动态生成Word文档

使用Vs PHP Word类,它非常简单直接地生成DOCX文档。您只需包含VsWord库并创建一个HTML解析器对象。然后传递给解析器任何要添加到文档的HTML代码并将其保存为DOCX文件。

您还可以使用另一种方法,通过使用节点,您可以更好地控制样式和操作文本。您还可以创建添加分页符或添加模板和样式。你甚至可以像TinyMCE一样使用WYSIWYG HTML编辑器,并将结果保存为DOCX文件。
到 https://packagist.org/ 上面看看

一个简单的例子

<?PHP

require_once'../vsword/VsWord.php'; 

VsWord :: AUTOLOAD();

$ doc = new VsWord(); 
$ parser = new HtmlParser($ doc);
$ parser-> parse('<h1> Hello world!</ h1>');
$ parser-> parse('<h3> Hello world!</ h3>');
$ parser-> parse('<p> Hello world!</ p>');
$ parser-> parse('<h2>标题表</ h2> <table> <tr> <td> Coll 1 </ td> <td> Coll 2 </ td> </ tr> </ table>') ;
$ parser-> parse($ html);

echo'<pre>'($ doc-> getDocument() - > getBody() - > look())。'</ pre>'

$ doc-> saveAs('htmlparser.docx');

?>

从HTML包下载PHP到Word文档

您可能已经注意到,生成DOCX文档不能比使用VS PHP Word HTML提供的解决方案更简单。您只需重新使用已经用于生成HTML页面的组件和方法,并将生成的HTML传递给优秀的包。

要使用此软件包,您可以将其作为ZIP文件下载,或者使用PHP作曲家安装包装页面下载部分中的说明。

在本文的下一部分中,您将学习如何使用此类创建更复杂的文档。

同时,如果您喜欢这篇文章或有任何问题,请在此发表评论。

来自 https://www.phpclasses.org/blog/post/315-Create-Microsoft-Word-DOCX-files-from-HTML-in-PHP-Part-1-Si...
普通分类: