2012-01-17 106 views
4

我只是下载poppler到Linux系统,我想将它合并到我的应用程序来解析pdf文件。
(我的目标是PDF文件转换为纯文本。)
我怎样才能做到这一点?如何从源代码构建libpoppler?

+1

那你试试?你下载了什么样的“poppler”?您是否阅读过发布和安装通知? – 2012-01-17 06:02:28

+0

其实我需要的是“pdftotext” – zxi 2012-01-17 06:07:16

+1

'容易缓存搜索pdftotext'建议对我的Debian系统上安装了'poppler的-utils'包。但是,你不*将它整合到你的应用程序中。恕我直言,*在你的软件中加入一个库意味着调用这个库,并与它联系起来。 – 2012-01-17 06:13:35

回答

1

Their website解释得很清楚:

poppler的可从饭桶。克隆库使用以下命令:

git clone git://git.freedesktop.org/git/poppler/poppler 

一旦你下载的源代码,请阅读INSTALL文件,它说:

  1. cd中包含的包的源目录代码并输入 ./configure为您的系统配置软件包。

  2. 输入`使”来编译软件包。

  3. 输入`make install”来安装程序和任何数据文件和 文档。

+0

他们的'INSTALL'文件是默认的自动生成指令,它实际上并不适用于poppler。他们的git树不包括autoconf输出(包括'configure'),只有autoconf/automake的输入,还有cmake。我仍然试图弄清楚哪个命令可以运行。通常的'./configure && make -j4 && sudo make install'可能适用于它们的tarball版本,但不适用于git。 – 2015-06-16 23:44:35

6

poppler的的git的树包括一个无用的INSTALL文档,只是告诉你运行./configure,但他们并不在Git中包括的automake/autoconf的自动生成的文件(包括配置)。 (也许他们包括他们在压缩包源的版本。)

我刚建的混帐源(在Ubuntu 15.04)poppler的,像这样:

git clone --depth 50 --no-single-branch git://git.freedesktop.org/git/poppler/poppler 
cmake -G 'Unix Makefiles' # other -G options are to generate project files for various IDEs 
# look at the output. If it didn't find some libraries, 
# install them with your package manager and re-run cmake 
make -j4 
# optionally: 
sudo make install 

看来他们保持了autoconf/automake的构建设置,所以你可以使用该或cmake创建一个Makefile

如果你只是想看看最新的git poppler是否比distro包更好,你不需要sudo make install,你可以运行utils/pdftotext或源码目录中的任何权限。它显然告知链接嵌入构建路径转换为二进制,作为一个库搜索路径,因此运行/usr/local/src/poppler/utils/pdftotext作品,发现/usr/local/src/poppler/libpoppler.so.52

如果最新的poppler的工作确实较发行版包装poppler的更好,你应该把它与sudo make install安装到/usr/local/bin。当您升级到发行版的下一个版本时,请检查您的/ usr/local。新的发行版本通常比从源代码创建时更新,所以您应该从/usr/local/{bin,share,lib,man,include}中删除您的版本。 (如果支持,则在源目录中为make uninstall)。

+1

谢谢。我意识到这是旧的,但接受的答案是不是真的有用,因为INSTALL信息是不正确的,cmake确实需要你写。仍然在依赖工作,但这让我走了;我是cmake新手,所以我需要一个推动。 – Linwood 2017-01-21 18:08:02