在*当前位置*绘制一个矩形,然后获取其位置坐标

时间:2014-06-03 04:03:24

标签: c# itextsharp

所以,我正在使用iTextSharp将一些文本写入PDF文件。

在PDF文档中添加了几个段落和短语之后,我想:

在具有填充颜色的矩形上绘制下一段文字,例如红色。

我可以根据我要在其上面写的文本的文本度量来计算矩形必须具有的所需宽度和高度。但是,如何告诉Rectangle API顶部和左侧坐标是什么,如哪里必须绘制?

1 个答案:

答案 0 :(得分:1)

似乎您正在寻找Chunk.setBackground()方法。这会在某些文本下方绘制彩色背景。如果您需要更大或更小的矩形,还有一种方法的变体需要额外的参数。

假设您不想要彩色矩形,而是需要自定义形状,那么您将使用页面事件onGenericTag()。有关详细信息,请参阅Chunk > Generic tag

每次将标记为通用的onGenericTag()(使用setGenericTag()方法)呈现给页面时,都会触发Chunk方法。然后,您对页面事件的实现可以使用传递给事件方法的Rectangle值。重要的是要理解标记为通用标记的单个Chunk可以导致对此方法的多次调用:如果单个Chunk的内容需要分布在不同的行上,则事件将是触发的次数与行数相同(为每条单独的行提供单独的Rectangle值。)