【问题标题】:How to change the dpi of differently sized images within a pdf in order to realise a common "print size" for every page?如何更改 pdf 中不同尺寸图像的 dpi 以实现每个页面的通用“打印尺寸”?
【发布时间】:2013-11-17 20:35:25
【问题描述】:

我是光栅图像世界的新手,所以我将首先解释我使用哪些定义,并希望我能正确使用它们:
- 几何(图像的总像素数 %w * %h)
- 分辨率(每英寸像素/ppi)
- 尺寸或“打印尺寸”(屏幕或打印机上的显示尺寸(例如英寸))

我有一些包含不同几何形状的光栅图像的 PDF 文档。因此,当使用 evince 打开时,它们都会以不同的尺寸显示(我猜可能会打印)。我想在 pdf 中定义打印大小,以便 evince(或任何其他查看器)在打开文档时以相同大小显示每个页面。

这怎么可能实现?据我所知,图像的几何形状和打印尺寸与分辨率有关。目前我的 pdf 节目之一是以下 ImageMagick:identify 输出:

$identify -units PixelsPerInch -format "%wx %h - %[resolution.x] x %[resolution.y] - %[fx:w/72] x %[fx:h/72] in\n " 例子.pdf

几何 - 分辨率。 - 打印尺寸 -
538 x 375 - 72 x 72 - 7.47 x 5.20 英寸
546 x 381 - 72 x 72 - 7.58 x 5.29 英寸
1210 x 1681 - 72 x 72 - 16.80 x 23.34 英寸
1658 x 1166 - 72 x 72 - 23.02 x 16.19 英寸
542 x 365 - 72 x 72 - 7.52 x 5.06 英寸
1673 x 1169 - 72 x 72 - 23.23 x 16.23 英寸

我想实现一个恒定的打印尺寸(第 3 列),我不想改变图像的几何形状/避免重新压缩它,这样它就不会降低质量。为了继续,在我看来,我需要了解以下我找不到任何信息的内容:

1)这三个值中的哪一个是实际保存在pdf文档中的,哪一个是由identify计算出来的?

2) 哪种软件(以及如何)可以让我批量处理多个 pdf 文件以实现我的目标。

3) 猜测几何和分辨率是 pdf 文件的值,并且打印尺寸是从中派生的,软件需要计算每个图像的分辨率值,以便打印尺寸适合所有页面?

非常感谢!
干杯,
本杰明

【问题讨论】:

  • 听起来 pdf 在创建过程中损坏了。也许你可以重新创建它们?我们在谈论多少个文件?手动更正可能是一个更简单的解决方案...
  • 它大约有 50 个文档。它们都是使用不同的扫描仪和不同的扫描选项创建的。我随着时间的推移向它们添加页面(时间跨度是几年),这就是页面的几何/分辨率变化的原因。它们无法重新创建,因为原件已不存在,但我不认为它已损坏。
  • '恒定打印尺寸'意味着图像将被扭曲或填充白色。另外,是否允许自动旋转。如果 padding 和 auto-rotate 都可以,那么简单gs -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFitPage -dFIXEDMEDIA -o out.pdf -f in.pdf

标签: pdf printing imagemagick dpi imagemagick-convert


【解决方案1】:

1) 我认为只有前两个实际存储在 PDF 中,但第三个值(打印尺寸)与分辨率(538x375)和像素密度(72ppi aka 72dpi)直接相关,因此无论如何都可以轻松计算.

2) 看起来你在做这件事有点倒退。有许多应用程序非常适合控制图像布局和打印。 Adobe Illustrator 是最常见的一种,也有一些免费的。但这些将涉及加载图像、在页面上以视觉方式排列它们并以视觉方式调整打印尺寸,而不是通过编程方式。

2) 但是,如果您确实想以编程方式执行此操作,我认为您将很难找到解决该问题的软件。 GIMP 和 Photoshop 都有一些批处理功能,而且我知道 GIMP 有一个相当强大的 CLI,所以你也许可以使用它。

3) 是的,您将从所需的打印尺寸开始,将像素数除以英寸数得到 ppi/dpi。

注意:请记住,dpi 是双向的。如果您有一个 200 x 300 的图像和一个 400 x 400 的图像,并且您希望它们都打印 10 英寸见方,那么您将扭曲 200 x 300 的图像,将其水平拉伸。 200 x 300 的图像看起来也比 400 x 400 的质量差,因为可以使用的像素更少。

出于这些和其他原因,我强烈推荐视觉方法,而不是编码方法。

祝你好运!

【讨论】:

  • 我继续阅读有关 imagemagick 的文章。它的工具 convert 在多个 pdf 文档中的批处理页面中也非常强大。它带有“调整大小”和“密度”选项,其中密度意味着分辨率。当我将它们应用于文档并调查输出时,我发现在这两种情况下生成的 pdf 仍然具有 72dpi 并且几何形状已经改变。有什么方法可以在不接触图像本身的情况下将密度/分辨率因子更改为不同于 72 的值?为什么还是72? :)
  • 简而言之,是的,有办法。并且 72d​​pi 是打印的标准。我认为值得注意的是,您并没有真正使用图像。 PDF 专门设计为文档打印介质。我认为 PDF 不支持 72dpi 以外的任何内容似乎是合理的。或者他们很难不使用 72dpi,特别是因为 72dpi 是打印媒体的标准分辨率。但这只是一个猜测……话虽如此,PDF 与具有一些额外功能的 JPG 相差无几,因此在 GIMP 中更改 DPI 而不更改地理位置相对容易。不确定批处理,虽然....
猜你喜欢
  • 2015-02-16
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 2016-10-23
  • 1970-01-01
  • 2018-08-23
  • 2015-02-28
相关资源
最近更新 更多