Когда я пытаюсь конвертировать 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.