C# Word в PDF - DOC в PDF

Конвертація Word у PDF є звичайною практикою в наші дні, і її краще використовувати перед спільним використанням документів. MS Word надає вбудовану функцію для збереження документів Word у форматі PDF, однак може статися випадок, коли ви захочете конвертувати документ Word у PDF програмним шляхом, наприклад у своїх веб-додатках, або вам може знадобитися пакетне перетворення Word у PDF без інсталяції MS Office. Отже, у цій статті ви дізнаєтесь, як конвертувати Word у PDF за допомогою C# у рамках .NET або .NET Core.

Перетворення C# Word у PDF – сценарії

У цій статті ви дізнаєтесь, як:

C# .NET API для перетворення Word у PDF

Aspose.Words for .NET — це потужний API для створення популярних форматів документів Word і керування ними. API також забезпечує простий спосіб конвертації документів Word у PDF із високим ступенем точності. Тому для перетворення Word у PDF у C# ми спочатку додамо посилання на Aspose.Words for .NET DLL у проект або встановимо його одним із наведених нижче методів.

Використання диспетчера пакетів NuGet

  • Створіть/відкрийте проект у Visual Studio.
  • Перейдіть до NuGet Package Manager і знайдіть Aspose.Words.
  • Встановіть Aspose.Words for .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

C# Перетворення Word на PDF

Конвертований PDF

Word у PDF програмно на C#

Перетворення вибраних сторінок Word на PDF у C#

Ви також можете налаштувати перетворення 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);

C# Конвертуйте Word у PDF за допомогою спеціального стандарту

PDF-документи можуть відповідати різним стандартам PDF, таким як PDF 1.7, PDF 1.5, PDF/A-1a тощо. Відповідно до цього Aspose.Words for .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);

C# Перетворюйте Word у PDF за допомогою стиснення тексту/зображення

Формат PDF підтримує стиснення тексту та зображень для зменшення розміру документа. Оскільки PDF-документ може мати об’ємний розмір, стиснення його вмісту спрощує завантаження, спільний доступ, друк тощо. Стиснення тексту та зображень також можна застосувати в програмі Word для перетворення PDF за допомогою Aspose.Words for .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#

За допомогою властивості PdfSaveOptions.JpegQuality можна також вказати бажану якість JPEG, яку ви хочете отримати в перетвореному PDF-документі. Значення 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 for .NET, щоб побачити повний набір функцій, які пропонує API. З будь-якими запитаннями чи запитами зв’яжіться з нами через наш форум.

Пов’язані статті