使用itextpdf添加图片时,报错 is not a recognized imageformat. 及源码简单分析

今天在使用itextpdf做一些小样例时,在PDF中添加一张我在网上找的图片时报错了,报错信息:“file:/C:/Users/kkjf/Desktop/aaa.png is not a recognized imageformat.”。原本以为是图片后缀问题,各种修改,无果;又觉得是jar包版本问题,各种修改,无果。后来又换了张图片试了一下,成功!

从源码分析:
进入Image.getInstance()方法源码,打个断点走一遍,我发现这张图片在任意一个if判断里都不成立
在这里插入图片描述
所有if判断走完后,它就会抛出下边的异常

在这里插入图片描述
到这里,其实报错的原因我基本了解了,报错的那张图片我是从网上下载的,它原本的格式类似与 “u=2212816616,2139034518&fm=253&fmt=auto&app=138&f=JPEG.webp” ,png的后缀是我后来改的,但源码里对图片格式的判断不是简单的看后缀,而是一种更底层的方式,故报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值