快速入门

快速入门

此页面展示了使用 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";

后续步骤

另请参阅

 中文