1. Продукти
  2.   PDF
  3.   C++
  4.   PDFGen
 
  

Безкоштовний C PDF API для створення нових PDF та додавання зображень/штрих-кодів.

Потужна відкрита легковагова C бібліотека для обробки PDF, призначена для створення та управління PDF‑документами. Вона підтримує безкоштовне додавання тексту, зображень, штрих-кодів та форм до PDF‑документів.

Що таке бібліотека PDFGen?

Створення та управління PDF‑документами програмно є поширеною вимогою у сфері розробки програмного забезпечення. Від генерації рахунків‑фактур та звітів до створення складних документів, надійна бібліотека генерації PDF є важливим інструментом у арсеналі розробника. Хоча існує багато багатофункціональних бібліотек, вони часто супроводжуються складними залежностями та крутою кривою навчання. Саме тут бібліотека PDFGen C проявляє себе. Невелика, самодостатня, відкрита C‑бібліотека, розроблена для генерації та управління PDF. Завдяки мінімальному розміру та відсутності зовнішніх залежностей, вона ідеальна для простих застосунків, вбудованих систем або випадків, коли потрібно уникнути підключення важкої PDF‑бібліотеки. PDFGen пропонує потужний набір функцій, незважаючи на компактний код, таких як додавання тексту до PDF, робота з базовою векторною графікою у PDF, вбудовування штрих‑коду, вбудовування зображень, додавання закладок, створення нових сторінок тощо.

У екосистемі, де бібліотеки можуть бути надзвичайно складними, PDFGen пропонує освіжаючий підхід. Уся бібліотека міститься в одному файлі C та відповідному заголовочному файлі. Це робить інтеграцію в будь‑який проєкт надзвичайно простою. DFGen є самодостатньою і не залежить від зовнішніх бібліотек. Це усуває головний біль від управління залежностями та забезпечує плавний процес компіляції. Завдяки малому розміру та однорядковій природі, вона ідеальна для вбудовування у великі застосунки, де потрібен базовий PDF‑вивід без великого навантаження. Бібліотека випущена під Unlicense, що є ліцензією, еквівалентною публічному достояню. Це означає, що ви вільні використовувати, змінювати та розповсюджувати код для будь‑яких цілей, комерційних чи некомерційних, без будь‑яких обмежень.

Previous Next

Початок роботи з PDFGen

Рекомендований спосіб встановлення PDFGen — використання GitHub. Будь ласка, скористайтеся наступною командою для безпроблемної інсталяції.

Встановлення PDFGen через GitHub

 Git clone https://github.com/AndreRenaud/PDFGen.git

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

Створення базового PDF-файлу за допомогою C API

PDFGen — це відкритий, легковаговий C‑бібліотека, розроблена спеціально для простого створення та керування PDF‑документами. Вона підтримує різноманітні функції роботи з PDF‑документами, такі як вставка тексту та зображень, додавання нових сторінок, керування шрифтами та багато іншого. Наступний приклад показує, як розробники програмного забезпечення можуть створити односторінковий PDF з заголовком та основним текстом у C‑застосунках.

Як створити простий PDF за допомогою C‑бібліотеки?

#include 
#include "pdfgen.h"

int main(void) {
    // 1. Create a new PDF document with A4 page size
    struct pdf_info info = {
        .creator = "My App",
        .producer = "My App",
        .title = "My First PDF",
        .author = "John Doe",
    };
    struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
    
    // 2. Set up a font
    const int font_size = 20;
    
    // 3. Add a new page
    pdf_append_page(pdf);
      
    // 6. Save the PDF to a file
    pdf_save(pdf, "hello_world.pdf");
    
    // 7. Free the allocated memory
    pdf_destroy(pdf);
    
    printf("PDF generated successfully!\n");
    return 0;
}

Маніпулювання текстом PDF за допомогою C‑бібліотеки

Відкрита бібліотека PDFGen включає повну підтримку обробки тексту у PDF‑документах за допомогою C++ бібліотеки. Бібліотека забезпечує потужні можливості обробки тексту, дозволяючи використовувати стандартні PDF‑шрифти, такі як Times‑Roman, Helvetica та Courier, а також керувати виглядом тексту, встановлюючи розмір шрифту, колір та обертання. Бібліотека також підтримує додавання тексту у певних координатах сторінки. Наступний приклад показує, як додати текст у PDF‑документ за допомогою C‑команд.

Як додати текст у PDF‑файл за допомогою бібліотеки C?

#include "pdfgen.h"

int main(void) {
    struct pdf_info info = {
        .creator = "My Application",
        .title = "My First PDF",
        .author = "Me"
    };
    struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
    pdf_set_font(pdf, "Times-Roman");
    pdf_append_page(pdf);
    pdf_add_text(pdf, NULL, "Hello, PDFGen!", 12, 50, 20, PDF_BLACK);
    pdf_save(pdf, "hello.pdf");
    pdf_destroy(pdf);
    return 0;
}

 

Малювання форм та вбудовування зображень у PDF

Бібліотека з відкритим кодом PDFGen забезпечила потужну підтримку малювання форм і додавання зображень у PDF‑документи з легкістю. Для документів, які потребують більше, ніж просто текст, PDFGen пропонує набір функцій для малювання базових форм і ліній. За кілька рядків коду розробники можуть малювати лінії, прямокутники та кола, створюючи форми, діаграми або межі у своїх додатках. Нижче наведено приклад, який демонструє, як розробники можуть малювати графіку та додавати JPEG‑зображення у C‑додатках.

Як малювати форми у PDF‑документах за допомогою бібліотеки C?

#include "pdfgen.h"

int main(void) {
    // ... (PDF creation boilerplate as above) ...
    pdf_append_page(pdf);
    // Draw a red line
    pdf_add_line(pdf, NULL, 50, 50, 200, 50, 3, PDF_RED);
    // Draw a blue-filled rectangle
    pdf_add_filled_rect(pdf, NULL, 50, 100, 150, 50, PDF_BLUE);
    // ... (Save and destroy PDF) ...
    return 0;
}

Генерація штрих-кодів у PDF за допомогою C-бібліотеки

Видатною особливістю PDFGen є вбудована підтримка створення штрих‑кодів у PDF‑документах. Це особливо корисно для застосунків, які потрібно генерувати рахунки, транспортні етикетки або інвентарні ярлики. Бібліотека підтримує два поширені стандарти штрих‑коду: Code‑128, який є високощільною лінійною символьною системою, та Code‑39, який є змінної довжини дискретною символьною системою. Нижче наведено корисний приклад, який показує, як додати штрих‑код у PDF‑файл у C‑застосунках.

Як додати штрих‑код у PDF‑файл у C‑додатках?

#include "pdfgen.h"

int main(void) {
    // ... (PDF creation boilerplate) ...
    pdf_append_page(pdf);
    pdf_add_barcode(pdf, NULL, PDF_BARCODE_128, 50, 200, 200, 50, "PDFGen-12345", PDF_BLACK);
    // ... (Save and destroy PDF) ...
    return 0;
}
 Українська