Безкоштовний 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 у свої додатки.
Початок роботи з 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
Як створити 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Додати зображення та шрифти до 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;
}