是否有任何方法可以使用libpoppler分别访问页眉、页脚和页面内容
Is there any way to access page header,page footer and page content separately using libpoppler?
我正在使用libpoppler将PDF文件解析为纯文本,并且我想分别输出页眉、页脚和内容,如何做到这一点??有什么结构或类可以容纳它们吗?
提前感谢!!
您可以使用poppler_page_get_text()
在页面中获取文本。之后你能解析纯文本吗?这是一个示例代码。这不是C++,但希望你能看到这个想法。
在Debian不稳定amd64、libpoppler glib dev 0.18.4-3、gcc 4.7.1-7 上测试
$ gcc -Wall -g -Wextra get-text.c $(pkg-config --cflags --libs poppler-glib)
#include <poppler.h>
#include <glib.h>
int main(int argc, char *argv[])
{
GError *error = NULL;
PopplerDocument *d;
PopplerPage *p;
gchar *f;
gchar *u;
g_type_init();
if (argc < 2)
g_error("oops: no file name given");
if (g_path_is_absolute(argv[1]))
f = argv[1];
else
f = g_build_filename(g_get_current_dir(), argv[1], NULL);
u = g_filename_to_uri(f, NULL, &error);
if (!u)
g_error("oops: %s", error->message);
d = poppler_document_new_from_file(u, NULL, &error);
if (!d)
return -1;
p = poppler_document_get_page(d, 1);
g_print("%sn", poppler_page_get_text(p));
return 0;
}
免责声明:这可能不是一个好的答案
上次我检查libpoppler是一个很好的渲染器,它可以将pdf页面视为矢量绘制操作的序列。从这个意义上说,它应该可以拦截文本绘制操作,从而以某种方式报告文本。但从矢量的角度来看,我不认为页面页眉/页脚中的文本有什么特别之处。此外,我还看到一些非常昂贵的pdf到文本转换器程序在这方面惨败。
不是。PDF没有页眉、页脚和正文的概念(除非您创建了带标签的PDF)。
相关文章:
- 通过方法访问结构
- 为了访问方法,从基类动态转换为派生类
- 访问方法的返回类型
- 是否有对 Clang 递归 ASTVisitor 的最终访问方法
- 具有各种访问方法的自定义数据结构
- 另一个子模块错误的 omnet 访问方法 - 调用 'check_and_cast(cModule*&)' 没有匹配函数
- 使用矢量迭代器访问方法
- 从其他 C++ 文件访问方法
- C++箭头运算符重载.如何获取被访问方法的名称
- 访问方法C++时出现问题
- 易失性成员的访问方法
- 在实例化之前访问方法
- 是否不希望将指针存储在具有不同访问方法的多个容器中?
- 在c++中查看类中基于参数的私有变量的访问方法
- 在继承错误之后访问方法
- 最好的方法访问方法的派生类c++
- 是否存在具有多访问方法的可变模板变体
- 为指向类的指针数组制定访问方法时遇到问题
- 转发类,无法访问方法
- 我可以在 Python 中创建我的 C++ 对象,但无法访问方法