【问题标题】:Save Excel as PDF将 Excel 保存为 PDF
【发布时间】:2018-08-22 03:24:18
【问题描述】:

我在 c# 中打开了一个 Excel 文件,进行了一些更改,我想将其保存为 pdf 文件。 我已经搜索过它并找到了这个:

Microsoft.Office.Interop.Excel._Workbook oWB;
oWB.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, "D:\\xxxxx.pdf");

但此代码有时会打开一个表单并且必须选择打印机!不知道为什么?!

还有其他方法可以从 Excel 导出 PDF 吗? 我看到 Workbook.saveas() 有一个 Fileformat 对象。我们如何使用它?

【问题讨论】:

  • 你可以选择this
  • 什么是夏普?
  • @Taw 抱歉 csharp (C#) 。我错过了's'

标签: c# excel pdf


【解决方案1】:

使用 iTextSharp。它是本机 .NET 代码。不需要任何 Excel 互操作 -

https://www.nuget.org/packages/itextsharp/

【讨论】:

  • 如何使用 iTextSharp 将 Excel 保存为 PDF?据我了解,该库不支持读取 Excel 文件....
  • @NixonUposseen 我认为这很明显。但你会先使用nuget.org/packages/ExcelDataReader
  • 另外,我找不到这两个库之间的任何内置互操作性,您是否已与它们完成了这项任务?如果是,那么您的回答目前缺乏关于我们如何做到这一点的任何体面信息......
【解决方案2】:

如果您正在寻找替代方法,请查看 GemBox.Spreadsheet: https://www.nuget.org/packages/GemBox.Spreadsheet/

您可以使用以下方法将 Excel 保存为 PDF:

ExcelFile excel = ExcelFile.Load("D:\\xxxxx.xlsx");
excel.Save("D:\\xxxxx.pdf");

或者你可以这样写:

XlsxLoadOptions loadOptions = new XlsxLoadOptions();
ExcelFile excel = ExcelFile.Load("D:\\xxxxx.xlsx", loadOptions);

PdfSaveOptions saveOptions = new PdfSaveOptions();
excel.Save("D:\\xxxxx.pdf", saveOptions);

【讨论】:

    【解决方案3】:

    您可以使用此 API 执行此操作。请参阅文档以获取更多详细信息。

    http://cdn.bytescout.com/help/BytescoutPDFExtractorSDK/html/55590148-5bef-4338-ac16-1de4056a952b.htm

    【讨论】:

    • 我认为他想另辟蹊径:将 Excel 文件另存为 PDF,而不是将 PDF 解析为 Excel。
    • 但我相信如果他能探索文档,他一定会在那里找到解决方案。由于这些软件包提供 Excel 到 PDF 和 PDF 到 excel。但问题是他可能会探索。我建议这样做是因为当我遇到相同类型的问题时,这个 API 对我来说是一种生活品味。你可以自己探索,这里是那个cdn.bytescout.com/help/BytescoutPDFSDK/…的链接
    【解决方案4】:

    查看Spire.Xls,下面是Excel转PDF的代码。

    Workbook workbook = new Workbook();
    workbook.LoadFromFile("Sample.xlsx");
    
    //If you want to make the excel content fit to pdf page
    //workbook.ConverterSetting.SheetFitToPage = true;
    
    workbook.SaveToFile("result.pdf", Spire.Xls.FileFormat.PDF);
    

    它有一个免费版本,您可以免费使用: https://www.e-iceblue.com/Introduce/free-xls-component.html(也可在 NuGet 上使用)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      相关资源
      最近更新 更多