从code定制导出时网页,PDF背后 [英] Customization from code behind when exporting web pages to pdf

查看:98
本文介绍了从code定制导出时网页,PDF背后的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道是否有人会为我从ASPX网页导出为PDF时定制我的网格视图和表中的任何链接?因为我不知道如何从背后code他们的风格,它看起来可怕。任何帮助将是AP preciated。

先谢谢了。

我试图边框添加到我的网格视图和改变我的表一致的权利,但它不工作:

  gvProduct.HeaderRow.Style.Add(宽度,15%);
        gvProduct.HeaderRow.Style.Add(FONT-SIZE,10px的);
        gvProduct.HeaderRow.ForeColor = System.Drawing.Color.Black;
        gvProduct.Style.Add(文字装饰,无);
        gvProduct.Style.Add(FONT-FAMILY,宋体,黑体,无衬线;);
        gvProduct.Style.Add(FONT-SIZE,6个像素);
        gvProduct.Style.Add(边框宽度,5像素);
        StringReader SR =新StringReader(sw.ToString());
        文档pdfDoc =新的文档(PageSize.A3,20F,20F,20F,20F);
        HTMLWorker的HTMLParser =新HTMLWorker(pdfDoc);
        PdfWriter.GetInstance(pdfDoc,Response.OutputStream);
        pdfDoc.Open();        pdfDoc.Add(新段(包装滑,titleFont));
        变种benefitInfoTable =新PdfPTable(2);
        benefitInfoTable.Horizo​​ntalAlignment = Element.ALIGN_RIGHT;
        benefitInfoTable.SpacingBefore = 5;
        benefitInfoTable.SpacingAfter = 5;
        benefitInfoTable.DefaultCell.Border = 5;
        benefitInfoTable.SetWidths(新INT [] {1,4});


解决方案

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

  iTextSharp.text.html.simpleparser.StyleSheet风格=新TextSharp.text.html.simpleparser.StyleSheet();

创建CSS按您的要求如下:

  styles.LoadTagStyle(您的类名称,高度,30像素);
 styles.LoadStyle(您的类名称,字体重量,大胆);

指定stylesheet对象,以HTMLWorker对象,如下:

  HTMLWorker的HTMLParser =新HTMLWorker(pdfDoc);
   htmlparser.SetStyleSheet(样式);

它可以帮助你。

I just wonder if anybody would provide any links for me to customize my grid view and table when exporting from aspx webpages to pdf? Because I have no idea how to style them from code behind and it looks terrible. Any help would be appreciated.

Thanks in advance.

I tried to add border to my grid view and shift my table aligned to the right but it does not work:

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 });

解决方案

You need to create new object of ItextSharp Style sheet:

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

Create CSS as per your requirement as below:

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

Assign the StyleSheet Object to HTMLWorker Object as Below:

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

It may help you.

这篇关于从code定制导出时网页,PDF背后的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆