如何通过Java应用程序压缩PDF文档(java 压缩pdf)

  本篇文章为你整理了如何通过Java应用程序压缩PDF文档(java 压缩pdf)的详细内容,包含有如何通过java应用程序压缩pdf文档 java 压缩pdf java pdf文件压缩 java压缩pdf文件大小 如何通过Java应用程序压缩PDF文档,希望能帮助你了解 如何通过Java应用程序压缩PDF文档。

   PDF文档是我们日常办公中使用最频繁的文档格式。但因为大多数PDF文档都包含很多页面图像或大量图片,这就导致PDF文档过大,处理起来较为麻烦。PDF文件过大,就会导致传输或者下载的速度变慢,也会增加传输失败的风险,影响办公效率。因此我们需要对PDF文档进行压缩。本文将从以下两方面介绍如何通过Java应用程序压缩PDF文档。

  在使用PDF文件过程中,经常会出现由于体积过大导致文件传输失败的情况。遇到这种情况,我们可以先将PDF文件压缩一下再进行传输。而除了压缩文档内容以外,压缩图片是缩小PDF文档的主要方法之一。本文将分为2部分分别介绍如何通过Java代码压缩PDF文档。希望这篇文章能对大家有所帮助。

  
PDF文档是我们日常办公中使用最频繁的文档格式。但因为大多数PDF文档都包含很多页面图像或大量图片,这就导致PDF文档过大,处理起来较为麻烦。PDF文件过大,就会导致传输或者下载的速度变慢,也会增加传输失败的风险,影响办公效率。因此我们需要对PDF文档进行压缩。本文将从以下两方面介绍如何通过Java应用程序压缩PDF文档。

  在使用PDF文件过程中,经常会出现由于体积过大导致文件传输失败的情况。遇到这种情况,我们可以先将PDF文件压缩一下再进行传输。而除了压缩文档内容以外,压缩图片是缩小PDF文档的主要方法之一。本文将分为2部分分别介绍如何通过Java代码压缩PDF文档。希望这篇文章能对大家有所帮助。

  压缩PDF文档中的内容及图片

  压缩PDF文档中的高分辨率图片

  
导入方法1:

  手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

  导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

  

 repositories 

 

   repository

   id com.e-iceblue /id

   url https://repo.e-iceblue.cn/repository/maven-public/ /url

   /repository

   /repositories

   dependencies

   dependency

   groupId e-iceblue /groupId

   artifactId spire.pdf.free /artifactId

   version 5.1.0 /version

   /dependency

   /dependencies

 

  压缩PDF文档中的内容及图片

  压缩PDF文档中的内容及图片的详细步骤如下:

  
使用 PdfDocument.getFileInfo().setIncrementalUpdate() 方法将增量更新设置为false。

  
使用 PdfDocument.setCompressionLevel() 方法将压缩级别设置为最佳,以压缩文档中的内容。 您可以从 PdfCompressionLevel 枚举中选择其他一些级别。

  
循环遍历文档中的页面,使用 PdfPageBase.getImagesInfo() 方法获取每个页面的图像信息集合。

  
使用 PdfPageBase.replaceImage() 方法将原始图像替换为压缩图像。使用 PdfDocument.saveToFile() 方法将文档保存到另一个 PDF 文件。

  
效果对比图

  

  压缩 PDF 文档中的高分辨率图像

  本方法仅对文档中的高分辨率图像进行无损压缩,而低分辨率的图像将不再被压缩。

  创建 PdfDocument 类的对象。

  使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。

  使用 PdfDocument.getFileInfo().setIncrementalUpdate() 方法将 IncrementalUpdate 设置为 false。

  声明一个 PdfPageBase 变量。

  循环遍历页面并使用 PdfDocument.getPages().get() 方法获取特定页面。

  循环遍历页面中的图像。并使用 page.tryCompressImage(info.Index) 方法压缩高分辨率图像。

  使用 PdfDocument.saveToFile() 方法将文档保存到另一个 PDF 文件。

  Java

  

import com.spire.pdf.PdfDocument;

 

  import com.spire.pdf.PdfPageBase;

  import com.spire.pdf.exporting.PdfImageInfo;

  public class CompressPDFImage {

   public static void main(String[] args) {

   //创建 PdfDocument 类的对象

   PdfDocument doc = new PdfDocument

   //加载 PDF 文档

   doc.loadFromFile("示例文档.pdf");

   //将IncrementalUpdate设置为false

   doc.getFileInfo().setIncrementalUpdate(false);

   //声明一个 PdfPageBase 变量

   PdfPageBase page;

   //循环遍历页面

   for (int i = 0; i doc.getPages().getCount(); i++) {

   //获取指定页面

   page = doc.getPages().get(i);

   if (page != null) {

   if(page.getImagesInfo() != null){

   //循环遍历页面中的图像

   for (PdfImageInfo info: page.getImagesInfo()) {

   //使用tryCompressImage方法压缩高分辨率图像

   page.tryCompressImage(info.getIndex());

   //保存文件

   doc.saveToFile("输出结果.pdf");

  }

 

  效果对比图

  —本文完—

  

  以上就是如何通过Java应用程序压缩PDF文档(java 压缩pdf)的详细内容,想要了解更多 如何通过Java应用程序压缩PDF文档的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: