Работа с PDF-документами в Qt
Qt — это кроссплатформенный фреймворк для разработки приложений, который позволяет создавать различные настольные, мобильные, веб- и встроенные системные приложения. В этой статье мы рассмотрим, как вы можете интегрировать нашу библиотеку C++ PDF для работы с PDF-документами в ваших приложениях Qt.
Использование Aspose.PDF для C++ в Qt
Чтобы использовать Aspose.PDF для C++ в вашем приложении Qt на операционной системе Windows, скачайте последнюю версию API из раздела загрузки. После загрузки API вы можете использовать любой из следующих вариантов для его использования с Qt.
- Используя Qt Creator
- Используя Visual Studio
Здесь мы продемонстрируем, как интегрировать и использовать Aspose.PDF для C++ в консольном приложении Qt с использованием Qt Creator.
Создание консольного приложения Qt
- Откройте Qt Creator и создайте новое Qt Console Application.
- Выберите опцию QMake из выпадающего списка Build System.
- Выберите подходящий комплект и завершите мастер.
На этом этапе у вас должно быть работоспособное приложение Qt Console Application, которое должно компилироваться без проблем.
Интеграция Aspose.PDF для C++ API с Qt
- Извлеките архив Aspose.PDF для C++, который вы скачали ранее
- Скопируйте папки Aspose.Pdf.Cpp и CodePorting.Native.Cs2Cpp_vc14_20.4 из извлеченного пакета Aspose.PDF для C++ в корень проекта. Ваш проект должен выглядеть, как показано на следующем изображении.
- Чтобы добавить пути к папкам lib и include, щелкните правой кнопкой мыши на проекте в левой панели и выберите Add Library.
- Выберите опцию Внешняя библиотека и просмотрите пути, чтобы включить и добавить папки lib по очереди.
- После этого ваш .pro файл проекта будет содержать следующие записи:
- Соберите приложение, и интеграция будет завершена.
Создание PDF документа в Qt
Теперь, когда Aspose.PDF для C++ интегрирован с Qt, мы готовы создать PDF документ с некоторым текстом и сохранить его на диск. Для этого:
- Включите следующие заголовки в main.cpp
#include "Aspose.PDF.Cpp/Document.h"
#include "Aspose.PDF.Cpp/Page_.h"
#include "Aspose.PDF.Cpp/PageCollection.h"
#include "Aspose.PDF.Cpp/Generator/Paragraphs.h"
#include "Aspose.PDF.Cpp/Text/TextFragment.h"
- Вставьте следующий код в основную функцию для создания PDF документа и сохранения на диск
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Text;
QString text = "Привет мир";
auto doc = MakeObject<Document>();
auto pages = doc->get_Pages();
pages->Add();
auto page = pages->idx_get(1);
auto paragraps = page->get_Paragraphs();
paragraps->Add(MakeObject<TextFragment>(text.toStdU16String().c_str()));
doc->Save(file_name.toStdU16String().c_str());