1

我正在将 .docx、.doc 文件转换为 .ps 文件。在本地机器上工作正常并打印 .ps 文件,但在 IIS 7.5 上它不打印,我只是收到此错误

“ActiveX-Server 尚未启动!请使用函数“cStart()”启动 ActiveX-Server!”

我试过 cStart("/NoProcessingAtStartup", false) 没有运气,并进行了多次搜索,但没有解决。有没有人遇到过这样的事情?

IIS:匿名授权、应用程序池标识

PDFCreator.clsPDFCreator creator = new PDFCreator.clsPDFCreator();
PDFCreator.clsPDFCreatorOptions options = new PDFCreator.clsPDFCreatorOptions();
options = creator.cOptions;
PDFCreator.clsPDFCreatorError perr = new PDFCreator.clsPDFCreatorError();

if (!creator.cStart("/NoProcessingAtStartup", false))
{
     Console.Write("Can't Initiase PDF Converter, letter Generation Error");
}

options.UseAutosave = 1;
options.UseAutosaveDirectory = 1;
options.AutosaveDirectory = path;
options.AutosaveFilename = name;
options.AutosaveFormat = 6; //0=PDF, 1=PNG, 2=JPG, 3=BMP, 4=PCX, 5=TIFF, 6=PS, 7= EPS, 8=ASCII
creator.cOptions = options;
creator.cSaveOptions();
creator.cClearCache();
creator.cPrinterStop = false;
creator.cDefaultPrinter = "PDFCreator";
creator.cPrintFile(pathFull);

err = creator.cError.Description.ToString();
4

1 回答 1

0

这可能是因为应用程序池用户没有运行 PDFCreator 的权限,或者因为它在第一次运行之前和首次运行时从未运行过 PDFCreator,它试图以交互方式进行一些安装或设置,而应用程序池用户没有交互式上下文。尽管我会倾向于后者,因为如果是前者,我预计会出现不同的错误。

如果可以通过计算机管理/组件服务中的 DCOM 配置部分访问 PDFCreator,那么您可以尝试将其设置为始终以特定用户身份运行,可能是您自己的身份。您还需要授予应用程序池用户权限启动和激活和访问权限。

或者,您可以在应用程序配置或代码中尝试模拟,并模拟您通常用于 PDFCreator 的帐户。

更新:虽然 Word 是实际问题并且 PDFCreator 试图激活它,但上述建议仍然完全适用。
如果另一个进程正在尝试激活 Word,则运行该进程的用户需要对其具有 DCOM 权限,并且如果激活进程的用户没有权限或以前从未使用过 Word,则 Word 可能需要以特定用户身份运行.

作为一个具体的例子,假设您在网络服务帐户下运行该进程并尝试激活 Word,当新用户第一次尝试运行 Word 时,Word 将抛出一些安装窗口进行首次配置,但由于用户未以交互方式登录这些窗口无法看到且无法响应,因此安装挂起。在这种情况下,最好将 Word 设置为始终以 DCOM 配置中的特定身份启动。

于 2012-06-13T16:00:24.107 回答