示例代码0611也是一个比较高级的话题,例中转换一个TIFF文件到PDF文件。
图片遮罩
示例代码0613在,我们创建了一个用作遮罩的图片
该图片尺寸为8×8象素,每组一个字节,使用makeMask()方法可以转换成遮罩。
byte maskr[] = {(byte)0x3c, (byte)0x7e, (byte)0xe7, (byte)0xc3, (byte)0xc3, (byte)0xe7, (byte)0x7e, (byte)0x3c}; Image mask = Image.getInstance(8, 8, 1, 1, maskr); mask.makeMask(); mask.setInvertMask(true);
我们可以用该遮罩直接遮住其他图片的一部分。
PdfContentByte cb = writer.DirectContent; Image image = Image.getInstance("vonnegut.gif"); image.ImageMask = mask;
或者我们将该遮罩用于模板遮罪中。
PdfContentByte cb = writer.DirectContent; cb.setRGBColorFill(255, 0, 0); cb.addImage(mask, mask.scaledWidth() * 8, 0, 0, mask.scaledHeight() * 8, 100, 400);
关于ContentByte对象更多信息请参见第十章。
图片和其他对象
图片在块中
有时,可以方便地将图片置于块中,通过一定偏移将一个图片置于块中:
Chunk ck = new Chunk(img, 0, -5);
具体代码见示例代码0614,我们可以添加该特殊图片块到短句、表格等,本例中的图片请到http://itextsharp.sourceforge.net/examples/pngnow.png下载。
图片在表格中
你可以将图片添加到单元格中,但有两个副作用:
表格的宽度是确定,当图片超出单元格的宽度时,将自动缩小。
你不能进行文字绕排和为图片添加下划线。
参见示例代码0615。
图片链接注释
如果你希望得到一个可点击的图片,或者想添加链接注释到图片上,你需要创建一个Annotation对象,并添加到图片上,你不需要指定位置(你可以使用0,0,0,0),该位置会内部更新以适合该图片。
gif.Annotation = new Annotation(0, 0, 0, 0, "Chap1102b.pdf", 3); jpeg.Annotation = new Annotation("picture", "These are my children", 0, 0, 0, 0);
http://www.laozizhu.com/view-iText%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B%285%29-138905.htm