文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>解密pdf-8(为pdf插入文字水印)

解密pdf-8(为pdf插入文字水印)

时间:2010-10-11  来源:xue2

 

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.DocumentException;
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 Simple8 {
        @SuppressWarnings("deprecation")
        public static void main(String[] args) throws DocumentException,
                        IOException {
                //待加水印的文件
                PdfReader reader = new PdfReader("E:/HelloWorld.pdf");
                //加完水印的文件
                PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
                                "E:/HelloWorld_water.pdf"));
                
                int total = reader.getNumberOfPages()+1; 
  
                PdfContentByte content; 
                //设置字体
                BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", 
                BaseFont.EMBEDDED);
                //水印文字
                String waterText="http://llying.javaeye.com";
                int j = waterText.length(); //文字长度
                char c = 0; 
                int high = 0;//高度
                //循环对每页插入水印
                for (int i = 1; i < total; i++) { 
                    //水印的起始
                        high = 500;
                    content = stamper.getUnderContent(i); 
                    //开始
                    content.beginText();
                    //设置颜色
                    content.setColorFill(Color.GRAY);
                    //设置字体及字号
                    content.setFontAndSize(base, 18); 
                    //设置起始位置
                    content.setTextMatrix(100, 120); 
                        //开始写入水印
                        for (int k = 0; k < j; k++) { 
                            content.setTextRise(rise); 
                            c = waterText.charAt(k);
                            //将char转成字符串
                            content.showText(c + ""); 
                            high -= 5; 
                        }
                            content.endText(); 
                            
                     }
               stamper.close(); 
        }
}


这里也可在加水印的时候添加密码
stamper.setEncryption("user".getBytes(),
                "admin".getBytes(), 16, false);

这里的水印是倾斜,就是打印一行文字的时候将单个文字的高度下移rise。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载