pdf添加图片及而文字水印
2017-03-31 17:54
381 查看
package com.pdf;
import java.awt.Color;
import java.io.FileOutputStream;
import com.lowagie.text.Element;
import com.lowagie.text.Image;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;
public class Test2 {
/**
* 给pdf文件添加水印
* @param InPdfFile 要加水印的原pdf文件路径
* @param outPdfFile 加了水印后要输出的路径
* @param markImagePath 水印图片路径
* @param pageSize 原pdf文件的总页数(该方法是我当初将数据导入excel中然后再转换成pdf所以我这里的值是用excel的行数计算出来的,如果不是我这种可以 直接用reader.getNumberOfPages()获取pdf的总页数)
* @throws Exception
*/
public static void addPdfMark(String InPdfFile, String outPdfFile, String markImagePath) throws Exception {
PdfReader reader = new PdfReader(InPdfFile, "PDF".getBytes());
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outPdfFile));
Image img = Image.getInstance(markImagePath);// 插入水印
img.setAbsolutePosition(0, 0);
BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.EMBEDDED);
int pageSize = reader.getNumberOfPages();
for(int i = 1; i <= pageSize; i++) {
PdfContentByte under = stamp.getUnderContent(i);
under.beginText();
under.setColorFill(Color.LIGHT_GRAY);
under.setFontAndSize(base, 50);
under.setTextMatrix(70, 200);
under.showTextAligned(Element.ALIGN_CENTER, "www.google.com!", 300,450, 55);
under.addImage(img);
}
stamp.close();// 关闭
/* File tempfile = new File(InPdfFile);
if(tempfile.exists()) {
tempfile.delete();
} */
}
public static void main(String[] args) {
try {
addPdfMark("d:\\pdf\\111.pdf","d:\\pdf\\222.pdf","d:\\pdf\\logo1.jpg");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.awt.Color;
import java.io.FileOutputStream;
import com.lowagie.text.Element;
import com.lowagie.text.Image;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;
public class Test2 {
/**
* 给pdf文件添加水印
* @param InPdfFile 要加水印的原pdf文件路径
* @param outPdfFile 加了水印后要输出的路径
* @param markImagePath 水印图片路径
* @param pageSize 原pdf文件的总页数(该方法是我当初将数据导入excel中然后再转换成pdf所以我这里的值是用excel的行数计算出来的,如果不是我这种可以 直接用reader.getNumberOfPages()获取pdf的总页数)
* @throws Exception
*/
public static void addPdfMark(String InPdfFile, String outPdfFile, String markImagePath) throws Exception {
PdfReader reader = new PdfReader(InPdfFile, "PDF".getBytes());
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outPdfFile));
Image img = Image.getInstance(markImagePath);// 插入水印
img.setAbsolutePosition(0, 0);
BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.EMBEDDED);
int pageSize = reader.getNumberOfPages();
for(int i = 1; i <= pageSize; i++) {
PdfContentByte under = stamp.getUnderContent(i);
under.beginText();
under.setColorFill(Color.LIGHT_GRAY);
under.setFontAndSize(base, 50);
under.setTextMatrix(70, 200);
under.showTextAligned(Element.ALIGN_CENTER, "www.google.com!", 300,450, 55);
under.addImage(img);
}
stamp.close();// 关闭
/* File tempfile = new File(InPdfFile);
if(tempfile.exists()) {
tempfile.delete();
} */
}
public static void main(String[] args) {
try {
addPdfMark("d:\\pdf\\111.pdf","d:\\pdf\\222.pdf","d:\\pdf\\logo1.jpg");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相关文章推荐
- 一套pdf水印处理软件,支持转图片,转文字,添加图片水印,文字水印,设置水印图片,设置字体
- 利用iTextSharp组件给PDF文档添加图片水印,文字水印
- itext 5.3.0实现对pdf文件添加(文字和图片)水印
- 使用lowagie给pdf添加文字和图片水印
- 利用iTextSharp组件给PDF文档添加图片水印,文字水印
- 使用Java添加图片水印和文字水印
- JAVA给图片上添加水印文字
- 生成缩略图、为图片添加文字水印、图片水印的类
- 生成高清缩略图; 添加图片、文字水印; 图片、文字水印透明
- C#文件上传生成缩略图及添加文字和图片水印
- Java给图片添加水印(图标和文字)
- 1.3 实现图片压缩、添加文字或图片水印、指定位置裁剪等功能的ImageUtility(内有效果图)
- java添加透明的图片和文字水印
- DotNet为图片添加水印(LOGO及文字)
- PHP图片水印函数:支持以图片和文字方式添加水印
- struts2实现上传文件、生成缩略图、添加文字和图片水印
- java实现给图片添加水印和文字
- java实现给图片添加水印和文字
- 使用Java添加图片水印和文字水印
- phpcms添加图片文字水印效果