Excel в PDF С#

Файлы Excel широко используются для хранения и обмена табличными данными. С другой стороны, формат PDF был одним из основных форматов цифровых документов. В некоторых случаях файлы Excel должны быть преобразованы в формат PDF программным способом. Для этого в этой статье показано, как преобразовать Excel XLS XLSX в PDF на C#.

C# API для преобразования Excel в PDF

Aspose.Cells for .NET API упрощает преобразование электронных таблиц Excel в PDF. Вы можете либо скачать библиотеку DLL API, либо установить ее с помощью NuGet.

PM> Install-Package Aspose.Cells

Как преобразовать файл Excel в PDF на C#

Используя Aspose.Cells for .NET, вы можете легко преобразовать файл Excel в PDF за пару шагов. Вот как вы можете сохранить файл Excel с помощью API.

  • Загрузите файл Excel с диска.
  • Сохраните его в формате PDF в нужное место.

Вот и все. Теперь давайте посмотрим, как выполнить преобразование Excel в PDF с помощью кода C#.

Преобразование Excel XLS или XLSX в PDF на C#

Aspose.Cells for .NET предоставляет простой в использовании API, с помощью которого вы можете конвертировать файлы Excel в PDF, выполнив следующие простые действия.

  1. Создайте экземпляр класса Workbook с документом Excel, который вы хотите преобразовать.
  2. Сохраните документ в формате PDF, указав формат сохранения как PDF с помощью перечисления SaveFormat.

В следующем фрагменте кода показано, как преобразовать Excel XLS в PDF на C#.

// Instantiate the Workbook object with the Excel file
Workbook workbook = new Workbook("SampleExcel.xls");

// Save the document in PDF format
workbook.Save("outputPDF.pdf", SaveFormat.Pdf);

С# Excel в PDF/совместимое преобразование PDF

PDF/A — это стандартизированная по стандарту ISO версия PDF, в которой запрещены функции, не подходящие для долгосрочного архивирования. Такое сохранение PDF гарантирует, что в долгосрочной перспективе ничего не сломается.

В следующем фрагменте кода показано, как преобразовать книгу Excel в формат PDF, совместимый с PDF/A, на C#.

// Instantiate new workbook
Workbook workbook = new Workbook();

// Insert a value into the cell A1
workbook.Worksheets[0].Cells[0, 0].PutValue("Testing PDF/A");

// Define PdfSaveOptions
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

// Set the compliance type
pdfSaveOptions.Compliance = PdfCompliance.PdfA1b;

// Save the file
workbook.Save(dataDir + "output.pdf", pdfSaveOptions);

C# Excel XLS XLSX в PDF — отслеживание преобразования

Aspose.Cells for .NET предоставляет возможность отслеживать ход преобразования, предоставляя интерфейс IPageSavingCallback. Вы можете создать собственный класс, реализующий этот интерфейс, и назначить его экземпляр свойству PdfSaveOptions.PageSavingCallback.

В следующем фрагменте кода показано, как отслеживать ход преобразования Excel в PDF с помощью C#.

//load the workbook
Workbook workbook = new Workbook("PagesBook1.xlsx");

PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

//assign the custom class that implements IPageSavingCallback interface
pdfSaveOptions.PageSavingCallback = new TestPageSavingCallback();

workbook.Save("DocumentConversionProgress.pdf", pdfSaveOptions);

Ниже приведен пользовательский класс, который реализует интерфейс IPageSavingCallback для отслеживания процесса преобразования.

public class TestPageSavingCallback : IPageSavingCallback
{
    public void PageStartSaving(PageStartSavingArgs args)
    {
        Console.WriteLine("Start saving page index {0} of pages {1}", args.PageIndex, args.PageCount);

        //pages before page index 2 are not rendered.
        if (args.PageIndex < 2)
        {
            args.IsToOutput = false;
        }
    }

    public void PageEndSaving(PageEndSavingArgs args)
    {
        Console.WriteLine("End saving page index {0} of pages {1}", args.PageIndex, args.PageCount);

        //pages after page index 8 are not rendered.
        if (args.PageIndex >= 8)
        {
            args.HasMorePages = false;
        }
    }
}

Конвертер C# Excel в PDF - Получите бесплатную лицензию

Вы можете использовать Aspose.Cells for .NET без ограничений по ознакомительной версии, используя временную лицензию.

Вывод

В этой статье вы узнали, как конвертировать файлы Excel XLSX или XLS в PDF на C#. Дополнительные сведения о преобразовании файлов Excel в PDF см. в нашей документации Преобразование книги Excel в PDF. Если у вас возникнут какие-либо вопросы, сообщите нам об этом через наш форум.

Смотрите также