javascript - 客户端pdf javascript插件,pdf支持多种语言

标签 javascript jquery html angularjs

我正在寻找一个可以生成 pdf 格式的 HTML 内容的插件(应该适用于 javascript/jQuery/AngularJS)。它也应该有多语言支持。

我尝试过以下两个,但这些插件也有其局限性:

  1. jsPDF:对 CSS 样式的支持较差。
  2. pdfMake:它支持多种语言,但必须指定要以该字体打印的内容。就我而言,这是不可能的。

Specific Issue: pdfMake does allows to style and it has support for languages too, but I have content coming from ng-model, where one can type both English and non-English characters. Through pdfMake, the non-English characters are blank, when downloaded.

最佳答案

如果您已经了解 Javascript,最强大的方法是使用 NodeJs 在服务器端进行操作。生成 PDF 是一件相当昂贵的事情,您不应该把这个负担交给用户。

如果您能够启动 NodeJS 服务器,我建议使用 PhantomJS 。它是一个强大的工具,可以对网页执行任何您想要的操作(还可以从网站上抓取和创建 png/jpeg)。

如果你必须在 html 中绑定(bind)值,你可以做两件事:

  • 等待所有 angularjs 框架加载完毕,然后将页面转换为 PDF
  • 使用更轻版本的数据绑定(bind)工具,例如 HandlebarMustache避免加载整个 Angular 库来打印 PDF

然后,如果您确实想在客户端执行此操作,您可以使用类似 Browserify 的内容允许您在浏览器中执行类似 NodeJs 的代码

我在我的一款产品中使用了这个解决方案,效果非常好

关于javascript - 客户端pdf javascript插件,pdf支持多种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42669669/

相关文章:

jquery - 单击导航图标停止/重置 <iframe> 视频

php - 验证浏览器要求和设置

javascript - 控件上的 OnChange 和 OnKeyUp

html - 隐藏电话: link on desktops

javascript - 与 DOM 相关的变量

javascript - 计算周一到周日两个日期之间的差异

javascript - 在 phonegap 中的 touchstart 和 touchend 事件旁边使用滚动

html - 移动 View 的顶部横幅未全宽呈现

javascript - 将下拉列表值从 View 传递到 Controller

javascript - querySelectorAll 选择子代但不选择孙代 Vanilla Javascript