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

或者假设如果我知道一个图像的dpi,我知道整个文档的dpi?

有帮助吗?

解决方案

我upvoted@ypnos的答案,这是完全正确的。

但我想通过展示一个非常新的,新的功能来补充它 pdfimages 效用。

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

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

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

  page   num  type   width height color comp bpc  enc interp  object ID
  ---------------------------------------------------------------------
     7     0 image     581   838  rgb     3   8  jpeg   no        39  0
     7     1 image       4     4  rgb     3   8  image  no        40  0
     7     2 image     314   332  rgb     3   8  jpx    no        44  0
     7     3 image     358   430  rgb     3   8  jpx    no        45  0
     7     4 image       4     4  rgb     3   8  image  no        46  0
     7     5 image       4     4  rgb     3   8  image  no        47  0
     7     6 image       4     6  rgb     3   8  image  no        48  0
     7     7 image     596   462  rgb     3   8  jpx    no        49  0
     7     8 image       4     6  rgb     3   8  image  no        50  0
     7     9 image       4     4  rgb     3   8  image  no        51  0
     7    10 image       8    10  rgb     3   8  image  no        41  0
     7    11 image       6     6  rgb     3   8  image  no        42  0
     7    12 image     113    27  rgb     3   8  jpx    no        43  0
     8    13 image     582   839  gray    1   8  jpeg   no      2080  0
     8    14 image     344   364  gray    1   8  jpx    no      2079  0

, ,然而:这个版本的 pdfimages 是来自Poppler的那个(来自XPDF的那个做 不是 (但是?)支持这个新功能):

pdfimages -version

  pdfimages version 0.20.2
  Copyright 2005-2012 The Poppler Developers - http://poppler.freedesktop.org
  Copyright 1996-2011 Glyph & Cog, LLC

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

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

一个PDF可以很容易地在一个PDF文件的不同点使用相同的图像,使用不同的渲染大小为每个场合。图像只需要嵌入到PDF中一次,但可以"通过引用"多次使用/呈现(低效构建的Pdf可能仍然多次包含相同的图像,但这是一个不同的话题。..)

现在让我们弄清楚这些问题,这些问题可能会从各自的专栏标题中出现。他们是什么意思?

page

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

num

  • 当前房源的图片编号。

type

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

width

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

height

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

color

  • 的图像色彩空间。可能的值是 gray, rgb, cmyk, lab (L*a*b), icc (基于ICC), index (索引颜色), sep (分离)及 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 现在包括指示自动计算的新列 x-ppi (水平)及 y-ppi (垂直)由PDF渲染器在PDF页面中显示的每个嵌入图像的分辨率。

此外,每个图像使用的大小(以字节/千字节为单位)(未压缩时)以及其大小压缩比(如嵌入在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

  • 嵌入图像的压缩比。

其他提示

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

只是一些DTP程序的常用技术,以将所有图像的DPI重新计算到上限(如果之前的DPI较低,则它停留)。但这是可选的。和顺便说一句,您也可以将(未拆卸)PDF嵌入(未拆卸);在这个阶段,你丢失了你可以制作的所有假设。

使用do运算符绘制图像。传递给此运算符的操作数是图像的名称。在当前页面的资源字典中查找图像名称。图像资源具有宽度(像素列数)和高度(像素行数)。在PDF页面上显示图像的图像的物理宽度和高度由DO操作员时的CTM(电流变换矩阵)的值确定。如果CTM将等于身份矩阵,则物理宽度和高度为1 PT高,1 PT宽。 (1 pt等于1/72英寸)。通常,CTM具有不同一性值,使1x1 PT方形变为较大的图像。像素行数的组合和像素列的数量和图像的物理延伸确定图像的分辨率,因为它出现在PDF页面上。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top