Ребята, очень НУЖЕН совет по автоматизации действий

  • Автор темы Автор темы berTalino
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

berTalino

Участник
Топикстартер
Сообщения
110
Реакции
1
Важный вопрос - Возможно ли как-то автоматизировать процесс раздвижения строк, если это не текст, а КРИВЫЕ(текст) или какие-либо объекты ?

Вот к примеру, мне необходимо увеличить межстрочные интервалы:
"file.png" - исходник.
"file2.png" - итог после раздвижения объектов

Сами строки приходится раздвигать руками построчно, что требует время, т.к. это не текст и интерлиньяжем просто так не поуправляешь, это - кривые или прочие объекты.

Возможно ли как-то автоматизировать подобные процессы ? Спасибо за любой ответ!
 

Вложения

  • file.png
    file.png
    963.3 КБ · Просм.: 926
  • file2.png
    file2.png
    970.9 КБ · Просм.: 759
Все можно автоматизировать, но если это скурвленый текст, то задача ЧЕРТОВСКИ сложная '))'
 
Все можно автоматизировать, но если это скурвленый текст, то задача ЧЕРТОВСКИ сложная '))'
В этом то и проблема ) Можно и макросами и программированием и чем угодно .. но распознать в кривых текста, к примеру - эт на грани фантастики, а хочется...
 
Простое форматирование же…
Распознать и раздвинуть.
 
  • Спасибо
Реакции: Валера1966
Если весь текст в кривых то лучше скормить finereader'у. Сделать pdf, распознать в ридере, да обратно в корел. Мне кажется что это один из быстрых способов.
 
Ну, для начала раскомбинировать все объекты, потом распознать строки, потом в строках отдельные символы. Кто ищет - обрящет
 
При таком интерлиньяже неизбежно будут ошибки распознавания, и т. к. много чего непонятного, то простой проверкой ошибок не обойдёшься, так что вычитывать, а это тоже не гарантирует от ошибок…
Если это одна страница, то (сколько там строк 30-40) проще уж выделять и сдвигать, выделять и сдвигать…
Работы на 5 минут, но что-то подсказывает, что это не одна страница ;)
 
Очень может быть, но ведь "текст" векторный. Покрасить его в глубокий черный и Finereader, по идее, должен нормально распознать. Попробовать-то стОит.
 
Картинка, конечно не очень, но вполне достойная, смею заверить что на большем размере будет примерно также…
Наиболее полезными для нас будут: url — адрес после всех редиректов;

content type — "тип" контента (например, "text/html; charset=utf-8");

http_cocfe — код ответа (если все прошло благополучно — 200. О кодах я уже писала на

этом блоге раньше, в статье о НТТР-протоколе).

Дополнительными возвращаемыми параметрами приведенной выше функции будут:

еггпо — код ошибки CURL (если без ошибок — вернется 0);

errmsg — сообщение об ошибке (определяется по коду ошибки еггпо);

content — содержимое страницы (HTML-код, картинка, т.д.).

Когда все прошло удачно, еггпо = 0, http_code = 200 и в переменной content находится содержимое страницы.

Если возникает ошибка, связанная с неверным адресом, неизвестным хостом, истачением таймаутов или с множественными редиректами, то в переменной еггпо будет возвращен отличный от нуля код ошибки, a errmsg будет содержать пояснение к этой ошибке.

Если возникает ошибка, связанная с отсутствием страницы (404) или с недостаточными правами, еггпо = 0, http_code — статус-код, отличный от 200, а в переменной content будет страница сайта, сообщающая об ошибке.

Как видите, функция get_web_page() расширена. Она не просто позволяет получить контент, но еще и выявить наличие ошибок при его получении. Если вам надо просто получить контент — можно переделать ее под себя. Как правило, каждый разработчик со временем выделяет себе нужные функции в библиотечку (если поискать в сети — можно найти различные варианты классов для работы с CURL, выложенные разными разработчиками. Тут уж дело вкуса — берете чужое (и при необходимости дорабатываете) или делаете свое). - See more at: nttp://parsing-ana-i.blogspot.ru/2009/09/curl-first- steps.html#sthasn.UoZu7Ynk.dpuf

Если возникает ошибка, связанная с отсутствием страницы (404) или с недостаточными правами, еггпо = 0, http_code — статус-код, отличный от 200, а в переменной content будет страница сайта, сообщающая об ошибке. . . . .. -

к Как видите, функция get_web_page() расширена. Она не просто позволяет получить контент, но еще и выявить наличие ошибок при его получении. Если вам надо просто получить контент — можно переделать ее под себя. Как правило, каждый разработчик со временем выделяет себе нужные функции в библиотечку (если поискать в сети — можно наити различные варианты классов для работы с CURL, выложенные разными разработчиками. Тут уж дело вкуса — берете чужое (и при необходимости дорабатываете) или делаете свое). - See more at: http://parsing-and-i.blogspot.ru/2009/09/curl-first- steps.html#sthash.UoZu7Ynk.dpuf



$options = array(

CURLOPT RETURNTRANSFER => true, CURLOPTHEADER => false, CURLOPTFOLLOWLOCATION => true, CURLOPTENCODING =>

CURLOPTUSERAGENT => $uagent, CURLOPTAUTOREFERER => true, CURLOPT CONNECTTIMEOUT => 120, CURLOPTTIMEOUT => 120, CURLOPTMAXREDIRS => 10,

); - See more at: http://parsing-and- i. blogspot.ru/2009/09/curl-first- steps.html#sthash.UoZu7Yhk.dpuf
 
Ребят,
Простое форматирование же…
Распознать и раздвинуть.
Так до да, но в примере я накидал очень простой вариант. К сожалению, могут быть гораздо сложнее где куча абзацев и слов разбросанных по листу ((.
Сам то я понимаю, что придется с бубном еще как плясать - у меня 100 подобных листов PDF > распознаю(на факт, что нормально) > раздвигаю получившиеся абзацы по строчкам ...
 
Картинка, конечно не очень, но вполне достойная, смею заверить что на большем размере будет примерно также…
Наиболее полезными для нас будут: url — адрес после всех редиректов;

content type — "тип" контента (например, "text/html; charset=utf-8");

http_cocfe — код ответа (если все прошло благополучно — 200. О кодах я уже писала на

этом блоге раньше, в статье о НТТР-протоколе).

Дополнительными возвращаемыми параметрами приведенной выше функции будут:

еггпо — код ошибки CURL (если без ошибок — вернется 0);

errmsg — сообщение об ошибке (определяется по коду ошибки еггпо);

content — содержимое страницы (HTML-код, картинка, т.д.).

Когда все прошло удачно, еггпо = 0, http_code = 200 и в переменной content находится содержимое страницы.

Если возникает ошибка, связанная с неверным адресом, неизвестным хостом, истачением таймаутов или с множественными редиректами, то в переменной еггпо будет возвращен отличный от нуля код ошибки, a errmsg будет содержать пояснение к этой ошибке.

Если возникает ошибка, связанная с отсутствием страницы (404) или с недостаточными правами, еггпо = 0, http_code — статус-код, отличный от 200, а в переменной content будет страница сайта, сообщающая об ошибке.

Как видите, функция get_web_page() расширена. Она не просто позволяет получить контент, но еще и выявить наличие ошибок при его получении. Если вам надо просто получить контент — можно переделать ее под себя. Как правило, каждый разработчик со временем выделяет себе нужные функции в библиотечку (если поискать в сети — можно найти различные варианты классов для работы с CURL, выложенные разными разработчиками. Тут уж дело вкуса — берете чужое (и при необходимости дорабатываете) или делаете свое). - See more at: nttp://parsing-ana-i.blogspot.ru/2009/09/curl-first- steps.html#sthasn.UoZu7Ynk.dpuf

Если возникает ошибка, связанная с отсутствием страницы (404) или с недостаточными правами, еггпо = 0, http_code — статус-код, отличный от 200, а в переменной content будет страница сайта, сообщающая об ошибке. . . . .. -

к Как видите, функция get_web_page() расширена. Она не просто позволяет получить контент, но еще и выявить наличие ошибок при его получении. Если вам надо просто получить контент — можно переделать ее под себя. Как правило, каждый разработчик со временем выделяет себе нужные функции в библиотечку (если поискать в сети — можно наити различные варианты классов для работы с CURL, выложенные разными разработчиками. Тут уж дело вкуса — берете чужое (и при необходимости дорабатываете) или делаете свое). - See more at: http://parsing-and-i.blogspot.ru/2009/09/curl-first- steps.html#sthash.UoZu7Ynk.dpuf



$options = array(

CURLOPT RETURNTRANSFER => true, CURLOPTHEADER => false, CURLOPTFOLLOWLOCATION => true, CURLOPTENCODING =>

CURLOPTUSERAGENT => $uagent, CURLOPTAUTOREFERER => true, CURLOPT CONNECTTIMEOUT => 120, CURLOPTTIMEOUT => 120, CURLOPTMAXREDIRS => 10,

); - See more at: http://parsing-and- i. blogspot.ru/2009/09/curl-first- steps.html#sthash.UoZu7Yhk.dpuf
Зачем вы просто распознали мне мои строки ? )
 
раздвигаю получившиеся абзацы по строчкам ...
Строки из кучи раскомбинированных текстовых объектов распознать алгоритмически достаточно просто. Они идут через определенное расстояние и между ними пустое место. Распознать, выделить все объекты, скомбинировать построчно и тогда уже раздвигать.
 
Ещё придется всякие "http_cocfe", "еггпо" потом отлавливать, зато и "истачением" можно поправить
 
А что нельзя было ;).
Чтобы показать @idreamer, что распознавать такой текст сложно, и придёться вычитывать, не говоря о собственно вёрстке…
Просто это не совсем относится к сабжу... распознавать я умею, работать с текстами умею .. верстать умею ... но задался вопросом об возможности автоматизации действий...
 
А текст весь из одного источника? Можно ведь и поисковиком оригинал найти (например - CURL. First steps — Парсинг от А до Я)
Не. Это примерный текст - взял тупо из инета. У меня материал другой .. пока не могу раскрывать ) вдруг этот материал принесет мне миллиарды ))))) если как-то поможете приспособить решение задачи - поделюсь ))) если заработаю миллиады )
 
Статус
Закрыто для дальнейших ответов.