【问题标题】:Open Office automation fails when executed from Web Service从 Web 服务执行时,Open Office 自动化失败
【发布时间】:2011-12-15 23:20:12
【问题描述】:

我正在使用本指南作为我正在做的事情的基础:

http://www.codeproject.com/KB/files/generatepdf.aspx?fid=1517061&select=2903150&fr=1#xx2903150xx

我正在使用 Open Office CLI 桥来尝试创建一个 ASP 通用处理程序,该处理程序将从 MS SQL 数据库下载文件,将其转换为 PDF,然后将其发送回请求它的浏览器或应用程序。

这是我尝试过的:

  • 该文章中显示的服务(包括添加 OO.org 3 修复程序)。
  • 将相关代码直接移动到 Web 服务中并切换 IIS 以运行 32 位 .Net 运行时(OO.org 需要)。
  • 创建一个执行转换的命令行工具,然后生成一个运行该工具并等待退出代码的进程(0 = 成功,100 = 失败 a,200 = 失败 b,依此类推)李>

到目前为止,在使用 Visual Studio 提供的开发 ASP 服务器调试代码时,所有这些都可以正常工作。不起作用的是将它部署到我的开发服务器并尝试在那里运行它。我可以让进程运行没有问题,包括 OpenOffice 的 soffice.exe 和 soffice.bin,但在这些情况下都不会真正发生转换。我尝试让 IIS 服务能够与 shell 交互,并尝试在我自己的凭据下运行该进程(在 VS 的 ASP.net 服务器下工作,但在我的开发服务器上不工作),但都没有结果。

这么近却……这么远,真是令人沮丧。任何帮助弄清楚这一点将不胜感激。我的猜测是我缺少一些 IIS/ASP.net 配置选项。我的开发和生产环境使用的是Windows XP 64bit下的VS2008和IIS6。

谢谢, 最大

【问题讨论】:

    标签: c# asp.net automation iis-6 openoffice.org


    【解决方案1】:

    您是否在生产机器上实际安装了 OpenOffice。我知道这听起来很重要,但是在处理 MS Office 时我遇到了类似的问题。不管我是否复制了相应的文件,它们都没有注册。

    因此安装 MS Office 解决了这个问题。但是,我确信如果您注册了适当的文件,它也会起作用。也许作为一个快速测试将它部署在没有安装 Open Office 的机器上,看看它是否工作,然后安装 Open Office 看看是否

    【讨论】:

    • OO.org 必须通过该软件的 Installer for Automation on Windows 安装在系统上。原因是如果自动化所需的 DLL 不在 GAC 中,它就不能正常工作。有一个便携式版本的 OO.org,人们试图将其自动化,但我认为较新的版本不能很好地使用该技术。我还将命令行参数传递给它以不弹出注册窗口,但这似乎也不起作用。
    猜你喜欢
    • 2020-03-03
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 2020-06-11
    • 2022-10-23
    相关资源
    最近更新 更多