Быстрый старт
Быстрый старт
На этой странице показан минимальный код для открытия PDF, извлечения его текста и рендеринга страницы в растровое изображение с использованием Document, TextAbsorber и класса устройства.
Требования
Перед запуском примеров завершите Installation.
Открыть PDF, извлечь текст и отрендерить страницу
Откройте документ, выведите количество его страниц, извлеките весь текст с помощью Aspose::Pdf::Text::TextAbsorber и отрендерите страницу 1 в JPEG с разрешением 150 DPI с помощью JpegDevice:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/page_collection.hpp>
#include <aspose/pdf/text_absorber.hpp>
#include <aspose/pdf/jpeg_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
std::cout << "Pages: " << doc.Pages().Count() << "\n";
Aspose::Pdf::Text::TextAbsorber absorber;
absorber.Visit(doc);
std::cout << absorber.Text() << "\n";
Aspose::Pdf::Devices::JpegDevice jpeg(Aspose::Pdf::Devices::Resolution(150));
std::ofstream out("page1.jpg", std::ios::binary);
jpeg.Process(doc.Pages()[1], out);
}TextAbsorber::Visit принимает либо весь Document, либо отдельный Page. {Device}::Process принимает страницу и поток вывода — тот же шаблон применяется к BmpDevice и TiffDevice.
Найти отдельные фрагменты текста
Aspose::Pdf::Text::TextFragmentAbsorber возвращает расположенные фрагменты текста вместо одной плоской строки, что полезно, когда вам требуется положение или количество для каждого фрагмента:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/text_fragment_absorber.hpp>
#include <iostream>
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Text::TextFragmentAbsorber fragmentAbsorber;
fragmentAbsorber.Visit(doc);
std::cout << "Fragments: " << fragmentAbsorber.TextFragments().Count() << "\n";Читать метаданные документа
Document::Info() возвращает DocumentInfo с типизированными аксессорами для стандартных записей словаря /Info:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/document_info.hpp>
#include <iostream>
Aspose::Pdf::Document doc("input.pdf");
auto& info = doc.Info();
std::cout << "Title: " << info.Title() << "\n";
std::cout << "Author: " << info.Author() << "\n";Следующие шаги
- Руководство разработчика — рендеринг, шифрование, аннотации и формы
- API Reference — полный список классов и методов
- Статьи базы знаний — практические руководства для конкретных задач