Сценарии использования

Сценарии использования

Это руководство демонстрирует реальные сценарии использования 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";
    }
}

См. также:

 Русский