【问题标题】:Can pdfbox extract vector images?pdfbox可以提取矢量图吗?
【发布时间】:2026-01-22 19:05:03
【问题描述】:

据我了解,

1. .eps format images are vector images.
2. When we draw something in word (like a flowchart) that is stored 
as a vector image.  

我几乎可以肯定第一个,不确定第二个。如果我错了,请纠正我。

假设这两件事,当乳胶文件(其中插入 .eps 图像)或 word 文件(包含矢量图像)转换为 pdf 时,图像是否会转换为光栅图像?

另外,我认为PDFBox/xpdf 只能从 pdf 中提取光栅图像(因为它们嵌入为XObjects),而不是矢量图像。这种理解正确吗? * 中的This question 是相关的,但还没有回答。

【问题讨论】:

    标签: image pdf ms-word pdfbox xpdf


    【解决方案1】:

    您的第 1 点不正确,eps 文件是 PostScript 程序,它们可能包含矢量信息,或文本或图像数据,或以上所有内容。

    第 2 点在 PDF 中没有“矢量图像”,图像表示位图,因此不能是矢量。

    如果您将 PostScript 程序转换为 PDF 文件,则结果完全取决于您使用的转换程序。一般来说,向量将作为向量保留,文本作为文本保留。但是,应用程序完全有可能渲染整个 PostScript 程序并将结果作为图像插入 PDF。

    所以您的第一个问题(“图像是否会转换为光栅图像”)的答案是“可能,但可能不会”。

    恐怕我对 PDFBox/xpdf 的功能一无所知,但由于矢量集合可能不会被排列为“图像”(它们可以以 Form XObjects 或 Patterns 的形式保存) 以任何原子方式,没有任何明显的方法可以知道何时停止提取。无论如何,您会以什么格式存储结果?

    【讨论】:

    • 感谢您的回答。我得到了第一个问题的答案,但由于我没有得到第二个问题的答案,所以我通过不接受它来保持这个开放。顺便说一句,有没有办法知道我们是否在 pdf 中有矢量图像? Inkscape 可以做到,但我需要一个像 PDFBox/xpdf 这样的批处理软件。
    • 我们开始通过这类问题快速解决定义问题。如果页面是空白的,它是否包含矢量绘图操作(不是图像,请,这些具有完全不同的含义)。现在如果我在上面画一个白色矩形怎么样?如果我在媒体框之外绘制一个彩色矩形,或者在媒体框内部但在裁剪框之外怎么办?我不会接受我上面的回答,因为它最多只能解决一半的问题。你确实需要考虑你想用矢量绘图操作做什么,你希望它们在提取后如何存储。