如何使用 php 将 docx 文档转换为 html?
我希望能够上传 MS Word 文档并将其导出到我网站中的页面。
有什么办法可以做到这一点吗?
I want to be able to upload an MS word document and export it a page in my site.
Is there any way to accomplish this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
ZipArchive 和 DOMDocument 均位于 PHP 内部,因此您无需安装/包含/需要其他库。
ZipArchive and DOMDocument are both inside PHP so you don't need to install/include/require additional libraries.
可以使用 PHPDocX。
它支持几乎所有 HTML CSS 样式。此外,您还可以通过
replaceTemplateVariableByHTML
使用模板向 HTML 添加额外的格式。PHPDocX 的 HTML 方法还允许直接使用 Word 样式。您可以使用如下内容:
$docx->embedHTML($myHTML, array('tableStyle' => 'MediumGrid3-accent5PHPDOCX'));
如果您希望所有表格都使用 MediumGrid3 -accent5 字样式。 embedHTML 方法及其模板版本 (
replaceTemplateVariableByHTML
) 保留继承性,这意味着您可以使用预定义的 Word 样式并使用 CSS 覆盖其任何属性。您还可以使用“JQuery 类型”选择器提取 HTML 的选定部分。
One may use PHPDocX.
It has support for practically all HTML CSS styles. Moreover you may use templates to add extra formatting to your HTML via the
replaceTemplateVariableByHTML
.The HTML methods of PHPDocX also allow for the direct use of Word styles. You may use something like this:
$docx->embedHTML($myHTML, array('tableStyle' => 'MediumGrid3-accent5PHPDOCX'));
If you want that all your tables use the MediumGrid3-accent5 Word style. The embedHTML method as well as its version for templates (
replaceTemplateVariableByHTML
) preserve inheritance, meaning by that that you may use a predefined Word style and override with CSS any of its properties.You may also extract selected parts of your HTML using 'JQuery type' selectors.
这是基于 David Lin 上面的答案的解决方法
删除 docx 的 xml 标签中的“w:”,留下类似 Html 的标签
this is a workaround based on David Lin's answer above
removing "w:" in a docx's xml tags leave behing Html like tags
好吧,我来得很晚,但我想我会发布这个来节省大家的时间。
这是我编写的一些 php 代码,不仅可以从 docx 读取文本,还可以读取图像,目前它不支持浮动图像/文本,但到目前为止我所做的是对已经发布的内容的巨大进步此处 - 请注意,您需要将 https://example.co.uk 更新为您的域名。
Ok Im in very late, but thought I'd post this to save you all some time.
This is some php code I have put together not just to read the text from docx but the images too, currently it does not support floating images / text, but what I have done so far is a massive move forwards to whats already been posted on here - note you need to update https://example.co.uk to YOUR domain name.
您可以使用 Print2flash 库将 Word docx 文档转换为 html。以下是我客户站点的 PHP 摘录,它将文档转换为 html:
它将 $wordfile 变量中指定路径的文档转换为 $htmlFile 变量指定的 html 页面文件。所有格式、超链接和图表均被保留。您可以从 Print2flash SDK 获取所需的 const.php 文件以及更完整的示例。
You can convert Word docx documents to html using Print2flash library. Here is an PHP excerpt from my client's site which converts a document to html:
It converts a document which path is specified in $wordfile variable to a html page file specified by $htmlFile variable. All formatting, hyperlinks and charts are retained. You can get the required const.php file altogether with a fuller sample from Print2flash SDK.