2

我在 Windows Server 2008 R2 上运行 IIS 7.5,并尝试使用 SWFTools 的 pdf2swf 将上传后的一些 PDF 转换为 SWF。如果我使用相同的参数手动启动转换器,一切都很好。但是,如果我从我的 HttpHandler 中启动转换器,则该过程不会返回任何输出(并且似乎根本没有启动)或转换没有任何文本的 PDF - 取决于我如何启动该过程。

这是我开始这个过程的方式:

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = ToolsPath;
p.StartInfo.Arguments = arguments
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.Password = secPw;
p.StartInfo.UserName = username;
p.StartInfo.Domain = domain;
p.Start();
p.WaitForExit();

以及我通过哪些论点:

"%%source%% -o %%target%% -v -v -v -f -T 9 -t -s storeallcharacters"

非常感谢您的帮助!

编辑:我也尝试过没有额外的 StartInfo(用户凭据),这是我第一次尝试的,导致 SWF 没有文本。使用凭据(作为管理员或标准),我没有从转换器获得任何 SWF 或输出。

编辑2:我也尝试了这些论点:

"%%source%% -o %%target%% -f -T 9 -t -s storeallcharacters"
4

2 回答 2

1

好的,我通过添加具有管理权限的单独控制台应用程序解决了这个问题:我添加了一个应用程序清单

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

这个控制台应用程序称为 pdf2swf.exe,由我的 HttpHandler 调用。

我还在 HttpHandler 中添加了对“中间人”的调用,这些代码行:

p.StartInfo.UseShellExecute = false;
if (System.Environment.OSVersion.Version.Major >= 6)
    p.StartInfo.Verb = "runas";
于 2012-04-14T16:14:37.190 回答
0

仅供参考......我有一个类似的问题。升级到最新版本 pdf2swf (build 0857) 为我解决了这个问题。

于 2012-06-01T09:54:45.640 回答