哪些購(gòu)物網(wǎng)站做的比較簡(jiǎn)潔有品質(zhì)手機(jī)端網(wǎng)站優(yōu)化
目錄
安裝Java PDF庫(kù)
Java裁剪PDF頁(yè)面
Java裁剪PDF頁(yè)面并將結(jié)果保存為圖片、HTML、Excel等格式
裁剪PDF頁(yè)面是一項(xiàng)常見(jiàn)的任務(wù),它可以用來(lái)調(diào)整文檔的尺寸和去除不需要的邊距或白邊。通過(guò)裁剪頁(yè)面,你可以?xún)?yōu)化文檔的布局和展示效果,使其更符合你的需求。這篇文章將介紹如何使用Java實(shí)現(xiàn)裁剪PDF文檔的頁(yè)面,主要包括以下內(nèi)容:
- Java裁剪PDF頁(yè)面
- Java裁剪PDF頁(yè)面并將結(jié)果保存為圖片、HTML、Excel等格式
安裝Java PDF庫(kù)
要裁剪PDF頁(yè)面,可以使用Spire.PDF for Java 庫(kù)。
Spire.PDF for Java是一款專(zhuān)門(mén)為Java開(kāi)發(fā)人員設(shè)計(jì)的PDF文檔處理庫(kù)。它支持在Java應(yīng)用程序中創(chuàng)建、讀取、編輯、轉(zhuǎn)換和打印PDF文檔。你可以使用以下代碼來(lái)從Maven倉(cāng)庫(kù)安裝它:
<repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository></repositories><dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf</artifactId><version>10.4.9</version></dependency>
Java裁剪PDF頁(yè)面
Spire.PDF for Java提供了PdfPageBase.setCropBox(Rectangle2D rect)方法,支持裁剪PDF頁(yè)面。具體步驟如下:
- 創(chuàng)建PdfDocument類(lèi)的實(shí)例。
- 使用PdfDocument.loadFromFile()方法加載PDF文檔。
- 使用PdfDocument.getPages().get(index)方法獲取你希望裁剪的頁(yè)面。
- 創(chuàng)建Rectangle2D對(duì)象,用于定義裁剪的頁(yè)面區(qū)域。
- 使用PdfPageBase.setCropBox(Rectangle2D rect)方法裁剪頁(yè)面。
- 使用PdfDocument.SaveToFile()方法保存結(jié)果文檔。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;import java.awt.*;
import java.awt.geom.Rectangle2D;public class Main {public static void main(String[] args) {//創(chuàng)建PdfDocument實(shí)例PdfDocument pdf = new PdfDocument();//加載PDF文檔pdf.loadFromFile("示例.pdf");//獲取第一頁(yè)P(yáng)dfPageBase page = pdf.getPages().get(0);//創(chuàng)建Rectangle2D實(shí)例用于指定裁剪的頁(yè)面區(qū)域Rectangle2D rect = new Rectangle(30, 280, 552, 220);//裁剪第一頁(yè)page.setCropBox(rect);//保存結(jié)果文檔pdf.saveToFile("裁剪.pdf");pdf.close();}
}
Java裁剪PDF頁(yè)面并將結(jié)果保存為圖片、HTML、Excel等格式
有時(shí)候,你可能需要裁剪PDF頁(yè)面并將結(jié)果保存為其他格式,例如圖片、HTML或Excel等,以便在其他地方使用。Spire.PDF for Java提供了PdfDocument.saveAsImage()方法來(lái)將PDF文檔保存為圖片,以及PdfDocument.saveToFile()方法來(lái)將PDF文檔保存為其他格式如HTML、Excel等。
以下步驟展示了如何裁剪一個(gè)PDF文檔的特定頁(yè)面并將結(jié)果保存為圖片:
- 創(chuàng)建PdfDocument類(lèi)的實(shí)例。
- 使用PdfDocument.loadFromFile()方法加載PDF文檔。
- 使用PdfDocument.getPages().get(index)方法獲取你希望裁剪的頁(yè)面。
- 創(chuàng)建Rectangle2D對(duì)象,用于定義裁剪的頁(yè)面區(qū)域。
- 使用PdfPageBase.setCropBox(Rectangle2D rect)方法裁剪頁(yè)面。
- 使用PdfDocument.saveAsImage(int pageIndex, PdfImageType type)方法將該頁(yè)面保存為BufferedImage對(duì)象。
- 將BufferedImage對(duì)象保存為PNG圖片文件。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImageType;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class CropPageAndSaveItAsImage {public static void main(String[] args) throws IOException {//創(chuàng)建PdfDocument實(shí)例PdfDocument pdf = new PdfDocument();//加載PDF文檔pdf.loadFromFile("sample.pdf");//獲取第一頁(yè)P(yáng)dfPageBase page = pdf.getPages().get(0);//創(chuàng)建Rectangle2D實(shí)例用于指定裁剪的頁(yè)面區(qū)域Rectangle2D rect = new Rectangle(30, 280, 552, 220);//裁剪頁(yè)面page.setCropBox(rect);//將第一頁(yè)保存為圖片BufferedImage image = pdf.saveAsImage(0, PdfImageType.Bitmap);//將圖片保存為PNG文件File file = new File("cropped.png");ImageIO.write(image, "PNG", file);pdf.close();}
}
以下步驟展示了如何裁剪一個(gè)PDF文檔的特定頁(yè)面并將結(jié)果保存為HTML、Excel、OFD等格式:
- 創(chuàng)建PdfDocument類(lèi)的實(shí)例。
- 使用PdfDocument.loadFromFile()方法加載PDF文檔。
- 使用PdfDocument.getPages().get(index)方法獲取你希望裁剪的頁(yè)面。
- 創(chuàng)建Rectangle2D對(duì)象,用于定義裁剪的頁(yè)面區(qū)域。
- 使用PdfPageBase.setCropBox(Rectangle2D rect)方法裁剪頁(yè)面。
- 創(chuàng)建另一個(gè)PdfDocument類(lèi)的實(shí)例來(lái)生產(chǎn)一個(gè)新的PDF文檔。
- 使用PdfDocument.insertPage()方法將裁剪后的頁(yè)面插入新的PDF文檔。
- 使用PdfDocument.saveToFile()方法將新的PDF文檔保存為HTML/EXCEL/OFD等格式。
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;import java.awt.*;
import java.awt.geom.Rectangle2D;public class CropPageAndSaveItAsHtmlExcel {public static void main(String[] args){//創(chuàng)建PdfDocument實(shí)例PdfDocument pdf = new PdfDocument();//加載PDF文檔pdf.loadFromFile("sample.pdf");//獲取第一頁(yè)P(yáng)dfPageBase page = pdf.getPages().get(0);//創(chuàng)建Rectangle2D實(shí)例用于指定裁剪的頁(yè)面區(qū)域Rectangle2D rect = new Rectangle(30, 280, 552, 220);//裁剪頁(yè)面page.setCropBox(rect);//創(chuàng)建一個(gè)新的PDF文檔PdfDocument newPdf = new PdfDocument();//將裁剪后的頁(yè)面插入到新的PDF文檔 newPdf.insertPage(pdf, page);//將新的PDF文檔保存為HTML/XLSX/OFD等其他格式newPdf.saveToFile("cropped.html", FileFormat.HTML);newPdf.saveToFile("cropped.xlsx", FileFormat.XLSX);newPdf.saveToFile("cropped.ofd", FileFormat.OFD);newPdf.close();pdf.close();}
}
除了以上代碼中保存的格式外,你還可以將裁剪結(jié)果保存為很多其他格式,如.doc,.docx,.xps等,修改FileFormat枚舉即可。