com.itextpdf.text.Image

com.itextpdf.text.Image

  • 在插入图像到指定位置的时候,我们最好使用表格进行布局,不要直接设置图像的相对位置。

在相对位置上插入图片

// 在文件中插入图像:
String imgURL = "https://blog-static.cnblogs.com/files/duchaoqun/wechat.ico"
Image image = Image.getInstance(new URL(imgURL))
image.scalePercent(30, 30) // 图片的缩放大小
image.setAbsolutePosition(400, 300) // 图像在本页的相对位置。
document.add(image)

在指定的位置插入图片

  • 例如在我们特别的段落右边添加上指定的图片
// 找到当前 writer 的 Y 坐标,然后稍微调整一下位置即可
float postionY = (float)(writer.getVerticalPosition(true) + 20f)
String imgURL = "https://blog-static.cnblogs.com/files/duchaoqun/wechat.ico"
Image image = Image.getInstance(new URL(imgURL))
image.scalePercent(30, 30) // 图片的缩放大小
image.setAbsolutePosition(400, postionY) // 图像在本页的相对位置。
document.add(image)

背景图片

// 创建一个 ImageBackground 类 继承EventHelper类
import com.itextpdf.text.Document
import com.itextpdf.text.Image
import com.itextpdf.text.pdf.PdfPageEventHelper
import com.itextpdf.text.pdf.PdfWriter
class ImageBackground extends PdfPageEventHelper {
private Image image
public ImageBackground(Image image) {
this.image = image
}
@Override
public void onEndPage(PdfWriter writer, Document document) {
writer.directContentUnder.addImage(image)
}
}
// 然后再调用的地方进行处理
Image image = Image.getInstance(this.getClass().getClassLoader().getResource("a.jpg"))
image.setAbsolutePosition(0, 0)
writer.setPageEvent(new ImageBackground(image))
posted @   duchaoqun  阅读(4863)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示