zoukankan      html  css  js  c++  java
  • 文件解析库doctotext安装和使用

    安装doctotext

    1 安装GCC到4.6以上
    tar jxf gcc-4.7.0.tar.bz2
    cd gcc-4.7.0

    编译
    ./contrib/download_prerequisites
    mkdir build
    cd build
    ../configure --disable-checking --disable-multilib --enable-languages=c,c++
    make
    make install

    卸载旧版本
    yum remove gcc
    yum remove gcc-c++
    updatedb

    链接到新版本
    [plain] view plaincopy
    cd /usr/bin
    ln -s /usr/local/gcc/bin/gcc gcc
    ln -s /usr/local/gcc/bin/g++ g++

    添加man帮助
    vi /etc/man.config
    添加gcc的man路径到配置文件中

    MANPATH /usr/local/gcc/share/man
    保存退出即可生效,可使用man gcc查看帮助

    gcc安装过程错误排查列表
    错误:
    gnu/stubs-32.h:No such file or directory

    解决方法:
    yum install glibc-devel.i686

    2 编译doctotext源码(只需要编译即可使用)
    tar jxf doctotext-4.0-20140202.tar.bz2
    cd doctotext
    make

    doctotext编译过程错误排查列表
    错误:
    ../3rdparty/mimetic/lib/libmimetic.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
    ../3rdparty/mimetic/lib/libmimetic.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
    解决方法:
    升级gcc到4.6以上

    使用

    编译完成后,在doc目录下面会说明实例的html页,下面例举里面的一个程序实例

    #include "metadata.h"
    #include "plain_text_extractor.h"

    #include <iostream>
    #include <string>

    using namespace doctotext;

    int main(int argc, char *argv[])
    {
    std::string file_name = "test.doc";
    PlainTextExtractor extractor;
    extractor.setVerboseLogging(true);
    Metadata meta;
    if (!extractor.extractMetadata(file_name, meta))
    return 1;
    std::cout << "Autor: " << meta.author() << std::endl;
    std::cout << "Last modified by: " << meta.lastModifiedBy() << std::endl;
    std::string text;
    if (!extractor.processFile(file_name, text))
    return 1;
    std::cout << text << std::endl;
    return 0;
    }

    编译测试源码

    将上面的代码存储为main.cpp,由于doctotext编译完成后的动态库在doctotext/build目录下,并没有安装在系统目录下面,所以main.cpp也需要放在

    doctotext/build目录下

    编译链接测试源码

    gcc main.cpp -L . -I. -ldoctotext

    源码中指定了解析的文件名称test.doc,拷贝一个名为test.doc的文件到doctotext/build目录下

    运行:

    ./a.out

    即可解析文件

  • 相关阅读:
    makefile编写---单个子目录编译自动变量模板ok
    任务22:课程介绍 & 任务23:Http请求的处理过程
    任务20:DI初始化的源码解读 & 任务21:依赖注入的使用
    任务19:单元测试
    任务18:控制反转
    任务17:从UML角度来理解依赖
    任务16:介绍-
    任务15:配置框架设计浅析
    任务14:配置的热更新
    任务13:在Core Mvc中使用Options
  • 原文地址:https://www.cnblogs.com/etangyushan/p/4259805.html
Copyright © 2011-2022 走看看