С мощью Интернета все стало цифровым, а безбумажные системы становятся все более и более популярными. Цифровые документы (например, PDF-файлы) являются неотъемлемой частью безбумажных систем, которые упрощают жизнь, обеспечивая автоматизированное создание и обработку. Большинство предприятий используют автоматизацию документов PDF для динамического создания отчетов, квитанций, счетов-фактур и других деловых документов.
Для создания PDF-файлов мы будем использовать Aspose.PDF for C++ API — собственную библиотеку C++, которая может программно манипулировать PDF-документами. Он может создавать интерактивные документы PDF с поддержкой различных элементов PDF.
В этой статье я покажу, как интегрировать функциональность автоматизации PDF в приложение на основе C++ и как динамически генерировать PDF-файлы с помощью C++.
Создайте простой PDF-файл на C++
Во-первых, мы создадим простой PDF-файл и добавим текст на первую страницу в абзацах. Вот шаги, которые необходимо выполнить:
- Создайте объект документа.
- Добавьте страницу в коллекцию PageCollection документа.
- Получить абзацы страницы.
- Создайте объект TextFragment и добавьте его в абзац.
- Сохраните PDF-документ.
В следующем примере кода показано, как создать PDF-документ на C++.
// Создать документ auto doc = MakeObject(); автоматические страницы = doc->get_Pages(); страницы->Добавить(); // Нумерация страниц начинается с 1 auto page = pages->idx_get(1); автоматические абзацы = page->get_Paragraphs(); // Создать текстовый фрагмент auto text = MakeObject(u"PDF API для C++"); авто тс = текст->get_TextState(); // Установить состояние текста ts->set_FontSize(16); ts->set_FontStyle(FontStyles::Italic); // Добавляем в абзац paragraps->Add(text); // Добавляем текст в абзацы paragraps->Add(MakeObject(u"В этом примере показано, как создать PDF-файл с текстом, используя Aspose.PDF для C++.")); // Сохранить файл PDF doc->Save(u"Example1.
входной HTML-файл
Создайте файл PDF с помощью TextBuilder в C++
В этом разделе я покажу вам, как использовать класс TextBuilder для прикрепления к странице различных текстовых фрагментов и абзацев. Также в этом примере вы узнаете, как задать положение фрагмента текста на странице. Вот шаги, чтобы сделать это:
- Создайте объект документа.
- Добавьте страницы в документ.
- Создайте объект TextBuilder.
- Создайте TextFragment и добавьте его текст.
- Установите положение TextFragment.
- Добавьте TextFragment с помощью TextBuilder.
- Сохраните PDF-документ.
В следующем примере кода показано, как создать PDF-файл с помощью TextBuilder в C++.
// Создать объект документа auto doc = MakeObject(); автоматические страницы = doc->get_Pages(); страницы->Добавить(); // Автоматически создать TextBuilder tb = MakeObject(pages->idx_get(1)); // Создать TextFragment auto text = MakeObject(u"Hello world!"); текст->set_Position(MakeObject(100, 800)); // Добавляем TextFragment tb->AppendText(text); // Создать еще один TextFragment text = MakeObject(u"Этот пример создан Aspose.Pdf для C++."); текст->set_Position(MakeObject(150, 750)); tb->AppendText(текст); // Создаем еще один TextFragment text = MakeObject(u"Это демонстрирует, как использовать TextBuilder для добавления текста в файл PDF."); text->set_Position(MakeObject(200, 700)); tb->AppendText(текст); // Создать Текстовый Параграф авто пар = СделатьОбъект(); par->set_Position(MakeObject(250,650)); par->AppendLine(u"Новый абзац"); par->AppendLine(u"Строка 2"); par->AppendLine(u"Строка 3"); tb->AppendParagraph(par); // Сохранить документ PDF doc->Save(u"Created PDF.pdf");
входной HTML-файл
Создайте файл PDF с изображениями на C++
Используйте Aspose.PDF для C++ для создания изображений и добавления изображений в документы PDF. Вот шаги, чтобы сделать это:
- Создайте объект документа.
- Добавьте страницы в документ.
- Создайте изображение для добавления.
- Добавляйте изображения в файлы PDF.
- Сохраните PDF-файл.
В следующем примере кода показано, как создать и добавить изображение в документ PDF на C++.
// Создать объект документа auto doc = MakeObject(); автоматические страницы = doc->get_Pages(); страницы->Добавить(); авто страница = страницы->idx_get(1); // Создать автоматический поток изображений = MakeObject(); SharedPtrbitmap = MakeObject(200, 200); SharedPtrgraphics = Graphics::FromImage(bitmap); графика->Очистить(System::Drawing::Color::get_Yellow()); графика->FillRectangle(Brushes::get_Blue(), System::Drawing::Rectangle(0, 0, 200, 100)); растровое изображение->Сохранить(поток, Imaging::ImageFormat::get_Bmp()); // Создаем прямоугольник double x = 100.0, y = 600.0, width = 200.0, height = 200.0; auto rect = MakeObject(x, y, x + ширина, y + высота); // Добавляем изображение в PDF поток->Seek(0, System::IO::SeekOrigin::Begin); страница->Добавить изображение (поток, прямоугольник); // Сохранить документ PDF doc->Save(u"Created PDF.pdf");
входной HTML-файл
Создайте файл PDF с вложениями с помощью C++
Формат PDF также позволяет добавлять к документу вложения. В PDF-файлы можно добавлять файлы различных форматов в виде вложений. Вот шаги для встраивания файла в PDF с помощью Aspose.PDF для C++:
- Загрузите файл, который нужно добавить в SharedPtr.
- Создайте объект класса Document.
- Вставьте файл в документ.
- Сохраните PDF-файл.
В следующем примере кода показано, как добавить вложение в документ PDF на C++.
// Создать текстовый файл System::IO::File::WriteAllText(u"Attachment.txt", u"Some info"); SharedPtrfileSpecification = MakeObject(u"Attachment.txt", u"Образец текстового файла"); // Добавить вложение в коллекцию вложений документа auto doc = MakeObject(); doc->get_EmbeddedFiles()->Add(fileSpecification); // Добавляем страницу в PDF doc->get_Pages()->Add(); // Сохранить документ PDF doc->Save(u"Created PDF.pdf");
входной HTML-файл