【问题标题】:Converting HTML + Javascript to Word/OpenOffice document programatically以编程方式将 HTML + Javascript 转换为 Word/OpenOffice 文档
【发布时间】:2013-09-12 07:44:54
【问题描述】:

如何在服务器上将带有 JS 绘制的画布的整个 HTML 页面转换为可编辑的格式?

我的网络应用程序生成带有一些基本 HTML + CSS 和 Flot 图表的页面(基本上使用 JavaScript 绘制 canvas HTML 标签)。我可以使用wkhtmltopdf 将它们转换为 PDF,效果很好,但是我无法找到将它们转换为 MS Word、OpenOffice Writer 和/或 LibreOffice Writer 可以识别的格式的方法。

P.S.:我见过this question,但它只适用于原始 HTML(没有 JS)。

【问题讨论】:

  • 画布上绘制的内容通常是某种图形。为什么不将其导出为图形格式而不是某些办公文件类型?
  • @feeela:不是真正的重复 - 最初的问题是关于导出整个页面,而不仅仅是画布。感谢您的建议,我有相同的想法,但在这种情况下很难实现(我正在做转换服务器端)所以我宁愿使用转换工具。我将更新问题以反映这一点。
  • 好吧,另一方面,PDF 是一种可编辑的格式——你只需要像 Acrobat 这样合适的软件
  • 是的,但它不能被 MS Word 和/或 OO Writer 编辑(从技术上讲,PDF 可以导入到 OO Draw 并在那里进行编辑,但在这种情况下这还不够)。不过感谢您的建议,通过命令行将 PDF 转换为 DOC/RTF/ODT 也可以,我只是找不到合适的实用程序。

标签: javascript php html canvas doc


【解决方案1】:

您可以尝试phpword 库。

主要功能包括:

主要特点

-插入和格式化文档部分 -插入和格式化文本元素 - 插入文本中断 - 插入分页符 -插入和格式化图像和二进制 OLE 对象 - 插入和格式化水印(新) - 插入页眉/页脚 -插入和格式化表格 -插入本地标题和目录 -插入和格式化列表元素 - 插入和格式化超链接 - 非常简单的模板系统(新)

由于它支持格式图像和二进制对象,这意味着您也可以将您的html图表转换为word文档。

这里是关于如何使用库的详细documentation

希望这可以解决您的问题。祝你好运!

【讨论】:

    【解决方案2】:

    谷歌上的快速搜索给了我这个http://www.phpdocx.com/ 从来没有用过,所以我不知道它的效果如何。 在文档中,您可以读到它能够在最终的 doc 文件中嵌入图像标签。 http://www.phpdocx.com/documentation/html-to-word-PHP

    我不知道 phpdocx 是否可以处理 html5 画布元素,但如果不能,您总是可以借助 toDataURL 函数将画布元素转换为简单的图像标签。

    【讨论】:

    • 谢谢,这似乎是一个不错的库——不过,在我们的案例中,许可证有点限制(更不用说昂贵了:)。
    【解决方案3】:

    感谢大家的回答!最后我让它与PhantomJS(自定义脚本将JS生成的部分转换为图像)和Pandoc(将生成的HTML转换为DOCX)一起工作。

    【讨论】:

    • 您的问题是否有 PhantomJS 和 Pandoc 用法的示例?我知道这是旧的
    猜你喜欢
    • 2011-10-10
    • 2012-07-11
    • 2022-10-11
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多