如何使用ghostscript从pdf文件读取行到c程序?

时间:2011-11-28 10:43:23

标签: c string pdf ghostscript

我目前正在诅咒C编程,对于我们的最终项目,我们需要从pdf中读取一些文本到字符串中,这样我们就可以操作字符串了。

本质上我正在寻找的东西与此类似,只有.pdf而不是.txt文件。

  char *line;
  fscanf(myfile.txt," %[^\n]", line);

我没有使用ghostscript的经验,所以我不知道这是否可能,尽管我们告诉我们应该使用ghostscript。

2 个答案:

答案 0 :(得分:3)

当前版本的Ghostscript包含'txtwrite'设备,该设备将从任何支持的输入(PostScript,PDF,XPS,PCL)中提取文本,并以各种形式发出。

UTF-8输出可能对您最有用。

买者! PDF文件中似乎是文本的许多内容都不是文本,也没有尝试处理这些内容。

ps2ascii在txtwrite设备发布时已被弃用,但无论如何,它完全有能力(尽管名称)处理PDF作为输入。

我想不出为什么有人给你这个项目,PDF文件是不是文本文件,并且不能这样对待。除了PDF文件通常被压缩的事实之外,识别内容流和它依赖的所有其他流(它们本身可能包括文本)是非平凡的。此外,文本通常以难以理解的方式编码(对于CIDFonts和TrueType字体尤其如此)。

也许您的导师希望您首先成为PDF格式的专家,但对C课程而言似乎过分。

答案 1 :(得分:0)

您可以使用pdf2ps将PDF转换为Postscript,然后使用ps2ascii转换为ASCII。您已经知道如何读取ASCII。

提到的两个实用程序都在ghostscript包中。