gpt4 book ai didi

c++ - 页面未在此范围内声明 - qt creator - PoDoFo

转载 作者:太空宇宙 更新时间:2023-11-04 13:02:46 26 4
gpt4 key购买 nike

我发现了这个类似的问题 SO: error: ‘Page’ was not declared in this scope但情况不同,因为我不处理头文件。

正如您从下面的代码中看到的,我正在使用 PoDoFo 库尝试将 pdf 文件内容打印到屏幕上

#include <iostream>
#include <podofo/podofo.h>
using namespace std;
int main()
{
//load a new document
//PoDoFo::PdfMemDocument pdf("myDoc.pdf");

// this load a doc on my disk

PoDoFo::PdfMemDocument doc;
doc.Load("myDoc.pdf");

//iterate over each page"
for(int pn = 0; pn < doc.GetPageCount(); ++pn){
PoDoFo::PdfPage* page = doc.GetPage(pn);
}

//
PoDoFo::PdfContentsTokenizer tok(page);
const char* token = nullptr;
PoDoFo::PdfVariant var;
PoDoFo::EPdfContentsType type;
while (tok.ReadNext(type, token, var)) {
if (type == PoDoFo::ePdfContentsType_Keyword) {

}
}
if (var.IsArray()) {
PoDoFo::PdfArray& a = var.GetArray();
for (size_t i = 0; i < a.GetSize(); ++i)
if (a[i].IsString()) { }

}
}

这是错误:

/home/coder/QtProjects/finalProject/main.cpp:19: error: ‘page’ was not declared in this scope
PoDoFo::PdfContentsTokenizer tok(page);

希望你能帮我解决这个问题。

谢谢!

最佳答案

我怀疑你的大括号不在正确的位置,根据@Scheff 的评论,页面变量的范围包含在 for 循环中,并且你正试图在循环结束后执行更多操作。我为 for 循环移动了 },我认为它可能应该在下面的代码中并且它应该可以工作,尽管我也怀疑关闭 } while 循环的 code> 和最后一个 if 也可能位于错误的位置。

#include <iostream>
#include <podofo/podofo.h>
using namespace std;
int main()
{
//load a new document
//PoDoFo::PdfMemDocument pdf("myDoc.pdf");

// this load a doc on my disk

PoDoFo::PdfMemDocument doc;
doc.Load("myDoc.pdf");
PoDoFo::PdfPage* page
//iterate over each page"
for(int pn = 0; pn < doc.GetPageCount(); ++pn){
PoDoFo::PdfPage* page = doc.GetPage(pn);


//
PoDoFo::PdfContentsTokenizer tok(page);
const char* token = nullptr;
PoDoFo::PdfVariant var;
PoDoFo::EPdfContentsType type;
while (tok.ReadNext(type, token, var)) {
if (type == PoDoFo::ePdfContentsType_Keyword) {

}
}
if (var.IsArray()) {
PoDoFo::PdfArray& a = var.GetArray();
for (size_t i = 0; i < a.GetSize(); ++i)
if (a[i].IsString()) { }

}
}
}

关于c++ - 页面未在此范围内声明 - qt creator - PoDoFo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43534824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com