Випадки використання

Випадки використання

У цьому посібнику демонструються реальні випадки використання Aspose.PDF FOSS для C++, включаючи генерацію документів, перетворення PDF у зображення, вилучення тексту, безпечний розподіл та збір даних AcroForm. Бібліотека прив’язана лише до стандартної бібліотеки C++ і вимагає компілятора C++20.

Генерація документів

Створіть PDF з нуля, додаючи сторінки до нового Document і зберігаючи результат. Цей шаблон лежить в основі генерації рахунків, друку сертифікатів та конвеєрів виробництва виписок:

#include <aspose/pdf/document.hpp>

int main() {
    Aspose::Pdf::Document doc;
    doc.Pages().Add();
    doc.SetTitle("Monthly Report");
    doc.Save("report.pdf");
}

Перетворення PDF у зображення

Відобразіть сторінку у растрове зображення для мініатюр, готового до друку виходу або базових ліній візуальної регресії. PngDevice, JpegDevice, BmpDevice та TiffDevice кожен обробляє одну сторінку за раз із заданою роздільною здатністю:

#include <aspose/pdf/document.hpp>
#include <aspose/pdf/png_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>

int main() {
    Aspose::Pdf::Document doc("input.pdf");
    Aspose::Pdf::Devices::PngDevice png(Aspose::Pdf::Devices::Resolution(150));
    std::ofstream out("page1.png", std::ios::binary);
    png.Process(doc.Pages()[1], out);
}

Вилучення тексту та індексація

Витягнути повний текст документа за допомогою TextAbsorber для індексації пошуку, конвеєрів добування даних або автоматичної перевірки вмісту в тестових наборах:

#include <aspose/pdf/document.hpp>
#include <aspose/pdf/text_absorber.hpp>
#include <iostream>

int main() {
    Aspose::Pdf::Document doc("input.pdf");
    Aspose::Pdf::Text::TextAbsorber absorber;
    absorber.Visit(doc);
    std::cout << absorber.Text() << "\n";
}

Безпечний розподіл документів

Зашифруйте документ за допомогою окремих паролів користувача та власника перед розповсюдженням. Пароль користувача потрібен для відкриття файлу; пароль власника керує дозволами, такими як друк та витяг вмісту:

#include <aspose/pdf/document.hpp>

int main() {
    Aspose::Pdf::Document doc("report.pdf");
    doc.Encrypt("user-password", "owner-password",
                Aspose::Pdf::Permissions(),
                Aspose::Pdf::CryptoAlgorithm::AESx256);
    doc.Save("report-secured.pdf");
}

AcroForm Збір даних

Прочитайте подані значення з заповненої PDF-форми, перебираючи Form.Fields() та виводячи назву кожного поля та його поточне значення — корисно для обробки заповнених анкет без окремого сервера надсилання форм:

#include <aspose/pdf/document.hpp>
#include <aspose/pdf/forms/form.hpp>
#include <iostream>

int main() {
    Aspose::Pdf::Document doc("submitted-form.pdf");
    auto& form = doc.Form();
    for (auto* field : form.Fields()) {
        std::cout << field->PartialName() << " = " << field->Value() << "\n";
    }
}

Дивіться також

 Українська