Ghostscript для преобразования PDF в текст и сохранения формата таблицы файлов PDF
У меня есть этот код, который преобразует PDF в текстовый файл:
gswin32c -dBATCH -dNOPAUSE -dSAFER -dDELAYBIND -dWRITESYSTEMDICT
-dSIMPLE -sDEVICE=txtwrite -dTextFormat=2 -dFirstPage=1 -dLastPage=1
-sOutputFile=C:\out.txt C:\in.pdf
Работает почти нормально, единственное, что не сохраняет форматирование таблицы PDF.
Пример:
В файле PDF:
Type From Name Name2 Code Week
Regular 30/03/15 KNOWLES, BEN HOOT KNOWLES, ANGELA 367-739-746 80.00
Regular 30/03/15 RICHARDS, COLE ROBERT HARRIS, BRADIE 401-844-307 108.00
Regular 30/03/15 SKEELS, MATT BISHOP, JASON GREGSON 413-980-291 112.00
После преобразования его в текстовый файл текст переносится следующим образом:
Type From Name Name2 Code Week
Regular30/03/15KNOWLES, BENHOOT KNOWLES, ANGELA367-739-74680.00
Regular30/03/15RICHARDS, COLEROBERT HARRIS, BRADIE401-844-307108.00
Regular30/03/15SKEELS, MATTBISHOP, JASON GREGSON413-980-291112.00
Мне нужно, чтобы сохранить его форматирование. Есть идеи, как сохранить форматирование?
я использую Ghostscript gswin32c
на машине windows 7, версия 9.16.
Кроме того, я открыт для предложений для других способ архивации.
ура
2 ответа
pdftotext
отpoppler-utils
с-layout
вариант работает приемлемо хорошо для этого
В PDf нет "табличного формата", просто последовательность текста и позиций. Один из возможных форматов вывода для txtwrite пытается создать текстовый файл Unicode, в котором интервал воссоздается пробелами. Обратите внимание, что здесь предполагается использование шрифта с фиксированным шагом, поэтому он не будет работать хорошо, если вы его не используете.
Без просмотра входного файла PDF на самом деле невозможно догадаться, почему это не дает результата, как вы ожидаете.
Вы можете решить эту проблему самостоятельно. Во-первых, поскольку существуют другие потенциальные выходные форматы, одним из которых является XML-подобный формат, который генерирует текстовые последовательности и позиции, вы можете использовать его и воссоздать формат самостоятельно (или даже просто заархивировать его напрямую). Кроме того, поскольку Ghostscript имеет открытый исходный код, вы можете самостоятельно прочитать и отладить исходный код и выяснить, почему ваш файл PDF вызывает проблемы.