2011-11-28 19 views
0

我目前正在C编程中诅咒,对于我们的最终项目,我们需要将一些文本从pdf读入字符串,因此我们可以操纵字符串。如何使用ghostscript将pdf文件中的行读取到c程序中?

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

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

我有ghostscript的没有经验,所以我不知道如果这甚至有可能,尽管我们在那里告诉我们应该用ghostscript的。

+0

可能的重复[阅读PDF与C](http://stackoverflow.com/questions/772919/read-pdf-with-c) – tzot

回答

3

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

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

警告!很多在PDF文件中看起来像文本的东西都不是文本,也没有尝试去处理这些东西。

ps2ascii随txtwrite设备的发布而被弃用,但在任何情况下,其完美的能力(尽管名称)处理PDF作为输入。

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

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

+0

是的,我们遇到了问题,所以我们决定只是去与纯净的.txt文件和工作,但无论如何。 –

0

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

这两个提到的工具都在ghostscript包中。

相关问题