【译】在Asp.Net中操作PDF – iTextSharp-列表

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 06:18 点击:

在前文中,我们已经知道了如何利用iTextSharp创建PDF文档,设置字体样式和风格.本文开始讲述iTextSharp中的有序列表和无需列表.如果你还没阅读我前面的文章,那么地址是:

    在ASP.NET中创建PDF-iTextSharp起步

    在Asp.Net中操作PDF - iTextSharp - 使用字体

    在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本

 

    在iTextSharp中列表的创建是通过iTextSharp.text.List对象实现的。列表实质上是iTextSharp.text.ListItem的集合.也就是由ListItem组成的数组.ListItem继承了Paragraph对象(而Paragraph对象继承于Phrase,Phrase又继承于Arraylist),所以生成的每一个List都会自动换行.就如同List在HTML分为<ul>和<ol>一样,iTextSharp中列表同样分为有序列表和无序列表.下面我们来直接看如何生成列表的代码:

 

 

string path = Server.MapPath("PDFs");

 

it.Document doc = new it.Document();

 

try

 

{

 

    PdfWriter.GetInstance(doc, new FileStream(path + "/Lists.pdf", FileMode.Create));

 

    doc.Open();

 

    it.List list = new it.List(it.List.UNORDERED);

 

    list.Add(new it.ListItem("One"));

 

    list.Add("Two");

 

    list.Add("Three");

 

    list.Add("Four");

 

    list.Add("Five");

 

    it.Paragraph paragraph = new it.Paragraph();

 

    string text = "Lists";

 

    paragraph.Add(text);

 

    doc.Add(paragraph);

 

    doc.Add(list);

 

}

 

catch (it.DocumentException dex)

 

{

 

    Response.Write(dex.Message);

 

}

 

catch (IOException ioex)

 

{

 

    Response.Write(ioex.Message);

 

}

 

finally

 

{

 

    doc.Close();

 

}

 

 

   如果你对上面代码的意思并不了解.那么为什么要用”it"引用List的确需要解释一下.正如代码所示,it作为引用某些类,因为如果你直接在ASP.Net code-behind模式下工作,你会发现visual studio在引用iTextSharp的ListItem时和也包含ListItem的System.Web.UI.WebControls时发生命名空间冲突.这意味着如果仅仅是用如下代码:

 

 

 

ListItem li = new ListItem();

    则会报不明确引用的警告。解决方法是使用完全引用:

 

iTextSharp.text.ListItem li = new iTextSharp.text.ListItem();

 

 

   但是使用完全引用又臭又长,所以这里使用了简洁引用:

 

using it = iTextSharp.text;

 

现在,你就可以使用别名了.

   回到讲述我们实际代码的作用,第一件事是创建一个List对象,并传入一个布尔类型的参数告诉List生成的是有序或无序列表.默认是False(也就是无序列表),然后为List加入了5个项。第一个项是通过匿名函数传入String参数类型来创建ListItem并传入,从第二个开始,则是直接传入String类型的参数.最后是创建一个Paragraph对象和list对象共同传入document.

    1

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET&#160;GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1