OA办公软件与PDF文件联系紧密,PDF格式的文件也是办公人员必须掌握的!  设为首页 加入收藏夹 我来推荐 
您的位置:首页 > PDF应用技术 > PDF开发技术
PDF开发技术
用C#语言制作PDF文件全攻略图文教程
日期:2009-04-17 20:59:48 人气: 标签:

第二部分 其他文档格式

第七章 XML (X)HTML

本章主要介绍了如何利用iText控件生成XLM文档和(X)HTML文档,但我们对这些并不感兴趣,故只介绍本章中提到的将XML转为PDF。

在第一章中,我们通过5步生产一个PDF文件,为了将一个XML文件转换成PDF文件,只需重写第3和第4步,第5步由解析器自动处理。

//第3步:创建一个解析器并设置文档句柄:

iTextHandler h = new iTextHandler(document);

//第4步,转换该文档:

h.Parse("Chap0701.xml");

示例代码见示例代码0702

第八章 RTF文件

RTF

RTF包是基于iText包扩展出来的,允许iText除生成PDF文件外还可以输出RTF文件,除了一些在RTF包中不支持的特性外,大多数PDF文件特性都可以使用。

创建一个RTF文档

创建一个RTF文档和创建一个PDF文档方法是一样的,都是这基本的5步,唯一的区别是第2步中用RtfWriter代替了PdfWriter,见示例代码0801。

第1步 创建一个the iTextSharp.text.Document对象的实例:

Document document = new Document();

第2步 创建一个document的RtfWriter将document写入你选择的输出流:

RtfWriter.getInstance(document, new FileStream("Chap0801.rtf"), FileMode.Create);

第3步 打开document:

document.Open();

第4步 添加内容到document

document.Add(new Paragraph("Hello World"));

第5步 关闭document

document.Close();

关于如何创建其他对象并添加到document中,请参见其他章节的内容。

不支持的特性

  • 水印
  • 阅读器参数
  • 加密
  • 内嵌字体
  • 块间距
  • 段落右缩排
  • 列表右缩排
  • 无圆点符号列表
  • 嵌套表格
  • 除JPEG和PNG的其他图片

RTF中扩展的页眉和页脚

写入RTF时无法在开始新页前通过setHeader方法改变文档的页眉或页脚,这里有两个办法来解决这个问题。

  • 利用“Chapters”,添加一个新“chapter”到文档前,使用setHeader或setFooter,你可以在不同的“Chapters”中使用不同的页眉或页脚,见示例代码0802。
  • 使用RtfHeaderFooters类。该类允许你设置4个页眉或页脚,并指定在哪页出现。你当然可以结合Chapter创建4个不同的页眉或页脚,见示例代码0803。

u       使用RtfHeaderFooters

第1步创建一个RtfHeaderFooters类:

RtfHeaderFooters headers = new RtfHeaderFooters();

第2步添加HeaderFooter对象

headers.Add(RtfHeaderFooters.LEFT_PAGES, new HeaderFooter(new Phrase("This header is only on left hand pages")));

headers.Add(RtfHeaderFooters.RIGHT_PAGES, new HeaderFooter(new Phrase("This header is only on right hand pages")));

第3步如同使用页眉页脚一样使用RtfHeaderFooters

document.Header = headers;

使用RtfHeaderFooters.add(...)的常量:

  • FIRST_PAGE: 在你文档的第一页使用该页眉或页脚。你将使用rtfWriter.HasTitlePage = true来完成
  • LEFT_PAGES: 所有左边页均使用该页眉或页脚
  • RIGHT_PAGES: 所有右边页均使用该页眉或页脚
  • ALL_PAGES: 所有页均使用该页眉或页脚,只有和FIRST_PAGE 结合使用才有意义。

有一件事非常重要:如果你使用LEFT_PAGES或者RIGHT_PAGES来设置页眉或页脚,再使用ALL_PAGES,页眉和页脚均不会起作用。

表格效果见示例代码0804。

共有条评论信息评论信息
栏目分类

站点说明 | 站点导航 | 站点公告 |
OAPDF.COM版权所有 2009 V1.1