背景
尝试创建包含具有透明颜色的矢量化封面的 PDF。我希望 PDF 在爱看阅读器,Firefox PDF 查看器,福昕阅读器, 和表明。
问题
就其本身而言,PDF 封面在 Acrobat(左)和 Evince(右)中是相同的:
当使用 ConTeXt 包含时,PDF 封面会发生变化,这也会影响所有后续页面的颜色:
此封面透明度问题可以通过gs
后期处理解决:
gs -o document-in.pdf -sDEVICE=pdfwrite -dColorConversionStrategy=/sRGB
-dProcessColorModel=/DeviceRGB document-out.pdf
这“修复”了首页的透明度混合问题,但对文档的其余部分产生了不良影响(更不用说文件大小从 176K 跳到 2.0M,这对下载时间产生了负面影响):
在上面的例子中,颜色可能会因为以下颜色定义而改变:
\definecolor[ColourSecondary][h=5C883E]
\definespotcolor[ColourSecondaryLighter]
[ColourSecondary][a=1,t=.5]
\definespotcolor[ColourSecondaryLightest]
[ColourSecondary][a=1,t=.2]
当更换专色时,问题消失:
\definecolor[ColourSecondaryLighter][h=adc39e]
\definecolor[ColourSecondaryLightest][h=dee7d8]
但是,这样不会产生透明效果(大“S”应该允许水平线显示出来),尽管颜色看起来正确:
在 Windows 版本的 Adobe Acrobat Reader 11 上,问题大部分都已解决,但到处都存在伪影(沿着绿色侧边栏、大 S 以及沿着列分隔线的图案):
虽然后一个问题似乎是 Adobe Reader 的一个错误(其他 PDF 阅读器会显示预期的颜色),但如果有办法将影响降到最低,那就太好了,因为 Adobe Acrobat Reader 是大多数基于 Windows 的计算机上事实上的标准 PDF 查看器。
源代码
复现问题的源代码:
\setupcolors[state=start,]
\definelayer[cover][x=0mm,y=0mm,width=\paperwidth,height=\paperheight,]
\setlayer[cover]{%
\externalfigure[staff-cover.pdf][width=\paperwidth,height=\paperheight]
}
\starttext
\startfrontmatter
\setupbackgrounds[page][background=cover]
\startstandardmakeup
\stopstandardmakeup
\setupbackgrounds[page][background=]
\stopfrontmatter
\startbodymatter
\startchapter[
title={Chapter},
]
\startsection[
title={Section},
]
\stopsection
\stopchapter
\stopbodymatter
\stoptext
源文件
涉及的源文件:
想法
未解决问题的命令:
\pdfpageattr{/Group << /S /Transparency /I true /CS /DeviceRGB>>}
\pdfoptionpdfminorversion=4
问题
如何强制 ConTeXt 设置正确的颜色空间以便透明度在 Adobe Acrobat Reader 9.x 中正常工作?
调试信息
冉:
gs -dBATCH -dNOPAUSE -sDEVICE=tiffsep -dDOINTERPOLATE -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile=output.tif -r120 -MaxSeparations=8 document-in.pdf
输出:
GPL Ghostscript 9.05 (2012-02-08)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 23.
Page 1
Page 2
Page 3
Page 4
%%SeparationName: ColourSecondary
Page 5
%%SeparationName: ColourSecondary
...
这些SeparationName
项目与具有透明颜色的页面完全对应。
冉:
identify -verbose document-in.pdf > verbose.log
输出(第 0 页):
Image: document-in.pdf
Format: PDF (Portable Document Format)
Class: DirectClass
Geometry: 612x792+0+0
Resolution: 72x72
Print size: 8.5x11
Units: Undefined
Type: TrueColorMatte
Endianess: Undefined
Colorspace: RGB
Depth: 16/8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
alpha: 1-bit
Rendering intent: Undefined
Interlace: None
Background color: white
Border color: rgba(223,223,223,1)
Matte color: grey74
Transparent color: none
Compose: Over
Page geometry: 612x792+0+0
Dispose: Undefined
Iterations: 0
Scene: 0 of 23
Compression: Undefined
Orientation: Undefined
Properties:
date:create: 2013-09-28T20:26:35-07:00
date:modify: 2013-09-28T20:26:35-07:00
pdf:Version: PDF-1.7
signature: 413f2c91258484426000128ea39e439cd701a81658d8e1521a69173b096dc0ed
Profiles:
Profile-icc: 2576 bytes
Artifex Software sRGB ICC Profile
Artifacts:
verbose: true
输出(第 1 页):
Format: PDF (Portable Document Format)
Class: DirectClass
Geometry: 612x792+0+0
Resolution: 72x72
Print size: 8.5x11
Units: Undefined
Type: PaletteMatte
Endianess: Undefined
Colorspace: RGB
Depth: 16/8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
alpha: 8-bit
Rendering intent: Undefined
Interlace: None
Background color: white
Border color: rgba(223,223,223,1)
Matte color: grey74
Transparent color: none
Compose: Over
Page geometry: 612x792+0+0
Dispose: Undefined
Iterations: 0
Scene: 1 of 23
Compression: Undefined
Orientation: Undefined
Properties:
date:create: 2013-09-28T20:26:35-07:00
date:modify: 2013-09-28T20:26:35-07:00
pdf:Version: PDF-1.7
signature: 7dacb7c961ec49fea92685440d0cc5a1f1ef61b06c3179bcf1309768e77a79bd
Profiles:
Profile-icc: 2576 bytes
Artifex Software sRGB ICC Profile
大多数页面具有 1 位 alpha 通道深度和 类型PaletteMatte
。其他页面具有 类型TrueColorMatte
。不确定这是否相关。
有关的
相关 TeX.SE 问题:
- \includegraphics PDF,颜色问题
- 多个 PDF 中包含页面组,但页面组包含在单个页面中,警告
- Inkscape → PDF → includegraphics → XeLaTeX → 更改颜色
- 多个 PDF 中包含页面组,但页面组包含在单个页面中,警告
相关文章、博客、讨论主题和 wiki 页面:
- http://texblog.net/latex-archive/graphics/adobe-reader-wrong-color/
- http://wiki.contextgarden.net/Color
- http://www.mail-archive.com/[电子邮件保护]/msg09215.html
- http://sarovar.org/tracker/index.php?func=detail&aid=4326&group_id=106&atid=493
- http://www.latex-community.org/viewtopic.php?f=5&t=1904
- http://tug.org/pipermail/luatex/2012-January/003381.html
- http://wouter.horre.be/doc/latex-beamer-and-colors-in-acrobat-reader
答案1
来自 ConTeXt 邮件列表:
\setupcolors[pagecolormodel=auto]
在 Acrobat 中,当使用透明度时,渲染时会遵循不同的路径(至少在过去是这样)。渲染色彩空间可能会适应输出介质,因此它是色彩空间、显示器/纸张、校准、挖空/套印、透明度组、假设等的组合。