当前位置: 首页 > 知识库问答 >
问题:

pdfbox和itext-无法提取图像

徐兴昌
2023-03-14

我正在尝试从pdf中提取图像。pdfbox能够从大多数PDF中提取图像,但它们是一些无法通过pdfbox提取图像的PDF。

为了提取图像,我使用以下代码:无法从PDFA1-a格式文档中提取图像

您可以从以下链接下载带有此问题的pdf示例:http://myslams.com/test/2.pdf

是他们的代码出错了,也许是我忘记处理了,还是他们的pdf一起出了问题?

共有1个答案

闾丘谦
2023-03-14

由于OP尚未将其陈旧的PDF示例链接替换为可用的链接,因此只能笼统地回答这个问题。

OP引用的代码(答案中有@Tilman的更正)迭代每个页面的即时图像资源并存储相应的文件。

因此,代码可能会存储太多的图像,因为页面的图像资源可能不一定会在所讨论的页面上使用:

  1. 一方面,它可能根本不在文件中使用,或者至少在任何地方都看不见,仅仅是之前PDF编辑过程中的遗留问题

代码可能存储的图像太少,因为还有其他地方可以放置图像:

  1. 图像数据可以直接包括在页面内容流中,也称为内联图像

一旦OP提供了一个代表性的示例文件,就可以确定他错过的图像类型,并概述特定的解决方案。

编辑

根据OP的评论,他的图像提取问题已通过利用对其问题“pdfbox和itext使用不正确的dpi提取图像”的回答中的信息得到解决。特别是针对OP SEM使用的适用于PDFBox 1.8.8版的示例代码非常重要。

因此,软件编排问题也可能导致任何类型的错误输出。

 类似资料:
  • 当我使用pdfbox提取图像时,我得到了一些PDF图像的不正确dpi。当我使用Photoshop或Acrobat Reader Pro提取图像时,我可以看到图像的dpi是200使用windows照片查看器,但当我使用pdfbox提取图像时,dpi是72。 为了提取图像,我使用以下代码:无法从PDFA1-a格式文档中提取图像 当我检查日志时,我看到一个不寻常的条目:2015-01-23-main——

  • 主要内容:从PDF文档生成图像在前一章中,我们已经看到了如何合并多个PDF文档。 在本章中,我们将了解如何从PDF文档的页面提取图像。 从PDF文档生成图像 PDFBox库提供了一个名称为的类,它将PDF文档呈现为AWT BufferedImage。 以下是从PDF文档生成图像的步骤。 第1步:加载现有的PDF文档 使用类的静态方法加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态方法,可以使用类名称调用

  • 我有docker,但它与我的Fedora 31有冲突,我不得不删除docker: dnf删除docker-ce rm-rf/var/lib/docker 因为Podman更适合合作。但是在跑步之后 dnf安装播客 我的系统上安装了docker和postman。因此,在使用命令时: Podman拉软呢帽:最新款 这个日志出现了,这似乎是一种冲突 我试图删除docker,但bash将其与podman一

  • 提取的文本:http://pastebin.com/BXFfMy0z 问题pdf:http://www.iwb.ch/media/Unternehmen/Dokumente/inserat_leiter_pm.pdf 如何从该pdf文件中提取正确的文本?

  • 再次向各位程序员问好。 我可以正确提取PDF文本坐标及其格式。但我不能用图像。我可以得到正确的宽度和高度,但它给了我错误的x和y。 我正在使用Photoshop检查我是否得到了正确的x,y,宽度,高度坐标,但只有宽度和高度是正确的 这是我的代码: 下面是我使用的PDF示例: http://persci.mit.edu/pub_pdfs/personal_photo_enhancement.pdf

  • 我正在使用PDFBox从我的pdf(只包含JPG的)中提取图像。 因为我将把这些图像保存在我的数据库中,所以我想先把每个图像直接转换成一个inputstream对象,而不把文件临时放在我的文件系统上。然而,我在这方面遇到了困难。我认为这是因为使用了,就像我在下面的示例中所做的那样: 然而,这是可行的: 知道我如何将每个PDXObjectImage(或我能得到的任何其他对象)转换为InputStre