Как прочитать строки из PDF-файла в программу c, используя ghostscript? - PullRequest
0 голосов
/ 28 ноября 2011

В настоящее время я беру проклятие в программировании на С, и для нашего финального проекта нам нужно прочитать какой-то текст из pdf в строку, чтобы мы могли манипулировать строкой.

По сути, то, что я ищуfor это что-то похожее, только с .pdf вместо .txt файла.

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

У меня нет опыта работы с ghostscript, поэтому я понятия не имею, возможно ли это вообще, хотя мы и сказаличто мы должны использовать ghostscript.

Ответы [ 2 ]

3 голосов
/ 28 ноября 2011

Текущая версия Ghostscript включает в себя устройство 'txtwrite', которое извлекает текст из любого поддерживаемого ввода (PostScript, PDF, XPS, PCL) и выводит его в различных формах.

Выход UTF-8, вероятно, был бы наиболее полезным для вас.

Протест! Многие вещи, которые кажутся текстовыми в PDF-файлах, не являются текстовыми, и не предпринимается никаких попыток справиться с ними.

ps2ascii устарела с выпуском устройства txtwrite, но в любом случае оно вполне способно (несмотря на название) работать с PDF в качестве входных данных.

Я не могу понять, почему кто-то назначил вам этот проект, файлы PDF являются , а не текстовыми файлами, и не могут рассматриваться как таковые. В дополнение к тому факту, что файлы PDF обычно сжимаются, идентификация потока содержимого и всех других потоков, на которые он опирается (которые сами могут включать в себя текст), нетривиальна. Кроме того, текст часто кодируется способом, который может быть трудным для понимания (это особенно верно для шрифтов CIDFonts и TrueType).

Возможно, ваш преподаватель ожидал, что вы сначала станете экспертом в формате PDF, но это кажется чрезмерным для курса C.

0 голосов
/ 28 ноября 2011

Вы можете конвертировать PDF в Postscript, используя pdf2ps, а затем в ASCII, используя ps2ascii.Вы уже знаете, как читать ASCII.

Обе упомянутые утилиты находятся в пакете ghostscript.

...