java生成pdf并添加水印应该做?java和pdf编辑器那个更好?
水印对于我们来说是一种非常常见的防伪方法,常用于各种文件和资料中,特别是电子文档更是随处可见。常见水印,包括文字型水印、图片型水印以及标志型水印等。那么怎么实现java生成pdf并添加水印,在下面的Java示例中,我将进行关于PDF加水印类型中,插入文本水印方法以及图片水印方法的相关讲述。但不得不说java生成pdf并添加水印是很复杂的。除了使用java我们可以通过使用福昕PDF365类似的pdf编辑器进行生成pdf并添加水印。
java生成pdf并添加水印
添加文本水印(java)
importcom.spire.pdf.*;
importcom.spire.pdf.graphics.*;
importjava.awt.*;
importjava.awt.geom.*;
publicclassTextwatermark{
publicstaticvoidmain(String[]args){
//创建PdfDocument类的对象
PdfDocumentpdf=newPdfDocument();
//加载测试文档
pdf.loadFromFile("test.pdf");
//获取测试文档中的第一页
PdfPageBasepage=pdf.getPages().get(0);
//调用insertWatermark()方法添加文本水印
insertWatermark(page);
//保存文档
pdf.saveToFile("out/textWaterMark.pdf");
}
staticvoidinsertWatermark(PdfPageBasepage){
Dimension2Ddimension2D=newDimension();
PdfTrueTypeFontfont1=newPdfTrueTypeFont(newFont("ArialUnicodeMS",Font.PLAIN,14),true);
dimension2D.setSize(page.getCanvas().getClientSize().getWidth()/5,page.getCanvas().getClientSize().getHeight()/5);
PdfTilingBrushbrush=newPdfTilingBrush(dimension2D);
brush.getGraphics().setTransparency(0.4F);
brush.getGraphics().save();
brush.getGraphics().translateTransform((float)brush.getSize().getWidth()/5,(float)brush.getSize().getHeight()/5);
brush.getGraphics().rotateTransform(-45);
brush.getGraphics().drawString("密件",font1,PdfBrushes.getViolet(),0,0,newPdfStringFormat(PdfTextAlignment.Center));
brush.getGraphics().restore();
brush.getGraphics().setTransparency(1);
Rectangle2DloRect=newRectangle2D.Float();
loRect.setFrame(newPoint2D.Float(0,0),page.getCanvas().getClientSize());
page.getCanvas().drawRectangle(brush,loRect);
}
}
添加图片水印(java)
importcom.spire.pdf.*;
importjava.awt.geom.Rectangle2D;
publicclasswatermark{
publicstaticvoidmain(String[]args){
//实例化PdfDocument类的对象,并加载测试文档
PdfDocumentdoc=newPdfDocument();
doc.loadFromFile("test.pdf");
//获取文档第1页
PdfPageBasepage=doc.getPages().get(0);
//加载图片,设置为背景水印
page.setBackgroundImage("logo.png");
//指定水印在文档中的位置及图片大小
Rectangle2D.Floatrect=newRectangle2D.Float();
rect.setRect(150,150,300,150);
page.setBackgroundRegion(rect);
//保存文档
doc.saveToFile("output/imageWaterMark.pdf");
doc.close();
}
}
pdf加水印的方法(编辑器)
工具:福昕PDF365
1.首先打开福昕PDF365,然后主其界面中点击“打开本地文档”并将想要解密的pdf文件添加进来。
2.添加完毕后在极速pdf界面顶部的工具栏中找到“编辑”功能并打开它。
3.然后在“编辑”界面顶部的工具栏中找到“文档”,在“文档”中打开“水印”。
4.之后在“水印添加”界面调整想要添加的水印以及设置水印的属性,设置完毕后点击“应用”就可以了。
java生成pdf并添加水印
上文我总共讲述了两种设置pdf水印的办法,一种为java生成pdf并添加水印,另一种为使用福昕PDF365类似的软件。这两种方法生成水印后的效果基本一样,但PDF文件使用JAVA生成并添加水印时,页面大小设置为A4。在A4纸上打印时,会出现边无法打印的情况,即PDF的边与A4值的边之间仍有0.3 cm的距离。