本文将介绍如何使用Spire.PDF for Java在Java程序中为PDF文档中的图片设置透明度:
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.geom.*;
import java.awt.*;
public class ImageTransparency {
public static void main(String[] args) {
//创建PdfDocument对象
PdfDocument doc = new PdfDocument();
PdfSection section = doc.getSections().add();
// 加载图片
PdfImage image = PdfImage.fromFile("logo.png");
double imageWidth = image.getPhysicalDimension().getWidth() / 3;
double imageHeight = image.getPhysicalDimension().getHeight() / 3;
//添加一页
PdfPageBase page = section.getPages().add();
float pageWidth = (float) page.getCanvas().getClientSize().getWidth();
float y = 10;
//标题文字
y = y + 5;
PdfBrush brush = new PdfSolidBrush(new PdfRGBColor(new Color(255,69,0)));
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.BOLD,12));
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center);
String text = String.format("设置图片透明度");
page.getCanvas().drawString(text, font, brush, pageWidth / 2, y, format);
Dimension2D size = font.measureString(text, format);
y = y + (float) size.getHeight() + 6;
//设置图片透明度
page.getCanvas().setTransparency(0.2f, 0.2f, PdfBlendMode.Normal);
page.getCanvas().drawImage(image, 0, y, imageWidth, imageHeight);
page.getCanvas().save();
// 保存文档
doc.saveToFile("output/Transparency.pdf");
doc.close();
}
}
设置图片透明度的效果图: