欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 在PDF中添加騎縫章示例解析

 更新時間:2020年07月24日 11:35:45   作者:E-iceblue  
這篇文章主要介紹了Java 在PDF中添加騎縫章示例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

騎縫章是用于往來業(yè)務合同,以確保合同真實、有效的印章加蓋方法,是一種防范風險的重要方式。在Java程序中,可以通過使用工具來輔助加蓋這種騎縫章。

工具:Free Spire.PDF for Java (免費版)

工具獲取及jar文件導入:

方式1:通過官網下載jar包,并解壓,手動導入lib文件夾下的Spire.Pdf.jar文件。

方式2:通過創(chuàng)建Maven程序,在pom.xml中配置maven倉庫路徑并指定Free Spire.PDF for Java 的依賴,配置完成后,在IDEA中,點擊“Import Changes”導入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的導入方法,參考這篇文章

jar導入結果如下圖所示:

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方法,根據PDF頁數分割印章圖片
 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;
 }

}

騎縫章添加效果:

到此這篇關于Java 在PDF中添加騎縫章示例解析的文章就介紹到這了,更多相關Java 在PDF中添加騎縫章內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    這篇文章主要為大家介紹了JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • springboot vue完成發(fā)送接口請求顯示響應頭信息

    springboot vue完成發(fā)送接口請求顯示響應頭信息

    這篇文章主要為大家介紹了springboot+vue完成發(fā)送接口請求顯示響應頭信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • java中JSqlParser的使用

    java中JSqlParser的使用

    JSqlParse是一款很精簡的sql解析工具,它可以將常用的sql文本解析成具有層級結構的語法樹,本文主要介紹了java中JSqlParser的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • javaweb配置jsp路徑映射操作

    javaweb配置jsp路徑映射操作

    這篇文章主要介紹了javaweb配置jsp路徑映射操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java使用反射和動態(tài)代理實現一個View注解綁定庫

    Java使用反射和動態(tài)代理實現一個View注解綁定庫

    這篇文章主要介紹了Java使用反射和動態(tài)代理實現一個View注解綁定庫,代碼簡潔,使用簡單,擴展性強,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Java8接口的默認方法

    Java8接口的默認方法

    這篇文章主要為大家介紹了Java8接口的默認方法,還為大家默認方法的多重繼承,感興趣的朋友可以參考一下
    2016-01-01
  • Java使用fastjson對String、JSONObject、JSONArray相互轉換

    Java使用fastjson對String、JSONObject、JSONArray相互轉換

    這篇文章主要介紹了Java使用fastjson對String、JSONObject、JSONArray相互轉換,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java實現簡單掃雷游戲

    java實現簡單掃雷游戲

    這篇文章主要為大家詳細介紹了java實現簡單掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Spring+quartz實現定時發(fā)送郵件功能實例

    Spring+quartz實現定時發(fā)送郵件功能實例

    spring提供的定時發(fā)送郵件功能一直深受廣大web開發(fā)者的喜愛,這篇文章主要介紹了Spring+quartz實現定時發(fā)送郵件功能實例,有興趣的可以了解一下。
    2017-03-03
  • idea運行main方法或Test避免編譯整個應用的實現方法

    idea運行main方法或Test避免編譯整個應用的實現方法

    這篇文章主要介紹了idea運行main方法或Test避免編譯整個應用的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論