带有图像的GhostScript PS到PDF只能在Visual Studio的调试模式下工作

本文关键字:Studio Visual 调试 模式 工作 图像 GhostScript PS PDF | 更新日期: 2023-09-27 17:59:09

我正在尝试使用Ghostscript将ps文件(带图像的word文件)转换为pdf。

当我调试我的代码并逐步完成它时,一切都很好,它会生成包含文本、图像和其他内容的pdf。但是,当我使用Visual Studio安装项目部署应用程序时,它不起作用,并给了我这个错误"当调用'gsapi_new_instance'时发生错误:-100。"

这是我的命令行参数

var args=字符串。格式("-q-dNOPAUSE-dBATCH-sDEVICE=pdfwrite-sOutputFile=''"{1}''"-c save pop-f ''"{0}''",inputFile,@"c:''MedirefPrinter''converted''out.pdf");

知道为什么不起作用吗?感谢

实际代码:

文件更改处理程序

ShellCommand

请原谅我的错误:)

带有图像的GhostScript PS到PDF只能在Visual Studio的调试模式下工作

移动到一个答案以允许更多文本。

错误有三个可能的原因:

1) "实例"指针为NULL。我看不出这是怎么可能的,因为我们的可执行文件是一个全局定义的变量,并且可执行文件传递其地址。这是针对Ghostscript API编写代码的人员的健全性检查。

2) 应用程序无法为某些内部结构分配足够的内存。同样,这似乎不太可能,因为您的系统内存不足。

3) DLL实例计数已为1或更大。如果DLL在多个进程之间共享,就会发生这种情况。除非使用GS_THREADSAFE构建库,否则它不是线程安全的,因此不能让多个进程使用相同的DLL实例。我想这是你的问题,但很明显你还没有提供一套完整的代码,所以我不知道。如果您试图从同一目录同时运行Ghostscript的多个副本,则会出现此错误。

error-100的意思是"很早就发生了非常糟糕的事情,我甚至无法告诉你这是什么"。

我非常怀疑PostScript中图像的存在是否有任何真正的影响,只是它可能会减慢解释速度,导致您尝试启动两个进程。