【问题标题】:how to export table html table to PDF?如何将表格html表格导出为PDF?
【发布时间】:2016-03-28 11:42:46
【问题描述】:

我需要有关将 DIV 导出为 PDF 的帮助。

我已经尝试过使用: -itext 到后端(java)但不渲染 CSS; -html2canvas 转换 DIV 图像和 JSPDF 将图像添加到 PDF ,这个方案 funcinou 但仅适用于 google chorme 和 IE 11 ,我还需要在 IE 9 和 10 中工作。有什么提示吗?

【问题讨论】:

  • 从浏览器屏幕获取某些内容到 pdf 文件非常困难,尤其是当它必须适用于所有浏览器时。您确定需要这样做吗?
  • 早上好,感谢您的回复!对不起我的谷歌翻译的“英语”,几周前我已经绞尽脑汁试图让它适用于 IE,你知道还有其他方法可以将 DIV 导出为 PDF 吗? (我真的需要让它工作)
  • 不,我不知道。 :( 如果你不能让它在所有浏览器上都使用 jsPDF,那么我认为你只需将 pdf 中所需的数据发送回后端,然后重做所有的外观/布局那里的东西使它看起来不错。

标签: javascript html pdf


【解决方案1】:

有一个名为jsPDF 的Javascript 库,它是客户端的PDF 文件。他们还有examples 演示如何使用该库。他们有一个名为 addHTML() 的示例,这可能是您正在寻找的。​​p>

在你的情况下,你可能想做这样的事情:

pdf.addHTML(document.getElementById('DIV_ID'),function() {
    var string = pdf.output('datauristring');
    $('.preview-pane').attr('src', string);
});

在示例页面上,他们写道 IE6+、Firefox 3+、Chrome、Safari 3+ 和 Opera 应该可以工作。

【讨论】:

  • 感谢您的回复!我已经尝试使用 jsPDF 但在 IE 9 中我收到错误“ArrayBuffer is undefined”
  • @sergioBertolazo 您能否包含完整的错误消息。也许有一些东西可以帮助我弄清楚可能出了什么问题。是jsPDF源代码错误还是你的应用程序源代码错误?
  • @sergioBertolazo 也许this 是同样的问题。
  • 是的@Jacob,是同样的错误,我会尝试这个解决方案谢谢!
【解决方案2】:

IE 9 不支持 jsPDF。jsPDF 使用 Downloadify 解决了这个问题,但它不再受支持。您可以使用许多 polyfill,但它们仍在修补中(例如Blob.js)。

从个人经验来看,我从来没有让 jsPDF 在 IE 9 中工作。如果你真的需要支持 IE 9,那么值得一试,但请注意,你将不得不使用多个 polyfill。

以下是我遇到的具体问题 - IE 9 不支持 jsPDF 使用的以下内容:

  • Blob(使用 Blob.js)
  • atob/btoa
  • console.trace(只需删除调用)
  • 类型化数组(试试this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多