外部css是否应用于jsPDF生成的pdfs

时间:2013-12-03 10:50:29

标签: javascript html css jspdf

我已经开始使用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 ..?请提出任何建议。

提前致谢

2 个答案:

答案 0 :(得分:7)

据我所知,jsPDF没有采取外部CSS。它实际上甚至不采用内联css。目前不适合使用jspdf将html转换为pdf。

希望这有帮助。

答案 1 :(得分:1)

请记住,当您使用HTML格式化PDF时,它实际上是将它们打印到文件中。这意味着你需要理想地创建一个打印样式表,但也要记住,打印样式表意味着它忽略了背景颜色之类的东西。解决这个问题的方法是在打印样式表中使用背景图像作为颜色。

另见本文http://css-tricks.com/dont-rely-on-background-colors-printing/

希望有所帮助