2

我已经开始使用 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 没有得到应用,表格行、背景颜色等样式也没有得到应用。

如何在生成 pdf 之前将我的外部 css 应用于 pdf?jsPDF ..甚至可以吗?请有任何建议。

提前致谢

4

2 回答 2

7

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

希望这可以帮助。

于 2013-12-24T07:52:06.340 回答
1

请记住,当您在 HTML 中对内容进行 PDF 处理时,本质上是将它们打印到文件中。这意味着您需要理想地创建打印样式表,但也要记住打印样式表意味着它会忽略背景颜色等内容。解决这个问题的方法是在您的打印样式表中有一个背景图像,它是颜色。

另见这篇文章,http://css-tricks.com/dont-rely-on-background-colors-printing/

希望有帮助

于 2013-12-03T13:08:47.800 回答