asp.net – 如何在将GridView导出为PDF后更改iTextSharp中的默认
我在以下链接中使用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的声明符合我的喜好,但我维护自己的分支……我很奇怪. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET异步任务 – 如何使用Page.RegisterAsyncTask使用We
- asp.net-mvc – 使用Entity Framework在控制器中检测模型属
- asp.net-mvc – 为什么这个路由参数被添加到查询字符串中?
- .net – Control.ResolveUrl与Control.ResolveClientUrl对比
- asp.net – ASP MVC使用超链接控制
- asp.net – Visual Studio“添加为链接”调试时不工作
- asp.net-mvc – 使用IIS 7中的ASP.NET MVC 1来路由具有特定
- asp.net – UpdatePanel.Visible = true无效
- Azure上的Asp.Net Core 2.0产生了502.5
- asp.net – 实现.NET OAuth 2.0提供程序. 2腿DotNotOpenAut
- asp.net – 为什么我的函数在加载UpdatePanel后运
- asp.net-mvc-3 – ASP.NET MVC – 防止Ajax.Acti
- asp.net – 无法使用PreSendRequestHeaders()覆盖
- 在ASP.Net中加载用户控件并处理回发
- asp.net-mvc – DAL中的app.config和WebApplicat
- asp.net – 如何格式化C#代码并将其转换为HTML
- asp.net-mvc – 自动为Entity Framework生成元数
- asp.net读取磁盘文件、删除实例代码
- asp.net-mvc – 使用ASP.NET MVC作为电子邮件模板
- asp.net-mvc – asp.net mvc禁用ajax缓存