从Excel创建PDF文件:图像问题

本文关键字:图像 问题 文件 PDF Excel 创建 | 更新日期: 2023-09-27 17:58:21

我有一个Excel模板,用于为我们的供应商创建PDF规格表。除了插入图片外,我可以打开、操作和导出到PDF文件。这是我用来添加一个图片的代码

workSheet.Shapes.AddPicture(imagePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 120, 700, image.Width, image.Height);

这是保存PDF文件的代码:

private void createPDF()
{
     if (File.Exists(path + basePart.Number + ".pdf"))
         File.Delete(path + basePart.Number + ".pdf");
     workBook.Saved = true;
     workSheet.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, path + basePart.Number, Excel.XlFixedFormatQuality.xlQualityStandard, true,
                false, Type.Missing, Type.Missing, true, Type.Missing);
     DisposeExcelInstance();
}

没有任何图像,PDF文件保存良好。对于图像,PDF文件会保存但无法打开。我试过多个PDF文件阅读器以防万一,但毫无疑问,它们都不起作用。

编辑:

我尝试过各种Excel格式,但都没有成功。ExportAsFixedFormat似乎不适用于图像,无论图像是如何插入文档的。有其他选择吗?

从Excel创建PDF文件:图像问题

Microsoft对此表示感谢。在多台具有多种文件格式和PDF文件工具的计算机上进行了6个小时的测试,我发现这是Excel 2010的兼容性问题。

我终于有了一台备用笔记本电脑,这样我就可以不再打扰其他人在他们的电脑上测试东西了,而且这台笔记本电脑上有Excel 2007,它的工作很有魅力。信不信由你,实际的问题是,当使用Excel 2007(模板最初内置的版本)时,有人将其放入了"页面布局"视图,而在Excel 2007及更早版本中创建带有图片的PDF文件时,该视图也适用。

使用Excel 2010,有时我可以摆脱页面布局视图,但永远不会使用图片。我真希望是我编的。我不认为这个视图和电子表格的功能有任何关系。这是一个非常具体的问题,但希望有一天它能让人头疼。

https://stackoverflow.com/a/6207214/713819

这是真的。你是对的。我也遇到了这个问题。我以前有一个使用MS Excel 2007创建的MS Excel模板,但我仍在使用它。然而,当我想使用相同的模板(我之前手动更新过)自动生成报告并将图像插入工作表时,它从未出现在(MS Excel 2016的)打印预览中。我尝试将excel报告保存为PDF,但PDF中也没有显示图像。

最后,我不得不在MS Excel 2016中重新创建模板,然后问题得到了解决。简言之,这是微软Excel中的一个兼容性错误,至今仍未修复。

不管怎样,谢谢你!