ボタンをクリックすると、HTMLファイルを読み取ってPDFに変換する必要があります。PDFは問題なく生成されています。ただし、PDFに変換すると、テーブルの列の幅は均等に分散されます。ただし、テーブルの合計サイズ(540)の70%を占めるには、テーブルの最初の列が必要です。
これどうやってするの?
Template.html:
<table runat="server" id="header" border="3" width="540">
<tr>
<td style="width:70%; text-align: center; font-weight: bold;">
<strong>Test Specification </strong>
</td>
<td style="width:10%; text-align: center; font-weight: bold;">
<strong>GST </strong>
</td>
<td style="width:10%; text-align: center; font-weight: bold;">
<strong>Service </strong>
</td>
<td style="width:10%; text-align: center; font-weight: bold;">
<strong>Amount </strong>
</td>
</tr>
</table>
ボタンをクリックしてHTMLをPDFに変換します:
protected void Button1_Click(object sender, EventArgs e)
{
String htmlText = System.IO.File.ReadAllText(Request.PhysicalApplicationPath + "\\Template.htm");
Document document = new Document();
PdfWriter.GetInstance(document, new FileStream(Request.PhysicalApplicationPath + DateTime.Now.ToString("ddMMyyyy") + "_" + DateTime.Now.ToString("HHmmss tt") + ".pdf", FileMode.Create));
document.Open();
iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
hw.Parse(new StringReader(HTML));
document.Close();
StringBuilder sb = new StringBuilder();
sb.Append(HTML);
}