从将网页导出为pdf时从代码中进行自定义

时间:2014-01-09 06:17:59

标签: c# asp.net css pdf

我只是想知道在从aspx网页导出到pdf时,是否有人会为我提供自定义网格视图和表格的链接?因为我不知道如何从代码背后设置它们,它看起来很糟糕。

我尝试在网格视图中添加边框,并将表格向右移动,但不起作用:

gvProduct.HeaderRow.Style.Add("width", "15%");
        gvProduct.HeaderRow.Style.Add("font-size", "10px");
        gvProduct.HeaderRow.ForeColor = System.Drawing.Color.Black;
        gvProduct.Style.Add("text-decoration", "none");
        gvProduct.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
        gvProduct.Style.Add("font-size", "6px");
        gvProduct.Style.Add("border-width", "5px");
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A3, 20f, 20f, 20f, 20f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();

        pdfDoc.Add(new Paragraph("Packaging Slip", titleFont));
        var benefitInfoTable = new PdfPTable(2);
        benefitInfoTable.HorizontalAlignment = Element.ALIGN_RIGHT;
        benefitInfoTable.SpacingBefore = 5;
        benefitInfoTable.SpacingAfter = 5;
        benefitInfoTable.DefaultCell.Border = 5;
        benefitInfoTable.SetWidths(new int[] { 1, 4 });

1 个答案:

答案 0 :(得分:0)

您需要创建ItextSharp样式表的新对象:

iTextSharp.text.html.simpleparser.StyleSheet styles = new       TextSharp.text.html.simpleparser.StyleSheet();

根据您的要求创建CSS,如下所示:

styles.LoadTagStyle("Your Class Name", "height", "30px");
 styles.LoadStyle("Your Class Name", "font-weight", "bold");

将StyleSheet对象分配给HTMLWorker对象,如下所示:

 HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
   htmlparser.SetStyleSheet(styles);

它可能对你有帮助。