加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何在将GridView导出为PDF后更改iTextSharp中的默认

发布时间:2020-12-16 07:38:33 所属栏目:asp.Net 来源:网络整理
导读:我在以下链接中使用iTextSharp方法将GridView导出为PDF文档: http://www.aspsnippets.com/Articles/Export-GridView-To-Word-Excel-PDF-CSV-Formats-in-ASP.Net.aspx 代码是这样的: protected void btnExportPDF_Click(object sender,EventArgs e){ Respon
我在以下链接中使用iTextSharp方法将GridView导出为PDF文档:

http://www.aspsnippets.com/Articles/Export-GridView-To-Word-Excel-PDF-CSV-Formats-in-ASP.Net.aspx

代码是这样的:

protected void btnExportPDF_Click(object sender,EventArgs e)
{
    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition","attachment;filename=GridViewExport.pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);

    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);

    GridView1.AllowPaging = false;
    GridView1.DataBind(); 
    GridView1.RenderControl(hw);

    StringReader sr = new StringReader(sw.ToString());
    Document pdfDoc = new Document(PageSize.A4,10f,0f);
    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
    PdfWriter.GetInstance(pdfDoc,Response.OutputStream);

    pdfDoc.Open();
    htmlparser.Parse(sr);
    pdfDoc.Close();

    Response.Write(pdfDoc);
    Response.End();  
}

除了PDF中的字体大小外,这种方法很完美.我想iTextSharp的默认值是Arial和12pt.

有没有办法在整个PDF中全局更改此默认字体及其大小(至少是其大小)?

谢谢!

解决方法

的确有.

(但我最初的建议不是它…… Font.DEFFAULTSIZE是“静态最终”,所以… Derp).

呃…我不认为HTMLWorker的样式表代码会让你设置一个整体的默认字体大小,以为我没有用过这么多.我错了.你可以按类或标签来设置它,但这可能是相当多的工作……嘿!

我认为你可以设置“body”的样式,然后它会影响其中的所有内容.除非您正在处理HTML片段,否则这应该可以解决问题:

StyleSheet bodySize = new StyleSheet();
Map<String,String> props = new HashMap<String,String>();
props.put(ElementTags.SIZE,"8"); 
bodySize.applyStyle("body",props);

htmlparser.setStyleSheet(bodySize);

我这样做的方式是Change The Source(com.itextpdf.text.Font.java),以便Font.DEFAULTSIZE的声明符合我的喜好,但我维护自己的分支……我很奇怪.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读