1. 程式人生 > >java 讀取pdf檔案的寬,高

java 讀取pdf檔案的寬,高

java 處理pdf文件,比如:在特定位置插入圖片,簽名,需要計算pdf的寬度,高度

1.專案結構 和引用類庫

除了標準java jdk庫外,還需引入下圖表示的兩個jar


2.具體實現程式碼:

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

總結:可以看到

 一. 獲取尺寸的兩個方法:

  1.      Rectangle pageSize = reader.getPageSize(1);
  2.      Document document = new Document(pdfreader.getPageSize(1));

    這兩個方法獲取的pdf寬高相同

二. 獲取任意頁面的寬高

     //預設獲取第一頁的尺寸:引數是1

     Rectangle pageSize = reader.getPageSize(1);

    若要獲取n頁pdf的尺寸:寬高

    Rectangle pageSize = reader.getPageSize(n);