Как увеличить высоту таблицы из кода за файлом в ASP.Net при использовании StringWriter? - PullRequest
0 голосов
/ 22 июля 2011

Я создаю один PDF-файл из файла с кодом, используя StringWriter и HtmlTextWriter.Код приведен ниже:

System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView gv = new GridView();
gv.BorderStyle = BorderStyle.None; 
gv.DataSource = dt2;
gv.DataBind();
gv.RenderControl(hw);
string str = sw.ToString();
string str1 = "<table width='100%' border='1'><tr><td><img src='" + Server.MapPath("App_Themes/Ribo/ribologo.bmp") + "' alt='' width=75px height=75px /></td><td align='center' colspan='8' font size='3'><h2><b>MATERIAL RECEIPT CUM INSPECTION REPORT(MRIR)</b></h2</td></tr>";
str1 += "<tr><td font size='3'>MRIR NO</td><td font size='3'>Date</td><td align='center' font size='3'>JOB DESCRIPTION</td><td font size='3'>SUPPLIER NAME</td><td font size='3'>DC NO</td><td font size='3'>DATE</td><td font size='3'>LWB NO/DATE</td><td font size='3'>INVOICE NO</td><td font size='3'>DATE</td></tr>";
str1 += "<tr><td font size='3'>" + txtMRVNumber.Text + "</td><td font size='3'></td><td font size='3'></td><td font size='3'>" + TDSSVendor.Text + "</td><td font size='3'>" + txtDCNumber.Text + "</td><td font size='3'></td><td font size='3'>" + txtLWBNo.Text + "</td><td font size='3'>" + txtInvoiceNo.Text + "</td><td font size='3'></td></tr>";
str1 += "<tr><td rowspan='2' font size='3'>DESCRIPTION</td><td font size='3' colspan='2' align='center'>SIZE(mm)</td><td colspan='6'></td></tr>";
str1 += "<tr><td font size='3' colspan='2'>" + sw + "</td><td colspan='6'></td></tr></table>";           

if (str.StartsWith("<div>"))
{
    str = str1;
}
System.IO.StringReader sr = new System.IO.StringReader(str);
iTextSharp.text.Document pdfDoc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A3.Rotate(), 40f, 10f, 40f, 2f);
iTextSharp.text.html.simpleparser.HTMLWorker htmlparser = new iTextSharp.text.html.simpleparser.HTMLWorker(pdfDoc);
iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, Response.OutputStream);

Здесь я сгенерировал желаемый PDF.Но таблица отображается в верхней части PDF.Поэтому я хочу, чтобы отображение в центре PDF, а также я хочу увеличить высоту таблицы.Как это сделать?

Я пробовал, как показано ниже:

 string str1 = "<table **height='100%'** width='100%' border='1'><tr>.....

Но он отображается так же.Как увеличить высоту стола?Мне нужны все ваши предложения, пожалуйста.

Ответы [ 2 ]

1 голос
/ 22 июля 2011

Одно это не сделает.Вы можете обернуть сгенерированный файл .pdf в другую таблицу (1 строка, 1 столбец) и поместить эту таблицу в единственный TD новой таблицы, а затем просто выровнять по вертикали (valign = 'middle') включающий TD.

Это единственный способ, которым я знаю, как делать то, что вы просите, хотя я не знаю, сработает ли это для вас:

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>Untitled Page</title>

<!-- Put this on your presentation page -->
            <style type="text/css">
                html, body {
                    margin: 0;
                    padding: 0;
                    height: 100%;
                    border: none;
                }
            </style>
        </head>
        <body>
            <table style="height: 100%" width="100%" align="center">
                <tr>
                    <td valign="middle" align="center">


                        <table>
                            <tr>
                                <td valign="middle">
                                <!-- Embed your .pdf here -->
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </body>
        </html>
0 голосов
/ 22 июля 2011

от взятия высоты таблицы вы можете установить параметр ниже конструктора класса Document.

Dim doc As Document = New Document(PageSize.A4, 1, 0, 0, 30)

Надеюсь, это поможет вам ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...