【问题标题】:Export div to pdf in js在js中将div导出为pdf
【发布时间】:2017-04-03 08:00:32
【问题描述】:

我有两个带有 id 的 div:element1element2

在这些 div 之间,有一个按钮。在这些 div 之后,还有一个带有 id 的按钮:pdf

在 div 中有一个表格和输入框。

    <div id="element1">
      Enter your name: <input><br>
      Enter your class: <input>
    </div>

    <button>Click on the button</button>

    <div id="element2">
      <table>
        <tr>
          <td>Name</td>
          <td>Class</td>
        </tr>
        <tr>
          <td><input></td>
          <td><input></td>
        </tr>
      </table>
    </div>

    <button id="pdf">Create pdf</button>

我是 JS 的初学者。现在,我想创建一个 pdf 文件,其中包含两个 div 的内容,不包括两个按钮。此外,pdf 文件必须包含在输入框中输入的值。 pdf 可以包含任何格式的 div 内容,例如 text 或 jpg。

请帮助我,因为我是初学者。我对 jspdf 进行了很多尝试,但它没有给我输出。

【问题讨论】:

    标签: javascript jquery html pdf jspdf


    【解决方案1】:

    jspdf 是正确的库。您可以做的是在将数据放入 pdf 之前对其进行操作。我认为您最好的选择是用或或您想要的任何元素替换输入。然后你可以建立你的pdf。我的选择是将它放在包装器中

    $('#pdf').click(function () {
        $('#PDFWrapper').find('input').each(function(){
            $(this).hide();
            $(this).after('<span>' + $(this).val() + '</span>');
        });
        $('#PDFWrapper').find('button').hide();
            
        var doc = new jsPDF();
        doc.fromHTML($('#PDFWrapper').html(), 10, 10, {
            'elementHandlers': {}
        });
        doc.save('download.pdf');
            
        $('#PDFWrapper').find('input').each(function(){
            $(this).show();
            $(this).next().remove();
        });
        $('#PDFWrapper').find('button').show();
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.3/jspdf.min.js"></script>
    <div id="PDFWrapper">
      <div id="element1">
        Enter your name: <input><br>
        Enter your class: <input>
      </div>
    
      <button>Click on the button</button>
    
      <div id="element2">
        <table>
          <tr>
            <td>Name</td>
            <td>Class</td>
          </tr>
          <tr>
            <td><input></td>
            <td><input></td>
          </tr>
        </table>
      </div>
    </div>
    
    <button id="pdf">Create pdf</button>

    【讨论】:

    • 它在 jsfiddle 中工作,但是当我将它粘贴到记事本中时,它不起作用。请给我这里使用的插件列表。
    • 1.检查您是否将引用放入 标签 2. 检查您是否将 java 脚本代码放入 包装它
    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 2014-03-15
    • 2011-08-20
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多