Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用pdfbox转换image时出现黑线问题

使用pdfbox转换image时出现黑线问题

原创
作者头像
用户3459520
修改于 2021-05-11 06:39:55
修改于 2021-05-11 06:39:55
2.3K00
代码可运行
举报
文章被收录于专栏:weaveownweaveown
运行总次数:0
代码可运行

问题描述:

在使用pdfbox将pdf转image时在转换后的图片出现了一些粗粗的黑线,起初以为是pdfbox的bug,经过一系列的验证发现发生问题的根本原因在jai-imageio-jpeg2000这个jar包。

问题图如下:

使用jar包如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.19</version>
        </dependency>
         <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>fontbox</artifactId>
            <version>2.0.19</version>
        </dependency>
        <dependency>
            <groupId>com.github.jai-imageio</groupId>
            <artifactId>jai-imageio-core</artifactId>
            <version>1.3.1</version>
        </dependency><dependency>
            <groupId>com.weaveone.jai-imageio</groupId>
            <artifactId>jai-imageio-jpeg2000</artifactId>
            <version>1.3.1</version>
        </dependency><!-- https://mvnrepository.com/artifact/org.apache.pdfbox/jbig2-imageio -->
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>jbig2-imageio</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.twelvemonkeys.imageio</groupId>
            <artifactId>imageio-jpeg</artifactId>
            <version>3.4.1</version>
        </dependency>
        <dependency>
            <groupId>com.github.jai-imageio</groupId>
            <artifactId>jai-imageio-jpeg2000</artifactId>
            <version>1.3.0</version>
        </dependency>

问题解决

在网上搜索了就终于在stackoverflow上面找到了一个答案

https://stackoverflow.com/questions/41977536/black-stain-when-extracting-page-to-image-on-pdfbox-2-0-4

通过上面的解决方法,我修改了一个image2000的源码:

https://github.com/WeaveOwn/jai-imageio-jpeg2000.git

将上面的源码clone下来进行后打成jar引入即可解决问题

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java系列:快速实现PDF转图片
🤞Java系列:快速实现PDF转图片🤞 PDFBox是一个BSD许可下的源码开放项目,它是一个专门为开发人员读取和创建PDF文档而准备的纯Java类库。 文本提取:PDFBox可以从PDF文档中提取文本,包括Unicode字符。 表单处理:PDFBox支持从PDF表单中提取数据,或者是填充PDF表单。 加密与解密:可以对PDF文档进行加密和解密操作。 合并与分割:可以将多个PDF文档合并成一个,也可以将一个PDF文档分割成多个。 覆盖与追加:可以覆盖PDF文档的内容,或者向已有的PDF文档中追加内容。 打印:利用Java的打印API,PDFBox可以将PDF文档输出到打印机。 转换:PDFBox可以将PDF文档转换成映像文件,如PNG或JPEG格式。 创建PDF:可以从头开始创建新的PDF文档,包括添加图像和字体。 集成Lucene搜索引擎:PDFBox与Jakarta Lucene等文本搜索引擎的整合过程十分简单,可以用于PDF文档的索引和搜索。
知识浅谈
2025/05/16
1340
Java系列:快速实现PDF转图片
SpringBoot 下PDF生成使用填坑总结
解释: 1、Configuration cfg 使用了freemaker starter后,在项目启动时即会自动初始化 Configuration 对象到Spring容器中; 2、Template template = cfg.getTemplate("test.ftl","UTF-8"); 模板因cfg本身在Spring容器中,则在获取test.ftl模板是就会自动在resource/templates下寻找模板,默认:ftl 格式,可以修改 3、因为找了很多例子都是使用ITextRenderer 对象来渲染输出渲染的PDF,但ITextRenderer有一个问题是要解决中文不显示问题,必须把字体放在一个以 文件夹 路径访问的形式引入,SpringBoot打包后,经测试,无法获取打包后的FONT字体; 则,再另辟途径,又找到以Document方式,但document需要的是,没一个dom对象都必须一个个添加进去,网上很多都是new 专门的对象,比如:块 Paragraph 然后添加文字(数字)内容。 所以又搜索:是否可以往document插入html 最终找到:https://www.cnblogs.com/mvilplss/p/5646675.html
林淮川
2021/12/20
5.1K0
SpringBoot 下PDF生成使用填坑总结
Java 解析pdf文档内容实战案例
上面这个文件是相对比较规整格式的文件,实际情况应该会有许多报表格式不一样,解析出来的有换行之类的,需要特殊处理。
跟着飞哥学编程
2022/11/30
2.2K0
Java 解析pdf文档内容实战案例
java 利用 pdfbox 实现PDF转为图片
当时放到测试环境后一直显示乱码,看了下报错是说字体不存在。第一个想法是在主机上安装字体,但是又有问题了,生产不可能这样吧,运维也不同意啊。
Li_XiaoJin
2022/06/10
4K0
java 利用 pdfbox 实现PDF转为图片
使用 Apache PDFBox 操作PDF文件
Apache PDFBox库是一个用于处理PDF文档的开源Java工具。该项目允许创建新的PDF文档,操作现有PDF文档,并从PDF文档中提取内容。Apache PDFBox还包括几个命令行实用程序。
万猫学社
2023/09/01
2.7K0
使用 Apache PDFBox 操作PDF文件
大数据-UDF开发实例
3.3. UDF 开发实例 3.3.1. Step 1 创建 Maven 工程 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec --> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId>
cwl_java
2019/12/26
6880
大数据-UDF开发实例
如何使用Java快速地给图片转码和生成缩略图(Thumbnailator和webp-imageio-core的使用)
本文中介绍,如何使用Java优雅处理图片;包括:主流图片格式转码、图片压缩(缩略图生成)等。主要用到的外部工具包:
Mintimate
2021/01/26
8.4K1
如何使用Java快速地给图片转码和生成缩略图(Thumbnailator和webp-imageio-core的使用)
SSM整合开发实战 SSM-MALL
采用SSM整合开发一个web系统是这学期web期末项目考核,前前后后花了八九天的时间,一个bug能玩一天,真是令人焦头烂额,著此博客复盘记录,颗粒入仓。写得不好有错请指出
唔仄lo咚锵
2020/09/15
5480
2018-06-13 RestTemplate处理Gzip压缩
遇到了一个RestTemplate请求带Gzip压缩的时候不会自动解压的问题 网络上很多都是让用httpClient来解决这个问题 后来找到这个文章 https://stackoverflow.com/questions/34415144/how-to-parse-gzip-encoded-response-with-resttemplate-from-spring-web 但发现CompressionUtil.decompressGzipByteArray 这个方法,没找到jar包 最后找到了这个方法
Albert陈凯
2018/06/19
1.5K0
Java实现图片水印+压缩So easy!
图片压缩、加水印是很多应用常见的需求,java虽然有很多文件/io相关处理的api,但是使用不当很容易造成各种数据崩溃,今天介绍一个好用的轮子:simpleimage
java思维导图
2020/06/05
2.1K0
Java实现图片水印+压缩So easy!
微服务中使用Maven BOM来管理你的服务版本
BOM(Bill of Materials) 是由Maven提供的功能,它通过定义一整套相互兼容的jar包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖jar包,且无需再指定版本号。BOM的维护方负责版本升级,并保证BOM中定义的jar包版本之间的兼容性。
JAVA日知录
2020/10/26
2.7K0
JMH的简单应用
jmh是个java的压测工具,感觉工具看说明书就行,如果有过压测经验,很容易使用。
李子健
2023/08/01
3340
发布jar包到maven中央仓库(个人域名)
我们通常使用的Jar包,大多都是从镜像上拉取的,也有私人仓库,也有直接从Maven中央仓库拉取的,无论从镜像还是仓库,发布到中央仓库的jar包,都是可以直接拉取下来的。所以,当我们自己打包了一个jar包之后,打算开源出去装逼的时候,我们就可以将jar包发布到sonatype.org,这个地址看起来不是maven,但是发布上去之后,我们在mvnrepository.com和search.maven.org都可以看到自己的jar包了。
品茗IT
2019/09/12
2.1K0
发布jar包到maven中央仓库(个人域名)
Maven教程3(依赖管理)
  Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象。这些对象通过一个名为项目对象模型(Project Object Model, POM)的XML文件描述。这个POM告诉Maven它正处理什么类型的项目,如何修改默认的行为来从源码生成输出。同样的方式,一个Java Web应用有一个web.xml文件来描述,配置,及自定义该应用,一个Maven项目则通过一个 pom.xml文件定义。该文件是Maven中一个项目的描述性陈述;也是当Maven构建项目的时候需要理解的一份“地图”。
用户4919348
2019/04/02
7180
Maven教程3(依赖管理)
多种格式文件合并为pdf(大数据量)
最近遇到了一个比较恶心的需求,就是用户为了安全性,本地的富文本文件不存放到我们的minio中,而是富文本的原件存在了客户的服务器中,但是我们只能在数据库存放对应的路径。 富文本与档案的绑定关系是多对一,也就是多个富文本绑定一个档案,现在有个问题就是我们系统都是档案都是以pdf进行展示的,而客户那边档案下对应的富文本是多种数据类型的包括以下几种:jpg,png,jpeg,pdf,tif,tiff 所以我要去做兼容也就是说需要把档案下对应的各种格式的富文本拼接成一个pdf,然后再去展示。
用户10136162
2023/10/30
3170
springboot+eureka集群搭建
eureka集群搭建 此集群共有三个eureka台组成 eureka集群的核心思想就是互相注册,相互守望,你中有我,我中有你(个人理解) 意思就是第一台机器01注册地址defaultZone中的地址是02,03的,02的注册地址是01,03的。03的注册地址是01,02的 首先新建三个项目来代表eureka的三台机器 父类的pom文件大家可以一起用
全栈程序员站长
2022/08/31
3220
springboot+eureka集群搭建
Java 扩展图像支持库 TwelveMonkeys ImageIO
TwelveMonkeys ImageIO 通过 javax.imageio.* 包的插件为 Java 平台提供扩展图像文件格式支持。
acc8226
2022/05/17
1.7K0
Java 环境下用 PDFBox 实现 PDF 文档转换 JPG 图片的功能
PDFBox 是一个用于处理 PDF 文档的开源 Java 工具库。该项目允许创建新的 PDF 文档、操作现有文档以及从文档中提取内容。
魏杰
2023/03/27
2.8K0
Flink+Kafka:FlinkKafkaProducer简单样例
1、pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"
程裕强
2021/09/22
4.1K0
Flink+Kafka:FlinkKafkaProducer简单样例
pdf 转 图片
这里使用到的jar包 是 // https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox compile group: 'org.apache.pdfbox', name: 'fontbox', version: '1.8.16' // https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '1.8.16'
崔笑颜
2020/06/08
4.1K0
相关推荐
Java系列:快速实现PDF转图片
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验