赞
踩
目录
Java裁剪PDF页面并将结果保存为图片、HTML、Excel等格式
裁剪PDF页面是一项常见的任务,它可以用来调整文档的尺寸和去除不需要的边距或白边。通过裁剪页面,你可以优化文档的布局和展示效果,使其更符合你的需求。这篇文章将介绍如何使用Java实现裁剪PDF文档的页面,主要包括以下内容:
要裁剪PDF页面,可以使用Spire.PDF for Java 库。
Spire.PDF for Java是一款专门为Java开发人员设计的PDF文档处理库。它支持在Java应用程序中创建、读取、编辑、转换和打印PDF文档。你可以使用以下代码来从Maven仓库安装它:
- <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>
Spire.PDF for Java提供了PdfPageBase.setCropBox(Rectangle2D rect)方法,支持裁剪PDF页面。具体步骤如下:
- 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) {
- //创建PdfDocument实例
- PdfDocument pdf = new PdfDocument();
-
- //加载PDF文档
- pdf.loadFromFile("示例.pdf");
-
- //获取第一页
- PdfPageBase page = pdf.getPages().get(0);
-
- //创建Rectangle2D实例用于指定裁剪的页面区域
- Rectangle2D rect = new Rectangle(30, 280, 552, 220);
-
- //裁剪第一页
- page.setCropBox(rect);
-
- //保存结果文档
- pdf.saveToFile("裁剪.pdf");
- pdf.close();
- }
- }
有时候,你可能需要裁剪PDF页面并将结果保存为其他格式,例如图片、HTML或Excel等,以便在其他地方使用。Spire.PDF for Java提供了PdfDocument.saveAsImage()方法来将PDF文档保存为图片,以及PdfDocument.saveToFile()方法来将PDF文档保存为其他格式如HTML、Excel等。
以下步骤展示了如何裁剪一个PDF文档的特定页面并将结果保存为图片:
- 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 {
- //创建PdfDocument实例
- PdfDocument pdf = new PdfDocument();
-
- //加载PDF文档
- pdf.loadFromFile("sample.pdf");
-
- //获取第一页
- PdfPageBase page = pdf.getPages().get(0);
-
- //创建Rectangle2D实例用于指定裁剪的页面区域
- Rectangle2D rect = new Rectangle(30, 280, 552, 220);
-
- //裁剪页面
- page.setCropBox(rect);
-
- //将第一页保存为图片
- BufferedImage image = pdf.saveAsImage(0, PdfImageType.Bitmap);
-
- //将图片保存为PNG文件
- File file = new File("cropped.png");
- ImageIO.write(image, "PNG", file);
-
- pdf.close();
- }
- }
以下步骤展示了如何裁剪一个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){
- //创建PdfDocument实例
- PdfDocument pdf = new PdfDocument();
-
- //加载PDF文档
- pdf.loadFromFile("sample.pdf");
-
- //获取第一页
- PdfPageBase page = pdf.getPages().get(0);
-
- //创建Rectangle2D实例用于指定裁剪的页面区域
- Rectangle2D rect = new Rectangle(30, 280, 552, 220);
-
- //裁剪页面
- page.setCropBox(rect);
-
- //创建一个新的PDF文档
- PdfDocument newPdf = new PdfDocument();
- //将裁剪后的页面插入到新的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();
- }
- }
除了以上代码中保存的格式外,你还可以将裁剪结果保存为很多其他格式,如.doc,.docx,.xps等,修改FileFormat枚举即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。