我已经开始使用jspdf制作一些演示了。我有一个html文件,我的css在外部文件中。
我已经编写了以下代码来生成我的pdf
$('#pdfButton').on('click', function(){
var pdf = new jsPDF('p','in','letter')
, source = $('#main')[0]
, specialElementHandlers = {
'#bypassme': function(element, renderer){
return true
}
}
pdf.fromHTML(
source // HTML string or DOM elem ref.
, 0.5 // x coord
, 0.5 // y coord
, {
'width':700 // max width of content on PDF
, 'elementHandlers': specialElementHandlers
}
)
pdf.output('dataurl');
});
});
其中 main 是我要将其内容导出为pdf的div的ID。 内容导出为pdf但不是整个内容(pdf被剪切)。它可以是动态内容。此外,我在外部文件中的css没有得到应用, table-row ,background-color等样式也没有得到应用。
如何在生成之前将我的外部css应用于pdf? 甚至可以使用jsPDF ..?请提出任何建议。
提前致谢
答案 0 :(得分:7)
据我所知,jsPDF没有采取外部CSS。它实际上甚至不采用内联css。目前不适合使用jspdf将html转换为pdf。
希望这有帮助。
答案 1 :(得分:1)
请记住,当您使用HTML格式化PDF时,它实际上是将它们打印到文件中。这意味着你需要理想地创建一个打印样式表,但也要记住,打印样式表意味着它忽略了背景颜色之类的东西。解决这个问题的方法是在打印样式表中使用背景图像作为颜色。
另见本文http://css-tricks.com/dont-rely-on-background-colors-printing/
希望有所帮助