Java 在PDF中添加騎縫章示例解析
騎縫章是用于往來業(yè)務(wù)合同,以確保合同真實、有效的印章加蓋方法,是一種防范風(fēng)險的重要方式。在Java程序中,可以通過使用工具來輔助加蓋這種騎縫章。
工具:Free Spire.PDF for Java (免費版)
工具獲取及jar文件導(dǎo)入:
方式1:通過官網(wǎng)下載jar包,并解壓,手動導(dǎo)入lib文件夾下的Spire.Pdf.jar文件。
方式2:通過創(chuàng)建Maven程序,在pom.xml中配置maven倉庫路徑并指定Free Spire.PDF for Java 的依賴,配置完成后,在IDEA中,點擊“Import Changes”導(dǎo)入JAR包:
<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>2.6.3</version> </dependency> </dependencies>
(Ecllipse的導(dǎo)入方法,參考這篇文章)
jar導(dǎo)入結(jié)果如下圖所示:
Java 示例
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfGraphicsUnit; import com.spire.pdf.graphics.PdfImage; import com.spire.pdf.graphics.PdfUnitConvertor; import javax.imageio.ImageIO; import java.awt.*; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class AcrossPageSeal { public static void main(String[] args) throws IOException { //加載測試文檔 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("test.pdf"); //獲取分割后的印章圖片 BufferedImage[] images = GetImage(pdf.getPages().getCount()); float x = 0; float y = 0; //實例化PdfUnitConvertor類 PdfUnitConvertor convert = new PdfUnitConvertor(); PdfPageBase pageBase; //將圖片繪制到PDF頁面上的指定位置 for (int i = 0; i < pdf.getPages().getCount(); i++) { BufferedImage image= images[ i ]; pageBase = pdf.getPages().get(i); x = (float)pageBase.getSize().getWidth() - convert.convertUnits(image.getWidth(), PdfGraphicsUnit.Point, PdfGraphicsUnit.Pixel) + 40; y = (float) pageBase.getSize().getHeight()/ 2; pageBase.getCanvas().drawImage(PdfImage.fromImage(image), new Point2D.Float(x, y)); } //保存PDF文檔 pdf.saveToFile("Result.pdf"); } //定義GetImage方法,根據(jù)PDF頁數(shù)分割印章圖片 static BufferedImage[] GetImage(int num) throws IOException { String originalImg = "seal.png"; BufferedImage image = ImageIO.read(new File(originalImg)); int rows = 1; int cols = num; int chunks = rows * cols; int chunkWidth = image.getWidth() / cols; int chunkHeight = image.getHeight() / rows; int count = 0; BufferedImage[] imgs = new BufferedImage[ chunks ]; for (int x = 0; x < rows; x++) { for (int y = 0; y < cols; y++) { imgs[ count ] = new BufferedImage(chunkWidth, chunkHeight, image.getType()); Graphics2D gr = imgs[ count++ ].createGraphics(); gr.drawImage(image, 0, 0, chunkWidth, chunkHeight, chunkWidth * y, chunkHeight * x, chunkWidth * y + chunkWidth, chunkHeight * x + chunkHeight, Color.WHITE,null); gr.dispose(); } } return imgs; } }
騎縫章添加效果:
到此這篇關(guān)于Java 在PDF中添加騎縫章示例解析的文章就介紹到這了,更多相關(guān)Java 在PDF中添加騎縫章內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java 使用openoffice進行word轉(zhuǎn)換為pdf的方法步驟
- Java使用iTextPDF生成PDF文件的實現(xiàn)方法
- Java 實現(xiàn)word模板轉(zhuǎn)為pdf
- java 后端生成pdf模板合并單元格表格的案例
- java 畫pdf用itext調(diào)整表格寬度、自定義各個列寬的方法
- java 用itext設(shè)置pdf紙張大小操作
- Java生成pdf文件或jpg圖片的案例講解
- 用Java驗證pdf文件的電子章簽名
- 基于Java SWFTools實現(xiàn)把pdf轉(zhuǎn)成swf
- Java實現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的示例
- Java pdf和jpg互轉(zhuǎn)案例
- Java實現(xiàn)圖片轉(zhuǎn)換PDF文件的示例代碼
- Java 基于Spire.Cloud.SDK for Java在PDF中繪制形狀
- Java 在PDF中繪制形狀的兩種方法
- 教你怎么用Java通過關(guān)鍵字修改pdf
相關(guān)文章
JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解
這篇文章主要為大家介紹了JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12springboot vue完成發(fā)送接口請求顯示響應(yīng)頭信息
這篇文章主要為大家介紹了springboot+vue完成發(fā)送接口請求顯示響應(yīng)頭信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05Java使用反射和動態(tài)代理實現(xiàn)一個View注解綁定庫
這篇文章主要介紹了Java使用反射和動態(tài)代理實現(xiàn)一個View注解綁定庫,代碼簡潔,使用簡單,擴展性強,結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Java使用fastjson對String、JSONObject、JSONArray相互轉(zhuǎn)換
這篇文章主要介紹了Java使用fastjson對String、JSONObject、JSONArray相互轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Spring+quartz實現(xiàn)定時發(fā)送郵件功能實例
spring提供的定時發(fā)送郵件功能一直深受廣大web開發(fā)者的喜愛,這篇文章主要介紹了Spring+quartz實現(xiàn)定時發(fā)送郵件功能實例,有興趣的可以了解一下。2017-03-03idea運行main方法或Test避免編譯整個應(yīng)用的實現(xiàn)方法
這篇文章主要介紹了idea運行main方法或Test避免編譯整個應(yīng)用的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04