PDFKit在python

时间:2015-07-07 12:18:14

标签: python pdf pdfkit

我需要从html表生成PDF,并且正在寻找一个允许使用完整CSS和制作pdf的html表的库。我试图用PDFKit做到这一点。我安装并测试了一些简单的示例,这些示例在其文档中进行了解释,但它确实有效文档链接:PDFKit

我有一些像这样的表,这是我想要转换为pdf的表:

 <form action="{{ url_for('patient_directory.make_pdf')}}" method="POST">
    <button id="download_s" type="submit" class="btn btn-success">Create PDF</button>
    <table class="patient-view-table" id="table_to_pdf">
      <thead>
        <tr>
          <th>Name</th>
          <th>Surname</th>
          <th>Sex</th>
          <th>Date of birth</th>
          <th>Diagnosis</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td class="property-value-col">{{ patient.name }}</td>
          <td class="property-value-col">{{ patient.surname }}</td>
          <td class="property-value-col">{{ patient.sex }}</td>
          <td class="property-value-col">{{ patient.date_of_birth }}</td>    
          <td class="property-value-col">{{ patient.diagnosis }}</td>
        </tr>
      </tbody>
    </table>
    </form>

在上面表格的表单动作中我调用了这个方法,我创建了一个路由方法:

mod_patient_directory.add_url_rule( '/pdf',methods=['GET', 'POST'])
def make_pdf(''):       
        pdfkit.from_string(table_to_pdf, 'example.pdf')

我的问题是,当我尝试生成pdf时,我不知道如何传递参数,例如,如何知道我想用id="table_to_pdf"生成pdf表?  有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

看起来您正在使用flask作为框架:

查看一些示例herehere

您可以将表单ID作为URL参数传递。

@app.route('/pdf/<formid>/', methods=['GET', 'POST'])
def make_pdf(formid):
    ...