С# Word в PDF - DOC в PDF

Преобразование Word в PDF является обычной практикой в наши дни, и это предпочтительнее перед совместным использованием документов. MS Word предоставляет встроенную функцию для сохранения документов Word в формате PDF, однако может быть случай, когда вы хотите преобразовать документ Word в PDF программно, например, в своих веб-приложениях, или вам может потребоваться пакетное преобразование Word в PDF без установки MS Office. Итак, в этой статье вы узнаете, как преобразовать Word DOCX или DOC в PDF с помощью C# в среде .NET или .NET Core.

Сценарии преобразования Word в PDF C#

В этой статье вы узнаете, как:

Конвертер C# Word в PDF

Aspose.Words for .NET — это мощный API для создания популярных форматов документов Word и управления ими. API также предоставляет простой способ преобразования документов Word в PDF с высокой степенью точности. Поэтому для преобразования Word в PDF на C# мы сначала добавим в проект ссылку на Aspose.Words for .NET DLL или установим ее одним из следующих способов.

Использование диспетчера пакетов NuGet

  • Создайте/откройте проект в Visual Studio.
  • Перейдите в диспетчер пакетов NuGet и выполните поиск Aspose.Words.
  • Установите Aspose.Words для .NET.
Преобразование Word в PDF C# .NET

Использование консоли диспетчера пакетов

PM> Install-Package Aspose.Words

Простое преобразование Word в PDF C#

Чтобы преобразовать документ Word в PDF, вам нужно вызвать метод Document.Save() и указать имя выходного файла с расширением «.pdf». В следующем примере кода показано, как преобразовать Word в PDF на C#.

// Загрузите документ с диска.
Document doc = new Document("word.doc");
// Сохранить как PDF
doc.Save("output.pdf");

Документ Word

С# Преобразование Word в PDF

Преобразованный PDF

Word в PDF программно на С#

Преобразование выбранных страниц Word в PDF на С#

Вы также можете настроить преобразование Word в PDF, указав диапазон страниц, которые вы хотите получить в результирующем документе PDF. Вы можете преобразовать первые N страниц или определить диапазон страниц, указав индекс начальной страницы. В следующем примере кода показано, как преобразовать 3 страницы, начиная со второй страницы документа Word, в PDF на C#.

Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Преобразование 3 страниц, начиная с индекса 1, где 0 — это индекс первой страницы. 
options.PageIndex = 1;
options.PageCount = 3;
// Сохранить Word как PDF
doc.Save("output.pdf", options);

Преобразование Word в PDF с помощью определенного стандарта PDF в C#

PDF-документы могут соответствовать различным стандартам PDF, таким как PDF 1.7, PDF 1.5, PDF/A-1a и т. д. В соответствии с этим Aspose.Words для .NET позволяет указать уровень соответствия PDF при преобразовании Word в PDF. Вы можете указать уровень соответствия, используя перечисление PdfCompliance. В следующем примере кода показано, как установить уровень соответствия для преобразования Word в PDF на C#.

Document doc = new Document("word.docx");
// Установите для параметра PDFSaveOption значение PDF17.
PdfSaveOptions options = new PdfSaveOptions();
options.Compliance = PdfCompliance.Pdf17;
// Преобразование Word в PDF
doc.Save("output.pdf", options);

Преобразование Word в PDF со сжатием текста/изображения в C#

Формат PDF поддерживает сжатие текста и изображений для уменьшения размера документа. Поскольку PDF-документ может быть громоздким по размеру, сжатие его содержимого упрощает загрузку, совместное использование, печать и т. д. Сжатие текста и изображения также можно применять при преобразовании Word в PDF с помощью Aspose.Words для .NET.

Параметры сжатия текста

В перечислении PdfTextCompression доступны следующие параметры сжатия текста.

  • Нет: сохранение PDF без сжатия текста.
  • Flate: Сохранение PDF со сжатием Flate (ZIP).

Сжатие изображения

В перечислении PdfImageCompression доступны следующие параметры сжатия изображений.

  • Авто: API автоматически выбирает наиболее подходящее сжатие для каждого изображения в документе.
  • Jpeg: Сжатие изображений в формате JPEG (не поддерживает прозрачность).

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

Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Сжатие текста и изображений
options.TextCompression = PdfTextCompression.Flate;
options.ImageCompression = PdfImageCompression.Auto;
// Сохранить Word как PDF
doc.Save("output.pdf", options);

Преобразование C# Word в PDF с цифровой подписью

Вы также можете применить цифровую подпись к выходному PDF-файлу во время преобразования Word в PDF. Класс CertificateHolder позволяет указать цифровой сертификат и пароль. Класс PdfDigitalSignatureDetails позволяет предоставить сведения о цифровой подписи, такие как владелец сертификата, причина, местонахождение и дата/время. В следующем примере кода показано, как преобразовать Word в PDF с цифровой подписью на C#.

Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// Сведения о цифровых подписях
CertificateHolder certHolder = CertificateHolder.Create("signature.pfx", "12345");
options.DigitalSignatureDetails = new PdfDigitalSignatureDetails(certHolder, "reason", "location", DateTime.Now);
// Сохранить Word как PDF
doc.Save("output.pdf", options);

Преобразование Word в PDF с желаемым качеством JPEG в C#

Вы также можете указать желаемое качество JPEG, которое вы хотите получить в преобразованном PDF-документе, используя свойство PdfSaveOptions.JpegQuality. Значение JpegQuality может варьироваться от 0 до 100, где 0 означает наихудшее качество, но максимальное сжатие, а 100 — наилучшее качество, но минимальное сжатие.

В следующем примере кода показано, как задать качество JPEG при преобразовании Word в PDF на C#.

Document doc = new Document("word.docx");
// Установить качество JPEG
PdfSaveOptions options = new PdfSaveOptions();
options.JpegQuality = 100;
// Преобразование Word в PDF
doc.Save("output.pdf", options);

Вывод

В этой статье вы узнали, как конвертировать документы Word в PDF на C# с различными параметрами. Посетите документацию Aspose.Words для .NET, чтобы ознакомиться с полным набором функций, предлагаемых API. По любым вопросам или запросам обращайтесь к нам через наш форум.

Статьи по Теме