2

mvc4ここではrazorpdf、ビューを pdf に変換するために使用していますが、エラーが発生しています- Unable to cast object of type iTextSharp.text.Paragraph to type iTextSharp.text.Table

これは私が使用しているサンプルコードです:

    @{

    Layout = "~/Views/Shared/_PdfLayout.cshtml";
}
<html>
    <body>
        <table border="1" width='500' bordercolor="RED"><tr><td colspan="3" bgcolor="LightGreen" align="center" valign="top">SSLC Marks Sheet 2013</td></tr></table></body>
</html>
4

2 に答える 2

7

コードは を使用しているため_PdfLayout.chtml、html ではなく xml 形式で iTextSharp を使用してコードを記述する必要があります。body タグを削除し、 to を変更し、 <tr>to<row>を変更して<td>から、ここでテキスト<cell>を使用して各セル内にテキストを保持します。次に例を示します。<chunk></chunk>

<paragraph style="font-family:Tahoma;font-size:18;font-style:normal;"&
    <chunk style="font-weight:bold;">Customer Address Report</chunk>
</paragraph>
<table width="100%" cellpadding="0" cellspacing="0.5" widths="16;12;12;12;12;12;12;12" borderwidth="1.0" left="true" right="true" top="true" bottom="true" red="0" green="0" blue="0">
    <row>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;">Customer Name</chunk>
        </cell>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;">Address 1</chunk>
        </cell>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;" align="Center">Address 2</chunk>
        </cell>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;" align="Center">Address 3</chunk>
        </cell>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;" align="Center">City</chunk>
        </cell>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;" align="Center">State</chunk>
        </cell>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;" align="Center">Postal Code</chunk>
        </cell>
        <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true" horizontalalign="Center">
            <chunk style="font-size:10;font-weight:bold;" align="Center">Country</chunk>
        </cell>
    </row>
    @foreach (var item in Model)
    {
        <row>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.customerName)</chunk>
            </cell>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.addr1)</chunk>
            </cell>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.addr2)</chunk>
            </cell>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.addr3)</chunk>
            </cell>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.city)</chunk>
            </cell>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.state)</chunk>
            </cell>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.postalCode)</chunk>
            </cell>
            <cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">
                <chunk style="font-size:10;font-weight:normal;">@Html.DisplayFor(modelItem => item.country)</chunk>
            </cell>
        </row>
    }
</table>
于 2013-10-24T17:41:36.687 に答える