快速入门
快速入门
此页面展示了使用 Document、TextAbsorber 和设备类打开 PDF、提取文本并将页面渲染为栅格图像的最小代码。
先决条件
在运行示例之前,完成 Installation.
打开 PDF、提取文本并渲染页面
打开文档,打印其页数,使用 Aspose::Pdf::Text::TextAbsorber 提取全部文本,并使用 JpegDevice 将第 1 页渲染为 150 DPI 的 JPEG:
#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 — 完整的类和方法列表
- KB 文章 — 特定任务的操作指南