java 讀取pdf檔案的寬,高
阿新 • • 發佈:2019-02-12
java 處理pdf文件,比如:在特定位置插入圖片,簽名,需要計算pdf的寬度,高度
1.專案結構 和引用類庫
除了標準java jdk庫外,還需引入下圖表示的兩個jar2.具體實現程式碼:
執行結果:import java.io.FileInputStream; import java.io.IOException; import com.itextpdf.text.Document; import com.itextpdf.text.PageSize; import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.PdfReader; public class WidthAndHeight { public static void main(String[] args) throws Exception { String filename = "E:\\pdfsign\\test介面操作_sign666.pdf"; // TODO Auto-generated method stub PdfReader reader = new PdfReader(filename); //或者下面的也可以 // PdfReader reader = new PdfReader(new FileInputStream(filename)); Rectangle pageSize = reader.getPageSize(1); float height = pageSize.getHeight(); float width = pageSize.getWidth(); System.out.println("width = "+width+", height = "+height); // Document document = new Document(); // document.getPageSize().getHeight(); // document.getPageSize().getWidth(); PdfReader pdfreader = new PdfReader(filename); Document document = new Document(pdfreader.getPageSize(1)); // Document document = new Document(PageSize.A4.rotate(), 0, 0, 30, 0); // 獲取頁面寬度 float widths = document.getPageSize().getWidth(); // 獲取頁面高度 float heights = document.getPageSize().getHeight(); System.out.println("widths = "+widths+", heights = "+heights); } }
width = 595.32, height = 841.92
widths = 595.32, heights = 841.92
總結:可以看到
一. 獲取尺寸的兩個方法:
- Rectangle pageSize = reader.getPageSize(1);
- Document document = new Document(pdfreader.getPageSize(1));
這兩個方法獲取的pdf寬高相同
二. 獲取任意頁面的寬高
//預設獲取第一頁的尺寸:引數是1
Rectangle pageSize = reader.getPageSize(1);
若要獲取n頁pdf的尺寸:寬高
Rectangle pageSize = reader.getPageSize(n);