新闻资讯 | 控件产品 | 技术文章 | 购物车 | 合作伙伴 | 问题解答 | 电子简报 | PDF论坛 | 资源下载
您现在的位置:技术文章>PDF开发篇 首页|PDF应用篇|PDF开发篇|解决方案

循序渐进学习iTextSharp之四十五(分栏)

发布日期:2006-6-27 作者:张卫蓬 出处:PDFHome

分栏
在这章以前你已经学会了如何将一个文本放置在一个绝对的位置,这种情况下我们要输入一个文本写入的起始位置。如果我们想知道文本的结束位置,我们得做一些计算工作。
现在我们要加一些文本到一个矩形框的内部。我们希望文本在到达矩形框的右边界时能够自动折行,超出矩形部分将不显示,可以通过ColumnText类实现。

一个例子:
为了在一个坐标(100300)和(200500)之间显示一个确定的短句,我们应该像下面这样来写代码:
PdfContentByte cb = writer.DirectContent;
ColumnText ct = new ColumnText(cb);
ct.setSimpleColumn(phrase, 60, 300, 100, 500, 15, Element.ALIGN_CENTER);
ct.go();

如果你查看Example1中形成Pdf文件Document1.你立即可以注意到这个方法可以用来不使用Table对象的基础下绘制一个复杂的表格
 
另一个例子:
没有必要一次性将文本全部添加进去,你可以首先先定义一个矩形,随后在向里添加一些文本,最后用go方法显示分栏。

PdfContentByte cb = writer.DirectContent;
ColumnText ct = new ColumnText(cb);
ct.setSim7pleColumn(60, 300, 100, 500, 15, Element.ALIGN_CENTER);
ct.addText(phrase1);
ct.addText(phrase2);
ct.addText(phrase3);
ct.go();

这个例子的演示请查看Example2;点击Document2查看例子Example2形成的PDF文档,Document2Example1形成的PDF文件的最终效果是相同的。



多栏
当然,如果文本超出了矩形的范围,我们不想丢失掉超出范围的文本。我们想让这些超出的文本显示在另一栏里。这就是为什么我们要查看go方法返回值的原因。如果返回标识为“NO_MORE_COLUMN”,表示该栏中没有足够的空间存放该文本,如果所有的文本均显示出来,标识将为“NO_MORE_TEXT”。

关于多栏的使用请查看Example3,点击Document3查看Example3形成的PDF文件。


不规则栏

定义一个非矩形的区域来显示栏也是可能的,通过使用setColumns方法,我们为文本定义了一个左右边界。


float[] left = {70,790, 70,60};
float[] right = {300,790, 300,700, 240,700, 240,590, 300,590, 300,106, 270,60};
ct.setColumns(left, right);

左边界是一条直线,而右边界是不规则的。该函数的结果可以导致一些非常有意思的布局,查看Example4Example4形成的PDF文件,本例中你将用到一个名为caesar_coin.jpg的图片:
发布人:管理员 【报告错误】·【推荐好友】·【打印文章】
相关评论 本文现有 0 条评论 评分人数: 0 平均分: 0
相关评论
用户名: 密  码:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
注意:请不要在评论中含与内容无关的广告链接,违者封ID
文章搜索
推荐文章
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
热门点击
一个简单的PDF文件结构的分析(22750)
PHP的FDF文档支持(16272)
用C#制作PDF文件全攻略(13700)
Word转换PDF格式的C#或(12213)
ITextRenderer学习(11747)
pdfMaker文章:PDF加(11692)
PDF文件加密仿真(11114)
怎样用iReport制作Web(10483)
iText PDF概述(1)(10075)
从pdf文档中提取出文本(10013)
热门评论
从pdf文档中提取出文本(8)
PDFlib开发:创建超文本元(2)
客户端自动打印PDF(Prin(2)
浅谈PDFlib中文输出(一)(2)
xml的转换之pdf 2 ((1)
xml的转换之pdf 1 (x(1)
PDF知识讲座(1)(1)
PDFBox使用简介(1)
使用正则表达式计算PDF文档的(1)
word转pdf(1)