我目前正在C编程中诅咒,对于我们的最终项目,我们需要将一些文本从pdf读入字符串,因此我们可以操纵字符串。如何使用ghostscript将pdf文件中的行读取到c程序中?
实质上,我正在寻找的东西与此类似,只能使用.pdf而不是.txt文件。
char *line;
fscanf(myfile.txt," %[^\n]", line);
我有ghostscript的没有经验,所以我不知道如果这甚至有可能,尽管我们在那里告诉我们应该用ghostscript的。
我目前正在C编程中诅咒,对于我们的最终项目,我们需要将一些文本从pdf读入字符串,因此我们可以操纵字符串。如何使用ghostscript将pdf文件中的行读取到c程序中?
实质上,我正在寻找的东西与此类似,只能使用.pdf而不是.txt文件。
char *line;
fscanf(myfile.txt," %[^\n]", line);
我有ghostscript的没有经验,所以我不知道如果这甚至有可能,尽管我们在那里告诉我们应该用ghostscript的。
当前版本的Ghostscript包含'txtwrite'设备,它将从任何支持的输入(PostScript,PDF,XPS,PCL)中提取文本,并将以各种形式发出。
UTF-8输出可能对您最有用。
警告!很多在PDF文件中看起来像文本的东西都不是文本,也没有尝试去处理这些东西。
ps2ascii随txtwrite设备的发布而被弃用,但在任何情况下,其完美的能力(尽管名称)处理PDF作为输入。
我想不出为什么有人为您分配了这个项目,PDF文件不文本文件,并不能作这样的处理。除了PDF文件通常是压缩的这一事实之外,识别内容流和其依赖的所有其他流(其本身可能包括文本)是非平凡的。此外,文本经常以难以理解的方式进行编码(对于CIDFonts和TrueType字体尤其如此)。
也许您的导师希望您首先成为PDF格式的专家,但对于C课程而言,这似乎过分了。
是的,我们遇到了问题,所以我们决定只是去与纯净的.txt文件和工作,但无论如何。 –
您可以使用pdf2ps
将您的PDF转换为Postscript,然后使用ps2ascii
转换为ASCII。你已经知道如何读取ASCII码。
这两个提到的工具都在ghostscript包中。
可能的重复[阅读PDF与C](http://stackoverflow.com/questions/772919/read-pdf-with-c) – tzot