专业的编程技术博客社区

网站首页 > 博客文章 正文

使用QT提取PDF文件中的文本内容(qt获取文件夹下的所有文件名)

baijin 2025-06-09 20:03:42 博客文章 1 ℃ 0 评论

要在Qt中提取PDF文件中的文本,你可以使用第三方库Poppler或QPDF。这些库提供了用于处理PDF文件的功能,包括提取文本内容。以下是一个使用Poppler库的简单示例代码,演示如何在Qt中提取PDF文件中的文本:

#include <QtWidgets>
#include <poppler-qt5.h>

void extractTextFromPDF(const QString& filePath) {
    Poppler::Document* document = Poppler::Document::load(filePath);
    if (!document || document->isLocked()) {
        qDebug() << "Failed to open the PDF file.";
        delete document;
        return;
    }

    int totalPages = document->numPages();

    QString extractedText;
    for (int i = 0; i < totalPages; ++i) {
        Poppler::Page* page = document->page(i);
        QString text = page->text();  // 提取当前页面的文本内容
        extractedText += text + "\n";

        delete page;
    }

    qDebug() << "Extracted text:\n" << extractedText;

    delete document;
}

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    // 提取PDF文件中的文本
    extractTextFromPDF("document.pdf");

    return app.exec();
}

在上述示例中,我们定义了一个extractTextFromPDF函数,该函数接收PDF文件路径作为参数。在函数内部,我们使用Poppler库加载PDF文件,并进行错误检查和锁定检查。

然后,我们获取PDF文件的总页数,并使用循环逐页提取文本内容。通过调用Page对象的text函数,我们可以获取当前页的文本内容,并将其追加到extractedText字符串中。

最后,我们输出提取的文本内容。

在main函数中,我们传递PDF文件路径,调用extractTextFromPDF函数来提取PDF文件中的文本。

请注意,上述示例仅演示了如何提取PDF文件中的文本内容。如果需要更复杂的操作,如提取特定区域的文本或处理其他PDF元素,你可以根据具体需求使用Poppler或QPDF库的其他功能。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表