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++.\n\n\n

\n

Як створити PDF‑документи та додати до них сторінку за допомогою C++ API?

\n
#include \"versypdf.h\"\n\nint main()\n{\n    // Create a new PDF document\n    CPDFDocument doc;\n    doc.CreateNew();\n\n    // Add a new page\n    CPDFPage page = doc.AppendPage();\n\n    // Set the font and draw some text\n    page.BeginText();\n    page.SetFont(\"Helvetica\", 12);\n    page.SetXY(100, 700);\n    page.ShowText(\"Hello, VersyPDF!\");\n    page.EndText();\n\n    // Save the document to a file\n    doc.SaveToFile(\"hello.pdf\");\n\n    return 0;\n}\n\n
\n
\n\n \n\n\n

Додати зображення та шрифти до PDF за допомогою C++ API

\n

Відкритий проєкт 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;
}
 Українська