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

时间:2014-08-05 12:38:25

标签: c# css asp.net-mvc pdf itextsharp

我在MVC View中有一个表

<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>

我将此视图呈现为字符串,然后使用itextsharp将该字符串转换为此视图的pdf。 我想更改表格中第一列的宽度。我怎么能这样做,因为我不能对此应用任何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();

1 个答案:

答案 0 :(得分:0)

PdfPTable headertable = new PdfPTable(new float[] { 25, 50, 25 });
在计算中

100%