如何解决“将PDF转换为PDF / A时出现的错误”,当调用'gsapi_init_with_args'时发生错误:-100”-Ghostscript

时间:2018-12-20 16:36:48

标签: c# vb.net pdf ghostscript.net

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

0 个答案:

没有答案