如何使用ITEXTSHARP将HTML代码字符串写进PDF
2013-12-27 00:36
393 查看
原文 如何使用ITEXTSHARP将HTML代码字符串写进PDF
itextsharp包括一个简单的类,可以用来根据html代码或字符串创建pdf文件。使用此类,你可以使用短短几行代码,就将 HTML 文档生成一个 PDF 文件。可供下载的演示包含名为 Receipt.htm,其中位于 ~/HTMLTemplate 文件夹中的 HTML 模板文件。此 HTML 文件包含以下标记 (注意-为简洁起见被移除了一些标记)。
请注意,上述标记包含四占位符-括号包围的文本。这里的想法是,我们用itextsharp转上述标记为我们首先将替换占位符的顺序编号,总价格,和其他指标的订单,生成一个收据。转成一个网页,包括下列步骤:
创建一个
创建一个
在文本作为字符串。
itextsharp的电话
添加的每个元素返回步骤3到
这内容
代码有点长,但它并不十分复杂。该代码简单地建立标记为
一旦文本字符串组成了我们准备步骤4和5。步骤4 - itextsharp的
页面解析是简单地转换成元素可以被添加到文档。除了这些解析元素还可以添加元素创建,就像我们在我们以前的演示(
itextsharp包括一个简单的类,可以用来根据html代码或字符串创建pdf文件。使用此类,你可以使用短短几行代码,就将 HTML 文档生成一个 PDF 文件。可供下载的演示包含名为 Receipt.htm,其中位于 ~/HTMLTemplate 文件夹中的 HTML 模板文件。此 HTML 文件包含以下标记 (注意-为简洁起见被移除了一些标记)。
<h1 style="font-weight: bold">Northwind Traders Receipt</h1> <p> Thank you for shopping at Northwind Traders. Your order details are below. </p> <br /><br /> <h2 style="font-weight: bold">Order Information</h2> <table> <tr> <td style="font-weight: bold">Order:</td> <td>[ORDERID]</td> </tr> <tr> <td style="font-weight: bold">Price:</td> <td>[TOTALPRICE]</td> </tr> <tr> <td style="font-weight: bold">Order Date:</td> <td>[ORDERDATE]</td> </tr> </table> <br /><br /> <h2 style="font-weight: bold">Items In Your Order</h2> [ITEMS] <br /><br /> <p style="text-align: center; font-style: italic; font-size: 10pt"> Thank you for your business! If you have any questions about your order, please contact us at 800-555-NORTH. </p> |
创建一个
文件对象的。
创建一个
pdfwriter对象的。
在文本作为字符串。
itextsharp的电话
htmlworker.parsetolist方法,通过在网页转换成格式。这将返回一个元素的集合。
添加的每个元素返回步骤3到
文件对象的
这内容
receipt.htm为一个字符串,然后替换占位符-是通过下面的代码片断:
// Read in the contents of the Receipt.htm file... string contents = File.ReadAllText(Server.MapPath("~/HTMLTemplate/Receipt.htm")); // Replace the placeholders with the user-specified text contents = contents.Replace("[ORDERID]", txtOrderID.Text); contents = contents.Replace("[TOTALPRICE]", Convert.ToDecimal(txtTotalPrice.Text).ToString("c")); contents = contents.Replace("[ORDERDATE]", DateTime.Now.ToShortDateString()); ... |
表循环CheckBox List和添加一个表行(
< BR >)为每个选定的采购项目。
一旦文本字符串组成了我们准备步骤4和5。步骤4 - itextsharp的
htmlworker.parsetolist方法解析文本字符串并返回一个集合的元素。步骤5列举了这个集合的元素,将它们添加到
文件对象的。
// Step 4: Parse the HTML string into a collection of elements... var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(contents), null); // Enumerate the elements, adding each one to the Document... foreach (var htmlElement in parsedHtmlElements) document.Add(htmlElement as IElement); |
createpdffromscratch.aspx)。例如,我们可以添加标志的右上角的收据使用相同的代码之前:
var logo = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Images/4guysfromrolla.gif")); logo.SetAbsolutePosition(440, 800); document.Add(logo); |
相关文章推荐
- 如何使用HTML字符串创建一个原生DOM对象
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)
- 网易博客如何使用HTML自定义代码
- javaEE如何处理字符串在java-script-html环境之间的转换使用
- 如何使用tagsoup规格化html文件中标记代码
- asp.net中如何把一个字符串中的所有html代码去掉成为文本模式
- ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)
- Java使用wkhtmltox实现HTML代码生成PDF文档或者图片
- 如何使用ABAP代码反序列化JSON字符串成ABAP结构
- 如何使用JS在HTML中自定义字符串格式化
- Java使用wkhtmltox实现HTML代码生成PDF文档或者图片
- Java使用Flying Saucer实现HTML代码生成PDF文档
- 帝国 标签模板 使用程序代码 去除html标记 并 截取字符串
- 【译】Asp.net mvc 使用ITextSharp PDF to HTML (解决img标签问题)
- C#使用itextsharp生成PDF文件的实现代码
- 使用 ItextSharp HTML生成Pdf(C#)
- 如何使用Java代码获取文件、文件流或字符串的编码方式
- 开发人员在使用Aspose.Pdf for .NET时如何用C#和VB两种代码添加附件到PDF文档?
- 网络采集软件核心技术剖析系列(4)---使用C#语言如何将html网页转换成pdf(html2pdf)