Конвертировать Word DOCX в PDF

Добро пожаловать снова на главную страницу API форматов файлов! В недавнем прошлом я написал несколько сообщений в блоге, чтобы охватить различные сценарии преобразования Word (DOC/DOCX) в PDF программным способом в приложениях .NET (с использованием C#) и Java. Так как это популярная и широко используемая функция, я решил рассмотреть ее и для C++. Поэтому в этом посте я покажу вам, как конвертировать Word DOC/DOCX в PDF в приложениях C++. В этой статье рассматриваются следующие преобразования Word в PDF:

  • Простой Word DOC/DOCX в PDF на C++.
  • DOCX в PDF с определенным стандартом, например, PDF 1.5, PDF/A-1a и т. д.
  • Преобразование выбранных страниц DOCX в PDF.
  • Примените сжатие изображения/текста при преобразовании DOCX в PDF.

Библиотека конвертера C++ Word в PDF

Aspose.Words for C++ — это расширенная библиотека для создания и управления форматами документов Word в приложениях C++ без использования MS Word. Вы можете установить его через NuGet или скачать полный пакет, содержащий файлы библиотеки, а также готовые к запуску примеры исходного кода.

Преобразование Word DOC/DOCX в PDF на C++

Преобразование документа Word в PDF очень просто с помощью Aspose.Words для C++. Ниже приведены шаги для преобразования файла DOC/DOCX в PDF.

  • Создайте объект класса Document и инициализируйте его путем к документу Word.
  • Вызовите метод Document->Save(), чтобы сохранить документ в формате PDF.

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

// Загрузите документ с диска.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Установите выходной путь PDF
System::String outputPath =  u"DOCX-to-PDF.pdf";
// Конвертировать DOCX в PDF
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";

Входной документ Word

DOCX в PDF С++

Преобразованный PDF-документ

DOC в PDF на С++

Преобразование DOCX в PDF/A или другие стандарты PDF на C++

Формат PDF поддерживает различные стандарты PDF, включая PDF/A, PDF/E и т. д. Может возникнуть ситуация, когда вам нужно преобразовать файл Word в определенный стандарт, например PDF/A-1a. В таком случае Aspose.Words for C++ позволяет вам установить желаемый стандарт PDF для преобразованного PDF-файла. Ниже приведены шаги для установки стандарта PDF при преобразовании Word в PDF:

  • Создайте объект класса Document и инициализируйте его путем к файлу DOCX.
  • Создайте объект класса PdfSaveOptions и установите соответствие PDF с помощью метода PdfSaveOptions->setCompliance().
  • Вызовите метод Document->Save(), чтобы сохранить документ в формате PDF.

В следующем примере кода показано, как преобразовать Word DOCX в PDF со стандартом PDF/A-1a.

// Загрузите документ с диска.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Установите выходной путь PDF
System::String outputPath =  u"DOCX-to-PDFA.pdf";
// Установить параметры PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// Сохраните документ в формате PDF.
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";

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

Вы также можете преобразовать только выбранные страницы вместо преобразования всего Word в PDF. Ниже приведены шаги для преобразования только нужных страниц Word в PDF:

  • Загрузите документ Word, используя класс Document.
  • Установите индекс начальной страницы с помощью метода PdfSaveOptions->setPageIndex().
  • Установите количество страниц, которые вы хотите преобразовать, используя метод PdfSaveOptions->setPageCount().
  • Сохраните документ в формате PDF, используя метод Документ->Сохранить().

В следующем примере кода показано, как преобразовать выбранные страницы DOCX в PDF на C++.

// Загрузите документ с диска.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Установите выходной путь PDF
System::String outputPath =  u"DOCX-to-PDF.pdf";
// Установить параметры PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// Сохраните документ в формате PDF.
doc->Save(outputPath, options);

Применить сжатие изображения/текста в преобразовании DOCX в PDF

Вы также можете сжать полученный PDF-документ, чтобы уменьшить его размер. Aspose.Words для C++ позволяет применять сжатие текста и изображений с помощью методов PdfSaveOptions->setTextCompression() и PdfSaveOptions->setImageCompression() соответственно. В следующем примере кода показано, как применить сжатие при преобразовании DOCX в PDF на C++.

// Загрузите документ с диска.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// Установите выходной путь PDF
System::String outputPath =  u"DOCX-to-PDF.pdf";
// Установить параметры PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// Установить качество JPEG
options->set_JpegQuality(100);
// Сохраните документ в формате PDF
doc->Save(outputPath, options);

Узнайте больше об Aspose.Words для C++

Вы можете узнать больше об Aspose.Words для C++, используя документацию. Если вас что-то смущает, сообщите нам об этом через наш форум.

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