【问题标题】:Images not displayed when using Interop.Excel to convert excel to PDF使用 Interop.Excel 将 excel 转换为 PDF 时不显示图像
【发布时间】:2011-09-28 22:24:18
【问题描述】:

我正在使用 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

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

谢谢

【问题讨论】:

标签: excel pdf interop


【解决方案1】:

我在填充单元格和更改单选按钮时遇到了类似的问题——所有图像都会消失。

我可以通过将服务帐户切换到本地系统而不是我最初选择的“本地服务”来获得不删除的图像。

More details at this SO question.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 2019-07-01
    • 2012-03-10
    • 2020-06-27
    • 1970-01-01
    相关资源
    最近更新 更多