Как исправить проблему «Произошла ошибка при обращении к« gsapi_init_with_args »: -100» при преобразовании PDF в PDF / A - Ghostscript - PullRequest
0 голосов
/ 20 декабря 2018

Когда я пытаюсь конвертировать PDF в PDF / A с помощью GhostScript.NET и начинаю отлаживать, проект вызывает следующее исключение:

"Дополнительная информация: Произошла ошибка при вызове '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

Если я запускаю код для преобразования PDF в PDF / A через CMD, он работает отлично.

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.

...