¿Qué está causando que Ghostscript devuelva un error de -100?

Entonces, estoy usandoGhostscriptSharp de Matthew Ephraim, que es un contenedor simple de C # para la DLL Win32 Ghostscript no administrada en mi proyecto ASP.Net MVC. Algunos antecedentes:

Lo que intento hacer es que un usuario cargue un PDF, y luego convierta ese documento en una imagen que luego pueda guardar en el directorio que elija (así como hacer algún otro OOP para vincular esa nueva imagen a mi sitio) .

Decidí usar la clase de contenedor del Sr. Ephraim (GhostscriptSharp) porque era lo suficientemente simple de usar y me da un acceso relativamente limpio a la API de la DLL.

Para probarlo, creé una aplicación ficticia de consola C # para asegurarme de que podía cargar la DLL, acceder a ella, entregarle un archivo PDF en el disco local y luego hacer que escribiera un JPG en el mismo disco local. Después de algunas experiencias de aprendizaje, tuve éxito. Lo entregaría C: \ INPUT.pdf, me entregaría C: \ OUTPUT.jpg.

Sin embargo, después de integrar el código GhostScriptSharp que tenía en la aplicación de consola en mi proyecto ASP.NET MVC hasta el punto de llamar a la DLL con P / invoke, Ghostscript regresa con el código int / error-100, que es un error fatal (se llamaE_Fatal en el código fuente de GhostScript). Obtengo el mismo resultado tanto con el archivo que se carga a través del formulario HTML, como si le doy las mismas rutas codificadas que utilicé en mi aplicación de consola de trabajo.

Como referencia, las líneas en las que se lanza la excepción son 93-97 en GhostScriptSharp.cs (que se encuentra enCallApi función):

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

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

Obviamente se lanza la excepción porqueresult es-100.

Cuando se llama a InitAPI, la instancia ptr es válidaint (aunque no sé si la instancia de GS es correcta o no), args tiene una longitud de 20 (es unstring[]) de opciones válidas de GhostScript (incluidas las rutas de escape correctas a mis archivos de entrada y salida).

Larga historia corta, ¿qué estoy haciendo mal? El código de error-100 parece un problema porque no hay documentación que indique qué podría estar yendo mal aquí.

Cualquier ayuda es muy apreciada, gracias de antemano.

Respuestas a la pregunta(3)

Su respuesta a la pregunta