在c# mvc中使用itextsharp设置pdf表格的列宽

本文关键字:表格 pdf 设置 itextsharp mvc | 更新日期: 2023-09-27 18:16:33

我在MVC视图中有一个表

<table class="table" border="1">
        <tr>
            <th width="25%">
                <span><b>Statement Id</b></span>
            </th>
            <th width ="75%">
                <span><b>Statements</b></span>
            </th>
        </tr>
        <tr>
            <td width="25%">
                <span><b>1</b></span>
            </td>
            <td width ="75%">
                <span><b>Statement</b></span>
            </td>
        </tr>
</table>

我正在渲染这个视图的字符串,然后字符串到这个视图的pdf使用itextsharp。我想改变表中第一列的宽度。我怎么能做到这一点,因为我不能在此应用任何css。

这是我生成pdf 的代码
string htmlToConvert = RenderViewAsString("detailsPdfGenerate", row);
pdfPage page = new pdfPage();
iTextSharp.text.Document document = new iTextSharp.text.Document(iTextSharp.text.PageSize.LETTER);
document.SetMargins(100f,50f,70f,40f);
MemoryStream memStream = new MemoryStream();
iTextSharp.text.pdf.PdfWriter pdfWriter=iTextSharp.text.pdf.PdfWriter.GetInstance(document, memStream);
pdfWriter.PageEvent = page;
document.Open();
iTextSharp.text.html.simpleparser.StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
hw.Parse(new StringReader(htmlToConvert));
document.Close();

在c# mvc中使用itextsharp设置pdf表格的列宽

PdfPTable headertable = new PdfPTable(new float[] { 25, 50, 25 });

100%计算