当前位置:   article > 正文

Java实现裁剪PDF

Java实现裁剪PDF

目录

安装Java PDF库

Java裁剪PDF页面

Java裁剪PDF页面并将结果保存为图片、HTML、Excel等格式


裁剪PDF页面是一项常见的任务,它可以用来调整文档的尺寸和去除不需要的边距或白边。通过裁剪页面,你可以优化文档的布局和展示效果,使其更符合你的需求。这篇文章将介绍如何使用Java实现裁剪PDF文档的页面,主要包括以下内容:

  • Java裁剪PDF页面
  • Java裁剪PDF页面并将结果保存为图片、HTML、Excel等格式

安装Java PDF库

要裁剪PDF页面,可以使用Spire.PDF for Java 库。

Spire.PDF for Java是一款专门为Java开发人员设计的PDF文档处理库。它支持在Java应用程序中创建、读取、编辑、转换和打印PDF文档。你可以使用以下代码来从Maven仓库安装它:

  1. <repositories>
  2.     <repository>
  3.         <id>com.e-iceblue</id>
  4.         <name>e-iceblue</name>
  5.         <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
  6.     </repository>
  7. </repositories>
  8. <dependency>
  9.     <groupId>e-iceblue</groupId>
  10.     <artifactId>spire.pdf</artifactId>
  11.     <version>10.4.9</version>
  12. </dependency>

Java裁剪PDF页面

Spire.PDF for Java提供了PdfPageBase.setCropBox(Rectangle2D rect)方法,支持裁剪PDF页面。具体步骤如下:

  • 创建PdfDocument类的实例。
  • 使用PdfDocument.loadFromFile()方法加载PDF文档。
  • 使用PdfDocument.getPages().get(index)方法获取你希望裁剪的页面。
  • 创建Rectangle2D对象,用于定义裁剪的页面区域。
  • 使用PdfPageBase.setCropBox(Rectangle2D rect)方法裁剪页面。
  • 使用PdfDocument.SaveToFile()方法保存结果文档。
  1. import com.spire.pdf.PdfDocument;
  2. import com.spire.pdf.PdfPageBase;
  3. import java.awt.*;
  4. import java.awt.geom.Rectangle2D;
  5. public class Main {
  6. public static void main(String[] args) {
  7. //创建PdfDocument实例
  8. PdfDocument pdf = new PdfDocument();
  9. //加载PDF文档
  10. pdf.loadFromFile("示例.pdf");
  11. //获取第一页
  12. PdfPageBase page = pdf.getPages().get(0);
  13. //创建Rectangle2D实例用于指定裁剪的页面区域
  14. Rectangle2D rect = new Rectangle(30, 280, 552, 220);
  15. //裁剪第一页
  16. page.setCropBox(rect);
  17. //保存结果文档
  18. pdf.saveToFile("裁剪.pdf");
  19. pdf.close();
  20. }
  21. }

Java裁剪PDF页面并将结果保存为图片、HTML、Excel等格式

有时候,你可能需要裁剪PDF页面并将结果保存为其他格式,例如图片、HTML或Excel等,以便在其他地方使用。Spire.PDF for Java提供了PdfDocument.saveAsImage()方法来将PDF文档保存为图片,以及PdfDocument.saveToFile()方法来将PDF文档保存为其他格式如HTML、Excel等。

以下步骤展示了如何裁剪一个PDF文档的特定页面并将结果保存为图片:

  • 创建PdfDocument类的实例。
  • 使用PdfDocument.loadFromFile()方法加载PDF文档。
  • 使用PdfDocument.getPages().get(index)方法获取你希望裁剪的页面。
  • 创建Rectangle2D对象,用于定义裁剪的页面区域。
  • 使用PdfPageBase.setCropBox(Rectangle2D rect)方法裁剪页面。
  • 使用PdfDocument.saveAsImage(int pageIndex, PdfImageType type)方法将该页面保存为BufferedImage对象。
  • BufferedImage对象保存为PNG图片文件。
  1. import com.spire.pdf.PdfDocument;
  2. import com.spire.pdf.PdfPageBase;
  3. import com.spire.pdf.graphics.PdfImageType;
  4. import javax.imageio.ImageIO;
  5. import java.awt.*;
  6. import java.awt.geom.Rectangle2D;
  7. import java.awt.image.BufferedImage;
  8. import java.io.File;
  9. import java.io.IOException;
  10. public class CropPageAndSaveItAsImage {
  11. public static void main(String[] args) throws IOException {
  12. //创建PdfDocument实例
  13. PdfDocument pdf = new PdfDocument();
  14. //加载PDF文档
  15. pdf.loadFromFile("sample.pdf");
  16. //获取第一页
  17. PdfPageBase page = pdf.getPages().get(0);
  18. //创建Rectangle2D实例用于指定裁剪的页面区域
  19. Rectangle2D rect = new Rectangle(30, 280, 552, 220);
  20. //裁剪页面
  21. page.setCropBox(rect);
  22. //将第一页保存为图片
  23. BufferedImage image = pdf.saveAsImage(0, PdfImageType.Bitmap);
  24. //将图片保存为PNG文件
  25. File file = new File("cropped.png");
  26. ImageIO.write(image, "PNG", file);
  27. pdf.close();
  28. }
  29. }

以下步骤展示了如何裁剪一个PDF文档的特定页面并将结果保存为HTML、Excel、OFD等格式:

  • 创建PdfDocument类的实例。
  • 使用PdfDocument.loadFromFile()方法加载PDF文档。
  • 使用PdfDocument.getPages().get(index)方法获取你希望裁剪的页面。
  • 创建Rectangle2D对象,用于定义裁剪的页面区域。
  • 使用PdfPageBase.setCropBox(Rectangle2D rect)方法裁剪页面。
  • 创建另一个PdfDocument类的实例来生产一个新的PDF文档。
  • 使用PdfDocument.insertPage()方法将裁剪后的页面插入新的PDF文档。
  • 使用PdfDocument.saveToFile()方法将新的PDF文档保存为HTML/EXCEL/OFD等格式。
  1. import com.spire.pdf.FileFormat;
  2. import com.spire.pdf.PdfDocument;
  3. import com.spire.pdf.PdfPageBase;
  4. import java.awt.*;
  5. import java.awt.geom.Rectangle2D;
  6. public class CropPageAndSaveItAsHtmlExcel {
  7. public static void main(String[] args){
  8. //创建PdfDocument实例
  9. PdfDocument pdf = new PdfDocument();
  10. //加载PDF文档
  11. pdf.loadFromFile("sample.pdf");
  12. //获取第一页
  13. PdfPageBase page = pdf.getPages().get(0);
  14. //创建Rectangle2D实例用于指定裁剪的页面区域
  15. Rectangle2D rect = new Rectangle(30, 280, 552, 220);
  16. //裁剪页面
  17. page.setCropBox(rect);
  18. //创建一个新的PDF文档
  19. PdfDocument newPdf = new PdfDocument();
  20. //将裁剪后的页面插入到新的PDF文档
  21. newPdf.insertPage(pdf, page);
  22. //将新的PDF文档保存为HTML/XLSX/OFD等其他格式
  23. newPdf.saveToFile("cropped.html", FileFormat.HTML);
  24. newPdf.saveToFile("cropped.xlsx", FileFormat.XLSX);
  25. newPdf.saveToFile("cropped.ofd", FileFormat.OFD);
  26. newPdf.close();
  27. pdf.close();
  28. }
  29. }

除了以上代码中保存的格式外,你还可以将裁剪结果保存为很多其他格式,如.doc.docx,.xps等,修改FileFormat枚举即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/530656
推荐阅读
相关标签
  

闽ICP备14008679号