当我尝试使用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弹出窗口。