Преобразование Word в PDF является обычной практикой в наши дни, и это предпочтительнее перед совместным использованием документов. MS Word предоставляет встроенную функцию для сохранения документов Word в формате PDF, однако может быть случай, когда вы хотите преобразовать документ Word в PDF программно, например, в своих веб-приложениях, или вам может потребоваться пакетное преобразование Word в PDF без установки MS Office. Итак, в этой статье вы узнаете, как преобразовать Word DOCX или DOC в PDF с помощью C# в среде .NET или .NET Core.
Сценарии преобразования Word в PDF C#
В этой статье вы узнаете, как:
- Преобразование Word DOCX/DOC в PDF на C#
- Преобразование нужных страниц документа Word в PDF на С#
- Преобразование Word в PDF с использованием определенного стандарта PDF, такого как PDF 1.7, PDF/A-1a и т. д.
- Преобразование Word в PDF со сжатием изображения/текста в C#
- DOCX/DOC в PDF с цифровой подписью на C#
- Преобразование Word в PDF с желаемым качеством JPEG для изображений
Конвертер C# DOCX/DOC в 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.
Использование консоли диспетчера пакетов
PM> Install-Package Aspose.Words
Простое преобразование Word (DOCX/DOC) в PDF C#
Чтобы преобразовать документ Word в PDF, вам нужно вызвать метод Document.Save() и указать имя выходного файла с расширением «.pdf». В следующем примере кода показано, как преобразовать Word DOC в PDF на C#.
// Загрузите документ с диска.
Document doc = new Document("word.doc");
// Сохранить как PDF
doc.Save("output.pdf");
Документ Word
Преобразованный PDF
Преобразование выбранных страниц Word DOCX в 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 DOCX/DOC в PDF с помощью определенного стандарта PDF в C#
PDF-документы могут соответствовать различным стандартам PDF, таким как PDF 1.7, PDF 1.5, PDF/A-1a и т. д. В соответствии с этим Aspose.Words для .NET позволяет указать уровень соответствия PDF при преобразовании Word в PDF. Вы можете указать уровень соответствия, используя перечисление PdfCompliance. В следующем примере кода показано, как установить уровень соответствия для преобразования Word DOCX в 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 DOCX в 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 DOC/DOCX в 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 DOCX в PDF на C#.
Document doc = new Document("word.docx");
// Установить качество JPEG
PdfSaveOptions options = new PdfSaveOptions();
options.JpegQuality = 100;
// Преобразование Word в PDF
doc.Save("output.pdf", options);
Вывод
В этой статье вы узнали, как конвертировать документы MS Word DOCX/DOC с помощью C# с различными параметрами. Посетите документацию Aspose.Words для .NET, чтобы ознакомиться с полным набором функций, предлагаемых API. По любым вопросам или запросам обращайтесь к нам через наш форум.