【发布时间】:2014-12-24 16:44:09
【问题描述】:
我正在使用jsPDF,它使用html2canvas。 Here 就是一个例子。
根据this 的回答,我下载了 html2canvas 并开始在本地使用它来按照建议进行更改, 因为将颜色设置为其他建议的答案的选项对我不起作用。
另外,我注意到我的其他要求与 html2canvas 默认提供的不同。即使显示设置为none,我也需要能够生成 PDF 文件。
请注意我给出的示例,HTML Renderer (early stages) 选项适用于无显示,但渲染效果不佳。另一方面,我现在使用的addHTML() 会按原样呈现页面,但这意味着只呈现可见的内容。
这是 html2canvas 的默认方法来决定什么是可见的。
function isElementVisible(element) {
return (getCSS(element, 'display') !== "none" &&
getCSS(element, 'visibility') !== "hidden" &&
!element.hasAttribute("data-html2canvas-ignore"));
}
我评论了这一行:getCSS(element, 'visibility') !== "hidden",即使visibility: hidden,它也使我能够创建 PDF。然而,display: none 并非如此,即使该方法总是返回 TRUE。
如何实现?
【问题讨论】:
标签: javascript html2canvas jspdf