第二部分 其他文档格式第七章 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中,请参见其他章节的内容。 不支持的特性
RTF中扩展的页眉和页脚写入RTF时无法在开始新页前通过setHeader方法改变文档的页眉或页脚,这里有两个办法来解决这个问题。
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(...)的常量:
有一件事非常重要:如果你使用LEFT_PAGES或者RIGHT_PAGES来设置页眉或页脚,再使用ALL_PAGES,页眉和页脚均不会起作用。 表格效果见示例代码0804。 |