首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >java pdf图片与背景融合方法

java pdf图片与背景融合方法

原创
作者头像
用户12379251
发布2026-04-08 15:37:25
发布2026-04-08 15:37:25
2280
举报

图片和 PDF 背景无缝融合,不遮挡、不突兀代码如下,需要iText7库:

import com.itextpdf.io.image.ImageDataFactory;

import com.itextpdf.kernel.pdf.*;

import com.itextpdf.kernel.pdf.canvas.PdfCanvas;

import com.itextpdf.layout.element.Image;

import java.io.File;

public class PdfImageBlendMode {

public static void main(String[] args) throws Exception {

// 输入PDF、图片、输出PDF

String srcPdf = "input.pdf";

String destPdf = "output.pdf";

String imgPath = "image.png";

// 打开PDF

PdfDocument pdfDoc = new PdfDocument(

new PdfReader(srcPdf),

new PdfWriter(destPdf)

);

// 获取第1页画布

PdfCanvas canvas = new PdfCanvas(pdfDoc.getPage(1));

// ==================== 关键:混合模式(正片叠底)====================

PdfExtGState extGState = new PdfExtGState();

extGState.setBlendMode(PdfName.Multiply); // 正片叠底 = 最自然融合

canvas.setExtGState(extGState);

// =================================================================

// 加载图片

Image img = new Image(ImageDataFactory.create(imgPath));

// 设置大小与位置

img.scaleAbsolute(250, 200);

img.setFixedPosition(100, 200);

// 把图片画到画布

img.drawOn(canvas, pdfDoc.getPage(1));

pdfDoc.close();

System.out.println("融合完成!");

}

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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