javascript - jsPDF fromHTML() 不显示 HTML

标签 javascript jspdf

我正在使用一个简单的 javascript。 我使用的是 jsPDF 库,但脚本加载了一个空白的 pdf。

这是代码:

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title>fromHTML EX</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta name="generator" content="Geany 1.22" />

    <script type="text/javascript" src="/root/utils/jquery-1.11.2.min.js"></script>
    <script type="text/javascript" src="/root/utils/jsPDF-master1/jspdf.plugin.standard_fonts_metrics.js"></script>
    <script type="text/javascript" src="/root/utils/jsPDF-master1/jspdf.plugin.split_text_to_size.js"></script>

    <script type="text/javascript" src="/root/utils/jsPDF-master1/js/basic.js"></script>
    <script type="text/javascript" src="/root/utils/jsPDF-master1/jspdf.js"></script>
    <script type="text/javascript" src="/root/utils/jsPDF-master1/jspdf.plugin.from_html.js"></script>

  <script type="text/javascript">
    function PDF1(){
    var doc = new jsPDF();          
    var elementHandler = {
    '#ignorePDF': function (element, renderer) {
    return true;
    }
    };
    var source = window.document.getElementsByTagName("body")[0];
    doc.fromHTML(
        source,
        15,
        15,
        {
        'width': 180,'elementHandlers': elementHandler
        });

    doc.output("datauri");
    }

    PDF1()
  </script>

</head>

 <body>
     ASDSADASDASDSA
      <div>
    <p id="ignorePDF">don't print this to pdf</p>

      <p><font size="3" color="red">print this to pdf</font></p>
    </div>




  </body>


</html>

我已经尝试将调用函数放在页面底部,但它仍然不起作用。 有人可以帮助我吗?

最佳答案

因为您正在使用 jQuery 尝试:

$( document ).ready(function() {
  //console.log( "ready!" );
  PDF1();
});

另请注意:您可以使用(不是必需的):

var source = $("body")[0];

用于测试的代码页

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>fromHTML EX</title>
  <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  <meta name="generator" content="Geany 1.22" />

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script src="https://parall.ax/parallax/js/jspdf.js"></script>

  <script type="text/javascript">
  function PDF1(){
    var doc = new jsPDF();
    var elementHandler = {
      '#ignorePDF': function (element, renderer) {
        return true;
      }
    };
    var source = window.document.getElementsByTagName("body")[0];
    doc.fromHTML(
      source,
      15,
      15,
      {
        'width': 180,'elementHandlers': elementHandler
      });

      doc.output("datauri");
    }

    $( document ).ready(function() {
      //console.log( "ready!" );
      PDF1();
    });
</script>

  </head>

  <body>
    ASDSADASDASDSA
    <div>
      <p id="ignorePDF">don't print this to pdf</p>

      <p><font size="3" color="red">print this to pdf</font></p>
    </div>




  </body>
  </html>

关于javascript - jsPDF fromHTML() 不显示 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29217739/

相关文章:

javascript - JSON.parse 与 eval()

javascript - 在 ionic 2 应用程序中打开 PDF 文件

reactjs - React 将 Div 和 Table 组件转换为具有多个页面和 CSS 的 PDF

javascript - 在autotable之前添加div内容

javascript - 使用 javascript 自动引用

javascript - Jquery - 嵌套循环中的 $(this)

javascript - 为什么从其他网站返回时会留下最后一个哈希值,同时显示第一个哈希值的内容?

javascript - 在 es6 中使用 jsPDF 和 html2canvas

javascript - 如何使用 jspdf 增加 pdf 大小

javascript - if 条件满足但不适用(模)