CMYK 海报示例:将 pdf 页面大小适合(位图)图像大小吗?

CMYK 海报示例:将 pdf 页面大小适合(位图)图像大小吗?

(这个问题可能有点超出纯 LaTeX 的范围 - 如果是这样,请随意迁移)

假设我想制作一张海报,目前尺寸为 A4。假设我制作了这张海报inkscape,并导出了 300 PPI 位图;对于 A4,这应该会给我一个尺寸为 2479x3508 像素的位图。

为了确保我们有相同的引用,这里有一些代码可以生成这样的位图(通过 ”转换 - Imagemagick:生成具有页面大小和分辨率的图像? - VoidCC):

convert xc:white -page A4 myout.pdf
TSIZE=$(convert -density 300x300 myout.pdf -format "%[fx:w]x%[fx:h]" info:)
convert -density 300x300 -size $TSIZE myout.pdf gradient:\#4b4-\#bfb -pointsize 72 -draw "text 25,235 'test'" -flatten myout.png

然后,我尝试将此图像包含myout.png在 .tex 文档中,并对其进行编译以pdflatex获取 PDF;然而,天真的做法是:

\documentclass[a4paper]{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{myout.png}
\end{document}

... 将生成两页(pdflatex刷新第二页上的图像,因为它无法放在第一页上) - 并且,article类别有边距,这里不需要(因为整个myout.png应该占据整个pdf页面)。

第二个问题与颜色空间有关 - 上面的convert例子生成了一个myout.pngRGB 空间。显然,“PNG 文件格式不支持 CMYK“(Adobe 论坛:cmyk 中的 png)- 因此,我可以使用 TIFF 格式代替 CMYK,但似乎pdflatex不支持 TIFF([pdftex] 为什么要删除 TIF 支持?)。

 

所以,我想我的问题可以总结如下:

  • 如何使用pdflatex(或者如果有更好的替代方案pdflatex,哪一个?)从 a4@300 PPI 位图生成 A4 PDF?
  • 我应该使用哪种图像格式,以确保生成的 PDF 文件处于 CMYK 颜色模式?

答案1

如何使用 pdflatex 从 a4@300 PPI 位图生成 A4 PDF(或者如果有比 pdflatex 更好的替代品,哪一个?)

您可以使用该类standalone获取与图像大小相同的 PDF,如果图像为 A4 大小,则可获得 A4 大小。如果图像实际上是 PDF 文档,则该pdfpages包更适合。

\documentclass[border=0]{standalone}
% For older version without the `border` option:
% \renewcommand{\PreviewBorder}{0bp}
\usepackage{graphicx}
\begin{document}
\includegraphics{someA4image.png}
\end{document}

我应该使用哪种图像格式,以确保生成的 PDF 文件处于 CMYK 颜色模式?

如果您要使用,pdflatex则只有 PDF、PNG 和 JPG(或者可能是 MetaPost,但该支持也可能被取消)。您不应该使用 JPG,因为质量会降低。如果您不想使用 PDF,则只剩下 PNG。您可以将 inkscrape 文档导出为 EPS,然后将其导入 DVI/PS 文档latex。或者使用将 EPS 转换为 PDF epstopdf,并希望您的打印机喜欢它。

我个人不会尝试以那种方式将海报从一个软件导出、转换并导入到另一个软件。我会担心质量损失和由此产生的麻烦。

答案2

好的,这可能与主题无关 - 但我只是想记录一些对我有用的步骤,以便将 RGB myout.png(来自上面的 OP)获取为 CMYK pdf:

# convert RGB png to CMYK tiff:
convert myout.png -depth 8 -colorspace cmyk -alpha Off myout-cmyk.tiff

# convert CMYK tiff to CMYK eps
gs -r300x300 -g$TSIZE -dNODISPLAY -- tif2eps.ps myout-cmyk.tiff -v2 -d300x300 -r1 -o1 myout-cmyk.eps

# convert CMYK eps to CMYK pdf:
gs -o myout-cmyk.pdf -sDEVICE=pdfwrite -dPDFFitPage -r300x300 -g$TSIZE myout-cmyk.eps

 

笔记:

  • 虽然似乎有一种方法可以直接使用 TIFF 转换为 PDF tiff2pdf myout-cmyk.tiff -p A4 -x 300 -y 300 -o myout-cmyk.pdf,但不幸的是,这会在 A4 页面上产生一个很小的图像
  • 默认情况下,Imagemagick 似乎convert会生成 16 位 CMYKA(5 个样本/像素,带 alpha 的 CMYK)TIFF;因此必须明确指定 8 位深度和 alpha 关闭(可以使用 检查生成的 TIFF );显然, /tiffinfo中仅支持 8 位 CMYKeoggimp
    • 显然,为了正确进行 RGB-CMYK 转换,应该使用 icc 配置文件;但上述命令似乎也可以工作
  • 对于 EPS 生成,tif2eps(也氯化三乙胺) 来执行;它是由 执行的 PostScript 程序gs
    • 请注意,第一个-r参数是直接的分辨率选项gs;第二个-r参数是程序的参数tif2eps,表示“缩小(缩放)”(顺便说一句,显然必须将其设置为 1,以便保留原始全尺寸)
  • 对于 PDF 生成,可能更容易使用ps2pdf -sPAPERSIZE=a4 myout-cmyk.eps myout-cmyk.pdf(但上述命令也应该有效)

为了检查生成的 PDF,我首先使用了 Imagemagick 的identify

$ identify -verbose myout-cmyk.pdf
...
  Geometry: 595x842+0+0
  Resolution: 72x72
  Print size: 8.26389x11.6944
  Units: Undefined
  Type: ColorSeparation
  Base type: ColorSeparation
  Endianess: Undefined
  Colorspace: CMYK
  Depth: 16/8-bit
  Channel depth:
    cyan: 8-bit
    magenta: 8-bit
    yellow: 8-bit
    black: 8-bit
...
  Page geometry: 595x842+0+0
...
    pdf:HiResBoundingBox: 595x842+0+0
...
  Filesize: 2.004MB
  Number pixels: 501K

虽然这份报告确认 PDF 是 CMYK(直方图也证实了这一点),但我发现尺寸有点令人困惑。我猜它的工作方式是identify,作为 Imagemagick 的一部分,它面向光栅图像;显然,它可能会调用 Ghostscript 来处理矢量类型的文件。Ghostscript 显然以 1/72 英寸的“点”为单位工作。因此,对于 A4,我们将得到:

A4:        8.26389 x    11.6944 in  
A4*72:   594.96    x   841.92   pts  
A4*300: 2479       x  3508      pixels

...也就是说,identify不会报告嵌入图像的分辨率 - 但始终将 A4 页面报告为 594x841 点大小,就英寸长度而言,将始终给出 72“dpi”(...因此,我猜,报告“像素数:501K”,接近594 * 841 = 499554)。 因此我不能真的判断输入的 TIFF 是否最终以无分辨率损失的形式出现在 PDF 中 :)(但看起来是这样)。此外,还pdfinfo可以帮助判断图像是否已正确“拉伸”:

$ pdfinfo -box myout-cmyk.pdf
...
Page size:      594.96 x 841.92 pts (A4)
MediaBox:           0.00     0.00   594.96   841.92
CropBox:            0.00     0.00   594.96   841.92
BleedBox:           0.00     0.00   594.96   841.92
TrimBox:            0.00     0.00   594.96   841.92
ArtBox:             0.00     0.00   594.96   841.92
File size:      60815 bytes
...

 

参考:

相关内容