有没有办法使用 libpoppler 分别访问页眉、页脚和页面内容?
我正在使用 libpoppler 将 PDF 文件解析为纯文本,并且我想分别输出页眉、页脚和内容,我该怎么做? 是否有任何结构或类保存它们?
提前致谢!!
I am using libpoppler to parse PDF file to plain text,and I want to output page header,page footer and content separately,how can I do this??
Is there any structure or class that hold them?
Thanks in advance!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
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)
You can get text in a page with
poppler_page_get_text()
. Can you parse pure text afterwards? Here is a sample code. It's not a C++ but hope you can see the idea.Tested on a Debian Unstable 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)
免责声明:这可能不是一个好的答案,
上次我检查 libpoppler 只是一个很好的渲染器,可以将 pdf 页面视为一系列矢量绘图操作。从这个意义上说,它应该有可能拦截文本绘制操作,从而以某种方式报告文本。但我认为从向量的角度来看,页面页眉/页脚中的文本没有什么特别的。另外,我见过很多非常昂贵的 pdf 到文本转换器程序在这方面惨遭失败。
Disclaimer: This might not be a good answer
Last time I checked libpoppler was just a good renderer that could see a pdf page as a sequence of vector drawing operations. In that sense, it should be possible for it to intercept text-drawing operations, and thus report the text somehow. But I don't think that text in the header/footer of a page be anything special from the vector point of view. Plus, I have seen a loot of very expensive pdf-to-text converter programs to fail miserably at that.
并不真地。 PDF 没有页眉、页脚和正文的概念(除非您创建带标签的 PDF)。
Not really. PDF has no concept of header, footer and body (unless you create tagged PDF).