Я использую 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://it.hlbsolutions.com/uploads/Untitled-1.jpg
Обратите внимание, что изображения вверху и внизу справа не отображаются. Любые мысли будут полезны.
Спасибо