1

次のコードがあります。次のように動的にするにはどうすればよいですか:
- セル幅をハードコーディング/指定する
必要はありません - HTML セルは「フロー可能」である必要があります。つまり、セルの長さはデータのサイズに応じて自動的に調整されます。「ワードラップ」も適用する必要があります-
列の数はさまざまです
-データベーステーブルからデータを取得し、htmlに変換してテーブルをPDFに書き込むことができます

検索してみましたが、PyFDF はその http://python.6.n6.nabble.com/PyFPDF-1-54b-HTML-rendering-templates-and-web2py-integration-td2120415.htmlをサポートしているようです が、 web2py を使用する必要があるようです。Web フレームワークを使用せずにそれを行う方法はありますか?

import fpdf as pyfpdf
from fpdf import FPDF, HTMLMixin

class MyFPDF(FPDF, HTMLMixin):
    pass

pdf=MyFPDF()

#First page
#pdf = pyfpdf.FPDF(format='letter')
pdf.add_page()
#set the font
pdf.set_font("Arial", size=10)

#define the html text
html = """<H1 align="center">Summary of Transactions</H1>
<h3>Date:</h3>
<h3>Branch:</h3>"""
html += """
<table border="1" align="center" width="100%">
<thead><tr><th width="20%">Date of Transaction</th><th width="20%">Name of Customer</th><th width="20%">Address</th><th width="20%">Contact Number</th><th width="20%">Status</th></tr></thead>
<tbody>
<tr><td>cell 1hgjhh jhjhjk jhjfsafsafsafsaf</td><td>cell 2</td><td>cell 3</td><td>cell 4</td><td>cell 5</td></tr>
<tr><td>cell 1</td><td>cell 2</td><td>cell 3</td><td>cell 4</td><td>cell 5</td></tr>
"""
html += '<tr><td>' + 'data' + '</td><td>' + 'data' +'</td> <td>' + 'data' +'</td> <td>' + 'data' +'</td><td>' + 'data' +'</td></tr>'
html += """</tbody></table>"""

#write the html text to PDF
pdf.write_html(html)
pdf.output('html.pdf','F')

私が達成しようとしているのは、https://code.google.com/p/pyfpdf/wiki/Web2Pyのlistings.pdfデモに似ています

4

1 に答える 1

0

役立つかどうかはわかりませんが、PyfPDF テンプレートをチェックしてみてください。

于 2013-03-16T16:32:30.173 に答える