|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Ivan Gurin 2:5004/75.180 23 Aug 2007 12:45:54 To : All Subject : PostScript -> Plain text --------------------------------------------------------------------------------
Hедавно заметил, что утилитки типа pstotext неспособны извлечь текст из
некоторых постскрипт-документов. Hа данный момент пришел к выводу, что проблема
то ли в документах со встроенными (embedded) шрифтами вообще, то ли со
встроенными шрифтами Type 42.
Hапример, в "нормальном" постскрипте вывод слова может выглядеть как
2458 883 M (Windows)[95 28 50 50 50 72 0]xS
, в то время как в проблемном - что-то типа
256 array 0 1 255 {1 index exch /.notdef put} for /TTE260DC40t00
Type42DictBegin
[<00010000000a000a000a000a63767420f32cda81000000ac000007c66670
676dc3a61d010000087400000631676c796660978a9e0000528c000485d6
...
00017375007373004569440073730173742b2b2b2b2b732b00732b752b2b
732b2b2b2b2b2b2b2b2b2b0000>
[15785 11565 15133 15893 15661 16181 16337 16077 15205 16177 15877 16065 15621
15813 16129 13457 16337 16293 16819 ] AllocGlyphStorage
]def
108 44
PrepFor2015
AddFontInfoBegin
AddFontInfo
/OrigFontType /TrueType def
/OrigFontName <54696D6573204E657720526F6D616E> def
/OrigFontStyle () def
/FSType 0 def
AddFontInfoEnd
[16#2c 16#f05be201 ] AddXUID
Type42DictEnd
...
/TTE260DC40t00 findfont /CharStrings get begin
/afii10081 617 def
/afii10069 606 def
/afii10078 614 def
end
/TTE260DC40t00 findfont /Encoding get
dup 12 /afii10081 put
dup 13 /afii10069 put
dup 14 /afii10078 put
pop
F0S64YFFFFFF9C Ji
1565 883 M <0C040D020B020A070E06>[54 50 51 44 54 44 44 44 63 0]xS
(загрузку первых одиннадцати символов я опустил).
Так вот, не подскажите ли способ извлечения текста из такого постскрипта?
Чисто умозрительно могу предположить, что проблему можно решить путем
наворачивания ocr.ps, который прилинкован к pstotext и используется для
интерпретации исходного документа, но что-то нигде не нашел подобных попыток, а
самому пока что слабо...
--
Best regards,
Ivan Gurin
--- GoldED+/W32 1.1.4.7
* Origin: Hерушима та стена, в которой ты - кирпич (2:5004/75.180)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/394746cd3eca.html, оценка из 5, голосов 10
|