首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在iText 7中使用图像作为水印

在iText 7中使用图像作为水印
EN

Stack Overflow用户
提问于 2016-06-29 19:32:34
回答 1查看 1.7K关注 0票数 1

iText 7刚刚于2016年5月面世,虽然一些教程很有帮助,但一些更高级的功能更难理解。此页有一个如何使用文本作为水印的例子(大约90%的页面下端),但我不知道如何使用图像作为水印,我真的不知道从哪里开始新的发行版。有人知道如何在iText 7中使用图像作为水印吗?知道从哪里开始吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 21:41:55

我不是百分之百肯定,这是正确的方法,但我要说,我有95%的信心。

使用链接到的iText 7教程作为开始指南以及iText 5版本,我们可以使用“图形状态”来修改当前画布。

(下面的代码是C#,但是您应该能够很容易地将它转换成Java,基本上就是小写的属性和方法。另外,我使用完整的命名空间路径,这样您就可以知道事情发生在哪里。)

首先,创建一个自定义状态并设置其透明度:

代码语言:javascript
运行
复制
//Create a transparent state
iText.Kernel.Pdf.Extgstate.PdfExtGState tranState = new iText.Kernel.Pdf.Extgstate.PdfExtGState();
tranState.SetFillOpacity(0.5f);

第二,获取你的形象:

代码语言:javascript
运行
复制
//Get your image somehow
iText.IO.Image.ImageData myImageData = ImageDataFactory.Create("D:\\14.jpg", false);
iText.Layout.Element.Image myImage = new iText.Layout.Element.Image(myImageData);

第三(也是可选的),如果需要的话,改变你的形象:

代码语言:javascript
运行
复制
//Position, rotate and scale it as needed
myImage.SetFixedPosition(100, 100);
myImage.SetRotationAngle(45);
myImage.ScaleAbsolute(200, 200);

第四,保存pdfCanvas (从教程中)状态,并设置一个新的:

代码语言:javascript
运行
复制
pdfCanvas.SaveState().SetExtGState(tranState);

第五,将您的图像添加到更高级别的画布中(再一次,来自本教程):

代码语言:javascript
运行
复制
canvas.Add(myImage);

第六,重置pdfCanvas状态:

代码语言:javascript
运行
复制
pdfCanvas.RestoreState();

布鲁诺的更新:

添加图像将在"iText 7:积木“第3章教程中解释。在"iText 7:跳跃式入门教程“第3章中,我们使用了一个PdfCanvasCanvas对象。有关如何创建和添加图像的缺失信息在“构建块”教程中。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38108558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档