【问题标题】:Customization from code behind when exporting web pages to pdf将网页导出为 pdf 时从后面的代码自定义
【发布时间】:2014-01-27 13:45:41
【问题描述】:

我只是想知道在从 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 });

【问题讨论】:

    标签: c# asp.net css pdf


    【解决方案1】:

    您需要创建 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);
    

    也许对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      相关资源
      最近更新 更多