我目前正在诅咒C编程,对于我们的最终项目,我们需要从pdf中读取一些文本到字符串中,这样我们就可以操作字符串了。
本质上我正在寻找的东西与此类似,只有.pdf而不是.txt文件。
char *line;
fscanf(myfile.txt," %[^\n]", line);
我没有使用ghostscript的经验,所以我不知道这是否可能,尽管我们告诉我们应该使用ghostscript。
答案 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包中。