如何在 PDF 中嵌入具有缩放尺寸的图像图而不使用平滑效果?

如何在 PDF 中嵌入具有缩放尺寸的图像图而不使用平滑效果?

我需要以 pdf 格式生成数据图像图。数据中只有少量像素(大约 100 x 100),因此每个像素都是可辨别的(不是平滑的图像)。我曾尝试使用几个不同的科学计算程序导出 pdf,但是当我在 OS X Preview 或 Firefox 的 pdf.js 插件中查看 pdf 时,数据看起来很糟糕。每个单独的数据像素看起来都像是被分解成沿一个维度大约五个像素、沿另一个维度大约三个像素(图中的纵横比不是 1:1),并且这些子像素的颜色略有不同,因此数据很模糊。我尝试在 Inkscape 中打开 pdf,它在那里看起来很好。从 Inkscape 中,我确定数据被嵌入为 100x100 像素的 png,当我从 pdf 中提取它并单独查看时,它在预览中看起来很好。

那么,获得具有清晰数据图的 PDF 的最佳选择是什么?现在,我将创建一个过采样的数据 png 并将其嵌入到 PDF 中。我不太喜欢这个解决方案,因为它会使图形文件大小不必要地大,并且仍然意味着放大时图像会模糊。是否可以让 PDF 渲染拉伸图像而不进行平滑处理?是我的科学计算程序(Igor Pro 和 MATLAB)没有正确格式化 PDF,还是 Preview 和 Firefox 没有通过平滑处理正确渲染它?

答案1

好的,我最终在 stackexchange 的 TeX 部分的几个帖子中找到了这个问题的答案:使用 LaTeX 编译时,我的像素完美图片变得模糊包含的 PNG 在 PDF 中显得模糊

这些帖子的摘要:许多 PDF 查看器都有一个可选设置来平滑 PDF 输出(OS X Preview 中的“平滑文本和线条图”,Skim 中的“抗锯齿文本和线条图”;一些程序(如 Firefox 的 pdf.js 扩展)启用了此设置,但没有明显的禁用方法;其他程序(如 Google Chrome 的 pdf 查看器)似乎没有此设置;请注意,Preview 和 Skim 设置名称具有误导性,因为如果启用此设置,光栅图像(而不仅仅是线条)都会被平滑)。对于确实有此设置的程序,禁用该设置会使嵌入的图像看起来不错,但 pdf(和其他 pdf)的其他方面看起来不会那么好(文本会像素化等)。PDF 格式没有内部选项来告诉查看器程序不要对元素进行抗锯齿处理(也许有一天......),所以现在看来​​,我上面描述的解决方案实际上是通常用于将像素化图像嵌入 pdf 的方法:对图像进行过采样以达到所需的分辨率*。

另一种选择是将图像转换为彩色矩形的矢量图像。我使用 Inkscape 尝试了这种方法(使用平铺克隆方法的跟踪选项在图像上克隆单个像素矩形;请参阅本文档页面了解一些细节),但是由于这种方法需要指定每个像素的矩形对象的所有坐标,因此与嵌入光栅图像相比,它的磁盘空间效率要低得多。

* 对图像进行过采样的一种方法是使用带有示例标志的 ImageMagick将尺寸设置为基本图像尺寸的更高倍数。请注意,\!如果您想更改纵横比,则需要在新尺寸后面添加一个(例如,如果您在 pdf 中拉伸图像,则可能希望将每个原始像素的宽度设为 10 像素,但高度设为 3 像素)。

相关内容