首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PoDoFo抛光字符& PdfContentsTokenizer错误

PoDoFo抛光字符& PdfContentsTokenizer错误
EN

Stack Overflow用户
提问于 2017-01-26 15:58:01
回答 1查看 290关注 0票数 0

1.

如何从文件中获取抛光字符?我能不能告诉你

代码语言:javascript
复制
PdfVariant::getString()

它会处理波兰文字吗?因为我得到的是\200而不是ł,有趣的是只有当ł作为第一个“非基本”字符出现时。因此,如果pdf文件以aaaałęąaaaa开头,则ł被编码为\200ę\201ą\202 ,而如果pdf文件以aaaaąęłaaaa开头,ł编码为\202ę类似\201ą类似\200如何在任何系统中获得这些字符?

2.

当我试图从pdf文件中提取文本时,我会这样做:

代码语言:javascript
复制
string input_name = "example.pdf";
PdfMemDocument pdf(input_name.c_str());
    for (int pn = 0; pn < pdf.GetPageCount(); ++pn) {
        PdfPage* page = pdf.GetPage(pn); 
        PdfContentsTokenizer tok(page);
        const char* token = nullptr;
        PdfVariant var;
        EPdfContentsType type;
        while (tok.ReadNext(type, token, var)) {
           //etc.

但是我对PdfContentsTokenizer tok(page);有问题,它不能正常工作。对于一些pdf文件,它运行平稳,而对于另一个文件,它在inffas32.asm文件中抛出inffas32.asm错误,669行:

代码语言:javascript
复制
L_get_length_code_mmx:
pand mm4,mm0
movd eax,mm4
movq mm4,mm3
mov  eax, [ebx+eax*4]//this is the error line

顺便说一下,我注意到不是每个pdf文件都是以相同的方式编码的。例如,使用podofobrowser,我无法从官方的podofo helloworld示例中看到Hello World!文本。对于其他pdf文件,podofobrowser以不同的方式显示文本,或者根本没有显示它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 11:44:53

ad1. 指向修补程序文件的链接,它允许使用TextExtractor。对pdf中的文本进行外部修饰。

在从pdf中提取非unicode文本时,这是最重要的一行:

代码语言:javascript
复制
PdfString unicode = pCurFont->GetEncoding()->ConvertToUnicode( rString, pCurFont );

ad2.问题在于构建错误的zlib库。我斥责它,重建了波多佛,问题就消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41877609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档