6

我需要将 html 文件转换为 doc。我正在使用 html2pdf 进行 pdf 转换。

html2doc 是否有任何相同类型的库?

(PS 必须是免费/开源的)

编辑

在 Mark Eirich 发表评论后..

这是两个屏幕截图。Word 文档未正确对齐。检查 word 文档中的 y-scroll。 WORD文档,检查y滚动..

html文件,在浏览器..

身体标签是:--

<body style="margin-left:350px; margin-right:350px;">

我试图调整它但没有效果..

编辑 2

在 Mark Eirich 发表第二条评论后,我才知道这个词是以像素为单位的,而不是 %age 。区别在于外箱。那就是 html 生成的文档看起来很奇怪。

原word文件

html生成的doc文件

4

2 回答 2

5

IMO 的答案是否定的,原因如下:

Microsoft Office Documents 的设计方式极其复杂,不仅有一个引用图像等对象的格式化文件,它本身还有一个 od 文件系统来管理这些对象的二进制数据。

让我引用我们自己的乔尔的话:

如果您开始阅读这些文档,希望花一个周末编写一些漂亮的代码,将 Word 文档导入您的博客系统,或者使用您的个人财务数据创建 Excel 格式的电子表格,那么规范的复杂性和长度可能会解决您的问题渴望很快。普通程序员会得出结论,Office 的二进制文件格式:

  • 被故意混淆
  • 是一个疯狂的博格头脑的产物
  • 是由非常糟糕的程序员创建的
  • 并且无法正确读取或创建。

你在这四个方面都错了......

进一步阅读以获取可能的解决方案:

如果您真的想生成格式精美的 Word 文档,最好的办法是创建一个 RTF 文档。Word 可以做的所有事情都可以用 RTF 表示,但它是一种文本格式,而不是二进制格式,因此您可以在 RTF 文档中更改内容,它仍然可以工作。您可以在 Word 中创建带有占位符的格式良好的文档,另存为 RTF,然后使用简单的文本替换,即时替换占位符。现在您有了一个 RTF 文档,每个版本的 Word 都可以愉快地打开。

@来源:http : //www.joelonsoftware.com/items/2008/02/19.html

您在旅途中可能会感兴趣的一些链接:

虽然,尝试用winrar打开一个word文件;),也许创建一个带有某些标题的存档然后更改扩展名就足够了,从未尝试过

于 2011-02-12T21:13:28.387 回答
1

为了转换为 Microsoft Word,您需要启用 COM 的服务器(在其上运行 Windows 和 Office)。如果你有这样的服务器

$word = new COM("word.application") or die ("couldnt create an instance of word"); 

应该管用!。阅读http://php.net/manual/en/book.com.php了解详情。

否则,您对 html2doc 的最佳选择是 html2rtf,它是通过诸如http://paggard.com/projects/rtf.generator/http://sourceforge.net/projects/phprtf/之类的库实现的。

然后在您创建 RTF 后,您将其提供给带有 doc 标头的浏览器

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=document_name.doc");

如果用户有单词,那么它将打开以处理文件。

也可以将 rtf 保存为 doc,并且 word 将在布局视图中打开而没有任何抱怨。您也可以使用上述标题提供 HTML,但问题是 Word 将在 Web 视图中打开,这很糟糕 :)

于 2011-02-12T00:30:06.880 回答