资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java代码水印 java生成水印图片

怎么用java代码给word加水印

目前能够支持Java语言去操作word文档的框架很多,什么Jacob,jcom,poi,Java2word等等,但是那一种是支持给word加水印的框架呢?最好是开源的框架。

成都创新互联是一家专注于成都做网站、成都网站建设与策划设计,莆田网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:莆田等地区。莆田做网站价格咨询:13518219792

java.imageIo给图片添加水印的实现代码

最近项目在做一个商城项目 项目上的图片要添加水印① 添加图片水印;②:添加文字水印;一下提供下个方法 希望大家可以用得着   复制代码 代码如下: package blogs image; import java awt AlphaComposite; import java awt Color; import java awt Font; import java awt Graphics D; import java awt Image; import java awt RenderingHints; import java awt image BufferedImage; import java io File; import java io FileOutputStream; import java io InputStream; import java io OutputStream; import javax imageio ImageIO; import javax swing ImageIcon; /**  * 图片水印  */ public class ImageUtil {     /**      * @param args      */     public static void main(String[] args) {         String srcImgPath = "e:/ png";         String iconPath = "e:logo jpg";         String targerPath = "e:/ jpg";         // 给图片添加水印         ImageUtil waterMarkImageByIcon(iconPath srcImgPath targerPath f);         // 给图片添加水印 水印旋转         // ImageMarkLogoByIcon markImageByIcon(iconPath srcImgPath         // targerPath );     }     /**      * 给图片添加水印 可设置水印图片旋转角度      *      * @param iconPath      *            水印图片路径      * @param srcImgPath      *            源图片路径      * @param targerPath      *            目标图片路径      * @param degree      *            水印图片旋转角度      * @param width      *            宽度(与左相比)      * @param height      *            高度(与顶相比)      * @param clarity      *            透明度(小于 的数)越接近 越透明      */     public static void waterMarkImageByIcon(String iconPath String srcImgPath             String targerPath Integer degree Integer width Integer height             float clarity) {         OutputStream os = null;         try {             Image srcImg = ImageIO read(new File(srcImgPath));             System out println("width:" + srcImg getWidth(null));             System out println("height:" + srcImg getHeight(null));             BufferedImage buffImg = new BufferedImage(srcImg getWidth(null)                     srcImg getHeight(null) BufferedImage TYPE_INT_RGB);             // 得到画笔对象             // Graphics g= buffImg getGraphics();             Graphics D g = buffImg createGraphics();             // 设置对线段的锯齿状边缘处理             g setRenderingHint(RenderingHints KEY_INTERPOLATION                     RenderingHints VALUE_INTERPOLATION_BILINEAR);             g drawImage(                     srcImg getScaledInstance(srcImg getWidth(null)                             srcImg getHeight(null) Image SCALE_SMOOTH)                     null);             if (null != degree) {                 // 设置水印旋转                 g rotate(Math toRadians(degree)                         (double) buffImg getWidth() /                         (double) buffImg getHeight() / );             }             // 水印图象的路径 水印一般为gif或者png的 这样可设置透明度             ImageIcon imgIcon = new ImageIcon(iconPath);             // 得到Image对象             Image img = imgIcon getImage();             float alpha = clarity; // 透明度             g setComposite(AlphaComposite getInstance(AlphaComposite SRC_ATOP                     alpha));             // 表示水印图片的位置             g drawImage(img width height null);             g setComposite(AlphaComposite getInstance(AlphaComposite SRC_OVER));             g dispose();             os = new FileOutputStream(targerPath);             // 生成图片             ImageIO write(buffImg "JPG" os);             System out println("添加水印图片完成!");         } catch (Exception e) {             e printStackTrace();         } finally {             try {                 if (null != os)                     os close();             } catch (Exception e) {                 e printStackTrace();             }         }     }     /**      * 给图片添加水印 可设置水印图片旋转角度      *      * @param logoText      *            水印文字      * @param srcImgPath      *            源图片路径      * @param targerPath      *            目标图片路径      * @param degree      *            水印图片旋转角度      * @param width      *            宽度(与左相比)      * @param height      *            高度(与顶相比)      * @param clarity      *            透明度(小于 的数)越接近 越透明      */     public static void waterMarkByText(String logoText String srcImgPath             String targerPath Integer degree Integer width Integer height             Float clarity) {         // 主图片的路径         InputStream is = null;         OutputStream os = null;         try {             Image srcImg = ImageIO read(new File(srcImgPath));             BufferedImage buffImg = new BufferedImage(srcImg getWidth(null)                     srcImg getHeight(null) BufferedImage TYPE_INT_RGB);             // 得到画笔对象             // Graphics g= buffImg getGraphics();             Graphics D g = buffImg createGraphics();             // 设置对线段的锯齿状边缘处理             g setRenderingHint(RenderingHints KEY_INTERPOLATION                     RenderingHints VALUE_INTERPOLATION_BILINEAR);             g drawImage(                     srcImg getScaledInstance(srcImg getWidth(null)                             srcImg getHeight(null) Image SCALE_SMOOTH)                     null);             if (null != degree) {                 // 设置水印旋转                 g rotate(Math toRadians(degree)                         (double) buffImg getWidth() /                         (double) buffImg getHeight() / );             }             // 设置颜色             g setColor(Color red);             // 设置 Font             g setFont(new Font("宋体" Font BOLD ));             float alpha = clarity;             g setComposite(AlphaComposite getInstance(AlphaComposite SRC_ATOP                     alpha));             // 第一参数 设置的内容 后面两个参数 文字在图片上的坐标位置(x y)             g drawString(logoText width height);             g dispose();             os = new FileOutputStream(targerPath);             // 生成图片             ImageIO write(buffImg "JPG" os);             System out println("添加水印文字完成!");         } catch (Exception e) {             e printStackTrace();         } finally {             try {                 if (null != is)                     is close();             } catch (Exception e) {                 e printStackTrace();             }             try {                 if (null != os)                     os close();             } catch (Exception e) {                 e printStackTrace();             }         }     } }

还有一个图片缩放代码:

复制代码 代码如下: lishixinzhi/Article/program/Java/JSP/201311/20206

java怎么给word文档加水印

可以使用Free Spire.Doc for Java在word文档中添加文本水印或图片水印。Free Spire.Doc for Java下载链接:网页链接

1.添加文本水印——代码如下:

import com.spire.doc.*;

import com.spire.doc.documents.WatermarkLayout;

import java.awt.*;

public class WordTextWatermark {

public static void main(String[] args) {

Document document = new Document();

document.loadFromFile("Sample.docx");

insertTextWatermark(document.getSections().get(0));

}

private static void insertTextWatermark(Section section) {

TextWatermark txtWatermark = new TextWatermark();

txtWatermark.setText("内部使用");

txtWatermark.setFontSize(40);

txtWatermark.setColor(Color.red);

txtWatermark.setLayout(WatermarkLayout.Diagonal);

section.getDocument().setWatermark(txtWatermark);

}

}

2.添加图片水印——代码如下:

import com.spire.doc.*;

public class WordImageWatermark {

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

Document document = new Document();

document.loadFromFile("Sample.docx");

PictureWatermark picture = new PictureWatermark();

picture.setPicture("logo.png");

picture.setScaling(5);

picture.isWashout(false);

document.setWatermark(picture);

document.saveToFile("out/result2.docx",FileFormat.Docx )

}

}

java 如何给pdf文件加水印

可以使用Spire.PDF for Java通过Java来添加水印。

首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。您可以从这个链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。

repositories

repository

idcom.e-iceblue/id

url;/url

/repository/repositoriesdependencies

dependency

groupIde-iceblue/groupId

artifactIdspire.pdf/artifactId

version5.3.1/version

/dependency/dependencies

1.添加图片水印

代码如下:

import com.spire.pdf.*;

import java.awt.geom.Rectangle2D;

public class watermark {

public static void main(String[] args) {

//加载PDF文档

PdfDocument doc = new PdfDocument();

doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");

//获取第一页

PdfPageBase page = doc.getPages().get(0);  

//设置背景图片

page.setBackgroundImage("C:\\Users\\Administrator\\Desktop\\logo.png");

//设置背景区域

Rectangle2D.Float rect = new Rectangle2D.Float();

rect.setRect(280, 300, 150, 150);

page.setBackgroundRegion(rect);

//保存文档

doc.saveToFile("output/imageWaterMark.pdf");

doc.close();

}

}

2.添加文本水印

代码如下:

import com.spire.pdf.*;

import com.spire.pdf.graphics.*;

import java.awt.*;

import java.awt.geom.*;

public class Textwatermark {

public static void main(String[] args) {

//创建PdfDocument对象

PdfDocument pdf = new PdfDocument();

//加载示例文档

pdf.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.pdf");

//获取第一页

PdfPageBase page = pdf.getPages().get(0);

//调用insertWatermark方法插入文本水印

insertWatermark(page, "E-ICEBLUE");

//保存文档

pdf.saveToFile("out/textWaterMark.pdf");

}

static void insertWatermark(PdfPageBase page, String watermark) {

Dimension2D dimension2D = new Dimension();

dimension2D.setSize(page.getCanvas().getClientSize().getWidth() / 2, page.getCanvas().getClientSize().getHeight() / 3);

PdfTilingBrush brush = new PdfTilingBrush(dimension2D);

brush.getGraphics().setTransparency(0.3F);

brush.getGraphics().save();

brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 2, (float) brush.getSize().getHeight() / 2);

brush.getGraphics().rotateTransform(-45);

brush.getGraphics().drawString(watermark, new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.getViolet(), 0, 0, new PdfStringFormat(PdfTextAlignment.Center));

brush.getGraphics().restore();

brush.getGraphics().setTransparency(1);

Rectangle2D loRect = new Rectangle2D.Float();

loRect.setFrame(new Point2D.Float(0, 0), page.getCanvas().getClientSize());

page.getCanvas().drawRectangle(brush, loRect);

}

}

希望对您有帮助。


分享文章:java代码水印 java生成水印图片
本文链接:http://cdkjz.cn/article/ddjhgdp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220