在处理 PDF 文件时,常常需要调整页面尺寸,以突出关键信息、去除多余空白或适应特定的打印和显示需求。裁剪 PDF 页面可以帮助优化文档布局,使内容更清晰、排版更紧凑,同时减少文件大小,提高阅读和共享的便利性。此外,合理裁剪页面还能提升文档的视觉美观度,使其更符合专业排版要求。这篇文章将介绍如何使用 Spire.PDF for Java 库在 Java 中裁剪 PDF 页面。
安装 Spire.PDF for Java
首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。JAR 文件可以从此链接下载。 如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>11.10.3</version>
    </dependency>
</dependencies>
Java 裁剪 PDF 页面
Spire.PDF for Java 提供了 PdfPageBase.setCropBox(Rectangle2D rect) 方法,用于设置 PDF 页面的裁剪区域。具体步骤如下:
- 创建 PdfDocument 类的实例。
- 使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。
- 使用 PdfDocument.getPages().get(int pageIndex) 方法获取 PDF 的特定页面。
- 创建 Reactangle2D 类的实例,定义裁剪区域。
- 使用 PdfPageBase.setCropBox(Rectangle2D rect) 方法设置页面的裁剪区域。
- 使用 PdfDocument.saveToFile() 方法保存结果文档。
- Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.awt.geom.Rectangle2D;
public class CropPdfPage {
    public static void main(String[] args) {
        // 创建 PdfDocument 类的实例
        PdfDocument pdf = new PdfDocument();
        // 加载 PDF 文件
        pdf.loadFromFile("示例.pdf");
        // 获取 PDF 的第一页
        PdfPageBase page = pdf.getPages().get(0);
        // 定义裁剪区域 (参数分别为x, y, 宽度, 高度)
        Rectangle2D rectangle = new Rectangle2D.Float(0, 40, 600, 360);
        // 设置页面的裁剪区域
        page.setCropBox(rectangle);
        // 保存裁剪后的 PDF 文件
        pdf.saveToFile("裁剪页面.pdf");
        // 关闭文件,释放资源
        pdf.close();
    }
}
Java 裁剪 PDF 页面并导出为图片
在裁剪 PDF 页面后,开发者可以使用 PdfDocument.saveAsImage(int pageIndex, PdfImageType type) 方法将其导出为图片。具体步骤如下:
- 创建 PdfDocument 类的实例。
- 使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。
- 使用 PdfDocument.getPages().get(int pageIndex) 方法获取 PDF 的特定页面。
- 创建 Reactangle2D 类的实例,定义裁剪区域。
- 使用 PdfPageBase.setCropBox(Rectangle2D rect) 方法设置页面的裁剪区域。
- 使用 PdfDocument.saveAsImage(int pageIndex, PdfImageType type) 方法将裁剪后的页面导出为图片。
- 将图片保存为图片文件。
- Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImageType;
import javax.imageio.ImageIO;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class CropPdfPageAndSaveAsImage {
    public static void main(String[] args) {
        // 创建 PdfDocument 类的实例
        PdfDocument pdf = new PdfDocument();
        // 加载 PDF 文件
        pdf.loadFromFile("示例.pdf");
        // 获取 PDF 的第一页
        PdfPageBase page = pdf.getPages().get(0);
        // 定义裁剪区域 (参数分别为x, y, 宽度, 高度)
        Rectangle2D rectangle = new Rectangle2D.Float(0, 40, 600, 360);
        // 设置页面的裁剪区域
        page.setCropBox(rectangle);
        // 导出裁剪后的页面为图片
        BufferedImage image = pdf.saveAsImage(0, PdfImageType.Bitmap);
        // 保存图片为 PNG 文件
        File outputFile = new File("裁剪.png");
        try {
            ImageIO.write(image, "PNG", outputFile);
            System.out.println("裁剪后的页面已保存为: " + outputFile.getAbsolutePath());
        } catch (IOException e) {
            System.err.println("保存图片时发生错误: " + e.getMessage());
        }
        // 关闭文档,释放资源
        pdf.close();
    }
}
申请临时 License
如果您需要去除生成文档中的评估提示或解除功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
 
    


 
					



