运行非交互式windows服务下的PDFTron

Running PDFTron under non-interactive windows service

PDFTron 是一个第 3 方库,用于将文件从一个扩展名转换为 pdf 文档。

我们在多个场景和操作系统的应用程序中成功使用它。

现在,随着我们转向 TFS 等自动构建系统,我们正在尝试 运行 pdf 转换作为测试阶段的一部分 我们尝试了两种方法,使用标准 UnitTest 并尝试了由 PowerShell 脚本调用的 .Exe 文件。以下 None 曾经成功 运行ning 并抛出以下错误:

Unhandled Exception: pdftron.Common.PDFNetException: Exception:
 ○ Message: An error occurred while converting the file.
 Detailed error:
 ○Document failed to open
 ○ Conditional expression: false
 ○ Filename   : Convert.cpp
 ○ Function   : trn::PDF::Convert::ToPdf
 ○ Linenumber : 1825
 
 at pdftron.PDF.Convert.ToPdf(PDFDoc in_pdfdoc, String in_filename)
 at ImageComapareTool.Program.Main(String[] args)
 Exception Message: MSBuild error 1 has ended this build. You can find more specific information about the cause of this error in above messages. (type BuildProcessTerminateException)
Exception Stack Trace:    at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
   at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

运行 来自构建服务器的 executable\powershell 脚本手动工作得很好。这让我们认为这是一个问题 运行ning 在 windows 服务

我们 运行 进入了 this 文件,但是它没有给我们任何好的假设,因为我们 运行 在本地用户下使用该服务。

任何关于可选 solution\pointing 方向正确的线索都会有所帮助

最终,在尝试多个方向(例如从 Pdftron 或 psexec 运行的实验性构建)后,我们 运行 交互模式下的 TFS 服务,这意味着实际用户必须登录到 TFS 构建服务器。 .. 所以它不是最方便的解决方案,因为它非常脆弱,但至少它有效。