Как извлечь текст из файла PostScript, сгенерированного драйвером печати Win8

Я могу извлечь текст из файла PostScript, сгенерированного драйвером печати Win7, но не из Win8.

Например, создав некоторый текст в "Блокноте" Windows, сказав "Блокноту печатать" с помощью драйвера печати HP PostScript, и сказав драйверу печати о выводе в файл, я получаю файл, из которого затем хочу извлечь текст.

Я пробовал Ghostscript ps2ascii а также pstopdf | pdftotext и ряд других вещей на платформе Ubuntu, и хотя некоторые из них работают на выходе Win7, я не могу найти какую-либо комбинацию, которая работает на выходе Win8.

Есть ли для этого решение с открытым исходным кодом?

1 ответ

Вы не можете гарантировать получение текста из любой программы PostScript, она не предназначена для этого.

Однако устройство txtwrite от Ghostscript отлично справится с выводом из драйвера принтера Windows PostScript. Это намного лучше, чем ps2ascii, потому что (помимо прочего) он может обрабатывать Unicode, поэтому он не ограничивается ASCII.

Помните, что приложения могут сами генерировать PostScript, поэтому, даже если вывод выводится из драйвера принтера Windows PostScript, фактическое содержимое может быть сгенерировано приложением.

Кроме того, вы получите текст из драйвера принтера Windows PostScript только в том случае, если приложение фактически записывает текст в контекст устройства. Например, если вы распечатываете PDF-файл из браузера Edge, вы получите текст на выходе. Если вы печатаете тот же PDF-файл из Chrome в той же системе, текст вместо этого отображается как векторы (то есть линия, дуга, заливка и т. Д.), А не как текст.

Просто знайте, что то, что вы пытаетесь сделать, не будет на 100% успешным в общем случае.

Другие вопросы по тегам