схватка с кракозябрами в PDF

Мак-сообщества в русском сегменте Livejournal.com продолжают радовать замечательными находками для рубрики DeepTip. На этот раз отличилась коммуна Ru_mac, в которой предложили действенный способ борьбы с нечитаемым текстом в PDF-файлах. Действенный способ называется GhostScript.

http://community.livejournal.com/ru_mac/16780946.html
Непременная ссылка на первоисточник.

Установить GhostScript можно двумя способами: либо напрямую из портов macports (кошерный вариант для тех, кого не смущает заклинание sudo port install ghostscript), либо в виде обычного pkg-файла, доступного по ссылке http://www.openprinting.org/download/printdriver/macosx/gplgs-8.71.dmg (33,5 Mb).


Способ номер два проще и привлекает наличием деинсталлятора.

По факту установки GhostScript воспользуемся командной строкой — привести проблемный PDF в удобочитаемый вид можно при помощи упоительно длинной команды

gs -sDEVICE=pdfwrite -o good_one.pdf bad_one.pdf

— где bad_one.pdf — полный путь к исходному файлу, а good_one.pdf — каталог и название для исправленного варианта, который будет прекрасно отображается в Preview:


До и после. Это победа!

Послесловие DeepApple: поскольку манипуляции с командной строкой всяко сложнее и хлопотнее старого доброго drag and drop, объединенными усилиями «дорогой редакции» сочинился скрипт для дроплета, превращающего постскриптовую дрянь в нормальный текст. Запустите /Utilities./AppleScript Editor, вставьте в окно нового проекта исходный код...

on open theDropped
	repeat with oneDrop in theDropped
		set iFile to name of (info for oneDrop)
		set iPath to quoted form of POSIX path of oneDrop
		tell application "Finder" to set iFolder to POSIX path of (container of oneDrop as alias)
		do shell script "/usr/local/bin/gs -sDEVICE=pdfwrite -o '" & iFolder & "Исправленный " & iFile & "' " & iPath
	end repeat
	return
end open

... и сохраните его в виде приложения. Теперь достаточно перетянуть проблемный PDF на значок дроплета, и по соседству появится вменяемая версия с префиксом «Исправленный» в названии.

Источник: Russian Apple Community

Обсуждение

27.01.2011, 15:48
А можно выложить пример проблемного PDF. Никогда просто с таким не сталкивался, хотя файлов PDF проходит много.
27.01.2011, 15:58
http://www.mediafire.com/download.php?e9zsl6766t5glyo — расскажете потом о впечатлениях.
27.01.2011, 16:06
abessemer, спасибо. Приду домой - проверю. Сейчас на работе, на винде. И на винде проблем с ним нет.
27.01.2011, 16:48
Действительно, в просмотре крокозябры - отвалились фонты. Но акробат нормально показывает.
27.01.2011, 17:05
У меня скрипт не заработал по началу. Подредактировал третью строку на

set iFile to name of (info for oneDrop)

(убрал alias) тогда заработал.
28.01.2011, 06:44
http://www.mediafire.com/download.php?e9zsl6766t5glyo — расскажете потом о впечатлениях.
рассказываю:
Мак ОС Х 10.4.11
Акробат 9.3.4 — нормально читается
Превью 3.0.9 (409) — нормально читается

Вывод о консерватории напрашивается сам собой.
23.05.2011, 13:43
не помогло.
но дело скорее всего не в реализации pdf на маке а в способе формирования документа у желтополосатых товарищей.
Оставить сообщение
Обсуждение на форуме целиком