c# - 如何解决“调用'gsapi_init_with_args'时发生错误:-100”将PDF转换为PDF/A时的问题-Ghostscript
问题描述
当我尝试使用 GhostScript.NET 将 PDF 转换为 PDF/A 并开始调试项目时,会出现以下异常:
“附加信息:调用‘gsapi_init_with_args’时出错:-100”
我的代码是:
Public Sub Start()
Dim gv As GhostscriptVersionInfo = New GhostscriptVersionInfo("C:\Program Files\gs\gs9.18\bin\gsdll64.dll")
Dim proc As GhostscriptProcessor = New GhostscriptProcessor(gv)
Dim switches As List(Of String) = New List(Of String)()
switches.Add("-dPDFA=1")
switches.Add("-dNoCancel")
switches.Add("-dNOPAUSE")
switches.Add("-dNOOUTERSAVE")
switches.Add("-sProcessColorModel=DeviceRGB")
switches.Add("-sDEVICE=pdfwrite")
switches.Add("-sOutputFile=pdfa.pdf")
switches.Add("C:\Program Files\gs\gs9.18\bin\PDFA_def.ps")
switches.Add("-dPDFACompatibilityPolicy=1")
switches.Add("C:\Program Files\gs\gs9.18\bin\teste.pdf")
proc.StartProcessing(switches.ToArray, Nothing)
MsgBox("ok")
End Sub
如果我运行代码通过 CMD 将 PDF 转换为 PDF/A,它就可以完美运行。
gswin64 -q -dPDFA=1 -dNoCancel -dNOPAUSE -dNOOUTERSAVE -sProcessColorModel=DeviceRGB -sDEVICE=pdfwrite -sOutputFile=pdfa.pdf PDFA_def.ps -dPDFACompatibilityPolicy=1 teste.pdf
但是,使用上述代码运行会带来此错误。
如果我更改参数以将 PDF 转换为图像,它适用于下面的代码。
switches.Add("-dSAFER")
switches.Add("-dBATCH")
switches.Add("-dNOPAUSE")
switches.Add("-sDEVICE=jpeg")
switches.Add("-sOutputFile=figure.jpg")
switches.Add("teste.pdf")
所以看起来参数有问题,同时通过CMD这些参数工作正常。
使代码工作的任何建议?
直接运行 CMD 的问题是它会打开一个 GhostScript 弹出窗口。
解决方案
推荐阅读
- android - 当我在可绘制对象中有 850 个 png 文件时,如何减小 Play 控制台的应用程序大小?
- python - 为多维数据生成具有窗口大小和步幅的子序列
- c# - Xpath 点击 Eye Icon
- r - 将多个列表列表的长度放入R中的数据框中
- python - 给定特定比例或数字创建二进制矩阵
- docker - 当我将tor容器链接到微博时,我错过了什么?
- tensorflow - 恢复训练后如何保存和加载回调?
- python - 如何摆脱windrose pcolormap plot python上的不连续性
- java - 我可以看到布局的预览,但是当我运行应用程序时,布局没有显示
- shell - 使用 `diff` 命令仅查看第一行更改