Добро пожаловать снова на главную страницу 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
Преобразованный 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++, используя документацию. Если вас что-то смущает, сообщите нам об этом через наш форум.