安装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

即可解析文件

文件解析库doctotext安装和使用的更多相关文章

  1. 文件解析库doctotext源码分析

    doctotext中没有make install选项,make后生成可执行文件 在buile目录下面有.so动态库和头文件,需要的可以从这里面拷贝 build/doctotext就是可执行程序.   ...

  2. Beautiful Soup解析库的安装和使用

    Beautiful Soup是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据.它拥有强大的API和多样的解析方式.官方文档:https://www.crummy.co ...

  3. lxml解析库的安装和使用

    一.lxml的安装lxml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高.本节中,我们了解一下lxml的安装方式,这主要从Windows.Linux ...

  4. Pyquery解析库的安装和使用

    Pyquery同样是一个强大的网页解析工具,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便.GitHub:https://github.com/gawel/pyqu ...

  5. ubuntu下的python网页解析库的安装——lxml, Beautiful Soup, pyquery, tesserocr

    lxml 的安装(xpath) pip3 install lxml 可能会缺少以下依赖: sudo apt-get install -y python3-dev build-e ssential li ...

  6. Python3 网络爬虫(请求库的安装)

    Python3 网络爬虫(请求库的安装) 爬虫可以简单分为几步:抓取页面,分析页面和存储数据 在页面爬取的过程中我们需要模拟浏览器向服务器发送请求,所以需要用到一些python库来实现HTTP的请求操 ...

  7. Python爬虫【解析库之pyquery】

    该库跟jQuery的使用方法基本一样  http://pyquery.readthedocs.io/ 官方文档 解析库的安装 pip3 install pyquery 初始化 1.字符串初始化 htm ...

  8. python3解析库pyquery

    pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语 ...

  9. golang常用库:配置文件解析库-viper使用

    一.viper简介 viper 配置解析库,是由大神 Steve Francia 开发,他在google领导着 golang 的产品开发,他也是 gohugo.io 的创始人之一,命令行解析库 cob ...

随机推荐

  1. boost::noncopyable

    /** * boost::noncopyable 实现单例不用麻烦了,直接从这个继承就行了 */ #include <boost/noncopyable.hpp> class myclas ...

  2. 【BZOJ2476】战场的数目 矩阵乘法

    [BZOJ2476]战场的数目 Description Input 输入文件最多包含25组测试数据,每个数据仅包含一行,有一个整数p(1<=p<=109),表示战场的图形周长.p=0表示输 ...

  3. jquery Jsonp的使用

    <script type="text/javascript"> $(function(){ $.ajax({ url:"test", jsonpCa ...

  4. The connection between feature spaces and smoothness is not obvious, and is one of the things we’ll discuss in the course.

    http://www.gatsby.ucl.ac.uk/~gretton/coursefiles/lecture4_introToRKHS.pdf

  5. 如何使用doctrine:migrations:migrate

    doctrine:migrations:migrate: 可以生成数据库表 当新建完实体之后需要执行 doctrine:migrations:diff 更新差异到db 然后就ok了,这时候你的app/ ...

  6. java基础语言 运算符

    /* ++,--运算符的使用: 单独使用: 放在操作数的前面和后面效果一样.(这种用法是我们比较常见的) 参与运算使用: 放在操作数的前面,先自增或者自减,然后再参与运算. 放在操作数的后面,先参与运 ...

  7. Linux 下搭建 Sonatype Nexus Maven 私服

    一.为什么需要搭建mave私服 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的 ...

  8. redis安装包下载

    redis linux版安装包下载地址 http://download.redis.io/releases/

  9. 提高iOS开发效率的第三方框架等--不断更新中。。。

    1. Mantle Mantle 让我们能简化 Cocoa 和 Cocoa Touch 应用的 model 层.简单点说,程序中经常要进行网络请求,请求到得一般是 json 字符串,我们一般会建一个 ...

  10. DOM的构建与优化

    一.构建模块 HTML描述了一个页面的结构.浏览器会将它转换成一种他们能够理解的格式——文档对象模型(DOM),浏览器引擎有一段特殊的代码叫做解析器,将数据从一种格式转换成另外一种格式. 一个HTML ...