本文以Java代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即:将PDF文档里面的彩色图片或者文字等通过调用PdfGrayConverter.toGrayPdf()方法转为文档页面为灰色调、无彩色效果的文档,可实现缩小文档大小的目的。下面是程序运行环境及代码示例。

配置程序环境

  • IntelliJ IDEA
  • Spire.PDF for Java 5.3.1
  • PDF文档

关于如何引入jar文件:

1.通过Maven仓库下载,如下配置Pom.xml:

<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</artifactId>
<version>5.3.1</version>
</dependency>
</dependencies>

2.手动添加jar

下载jar包到本地,然后解压,找到lib文件夹下的Spire.Pdf.jar。然后在IDEA中打开如下界面,将本地路径下的jar文件添加至Java程序。

转彩色PDF为灰度

这里转换只需用到以下两个步骤:

  • 使用 PdfGrayConverter类加载PDF文件。
  • 调用 PdfGrayConverter.toGrayPdf() 方法将 PDF 转换为灰度。

Java

import com.spire.pdf.conversion.*;

public class ToGrayPDF {
public static void main(String[] args) {
//创建一个PdfGrayConverter实例并加载PDF文档
PdfGrayConverter converter = new PdfGrayConverter("Booklet.pdf"); //将彩色PDF转换为灰度
converter.toGrayPdf("ToGray.pdf");
converter.dispose();
}
}

转换结果:

★ 推荐阅读:C#/VB.NET 将彩色PDF转为灰度PDF

—END—

Java将彩色PDF转为灰度的更多相关文章

  1. C#/VB.NET 将彩色PDF转为灰度PDF

    本文以C#代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即 将PDF文档里面的彩色图片或者文字等通过调用PdfGrayConverter.ToGrayPdf()方法转为文档页面为灰 ...

  2. QImage Color Convert to Gray 转为灰度图

    在Qt中,我们有时需要把QImage类的彩色图片转为灰度图,一开始我想的是用QImage的成员函数convertToFormat(),但是试了好多参数,返现转化的图片都有问题,不是我们想要的灰度图,如 ...

  3. Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A

    本文将介绍通过Java编程来实现PDF文档转换的方法.包括: 1. PDF转为Word 2. PDF转为图片 3. PDF转为Html 4. PDF转为SVG 4.1 将PDF每一页转为单个的SVG ...

  4. Java 将PDF转为线性PDF

    线性化PDF文件是PDF文件的一种特殊格式,可以通过Internet更快地进行查看.线性化的PDF,在页面数量很多的情况下,更能突出表现出快速浏览的优势.下面是通过后端Java程序实现将PDF文件转为 ...

  5. Java 将PDF转为PDF/A

    通过将PDF格式转换为PDF/A格式,可保护文档布局.格式.字体.大小等不受更改,从而实现文档安全保护的目的,同时又能保证文档可读.可访问.本篇文章,将通过Java后端程序代码展示如何将PDF转为符合 ...

  6. Java 将PDF转为HTML时保存到流

    本文介绍如何通过Java后端程序代码将PDF文件转为HTML,并将转换后的HTML文件保存到流.在实现转换时,可设置相关转换属性,如:是否嵌入SVG.是否嵌入图片等.下面是实现转换的方法和步骤: 1. ...

  7. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  8. 【转】从RGB色转为灰度色算法

    ----本文摘自作者ZYL910的博客 一.基础  对于彩色转灰度,有一个很著名的心理学公式: Gray = R*0.299 + G*0.587 + B*0.114 二.整数算法 而实际应用时,希望避 ...

  9. Android-将RGB彩色图转换为灰度图

    package com.example.yanlei.wifi; import android.graphics.Bitmap; import android.graphics.BitmapFacto ...

随机推荐

  1. 用Java实现生成图片验证码

    通过代码实现生成一个随机验证码图片,且生成后自动打开: package day_12_17; import javax.imageio.ImageIO; import java.awt.*; impo ...

  2. Linux基础:VLAN篇

    一.二层基础知识 1.1 vlan介绍 本小节重点: vlan的含义 vlan的类型 交换机端口类型 vlan的不足 1.1.1 vlan的含义 局域网LAN的发展是VLAN产生的基础,因而先介绍一下 ...

  3. EasyX库简单中文手册

    EasyX库简单中文手册 作者: 时间: 2021/2/2 第一个例程 #include <graphics.h> // 图像相关库 #include <conio.h> // ...

  4. The POM for com.alibaba:druid:jar:1.2.6 is invalid, transitive dependencies (if any) will not be available

    开发环境 IDEA2020.3,  jdk1.8.0_231 问题描述 开发中引入了druid-spring-boot-starter最新版本1.2.6,项目install时的时候一直出现警告 The ...

  5. mysql 事务 隔离性 锁

    1.四大特性 1.1 原子性(Atomicity) 一个事务是不可分割的最小工作单位.一个事务是不可分割的最小工作单位. 利用undo log保证原子性,undo log记录的是操作的反向语句,例如执 ...

  6. 传输层隧道技术之lcx内网端口转发

    传输层技术包括TCP隧道.UDP隧道和常规端口转发等.在渗透测试中,如果内网防火墙阻止了指定端口的访问,在获得目标机器的权限后,可以使用IPTABLES打开指定端口.如果内网中存在一系列防御系统,TC ...

  7. Nacos2.X源码阅读总结

    前言 Nacos是一个Alibaba出品的高性能微服务时代产出的组件,集注册和配置中心为一体.那么Nacos为什么这么高性能呢?总结以下几点: 1:基于阿里自研的distro协议进行Nacos把不同节 ...

  8. Linux:保证数据安全落盘

    背景 在很多IO场景中,我们经常需要确保数据已经安全的写到磁盘上,以便在系统宕机重启之后还能读到这些数据.但是我们都知道,linux系统的IO路径还是很复杂的,分为很多层,每一层都可能会有buffer ...

  9. 【C#反射】Type的用法

    Type属性的应用 Type type = typeof(MyClass); Console.Write("$类型名:{ type.Name}"); Console.Write(& ...

  10. linux中docker容器安装vi命令详解

    在使用docker容器时,同时你docker里的系统正好是debian或ubuntu的时候,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要 ...