(这个问题可能有点超出纯 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.png
RGB 空间。显然,“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 位 CMYKeog
gimp
- 显然,为了正确进行 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
...
参考:
- ImageMagick • 查看主题 - tif、透明度和 CMYK
- ImageMagick • 查看主题 - TIFF 转换 RGB->CMYK ‘正确方法’
- 常见格式——IM v6 示例:颜色配置文件基础知识
- Eckhard M. Jäger - CMYK Tiff 2 PDF for Gimp(+Eckhard M. Jäger - Gimp & Seperate+ = CMYK提到
icc-profiles
Ubuntu 软件包) - [magick-users] 将 tiff 转换为 pdf
- ImageMagick • 查看主题 - PNG2TIFF 宽度透明背景
- 转换 - 使用 imagemagick 或 ghostscript (或其他东西) 缩放 PDF 以适合页面? - VoidCC