日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【itext学习之路】--4.给pdf增加文本水印和图片水印

發布時間:2024/7/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【itext学习之路】--4.给pdf增加文本水印和图片水印 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:【itext學習之路】-------(第四篇)給pdf增加文本水印和圖片水印_tomatocc的博客-CSDN博客_itext添加水印

一般而言,許多公司在做pdf之后,都會將公司的logo或者網址以水印的方式添加到pdf文件中。本篇文章,我們將介紹在制作pdf的時候,如何將水印加入到pdf中去。

這里要說明一點:水印是要放在pdf中的,因此在創建PdfContentByte對象之前,一定要先 document.newPage();。二者順序是不能反過來的,如果反過來的意思就是先畫水印,在創建一個pdf頁面,顯然不符合邏輯了。

package cn.tomtocc.pdf;import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfGState; import com.itextpdf.text.pdf.PdfWriter;public class pdfTest {public static void main(String[] args) throws FileNotFoundException,DocumentException {//實現A4紙頁面 并且橫向顯示(不設置則為縱向)Document document = new Document(PageSize.A4.rotate());PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("d:/demo.pdf"));// 打開文檔document.open();// 創建第一頁(如果只有一頁的話,這一步可以省略)document.newPage();// 加入水印PdfContentByte waterMar = pdfWriter.getDirectContentUnder();// 開始設置水印waterMar.beginText();// 設置水印透明度PdfGState gs = new PdfGState();// 設置填充字體不透明度為0.4fgs.setFillOpacity(0.4f);try {// 設置水印字體參數及大小 (字體參數,字體編碼格式,是否將字體信息嵌入到pdf中(一般不需要嵌入),字體大小)waterMar.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED), 60);// 設置透明度waterMar.setGState(gs);// 設置水印對齊方式 水印內容 X坐標 Y坐標 旋轉角度waterMar.showTextAligned(Element.ALIGN_RIGHT, "www.tomatocc.com" , 500, 430, 45);// 設置水印顏色waterMar.setColorFill(BaseColor.GRAY);//結束設置waterMar.endText();waterMar.stroke();} catch (IOException e) {e.printStackTrace();}finally {waterMar = null;gs = null;}// 加入文檔內容document.add(new Paragraph("my first pdf demo"));// 關閉文檔document.close();pdfWriter.close();} }

然后我們打開我們的pdf,如下:

?

  • 接下來,我們繼續操作“圖片水印”
package cn.tomtocc.pdf;import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Image; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfGState; import com.itextpdf.text.pdf.PdfWriter;public class pdfTest {public static void main(String[] args) throws FileNotFoundException,DocumentException {//實現A4紙頁面 并且橫向顯示(不設置則為縱向)Document document = new Document(PageSize.A4.rotate());PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("d:/demo.pdf"));// 打開文檔document.open();// 創建第一頁(如果只有一頁的話,這一步可以省略)document.newPage();// 加入水印PdfContentByte waterMar = pdfWriter.getDirectContentUnder();// 開始設置水印waterMar.beginText();// 設置水印透明度PdfGState gs = new PdfGState();// 設置筆觸字體不透明度為0.4fgs.setStrokeOpacity(0.4f);try {Image image = Image.getInstance("d:/tomatocc.jpg");// 設置坐標 絕對位置 X Yimage.setAbsolutePosition(200, 300);// 設置旋轉弧度image.setRotation(30);// 旋轉 弧度// 設置旋轉角度image.setRotationDegrees(45);// 旋轉 角度// 設置等比縮放image.scalePercent(90);// 依照比例縮放// image.scaleAbsolute(200,100);//自定義大小// 設置透明度waterMar.setGState(gs);// 添加水印圖片waterMar.addImage(image);// 設置透明度waterMar.setGState(gs);//結束設置waterMar.endText();waterMar.stroke();} catch (IOException e) {e.printStackTrace();}finally {waterMar = null;gs = null;}// 加入文檔內容document.add(new Paragraph("my first pdf demo"));// 關閉文檔document.close();pdfWriter.close();} }

然后我們打開文檔,就可以看到一個帶圖片水印的pdf了

  • 到目前為止,關于pdf的簡單操作就介紹到這里,在下篇文章中,我們將要介紹印章水印。

?

總結

以上是生活随笔為你收集整理的【itext学习之路】--4.给pdf增加文本水印和图片水印的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。