发布于 2016-06-29 21:41:55
我不是百分之百肯定,这是正确的方法,但我要说,我有95%的信心。
使用链接到的iText 7教程作为开始指南以及iText 5版本,我们可以使用“图形状态”来修改当前画布。
(下面的代码是C#,但是您应该能够很容易地将它转换成Java,基本上就是小写的属性和方法。另外,我使用完整的命名空间路径,这样您就可以知道事情发生在哪里。)
首先,创建一个自定义状态并设置其透明度:
//Create a transparent state
iText.Kernel.Pdf.Extgstate.PdfExtGState tranState = new iText.Kernel.Pdf.Extgstate.PdfExtGState();
tranState.SetFillOpacity(0.5f);
第二,获取你的形象:
//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);
第三(也是可选的),如果需要的话,改变你的形象:
//Position, rotate and scale it as needed
myImage.SetFixedPosition(100, 100);
myImage.SetRotationAngle(45);
myImage.ScaleAbsolute(200, 200);
第四,保存pdfCanvas (从教程中)状态,并设置一个新的:
pdfCanvas.SaveState().SetExtGState(tranState);
第五,将您的图像添加到更高级别的画布中(再一次,来自本教程):
canvas.Add(myImage);
第六,重置pdfCanvas状态:
pdfCanvas.RestoreState();
布鲁诺的更新:
添加图像将在"iText 7:积木“第3章教程中解释。在"iText 7:跳跃式入门教程“第3章中,我们使用了一个PdfCanvas
和Canvas
对象。有关如何创建和添加图像的缺失信息在“构建块”教程中。
https://stackoverflow.com/questions/38108558
复制相似问题