O que está fazendo com que o Ghostscript retorne um erro de -100?

Então eu estou usandoGhostscript de Matthew EphraimSharp, que é um invólucro simples em C # para a DLL não gerenciada do Win32 Ghostscript no meu projeto ASP.Net MVC. Alguns antecedentes:

O que estou tentando fazer é fazer com que um usuário faça o upload de um PDF e, em seguida, converta esse documento em uma imagem que eu possa salvar em qualquer diretório que escolher (assim como fazer outro OOP para vincular essa nova imagem ao meu site) .

Decidi usar a classe de empacotador do Sr. Ephraim (GhostscriptSharp) porque era bastante simples de usar e me fornece acesso relativamente limpo à API da DLL.

Para testá-lo, criei um aplicativo de console C # fictício para garantir que eu pudesse carregar a DLL, acessá-la, entregar um arquivo PDF no disco local e depois gravar um JPG no mesmo disco local. Depois de algumas experiências de aprendizado, tive sucesso. Eu entregaria C: \ INPUT.pdf, entregaria C: \ OUTPUT.jpg.

No entanto, depois de integrar o código GhostScriptSharp que eu tinha no aplicativo de console no meu projeto ASP.NET MVC até o ponto em que estava chamando a DLL com P / invoke, o Ghostscript está retornando com o código int / error-100, que é um erro fatal (é chamadoE_Fatal no código fonte do GhostScript). Eu obtenho o mesmo resultado com o arquivo carregado por meio do formulário HTML e se eu entregar os mesmos caminhos codificados exatamente que usei no meu aplicativo de console de trabalho.

Para referência, as linhas em que a exceção é lançada são 93-97 no GhostScriptSharp.cs (que está no diretórioCallApi função):

int result = InitAPI(gsInstancePtr, args.Length, args);

if (result < 0) {
  throw new ExternalException("Ghostscript conversion error", result);
}

Obviamente, a exceção é lançada porqueresult é-100.

Quando InitAPI é chamado, a instância ptr é um válidoint (embora eu não saiba se a instância do GS está correta ou não), args tem um comprimento de 20 (é umstring[]) de opções válidas do GhostScript (incluindo os caminhos de escape correto para meus arquivos de entrada e saída).

Para encurtar a história, o que estou fazendo de errado? O código de erro-100 parece um problema, porque não há documentação que indique o que poderia estar errado aqui.

Qualquer ajuda é muito apreciada, desde já agradeço.

questionAnswers(3)

yourAnswerToTheQuestion