5

这个问题说明了一切。是否存在包含具有不同 dpi(每英寸点数)图像的 PDF 文档?

还是假设如果我知道一张图像的 dpi,我就知道整个文档?

4

3 回答 3

9

我赞成@ypnos 的回答,这是完全正确的。

但我想通过展示该pdfimages实用程序的一个最新的新功能来补充它。

pdfimages以前知道能够从 PDF 文件中提取图像(这是它唯一有用的目的)。但是,现在您也可以使用它来调查有关所用图像的更多详细信息,而无需提取它们。

-list使用下一个命令,我使用新参数查询某个 PDF 文件第 7 页和第 8 页上的所有图像的数据:

pdfimages -list -f 7 -l 8 ct-magazin-14-2012.pdf

  页面编号类型宽度高度颜色comp bpc enc interp 对象ID
  -------------------------------------------------- ------------------
     7 0 图像 581 838 rgb 3 8 jpeg no 39 0
     7 1 图像 4 4 RGB 3 8 图像编号 40 0
     7 2 图像 314 332 RGB 3 8 jpx 无 44 0
     7 3 图像 358 430 RGB 3 8 jpx 无 45 0
     7 4 图像 4 4 RGB 3 8 图像编号 46 0
     7 5 图像 4 4 RGB 3 8 图像编号 47 0
     7 6 图像 4 6 RGB 3 8 图像编号 48 0
     7 7 图像 596 462 RGB 3 8 jpx 无 49 0
     7 8 图像 4 6 RGB 3 8 图像编号 50 0
     7 9 图像 4 4 RGB 3 8 图像编号 51 0
     7 10 图像 8 10 RGB 3 8 图像编号 41 0
     7 11 图像 6 6 RGB 3 8 图像编号 42 0
     7 12 图像 113 27 RGB 3 8 jpx 无 43 0
     8 13 图像 582 839 灰色 1 8 jpeg no 2080 0
     8 14 图像 344 364 灰色 1 8 jpx 无 2079 0

但是请注意:此版本pdfimages是来自 Poppler 的版本(来自 XPDF 的版本不还?)支持此新功能):

pdf图像-版本

  pdf图像版本 0.20.2
  版权所有 2005-2012 Poppler 开发者 - http://poppler.freedesktop.org
  版权所有 1996-2011 Glyph & Cog, LLC

-list选项首次出现在 2012 年 3 月 1 日发布的 Poppler v0.19.0 中。

现在,上面的列表并没有直接告诉您图像的分辨率(“dpi”)。该值取决于:此图像在 PDF 页面上呈现的尺寸是多少?

PDF 可以很容易地在 PDF 文件的不同位置使用相同的图像,在每种情况下使用不同的渲染大小。图像只需要嵌入到 PDF 中一次,但可以多次“通过引用”使用/渲染(低效构造的 PDF 可能仍包含多次相同的图像,但这是一个不同的主题......)

现在让我们弄清楚查看各个列标题可能产生的问题。他们的意思是什么?

page

  • 包含图像的 PDF 中的页码。

num

  • 当前列表的图像编号。

type

  • 图像类型。可能的值是:(image不透明图像)、mask(单色图像蒙版)、smask(软蒙版图像)和stencil(用于绘制颜色或图案的单色蒙版图像)。注意: PDF 中图像的透明度是通过使用两个单独的 PDF 对象创建的:一个用于图像,一个用于遮罩或 smask。属于透明图像的遮罩/遮罩总是直接跟随列表中的图像。

width

  • 以像素为单位的图像宽度。

height

  • 以像素为单位的图像高度。

color

  • 图像色彩空间。可能的值为gray, rgb, cmyk, lab(L*a*b), icc(ICC based), index(indexed colours), sep(separation) 和devn(DeviceN)。

comp

  • 图像使用的颜色分量的数量。

bpc

  • 图像使用的每个颜色分量的位数

enc

  • 图像使用的编码(压缩)。可能的值是:(image光栅图像——可以在内部使用通用/Flate/LZW压缩,但不是特殊图像编码)、jpeg(JPEG 压缩)、jpx(JPEG2000 压缩)、jbig2(JBIG2 压缩)和ccitt(传真压缩)。

interp

  • yes在放大图像时是否请求插值。

object ID

  • 文件中图像的 PDF 对象 ID(带有“生成号”)。

更新(2016 年 3 月)

从 Poppler v0.25.0(2013 年 12 月 11 日发布)及更高版本开始,该命令pdfimages -list现在包括新列,这些列指示PDF 渲染器在 PDF 页面中显示的每个嵌入图像的自动计算x-ppi(水平)和(垂直)分辨率y-ppi.

此外,还指出了每个图像(未压缩时)使用的大小(以字节/千字节为单位)及其大小压缩比(嵌入在 PDF 中)。

要显示与上述相同文件的结果(使用 Poppler v0.42.0):

page num type width height color comp bpc enc interp objectID x-ppi y-ppi size ratio
------------------------------------------------------------------------------------
   7  0 image   581   838  rgb     3   8 jpeg   no       39 0    73    73 2107B 0.1%
   7  1 image     4     4  rgb     3   8 image  no       40 0   150   150   54B 112%
   7  2 image   314   332  rgb     3   8 jpx    no       44 0   150   150 19.0K 6.2%
   7  3 image   358   430  rgb     3   8 jpx    no       45 0   150   150 15.7K 3.5%
   7  4 image     4     4  rgb     3   8 image  no       46 0   150   150   62B 129%
   7  5 image     4     4  rgb     3   8 image  no       47 0   150   150   51B 106%
   7  6 image     4     6  rgb     3   8 image  no       48 0   150   150   62B  86%
   7  7 image   596   462  rgb     3   8 jpx    no       49 0   150   150 40.7K 5.0%
   7  8 image     4     6  rgb     3   8 image  no       50 0   150   150   86B 119%
   7  9 image     4     4  rgb     3   8 image  no       51 0   150   150   62B 129%
   7 10 image     8    10  rgb     3   8 image  no       41 0   150   150  157B  65%
   7 11 image     6     6  rgb     3   8 image  no       42 0   150   150   82B  76%
   7 12 image   113    27  rgb     3   8 jpx    no       43 0   151   152 1090B  12%
   8 13 image   582   839  gray    1   8 jpeg   no     2080 0    72    72  319B 0.1%
   8 14 image   344   364  gray    1   8 jpx    no     2079 0   150   150 4325B 3.5%

x-ppi

  • 在 PDF 页面上呈现时图像的水平分辨率(以每英寸像素为单位)。

y-ppi

  • 在 PDF 页面上呈现时图像的垂直分辨率(以每英寸像素为单位)。

size

  • PDF 文件中嵌入图像的大小。使用以下后缀:“B”字节、“K”千字节、“M”兆字节和“G”千兆字节。

ratio

  • 嵌入图像的压缩比。
于 2012-07-28T09:14:46.647 回答
4

使用 Do 运算符绘制图像。传递给此运算符的操作数是图像的名称。图片名称在当前页面的资源字典中查找。图像资源具有宽度(像素列数)和高度(像素行数)。PDF 页面上显示的图像的物理宽度和高度由 Do 运算符时的 CTM(当前变换矩阵)值确定。如果 CTM 等于单位矩阵,则物理宽度和高度将为 1 pt 高和 1 pt 宽。(1 磅等于 1/72 英寸)。通常,CTM 具有将 1x1 pt 正方形转换为更大图像的非恒等值。像素行数和像素列数以及图像的物理扩展决定了图像在 PDF 页面上显示时的分辨率。

示例:图像资源由 300 像素行组成。每行由 400 个像素组成。CTM 等于 [400 0 0 300 100, 100]。图像高度为 300 pts,图像宽度为 400 pts。所以分辨率在两个方向上都是 72 dpi。

简而言之:PDF 规范允许 PDF 包含各种分辨率的图像。

于 2012-07-28T16:56:04.237 回答
4

答案是肯定的。DPI 在每个嵌入的图像中都是独立的。

将所有图像的 DPI 重新计算到上限(如果 DPI 之前较低,则保持不变)是某些 DTP 程序的唯一常用技术。但这是可选的。顺便说一句,您还可以将(未更改的)PDF嵌入到PDF中;在这个阶段,你失去了所有可以做出的假设。

于 2012-07-27T23:20:55.213 回答