我需要从PDF生成JPEG.JPEG必须基于Trim Box创建,而PDF可以是1.3版,其中额外的Pantone颜色绝对需要叠印预览,因此只有GhostScript(当然Rip可以处理它们).Photoshop,Image Magick和SIPS(OS X的可编写脚本图像处理系统)都无法解决这两个问题(剪裁裁剪和复合处理叠印).
我创建了一个应用程序来光栅化我收到的PDF,所有作品都很好,除了一些中文PDF有一个未嵌入的字体.此字体为中文STXiHei TrueType(CID),编码为G8pc-EUC-H(从Acrobat Pro中提取的信息).
现在当GhostScript处理这些PDF时出错了.我的问题是:
有人可以帮帮我吗?
我有一个基本的pdf文件,想使用ghostscript和pdfmark将标题更新为中文(UTF-8),命令如下
gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=result.pdf base.pdf pdfmarks
Run Code Online (Sandbox Code Playgroud)
和 pdfmarks 文件(编码是UTF-8 没有 BOM)在下面
[ /Title (????)
/Author (Larry Cai)
/Producer (xdvipdfmx (0.7.8))
/DOCINFO pdfmark
Run Code Online (Sandbox Code Playgroud)
该命令已成功执行,而当我检查 result.pdf
标题改为 æ?‘擷引å‘
请给我提示如何解决这个问题,gs命令或pdfmark中有任何参数吗?
我的桌面上有一个文件 abc.ps。我已经在我的机器上安装了 Ghostscript 9.05,我想使用命令行查看我的 abc.ps 文件。
GS>?????
Run Code Online (Sandbox Code Playgroud)
这里应该写什么命令。我正在使用 Windows 7。
exe文件位置:C:\Program Files\gs\gs9.05\bin
我试图在批处理文件中执行GhostScript.
gswin32.exe ^
-dNOPAUSE ^
-sDEVICE=pdfwrite ^
-sOUTPUTFILE=output1.txt ^
-dBatch ^
"file1.txt" "file2.txt"
gswin32.exe ^
-dNOPAUSE ^
-sDEVICE=pdfwrite ^
-sOUTPUTFILE=output2.txt ^
-dBatch ^
"file1.txt" "file2.txt"
Run Code Online (Sandbox Code Playgroud)
问题是当第一行执行时,它会打开GhostScript窗口.我必须手动键入退出或关闭窗口以将控件返回到父级以批量执行下一个命令.我们如何修改批处理文件以便执行ghost脚本?最初我使用Process.Start(ProcessInfo)从C#程序调用此文件.欢迎提出建议
Windows 8
官方文档说只是编辑Fontmap文件.
lib里面有12个"fontmap"文件.我应该编辑哪一个?
假设我想添加"Arial"字体并将其替换为Arial格式的任何字体.我怎么做?
我一直在使用Ghostscript将PDF文档转换为PS.转换速度接近瞬间,直到我开始在PDF页面上标记签名.现在每个加盖的页面都会增加2-3秒,从而导致巨大的瓶颈.
我不确切知道发生了什么,但我猜这个标记为PDF添加了一层,一旦转换为PS就会产生更多的工作?
我正在使用C#,iTextSharp来添加图章.
我试图用FormFlattening = true添加图章.
我在这个问题中尝试过以下建议[ 有关加速GhostScript的任何提示吗?]无济于事.
我正在尝试将png图像放在postscript文档上,以便使用Ghostscript(v 9.15)ps2pdf转换为pdf文件.我发现以下代码与jpg文件很好地配合,但我需要导入png文件.看起来我必须要一个不同的过滤器,但我找不到一个有效的过滤器.有没有人有办法解决吗?
239 % number of pixels in the horizontal axis
67 % number of pixels in the vertical axis
8 % bits per color channel (1, 2, 4, or 8)
[239 0 0 -67 0 67] % transform array... maps unit square to pixel [ w 0 0 -h 0 h ]
(My_Logo.jpg) (r) file % see page 587 and page 77 for more details
/DCTDecode filter % see page 589
false % pull channels from separate sources
3 …Run Code Online (Sandbox Code Playgroud) 我运行以下命令在ImageMagick中拆分PDF:
convert file.pdf [5-10] file.png
生成的输出文件始终以零开头.那是:
file-0.png,file-1.png,file-2.png ...
我有什么想法可能做错了吗?文档说明文件应该从5开始后缀,与提取的页面的页码相匹配.
我使用以下命令将 PDF 转换为 EPS:
gswin32 -dNOCACHE -dNOPAUSE -dBATCH -dSAFER -sDEVICE=epswrite -dLanguageLevel=2 -sOutputFile=test.eps -f test.pdf
Run Code Online (Sandbox Code Playgroud)
然后我使用以下命令将 EPS 转换为另一个 PDF (test2.pdf) 以查看 EPS 图。
gswin32 -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=test2.pdf -f test.eps
Run Code Online (Sandbox Code Playgroud)
我发现生成的 test2.pdf 中的文本已转换为轮廓曲线。也不再嵌入字体。
是否可以将 PDF 转换为 EPS 而不将文本转换为轮廓?我的意思是,带有嵌入字体和文本的 EPS。
同样经过转换(test.pdf -> test.eps -> test2.pdf),PDF图(test2.pdf)的高宽比原来的PDF(test.pdf)要小一点:
测试.pdf:

测试2.pdf:

转换后是否可以保持图形的宽度和高度?
这是 test.pdf:https ://dl.dropboxusercontent.com/u/45318932/test.pdf
我尝试了 KenS 的建议:
gswin32 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=eps2write -dLanguageLevel=2 -sOutputFile=test.eps -f test.pdf
gswin32 -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -dMaxSubsetPct=100 …Run Code Online (Sandbox Code Playgroud) 我使用Magick.NET将图像(.PS格式转换为.PNG),在内部Magick.NET使用Ghostscript转换.ps文件。有没有一种无需安装即可添加对Ghostscript DLL的引用的方法。PS:我正在使用ASP.NET MVC4
ghostscript ×10
pdf ×4
postscript ×3
c# ×2
fonts ×2
imagemagick ×2
.net ×1
asp.net-mvc ×1
cjk ×1
converter ×1
encoding ×1
eps ×1
filter ×1
itextsharp ×1
magick.net ×1
png ×1
range ×1