使用JavaScript将docx/odt转换为PDF
Converting docx/odt to PDF using JavaScript
我有一个节点web应用程序,需要将docx文件转换为pdf(仅使用客户端资源,不使用插件(。我找到了一个可能的解决方案,使用docxjs将我的docx转换为HTML,然后使用jspdf将HTML转换为PDF(docx->HTML->PDF(。这个解决方案可以实现,但我遇到了几个问题,尤其是在渲染方面。我知道docxjs在HTML中的呈现方式与docx文件不同,所以这是一个问题。。。
所以我的问题是,你知道有什么免费的模块/解决方案可以直接完成这项工作而不需要经过HTML(我也对odt作为源代码持开放态度(吗?如果没有,你建议我怎么办?
感谢
正如您已经知道的,没有现成的可供使用和打开的库。。使用现有的变体无法获得良好的结果。我的建议是:
- 使用第三方API。喜欢https://market.mashape.com/convertapi/word2pdf-1#!文件
-
为此创建您自己的服务。如果你有这样的能力,我建议你在node.js上创建一个小型服务器(我打赌你知道怎么做(。你可以使用Libreoffice作为一个良好的转换器,具有良好的渲染质量,如下所示:
libreoffice -headless -invisible -convert-to pdf {$file_name} -outdir /www-disk/
不要忘记,这通常需要花费大量时间,不要阻塞请求-回答流:对每个转换操作使用单独的过程。
还有最后一件事。Libreoffice不是很轻,但质量很好。您还可以找到著名的
unoconv
工具。
截至2019年1月,有docx-wasm,它在node中工作,并在安装node的本地执行转换。专有但免费增值。
看来,即使三年后,nChen也没有找到答案。也不清楚它是否必须是一个免费的(以美元计(解决方案。
最初的要求是:
仅使用客户端资源,不使用插件
你的意思是你不希望服务器端转换?是的,我希望我的应用程序是完全自主的。
由于所有其他答案/评论都只提供了服务器端组件解决方案,而作者明确表示这不是他们想要的,因此这里有一个建议的答案。
我工作的公司已经有了这种解决方案几年了,它可以在浏览器中完全将DOCX(还不是odt(文件转换为PDF,不需要服务器端组件。目前,它使用asm.js/PNaCl/WAM,具体取决于所使用的浏览器。
https://www.pdftron.com/samples/web/samples/viewing/viewing/
使用上面的演示打开一个办公室文件,你会看到没有服务器通信。一切都是客户端完成的。这个演示也适用于移动浏览器。
- 将画布转换为pdf:黑色背景
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 将网页转换为具有样式的pdf
- 如何在使用jsPDF将html转换为pdf的同时,在pdf中的某个点进行分页
- 如何将带有大量svg图表的html转换为pdf
- PDF到JPG的转换器
- 如何使用javascript或jquery将整个html页面转换为pdf
- c# mvc nreco HtmlToPdfConverter 问题将 html 文档转换为 pdf
- 使用 php 将 pdf 文件转换为 html 文件
- HTML到PDF的转换仅在客户端使用JavaScript
- 我们如何将URL的PDF转换为convert.javascript中的ToBase64String
- 将数据库中的数据转换为可下载的PDF文件
- HTML和CSS转换为JavaScript中的PDF
- 将Markdown文件转换为PDF,同时剥离Jekyll Front Matter
- 谷歌应用程序脚本:将文本文档转换为PDF的代码
- 谷歌应用程序将电子邮件表单脚本转换为PDF格式,但希望清除一些单元格
- Java使用css+js将html转换为pdf
- 如何使用javascript将Html页面转换为PDF
- 如何使用pdfmake将html表格转换为pdf
- JSPDF添加黑色背景转换PDF