在SSIS中将Excel转换为PDF不起作用

时间:2016-07-14 18:47:37

标签: vb.net excel pdf ssis

我有一个SSIS代码,可以在类似于这个帖子代码的脚本任务中将Excel转换为PDF:Code to Convert Excel to PDF using VB.NET。 SSIS作业一直运行到导出到excel的位置:

oWorkbook.ExportAsFixedFormat(pFormatType, PDFFileName, pQuality, _
pIncludeDocProperties, _
pIgnorePrintAreas, _
pFrom, pTo, pOpenAfterPublish)

一旦它碰到这段代码,我的SSIS工作就会冻结。我将我的application.displayalerts设置为false,认为有些东西会弹出,但这不是问题。我的服务器上也安装了PDF阅读器,这也无济于事。此代码适用于我的PC,但不适用于服务器。我似乎无法弄清楚为什么会这样。看起来链接中引用的代码也可以工作。我的代码在我的服务器上无效的任何想法?

2 个答案:

答案 0 :(得分:1)

您无法从没有桌面的服务器进程中可靠地调用桌面应用程序。

它可能缺少像Acrobat或打印队列这样的东西,正在等待永远不会来的用户输入。

如果您需要使用自动化流程从Excel中可靠地创建PDF,您需要查看第三方工具或撰写内容。

我现在无法找到它,但微软在某个地方提到了技术说明。

答案 1 :(得分:0)

所以我挖得更深了一点。我能够以交互模式运行SQL Agent,我可以看到Excel中弹出一个弹出窗口(或者至少看到一个标题为“打印机设置”的弹出窗口,否则屏幕全部被甩掉)。我用Google搜索并发现了另一个帖子:Excel automation: PDF export causes "Printer setup" popup,它描述了我的问题。他通过将默认打印机更改为微软XPS文档打印机来解决他的问题,这对我也有用。希望这有助于其他人。