`
阅读更多
图章(印章)是一种在合同、票据、公文等文件中表明法律效应、部门机关权威的重要指示物,常见于各种格式的文件、文档中。对于纸质文档可以手动盖章,但对于电子文档,则需要通过特定的方法来实现。本篇文档分享通过Java代码在PDF文档中添加图章的方法。内容将分2部分介绍: 1. 添加图片图章。即通过加载现有的图章(以图片形式),添加到PDF指定页面位置 2. 添加动态图章。即加载PDF文档,并在动态的添加印章内容,包括印章字样、日期、时间、经办人、组织名称等。 使用工具:Free Spire.PDF for Java (免费版) 关于jar文件导入: 步骤1步骤1:在Java程序中新建一个文件夹可命名为Lib。并将产品包中的2个jar文件复制到新建的文件夹下。 步骤2复制文件后,添加到引用类库:选中这两个jar文件,点击鼠标右键,选择“Build Path” – “Add to Build Path”。完成引用。 
 

Java示例(供参考)

1. 添加图片图章

import com.spire.pdf.FileFormat; import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.annotations.PdfRubberStampAnnotation; import com.spire.pdf.annotations.appearance.PdfAppearance; import com.spire.pdf.graphics.PdfImage; import com.spire.pdf.graphics.PdfTemplate; import java.awt.geom.Rectangle2D; public class ImageStamp { public static void main(String[] args) { //创建PdfDocument对象,加载PDF测试文档 PdfDocument doc = new PdfDocument(); doc.loadFromFile("test.pdf"); //获取文档第3页 PdfPageBase page = doc.getPages().get(2); //加载印章图片 PdfImage image = PdfImage.fromFile("stamp.png"); //获取印章图片的宽度和高度 int width = image.getWidth(); int height = image.getHeight(); //创建PdfTemplate对象 PdfTemplate template = new PdfTemplate(width, height); //将图片绘制到模板 template.getGraphics().drawImage(image, 0, 0, width, height); //创建PdfRubebrStampAnnotation对象,指定大小和位置 Rectangle2D rect = new Rectangle2D.Float((float) (page.getActualSize().getWidth() - width - 10), (float) (page.getActualSize().getHeight() - height - 60), width, height); PdfRubberStampAnnotation stamp = new PdfRubberStampAnnotation(rect); //创建PdfAppearance对象 PdfAppearance pdfAppearance = new PdfAppearance(stamp); //将模板应用为PdfAppearance的一般状态 pdfAppearance.setNormal(template); //将PdfAppearance 应用为图章的样式 stamp.setAppearance(pdfAppearance); //添加图章到PDF page.getAnnotationsWidget().add(stamp); //保存文档 doc.saveToFile("ImageStamp.pdf",FileFormat.PDF); } }   图片图章添加效果:

 

2.添加动态图章

import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.annotations.PdfRubberStampAnnotation; import com.spire.pdf.annotations.appearance.PdfAppearance; import com.spire.pdf.graphics.*; import java.awt.*; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.text.SimpleDateFormat; public class DynamicStamp { public static void main(String[] args) { //创建PdfDocument对象 PdfDocument document = new PdfDocument(); //加载PDF文档 document.loadFromFile("test.pdf"); //获取第3页 PdfPageBase page = document.getPages().get(2); //创建PdfTamplate对象 PdfTemplate template = new PdfTemplate(185, 50); //创建两种字体 PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN ,15), true); PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN ,10), true); //创建画刷 PdfSolidBrush solidBrush = new PdfSolidBrush(new PdfRGBColor(Color.blue)); Rectangle2D rect1 = new Rectangle2D.Float(); rect1.setFrame(new Point2D.Float(0,0),template.getSize()); //创建圆角矩形路径 int CornerRadius = 20; PdfPath path = new PdfPath(); path.addArc(template.getBounds().getX(), template.getBounds().getY(), CornerRadius, CornerRadius, 180, 90); path.addArc(template.getBounds().getX() + template.getWidth() - CornerRadius,template.getBounds().getY(), CornerRadius, CornerRadius, 270, 90); path.addArc(template.getBounds().getX() + template.getWidth() - CornerRadius, template.getBounds().getY()+ template.getHeight() - CornerRadius, CornerRadius, CornerRadius, 0, 90); path.addArc(template.getBounds().getX(), template.getBounds().getY() + template.getHeight() - CornerRadius, CornerRadius, CornerRadius, 90, 90); path.addLine( template.getBounds().getX(), template.getBounds().getY() + template.getHeight() - CornerRadius, template.getBounds().getX(), template.getBounds().getY() + CornerRadius / 2); //绘制路径到模板,并进行填充 template.getGraphics().drawPath(PdfPens.getBlue(), path); //在模板上绘制文字及动态日期 String s1 = "已审核\n"; String s2 = "社区管理中心 " + dateToString(new java.util.Date(),"yyyy-MM-dd HH:mm:ss"); template.getGraphics().drawString(s1, font1, solidBrush, new Point2D.Float(5, 5)); template.getGraphics().drawString(s2, font2, solidBrush, new Point2D.Float(5, 28)); //创建PdfRubberStampAnnotation对象,并指定其位置和大小 Rectangle2D rect2= new Rectangle2D.Float(); rect2.setFrame(new Point2D.Float((float)(page.getActualSize().getWidth()-250),(float)(page.getActualSize().getHeight()-150)), template.getSize()); PdfRubberStampAnnotation stamp = new PdfRubberStampAnnotation(rect2); //创建PdfAppearance对象,应用模板为一般状态 PdfAppearance appearance = new PdfAppearance(stamp); appearance.setNormal(template); //应用样式到图章 stamp.setAppearance(appearance); //添加图章到Annotation集合 page.getAnnotationsWidget().add(stamp); //保存文档 document.saveToFile("DynamicStamp.pdf"); document.close(); } //将日期转化成字符串 public static String dateToString(java.util.Date poDate,String pcFormat) { SimpleDateFormat loFormat = new SimpleDateFormat(pcFormat); return loFormat.format(poDate); } }   动态图章添加效果:

 
 (本文完)      
  • 大小: 79.7 KB
  • 大小: 13.6 KB
  • 大小: 202.7 KB
  • 大小: 112.6 KB
0
0
分享到:
评论
相关资源推荐
  • PDF矢量图章 动态图章 印模制作 源码 可制作PDF矢量图章的OCX控件,提供动态图章合成接口DLL版和JAR版,非图片格式,打印清楚 版本:OCX控件,DLL库,JAR包
  • pdf文档如何编辑添加图章 想在pdf文件中盖图章应该怎么做?现在有了pdf编辑器一切pdf文件的编辑器问题都不再是问题了,下面一起看看具体的操作方法吧。 首先安装迅捷pdf编辑器到电脑中,已经安装好编辑器的可以跳过; 迅捷PDF编辑器是一款能够实现PDF文件的编辑与阅读的文字处理软件,软件可以对PDF文件的内容进行添加与修改、彻底的解决了PDF文件无法编辑难以阅读的问题。还可以对PDF文件进行图片替换、文字修改、绘画标
  • PDF文件中插入图片(图章) 在Adobe Reader里面的【填写与签名】里面有个设置签名的地方,可以放置插入图片。 选择图片后点击【接受】按钮 然后点击 放置 签名 ,就可以把图片放到pdf文件里面了。
  • 如何编辑pdf文件 在pdf中添加图章的方法 一些小伙伴有在自己作品上签名的习惯,就像是每一个公司都有自己的logo。那么如果想要给自己制作的PDF盖上章,或是在PDF中添加上公司的logo该怎么做呢?接下来笔者给大家分享下如何在PDF中添加图章的方法。 第一步,运行捷速PDF编辑器,点击“文件——打开”或按快捷键“Ctrl+O”将要编辑的PDF文件在软件界面中打开。 第二步,依次点击“工具(在软件顶部)——注释和
  • pdf阅读器如何给pdf添加图章 对于经常接触到pdf文件的人来说想要编辑pdf文件相对于没有怎么接触过pdf的要相对简单一点,因为熟悉pdf文件的人都知道它是很难进行编辑的,那如果是对pdf文件添加图章,我们该怎么办呢?其实这简单,只要你选择一个可以打开pdf文件的pdf阅读器就可以了,那阅读器这么多到底选哪一个好呢?下面就让我来给大家盘点一下吧。 小编使用的是轻快PDF阅读器电脑版,这是一款专业的PD
  • Java 印章获取
  • 怎样用pdf编辑器在文档中盖图章 面对不能编辑的pdf文件想要在其中加盖图章可以实现吗?答案是肯定的,下面小编就教大家在文档中轻松加盖图章的方法。 其实我们只需要下载一款迅捷PDF编辑器就可以完成了,这是一款能够实现PDF文件阅读和编辑处理的软件,这款软件不仅可以修改PDF里的任意内容,更是可以快速的修改PDF文件里的任意内容,彻底解决了PDF文件无法编辑的问题。此外PDF编辑器还可以对图片或者文字进行替换,也可以对PDF里的内
  • pdf文档加盖批量印章之Acrobat Javascript 只要稍作修改就可用于pdf文件加盖批量印章,免除逐页加盖的麻烦。是那些需要使用pdf文档进行公务处理的人员的小工具。
  • C# 如何给PDF文档添加图片印章 PDF添加图片印章是实现文档权威属性的重要手段之一,本文将介绍一种通过Office免费组件Spire.PDF for .NET 来实现PDF添加印章的方法。本文转载自http://www.cnblogs.com/Yesi/p/6141635.html 下面是实现印章添加的全部代码,具体详细步骤可查看原文档,这里不作赘述。 using System; using System.Draw...
  • PhotoShop CC 2017软件工具面板使用---仿制图章工具 仿制图章工具包含了仿制图章工具和图案图章工具仿制图章工具  就是将图片中有相似的部分,但有部分被遮盖,需要用未被遮盖的部分去修补被遮盖的部分,用污点修复画笔工具又略显达不到要求图案图章工具  将系统中自带的图案,用图案图章工具显示  也可以自定图案:新建像素不大的图片,比如10px*10px,然后在此图上画简单图案,画完后点”编辑”—>”定义图案”,点击确定保存,然后在图案图章工具中就可以找到你绘制
  • 图章制作工具 Stamp_v2.0 非常优秀的图章制作工具。
  • 3.15 使用仿制图章工具 [原创Ps教程] 原文:http://coolketang.com/staticPhotoshop/5a98d383a22b9d00443692e0.html1. 本节课程将为您演示,[仿制图章工具]的使用。[仿制图章工具]是一个很神奇的工具,它能够按涂抹的范围,复制全部或者部分内容,到一个新的图像区域中。 2. 首先点击下拉箭头,弹出[画笔属性面板],设置一下[仿制图章工具]的笔刷尺寸。 3. 点击[大小]滑杆,...
  • 分享一段工具型代码:印章抠图 能将白底红字的印章抠出来,用的是php,框架是laravel,其他框架请自行调节。扣其他颜色也可以,把里面的那段rgb参数判断改改就行了,最后抠出来的效果就是白底变透明,然后只留下红色的章,放在其他页面上就能形成盖章的效果了。代码自己写的,可能有bug,但是做做测试还是ok的,用到工作上的话请自行测试和优化。(在我自己测试对比下,能做到和PS差不多的抠图效果) function getStamp...
  • 【图像处理通道分离去除印章
  • ps使用仿制图章工具,图案图章工具 仿制图章工具 http://www.souxue8.com/Article/psjiaocheng/psjichu/201204/12434.html 图案图章工具 http://www.souxue8.com/Article/psjiaocheng/psjichu/201204/12434_2.html
  • MakeSign图章制作,完全破解版 MakeSign图章制作,完全破解版 MakeSign图章制作,完全破解版
  • snagit截图工具的大量印章 snagit截图工具的大量印章, 方便屏幕截图或者图片文件的加工和注释,美观。
  • Discuz论坛精美图章 有关于Discuz论坛相关的图章标识,喜欢搞论坛的人很有用
  • Acrobat9.0动态图章制作图文详解 讲述了一种制作PDF动态图章的方法,既含有图片又含有动态文字(比如日期时间等),可用于图纸上的手写签名。
  • 图章制作专家代注册机 WinSealXP80图章制作专家代注册机
Global site tag (gtag.js) - Google Analytics