77范文网 - 专业文章范例文档资料分享平台

iText中文帮助文档(8)

来源:网络收集 时间:2018-12-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

RtfHeaderFooters headers = new RtfHeaderFooters(); 第2步添加HeaderFooter对象

headers.Add(RtfHeaderFooters.LEFT_PAGES, new HeaderFooter(new Phrase(\

headers.Add(RtfHeaderFooters.RIGHT_PAGES, new HeaderFooter(new Phrase(\第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。

第三部分 iText的高级应用

第九章 字体

本章原文讲了许多字体的使用技巧,但就是没有讲如何使用中文,因此,意义不大,再说,如果不支持中文,前面的也就白翻译了,因此,根据原文讲到的一些知识,我摸索出汉字的使用方法,自己写了本章内容,应该算是“原创”了吧^_^(哎呀!谁拿鸡蛋扔我??)。

Windows中一般都是使用TrueType字体,每个中文版Windows操作系统均默认安装了宋体、仿宋、黑体和楷体四种字体,你还可以安装其他第三方字体,如安装了Office 2000后,会自动安装华文行楷等字体,比较奇怪的是,在PDF

文件中插入了一种本计算机才有的字体,在打开PDF文件的计算机上虽然没有该字体,但仍然能正常显示!这有别于Word文件,Word文件将当前计算机中没有的字体一律用宋体代替,这大概是意外收获吧。

字体文件一般保存在windir\\Fonts目录中,扩展名为TTF,还有扩展名为TTC的字体文件,也是TrueType字体,不过是一个集合,也就是里面有多种字体。下面列出windows2000简体中文版四种标准字体的文件名称: SIMSUN.TTC:宋体和新宋体 SIMKAI.TTF:楷体 SIMHEI.TTF:黑体 SIMFANG.TTF:仿宋体

TrueType字体应用

按下面的方法写入黑体字文字,大小为32磅:

BaseFont bfHei = BaseFont.createFont(@\BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font font = new Font(bfHei, 32); String text = \这是黑体字测试!\document.Add(new Paragraph(text, font));

不要管BaseFont.createFont方法第二、三个参数的意思,依葫芦画瓢就行了,第一个参数显示就是字体文件存放的位置。 后面的代码都非常好理解,不再赘述。

TruType字体集合的应用

字体集合的使用同上面差不多,只是在在createFont方中要指定使用哪种字体。如:

BaseFont bfSun=BaseFont.createFont(@\BaseFont.NOT_EMBEDDED);

font = new Font(bfSun, 16);

text = \这是字体集合中的新宋体测试!\document.Add(new Paragraph(text, font));

不难看出,在使用BaseFont.createFont方法时,第一个参数

@\中多了一个“,1”,表示使用序号为1字体,序号为0的字体为宋体。

毕竟我们不是做排版软件,有了上面的办法就基本上够用了,真正很复杂的PDF文件制作,不妨做成XML文件(最简单的办法就是用Word排版,然后另存为web页了),然后按第七章的办法转换。 代码见示例代码0901。

第十章 图象和文本的绝对位置

pdfContentByte

到目前为止,我们已经使用了简单的iText,我们已经添加了文本、图片、段落、章节、列表、表格等,没有涉及到布局问题。Itext分割文本到每页中,并将每个单词、句子、段落布置到页面上,但有时我们并不需要这种自动格式,有时我们希望将一些图象或者文本放置在某页的指定位置,为实现该功能,我们将使用PdfContentByte类。

为代替第一章,仅用PdfWriter类的getInstance方法是不够的,你必须真实地拥有一个PdfWriter对象,你可以通过在使用Writer对象中使用getDirectContent()方来得到该对象。例:

PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(\

PdfContentByte cb = writer.DirectContent;

说明:当你添加高级对象(如表格)时,两个PdfContentByte对象将被内部使用:一个用于文本,一个用用于图象(如边界或单元格背景)。文本绘制浮于图象的上面。

当你通过getDirectContent()方法直接使用PdfContentByte对象时,你所添加的所有对象都将浮于文本和图象。如果你想避免这种情况和希望添加内容在图象或文本的背后,你需要使用用getDirectContentUnder()方。 一句话,当一页完成时,4层的重叠遵照如下顺序: 1、 通过getDirectContentUnder()得到的PdfContentByte 2、 包含图象或高级对象的内部PdfContentByte 3、 病文本或高级对象的内部PdfContentByte 4、 通过getDirectContent()得到的PdfContentByte

简单图形

在示例代码1001中,绘制了一些简单图形,我们使用了诸如moveTo和lineTo方法来在移动到页面上当前位置然后画一条直线到其他位置。我们使用了诸如setLineWidth和setLineDash方法来改变直线的外观,如:

cb.LineWidth = 10f; cb.moveTo(100, 700); cb.lineTo(200, 800); cb.stroke();

说明:当你改变诸如颜色、线宽等属性时,只有你在调用stroke方法时才起作用。在例中绘制三角形时,我们设置颜色为绿色,在使用stroke方法前我们改变颜色为红色,则绘制三角形的结果为为红色而不是绿色,该例中还有矩形、圆等使用方法。

文本

当你想将文本写入ContentByte中时,你必须使用方法beginText()和endText,你也必须设置字体和尺寸。就象图形示例中一样,还有许多方法用于写入和放置文本,但你最需要的是方法showTextAligned和方法showText配合setTextMatrix。

例1:

BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); cb.beginText();

cb.setFontAndSize(bf, 12);

cb.showTextAligned(PdfContentByte.ALIGN_CENTER, text + \

cb.endText(); 例2:

BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);

cb.beginText();

cb.setFontAndSize(bf, 12); cb.setTextMatrix(100, 400);

cb.showText(\ cb.endText(); 请参见示例代码1002。

模板(Form xObjects)

当我们在第四章讨论页眉和页脚时,我们定义了一小块添加到每一页的信息,实际上,该小块信息写到了文件的每一个新页上。这并不是最经济的解决方案,更好的办法是将该信息作为一个Form Xobject仅在文档中添加一次,在其可见位置重复出现。我达到该目的,我们将使用模板。 ? 创建一个PdfTemplate

? 创建PdfTemplate的最好方法是调用PdfContentByte对象中的

createTemplate方法: PdfContentByte-object:

PdfTemplate template = cb.createTemplate(500, 200);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库iText中文帮助文档(8)在线全文阅读。

iText中文帮助文档(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/380551.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: