1. Товары
  2.   PDF
  3.   C++
  4.   VersyPDF
 
  

Бесплатный C++ PDF API для чтения, записи, объединения & шифрования PDF‑файлов.

Ведущая открытая библиотека C++ для генерации PDF для C и C++. Она предоставляет полный набор функций для чтения, создания, редактирования, манипулирования и защиты PDF‑документов в кроссплатформенных средах.

Что такое библиотека VersyPDF?

В мире разработки программного обеспечения возможность генерировать и манипулировать PDF‑документами является обычным требованием. VersyPDF — мощная, открытая библиотека на C++/C, предоставляющая полный набор инструментов для работы с PDF‑файлами. Независимо от того, создаёте ли вы сложную систему управления документами или просто хотите добавить возможность экспорта PDF в своё приложение, VersyPDF покрывает все ваши потребности. Библиотека обеспечивает очень детальный контроль над текстом, графикой, макетом, шрифтами, цветом; подходит для приложений, которым нужен точный вывод (например, публикация, автоматическое создание документов). Библиотека предоставляет полное решение для работы с PDF‑формами. Вы можете заполнять существующие формы, считывать значения полей формы и даже создавать новые поля формы с нуля.

VersyPDF — это открытая, промышленного уровня библиотека PDF для C и C++, разработанная Sybrex Systems. Ее цель — предоставить разработчикам полный набор инструментов для чтения, создания, редактирования, манипулирования и защиты PDF‑документов в кроссплатформенных средах. Она обладает богатым набором функций, что делает её универсальным решением для широкого спектра задач, связанных с PDF. Библиотека поддерживает чтение и запись PDF‑документов, создание и манипуляцию контентом, встраивание изображений в PDF‑документы, работу со шрифтами и текстом, улучшенную поддержку цветов и графики, создание и редактирование закладок, поддержку шифрования PDF, оптимизацию PDF‑файлов и т.д. Благодаря обширному набору функций и простому в использовании API, VersyPDF является отличным выбором для любого разработчика, которому необходимо интегрировать возможности работы с PDF в свои приложения.

Previous Next

Начало работы с VersyPDF

Рекомендуемый способ установки VersyPDF — использование CMake. Пожалуйста, используйте следующую команду для беспроблемной установки.

Установить VersyPDF через GitHub

 git clone  https://github.com/sybrexsys/VersyPDF.git

Вы также можете установить его вручную; загрузите последние файлы релиза напрямую из репозитория GitHub.

Чтение и запись PDF‑документов с помощью C++

Открытый исходный код VersyPDF включает поддержку создания новых PDF‑документов и чтения существующих PDF в приложениях на C++. Разработчики могут загружать PDF‑документы из файлов или буферов памяти и с лёгкостью записывать изменённые или новые PDF обратно в файл или память. Это означает гибкость как ввода, так и вывода. Следующий пример демонстрирует, как создать простой PDF‑документ с одной страницей текста, используя команды C++.

Как создать PDF‑документы и добавить к ним страницу с помощью C++ API?

#include "versypdf.h"

int main()
{
    // Create a new PDF document
    CPDFDocument doc;
    doc.CreateNew();

    // Add a new page
    CPDFPage page = doc.AppendPage();

    // Set the font and draw some text
    page.BeginText();
    page.SetFont("Helvetica", 12);
    page.SetXY(100, 700);
    page.ShowText("Hello, VersyPDF!");
    page.EndText();

    // Save the document to a file
    doc.SaveToFile("hello.pdf");

    return 0;
}

Добавление изображений и шрифтов в PDF через C++ API

Открытый исходный код VersyPDF упрощает разработчикам работу с изображениями и шрифтами в PDF‑документах с помощью C++ API. Библиотека поддерживает встраивание распространённых форматов изображений, таких как TIFF, JPEG, PNG, BMP и другие. Это очень полезно для включения растрового контента (например, фото, сканов). Следующий пример демонстрирует, как разработчики могут встроить JPEG‑изображение в PDF‑документ в приложениях на C++.

Как встроить JPEG‑изображение в PDF‑документ в приложениях C++?

#include "versypdf.h"

int main()
{
    // Create a new PDF document
    CPDFDocument doc;
    doc.CreateNew();

    // Add a new page
    CPDFPage page = doc.AppendPage();

    // Load an image from a file
    CPDFImage image = doc.CreateImageFromFile("my_image.jpg");

    // Draw the image on the page
    page.DrawImage(image, 100, 500, 200, 150);

    // Save the document to a file
    doc.SaveToFile("image_example.pdf");

    return 0;
}
 

Объединение PDF и управление страницами в PDF с помощью C++

Библиотека VersyPDF включает несколько функций для объединения различных PDF‑документов и управления страницами внутри PDF‑документов через C++ библиотеку. Библиотека поддерживает вращение страниц, разбиение, объединение, добавление и удаление нежелательных страниц всего несколькими строками кода. Кроме того, она также поддерживает вставку или добавление нового содержимого в существующие страницы с лёгкостью. Ниже приведён очень полезный пример, показывающий, как объединить два PDF‑файла, добавить закладку и применить шифрование в приложениях на C++.

Как объединить два PDF, добавить закладку и применить шифрование с помощью C++?

#include "versypdf.h"

int main() {
    // Load existing PDFs
    VersyPDF::Document doc1, doc2;
    doc1.LoadFromFile("document1.pdf");
    doc2.LoadFromFile("document2.pdf");

    // Merge
    VersyPDF::Document merged = VersyPDF::Merge({ &doc1, &doc2 });

    // Add a bookmark to first page
    merged.AddBookmark("Start Here", /*pageIndex=*/0, /*destination=*/VersyPDF::Destination::FitPage);

    // Apply encryption: 256-bit AES, require password to open
    merged.SetSecurityHandler(VersyPDF::Security::AES256, /*ownerPwd=*/"ownerpass", /*userPwd=*/"userpass", /*permissions=*/VersyPDF::Permission::Print);

    // Save
    merged.Save("merged_encrypted.pdf");

    return 0;

Работа с PDF‑формами через C++

Открытая библиотека VersyPDF предоставляет полное решение для работы с PDF‑формами. Библиотека включает различные функции для работы с формами, такие как создание новых полей формы с нуля, заполнение существующих форм, чтение значений полей формы и многое другое. Ниже приведён очень полезный пример, демонстрирующий, как разработчики могут заполнить простую PDF‑форму с единственным текстовым полем с помощью C++.

Как заполнить простую PDF-форму с одним текстовым полем с помощью приложений на C++?

#include "versypdf.h"

int main()
{
    // Load an existing PDF document with a form
    CPDFDocument doc;
    doc.LoadFromFile("form.pdf");

    // Get the form field by name
    CPDFFormField field = doc.GetFormField("my_text_field");

    // Set the value of the form field
    field.SetValue("This is the new value");

    // Save the modified document
    doc.SaveToFile("form_filled.pdf");

    return 0;
}
 Русский