2016-07-14 81 views
1

我有一個SSIS代碼,可以將Excel轉換爲類似於此帖子代碼的腳本任務中的PDF:Code to Convert Excel to PDF using VB.NET。在SSIS作業運行的所有方式,它出口到Excel:一旦它擊中的代碼塊我的SSIS工作凍結在Excel中將Excel轉換爲PDF不工作

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

。我的application.displayalerts設置爲false,認爲somethiing彈出,但這不是問題。我的服務器上也安裝了PDF閱讀器,但這也無濟於事。此代碼適用於我的電腦,但不適用於服務器。我似乎無法弄清楚爲什麼會發生這種情況。看起來鏈接中引用的代碼也起作用。任何想法爲什麼我的代碼無法在我的服務器上工作?

回答

0

所以我挖得更深一點。我能夠在交互模式下運行SQL Agent,並且我可以看到彈出窗口卡住了Excel(或者至少看到一個標題爲「打印機設置」的彈出窗口,否則屏幕全部被忽略)。我GOOGLE了一下,發現這個其他帖子:Excel automation: PDF export causes "Printer setup" popup,描述我的問題。他通過將默認打印機更改爲Microsoft XPS文檔打印機,解決了他的問題,這對我也很有用。希望這可以幫助別人。

1

您無法從沒有桌面的服務器進程可靠地調用桌面應用程序。

它可能缺少類似於Acrobat或打印隊列的東西,並且正在等待永遠不會到來的用戶輸入。

如果您需要使用自動化過程可靠地從excel創建PDF,則需要查看第三方工具或編寫一些內容。

我現在找不到它,但是Microsoft有一個技術說明,提到了這一點。

+0

我假設我可以使用SSRS來創建報告,然後從那裏輸出,但我希望不必這樣做,並且可能有辦法強制或忽略可能發生的用戶輸入片斷。原因是我必須爲從Excel轉換爲PDF的文件數量編寫大量的SSRS報告。 – Schwimms

+0

SSR可以通過基於.net api的SOAP輸出PDF –

+0

如果我記得,但您需要自己將它寫入文件。您也可以通過網絡瀏覽器手動執行它們或安排它們。 –