PDF 文档可以包含不同 DPI 的图像吗?

2024-04-21

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

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


我赞成@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
  

Note,但是:这个版本pdfimages是来自 Poppler 的(来自 XPDF 的)not(还?)支持这个新功能):



pdfimages -version

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

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

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

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

现在让我们澄清查看各个列标题时可能出现的问题。他们的意思是什么?

page

  • PDF 中包含图像的页码。

num

  • 当前列表的图像编号。

type

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

width

  • 图像宽度(以像素为单位)。

height

  • 图像高度(以像素为单位)。

color

  • 图像色彩空间。可能的值为gray, rgb, cmyk, lab(L*a*b),icc(基于国际商会),index(索引颜色),sep(分离)和devn(设备N)。

comp

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

bpc

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

enc

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

interp

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

object ID

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

更新(2016 年 3 月)

从 Poppler v0.25.0(2013 年 12 月 11 日发布)及更高版本开始,该命令pdfimages -list现在包括新列,指示自动计算的x-ppi(水平)和y-ppiPDF 渲染器在 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

  • 嵌入图像的压缩率。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PDF 文档可以包含不同 DPI 的图像吗? 的相关文章

  • 如何使用python将pdf文件的页面合并为单个垂直组合页面

    我已经在 pypdf 和 pdfrw 中尝试过 merge page 方法 但它们将一页固定在另一页上 我该如何继续 下面的代码我尝试过 与两个模块类似 from pdfrw import PdfReader PdfWriter PageM
  • 如何在PDF文档之前显示加载屏幕

    在我们的应用程序中 我们有动态生成的 PDF 文档的链接 链接看起来像这样主机 22 5 file 3136 pdf所以对于浏览器来说它就像一个静态的 pdf 文档 单击链接时 它会打开一个新窗口 该窗口仅接收 PDF 文档 无 HTML
  • 在未压缩的 PDF 中进行集体内联编辑

    我有一个很大的 PDF 20mb 160mb 未压缩 我需要在其中的文本中进行查找和替换 大约 1000 次 这是我尝试过的 Via SVG 转换为 SVG inkscape 逐行读取 SVG 并在文件中进行替换 转换回 PDF gt 输出
  • 如何将html页面的动态内容转换为pdf

    在 html 页面中 一些标签是使用 jquery 动态创建的 内容是使用 jquery 和 php 从 msql 数据库加载的 我想将这个动态页面转换为pdf 我尝试过以下代码 但它生成 html 页面静态部分的 pdf html cod
  • 使用 iTextSharp 和 PDFStamper 在 PDF 中使用不同的字体

    我正在使用 iTextSharp 加载现有 PDF 并使用 PdfStamper 添加文本 我想要完全控制文本 这意味着我想要能够控制字体 仅限 TrueType 字体大小和坐标 现在 我使用 ShowTextAligned 将文本添加到某
  • 将多个 Excel 工作表范围转换为 PDF VBA

    下面的代码是获取 Col E 的状态 如果它是 Include 那么其相应的工作表范围将被转换为 PDF 我已经尝试过了 但它无法正常工作并收到错误invalid procedure call or argument在线上 rng Expo
  • 获取PDF文件中的超链接列表[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个 pdf 文件 我需要找到该文件中所有可用的超链接 然后对这些链接进行更改 我正在使用 C 我不想使用第三方工具 您可以使用i
  • 从恶意 PDF 中提取 JavaScript

    我有一个 PDF 文件 据我所知 它包含一个 JavaScript 脚本文件 该文件会执行恶意操作 但目前还不确定具体是什么 我已经成功解压缩了 PDF 文件并获得了纯文本 JavaScript 源代码 但它的代码本身隐藏在我以前从未见过的
  • 使用 window.print 内容将网页下载为 pdf

    我想要一个链接 当单击该链接时 会自动开始下载网页的可打印版本 我正在使用Moodle 我想要的内容是完全相同的如果我使用 ctrl p 下载页面并保存为 pdf 或使用 a href Download web page a 我正是想要该内
  • 如何使用 PHP 制作 pdf 文件

    如何用 PHP 制作 PDF 文件 我想要制作的是学生名单 所以我想查询数据库 获取信息 并在用户单击 生成学生列表 时将其以 PDF 形式提供给用户 你有两个不错的选择 首先是用于操作 pdf 的标准 php 库 https www ph
  • 打开 PDF 或文件夹

    我尝试打开在 Flash Player 中运行的 swf 应用程序中通过鼠标单击触发的 PDF 或文件夹 在查找器 资源管理器中 通过 urlRequest 打开 PDF 和navigateToUrl 总是打开浏览器 我读到this htt
  • 如何使非常宽的 grid.table 或 tableGrob 适合 pdf 页面?

    我有一个相当宽的表格 页面宽度的 4 3 我正在尝试使用 grid table 或 grid arrange 通过 tableGrob 将其打印到 pdf 文件中 该表超出了页面边界并被剪裁 有没有办法强制 grid table grid
  • 在 R Markdown 文件中嵌入 pdf 并调整分页

    我即将完成博士学位 我需要在 R Markdown 文本中间的某个位置嵌入一些论文 pdf 格式 将 R Markdown 转换为 PDF 时 我希望将这些 PDF 论文嵌入到转换中 但是 我希望这些 PDF 论文也根据 Markdown
  • 如何使用 Python 将表格从 CSV 写入 PDF [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个CSV文件包含下表 users passwords company Admin test psw test cmp test
  • 用 Java 创建 PDF 的缩略图

    我正在寻找一个 Java 库 它可以获取 PDF 并从第一页创建缩略 图 PNG 我已经看过 JPedal 但其疯狂的许可费完全令人望而却步 我目前正在使用 iText 来操作 PDF 文件 但我相信它不会生成缩略图 我可以在命令行上使用
  • 如何让我的应用程序出现在应用程序选择器中?

    我想宣传一下 我的应用程序能够查看 pdf 文件 这样当从文件管理器中选择 pdf 文件时 它就会出现在应用程序选择器中 这是我的意图过滤器的样子
  • PDF解析提取CheckBox字段值

    我有一个 PDF 文档 想要从 PDF 和 Chackbox 和单选按钮类型字段值中提取内容 PDF 文件的版本为 1 4 Acrobat 5 x 可以从网络浏览器生成 CheckBox appear such types in PDF 我
  • 如何在 R 和 RStudio 中构建 pdf 小插图

    我是编写 R 包的新手 我正在尝试学习如何为我的包裹制作小插图 我创建了一个小插图文件夹 其中包含文件 getting started Rmd title WaterML Tutorial author Jiri Kadlec date r
  • 将 PDF 存储在 MySQL 数据库中

    我正在开发一个应用程序 我需要创建 PDF 格式的发票 我在用着pdf包 https github com psliwa PdfBundle并且 PDF 文件已正确创建 public function helloAction format
  • DPI 图形屏幕分辨率像素 WinForm PrintPageEventArgs

    对于运行我的应用程序的任何显示器 Dpi 点与像素有何关系 int points Screen primary public Form1 InitializeComponent points 1 primary null void OnPa

随机推荐

  • 区分大小写的 SQL 区分大小写

    我正在尝试请求一个区分大小写的结果 例如在我的数据库中我有 ABCdef abcDEF abcdef 请求是 SELECT FROM table WHERE col abcdef 但我有 3 行结果 我只想要 abcdef 我尝试找到解决方
  • 如何获取 Kendo DropDownList 的选定值

    我不知道如何确定在我的剑道下拉列表中选择了哪个项目 我的观点将其模型定义为 model KendoApp Models SelectorViewModel ViewModel 定义为 public class SelectorViewMod
  • Postmessage 和 sendmessage 的替代方案

    我有一个程序 它使用多个线程来执行某些任务 每个线程都有一堆任务要执行 执行其中之一后 每个线程都会向主屏幕调用一条发布消息来更新日志 现在我有六万个任务 每个线程一万个 六个线程 执行每个任务线程后调用发布消息 但由于这些帖子消息 我的应
  • C# 数组还是字典?

    我想知道 C 数组的访问速度是否恒定 我需要在静态数组中存储 1000 个项目 这些项目将在服务器启动期间初始化 该数组将被只读使用 所以数组不会发生任何变化 我应该使用简单的 C 数组 new MyClass 还是字典 我对 C 非常陌生
  • 从 jQuery 中的标签获取值

    a href at privat class Privat Privat a 我需要一个 Jquery 来从上面的链接获取私有的 我在这里尝试过 Privat click function e e preventDefault alert
  • 为什么在尝试通过 pymongo 查询我的 mongodb 数据库时会得到 pymongo.cursor.Cursor?

    我在 mongodb 数据库中消费了一堆推文 我想使用 pymongo 查询这些推文 例如 我想查询 screen name 但是 当我尝试执行此操作时 python 不会返回推文 而是返回有关 pymongo cursor Cursor
  • 从 jquery 和 haml 渲染部分内容

    我计划执行的功能是根据从选择标记中选择的数字插入一些表单元素 我有一个名为 number of passengers 的选择标签 并且我计划为所选数量动态附加新的乘客字段 假设我从 number of passengers 中选择 2 个表
  • 使用 PHP 从

    我想获取里面的文字
  • 更新多行而不循环

    我想在更新语句中一次更新多行而不使用循环 我有下表 其中包含一些记录 如下所示 Table create table test col1 int col2 int col3 varchar 20 col4 datetime name var
  • 如何将 .NET Framework 从版本 3.5 更改为版本 4.0

    我在 NET Framework 3 5 中创建了一个类库 现在我想将 NET Framework版本更改为4 0 我怎样才能做到这一点 在视觉工作室中 右键单击您的项目 选择属性 选择应用程序选项卡 将目标框架更改为所需的框架 如果你没有
  • 如何以编程方式更改屏幕分辨率[重复]

    这个问题在这里已经有答案了 当我的应用程序加载时 系统屏幕分辨率需要更改为1024 768 当其关闭时 它会更改为原始屏幕解决方案 如何实现这一目标 有什么可行的解决办法吗 基本上我正在使用 vb net 无论如何 我欢迎 C 的解决方案
  • 警告:尝试在已呈现的 <...> 上呈现 (null)

    我在 a 上设置了长按手势UITableView呈现出一个UIAlertController包含单元格的文本 当 的时候UIAlertController出现后我收到此警告 Attempt to present
  • Valgrind 自动测试——它们在什么地方使用过吗?

    您认为基于 valgrind 工具套件运行一组自动测试有意义吗 您听说过或看到过这样的设置吗 这样的设置可以执行哪些自动 不受人类直觉影响 操作 如果您在单元测试或最终构建测试中检查内存问题 错误代码 那么这是有意义的 可能有两种方法 编写
  • ::FindWindow 从服务应用程序失败

    从服务应用程序调用时 Windows API FindWindow 函数失败 GetLastError 也返回 0 成功 这是一些特权 访问权问题吗 你认为这是设计问题吗 我应该使用另一种IPC方法吗 leppie 是的 Windows 服
  • 删除单元格后刷新tableView

    我有一个 tableView 其中包含从 Firebase 填充的数据 当我单击删除按钮时 数据将从 Firebase 中删除 但它保留在我的应用程序中 并且在我关闭应用程序并重新打开它之前 它不会从 tableView 中删除数据 以下是
  • jqGrid 具有自动高度;但有最大高度和滚动条

    有没有办法让jqGrid根据行数自动调整高度 但是当达到一定高度时 它的高度不能再增加并且出现垂直滚动条 Thanks D 我建议你设置 max height 财产在bdiv https stackoverflow com question
  • 还有其他人在 pandas 系列划分中遇到符号查找错误 mkl_serv_getenv 吗?

    所以大多数浮动系列都不会发生这种情况 我不确定 1 4 M 条目中的什么错误导致了该问题 但是 Pdb len dum 1400878 Pdb type dum
  • 仅将布尔掩码应用于数据帧列的索引部分

    我有一个包含一些列的数据框 gt gt gt np random seed 0xFEE7 gt gt gt df pd DataFrame A np random randint 10 size 10 B np random randint
  • 通过 Github 桌面应用程序 (Windows) 推送到 Github 的提交未显示

    大约几个小时前 我通过 Github 网站创建了两个存储库 然后我转到 Github 桌面应用程序 并对这两个存储库分别进行了多次提交 我遵循的过程是 在 Github 网站上创建存储库 转到 Github 桌面应用程序 然后针对所选存储库
  • PDF 文档可以包含不同 DPI 的图像吗?

    这个问题说明了一切 是否有包含不同 dpi 每英寸点数 图像的 PDF 文档 或者是否假设如果我知道一张图像的 dpi 我就知道整个文档的 dpi 我赞成 ypnos的回答 这是完全正确的 但我想通过展示一个最近的新功能来补充它pdfima