我读这篇文章了解如何将PDF转换为CMYK,但是当我试图接受的解决方案
gs \
-o test-cmyk.pdf \
-sDEVICE=pdfwrite \
-sProcessColorModel=DeviceCMYK \
-sColorConversionStrategy=CMYK \
-sColorConversionStrategyForImages=CMYK \
test.pdf
如果我的原始pdf文件不包含图片,则不会获得具有CMYK颜色空间的pdf文件。如果在其中添加图片,我将得到正确的结果(已选中identify
)。
例如,如果我inskcape
用一个矩形创建一个svg,将其导出为pdf,然后使用ghostscript命令,则它在sRBG颜色空间中仍会得到一个pdf。但是,如果我在svg中添加图片,则效果很好。
gs
解决该问题的正确选择是什么?我的版本是9.19。
编辑:KenS发现了问题:报告来自identify
错误。因此,我添加了ImageMagick的已安装版本号:6.9.3。
如果您使用的是Ghostscript的最新版本,则不需要-sColorConversionStrategyForImages
(也不是真正的Ghostscript控件)或-sProcessColorModel
。如果您没有使用最新版本的Ghostscript,请更新…。
除此之外,由于您没有提供示例,也没有告诉我们您使用的是哪个版本的GS,或在哪个平台上,因此实际上不可能进一步讲什么。
[在提供文件后添加]
您的原始PDF文件包含以下内容作为页面的内容流:
stream
q
0 0 0 rg /a0 gs
109.715 637.714 262.855 -260.57 re f
Q
endstream
这样可以保存graphcis状态,将颜色设置为0,0,0RGB,设置alpha为1的特定图形状态,绘制一个矩形,并用当前颜色填充它,然后恢复图形状态。
然后,我使用了以下命令行:
./gs -sDEVICE=pdfwrite -sOutputFile=CMYK.pdf -sColorConversionStrategy=CMYK test.pdf
生成的PDF文件具有以下内容作为页面内容流:
stream
q 0.1 0 0 0.1 0 0 cm
/R7 gs
0.722 0.675 0.671 0.882 k
1097.15 3771.44 2628.55 2605.7 re
f
Q
endstream
这样可以保存图形状态,将CTM乘以x和y的0.1倍,设置特定的图形状态,将颜色设置为0.722、0.675、0.671、0.882
CMYK,创建一个矩形,将其填充为当前颜色,然后还原图形状态。
因此,生成的PDF文件具有定义为CMYK值的所有颜色。
也许您的问题identify
不是Ghostscript。
问题内容: 我想将PDF文档转换为图像。我正在使用Ghost4j。 问题: Ghost4J需要gsdll32.dll文件在运行时,我也 并不 想使用的DLL文件。 问题1: 在ghost4j中,有没有办法在没有dll的情况下转换图像? 问题2: 我在PDFBox API中找到了解决方案。convertToImage()将PDF页面转换为图像格式。 PDF文档上只有文本。运行此代码时出现该异常: 问
问题内容: 因此,我所处的状态是以PDF格式发布了一堆数据,但更糟糕的是,大多数(全部?)PDF似乎都是在Office中键入的字母,打印/传真然后进行扫描(我们的政府最好吗?)。起初我以为自己疯了,但后来我开始看到大量“倾斜”的pdf文件,就像有人没有正确将它们放在扫描仪上一样。因此,我想从中获得实际文本的下一个最佳方法就是将每一页变成一张图像。 显然,这需要自动化,如果可能的话,我宁愿使用Pyt
我想把PDF文档转换成图像。我用的是Ghost4j。 问题:Ghost4J需要gsdll32。dll文件,我不想使用dll文件。 问题1:是否有任何方法,在ghost4j转换图像没有dll? 问题2:我在PDFBox API中找到了解决方案<代码>组织。阿帕奇。pdfbox。pdmodel。PDPagep具有将PDF页面转换为图像格式的方法convertToImage()。 我只有PDF文档上的文
问题内容: 我有一个程序,需要使用Image Magick将PDF转换为图像。我使用包来做到这一点: 我得到的错误是: 其中最重要的是: 我认为这是因为ImageMagick无权访问PDF。现在应该怎么办?我在Linux服务器上。任何帮助表示赞赏。 问题答案: emcconville是正确的。更具体地说,编辑Imagemagick policy.xml文件以取消注释此行: 并将其从rights =
问题内容: 我想将PDF页面转换为图像(PNG,JPEG / JPG或GIF)。我希望它们有整页尺寸。 使用Java如何做到这一点?哪些库可用于实现此目的? 问题答案: 您将需要一个PDF渲染器。市场上有一些或多或少的好工具(ICEPdf,pdfrenderer),但是如果没有,您将不得不依靠外部工具。免费的PDF渲染器也无法渲染嵌入的字体,因此仅适用于创建缩略图(您最终想要的)。 我最喜欢的外部
我有一个程序,在这个程序中,我需要使用image Magick将PDF转换为图像。我使用包来实现这一点: 我得到的错误是: 其中最重要的是: 我认为这是因为ImageMagick无权访问PDF。现在该怎么办?我在Linux服务器上。感谢您的帮助。