Pull to refresh
171
0
Алексей Рембиш @Rembish

Python

Send message

Текст любой ценой: Miette

Reading time 3 min
Views 2.7K
Да, вы не ошиблись, и это не дежавю. Вы наверняка когда-то (если завсегдатай) видели этот топик. С тех пор прошло много времени, а мне продолжают ходить письма с вопросами и просьбами о совете на тему чтения текстовой информации из бинарных форматов данных. А это значит, что тема до сих пор актуальна, интересна для программирующей общественности.

За этот год (а ведь и вправду прошло больше года) я поменял место работы и занимаюсь совершенно другими вещами и давно уже не программирую (много не программирую, если быть точным) на PHP. Новый проект обязал меня совершенствоваться в python'е (и ощутить его силу), поэтому однажды воскресным вечером было решено переписать и, главное, улучшить некоторые из своих библиотек для чтения текста. Сегодня я представлю на суд публики молодой opensource-проект Miette («вкусняшка», если переводить с французского), который призван (в каком-никаком будущем) читать файлы пакета Microsoft Office.

Основной задачей Мьетт будет в первую очередь чтение чистого текста из офисных форматов, но в этот раз мне хотелось бы пойти дальше и сотворить невозможное: заставить парсер читать форматирование (хотя бы минимальное). Задача сложная, но вполне посильная, если будет время по вечерам и интерес (а возможно посильная помощь в виде тестирование и совместной разработки) со стороны страждущего народонаселения. Но это всего лишь планы и, так сказать, хобби.

Естественно python во многом отличается от PHP и, на мой взгляд, имеет несколько больший функционал, поэтому и принцип построения библиотек в проекте несколько другой, нежели старая «поделка» на PHP. В данном случае было решено запретить себе, как разработчику и заказчику в одном лице, загружать какие-либо большие блоки в память. Мьетт читает данные постепенно, по требованию, как это делает сам Word. Это делает его легковесным и нетребовательным к оперативной памяти. В будущем, я постараюсь пройти исходные profiler'ем и найти узкие горлышка, которые стоит оптимизировать дальше.

Идём дальше?
Читать дальше →
Total votes 37: ↑36 and ↓1 +35
Comments 17

Текст любой ценой: PPT. Дубль второй

Reading time 1 min
Views 1.4K
Недавно я анонсировал свой вариант чтения презентаций PowerPoint с помощью чистого PHP. Тогда я с сожалением отметил, что класс сырой и нуждается в доработке. Долго ли, коротко ли, но ошибки были найдены — теперь файлы читаются заметно лучше, без всякой грязи. Надеюсь, вам пригодятся мои наработки.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Comments 13

Текст любой ценой: PPT

Reading time 3 min
Views 5K
Некоторое время назад мы с вами обсуждали получение чистого текста из различных форматов данных: будь то PDF или DOC. В одном из обсуждений был высказано предположение, что при парсинге презентаций PowerPoint я заработаю геморрой или другую страшную болезнь мягкой точки. Что ж, волей судеб мне пришлось доставать текст и из этого «сладенького» формата. Скажу честно, геморрой заработать не удалось, а вот класс для парсинга презентаций вышел.
Читать дальше →
Total votes 54: ↑46 and ↓8 +38
Comments 25

Windows Seven и много раскладок

Reading time 3 min
Views 15K
Prince Lorien: I curious, you guys were typing in russian.
    How do you switch between english and russian letters like that?
Shoushpancheeck: We have two keyboards.
Prince Lorien: Oh cool, that simple. Eh!


Старая шутка с небезызвестного ресурса с постаревшими женщинами и кончившимися колодами сегодня послужит эпиграфом к старой, избитой проблеме Windows: «что делать, если на компьютере много раскладок?» Эта проблема наиболее актуальна у тех, кто живёт за рубежом или постоянно активно пользуется хотя бы тремя различными языками ввода. Под катом попробуем разобраться в чём суть проблемы и как жить дальше…
Читать дальше →
Total votes 53: ↑35 and ↓18 +17
Comments 91

Пользователи и сжатие данных

Reading time 4 min
Views 17K
Я не хочу разжигать очередную священную войну, но комментарии на мой последний пост о «сжатии» в RAR навеяли на некоторое количество мыслей и рассуждений, которые я хочу донести до сообщества. Но перед этим хочу отметить, что я работаю под Windows'ем, поэтому всё ниже изложенное будет касаться именно его. Плюс к прочему попрошу отнестись к топику, как к информации к размышлению, а не как к красной тряпке для быка. Итак, давайте поговорим о форматах сжатия данных с пользовательской точки зрения.
Читать дальше →
Total votes 64: ↑39 and ↓25 +14
Comments 110

RAR: создание store-архива

Reading time 2 min
Views 6.1K
На днях я рассказывал, как получить список файлов, что содержит rar-архив без использования сторонних расширений или библиотек. В одном из комментариев промелькнула мысль, что в принципе, не смотря на закрытость алгоритма RAR, можно вручную создать архив без сжатия. Посидев один вечер над кодом, я представляю вашему вниманию класс для создания stored-RAR архивов.
Читать дальше →
Total votes 46: ↑41 and ↓5 +36
Comments 44

RAR: получение списка файлов без PECL

Reading time 9 min
Views 8.4K
Не так давно я писал о получении текста из всевозможных файловых форматов, будь то DOC или PDF. Сегодня мы рассмотрим не менее интересный формат — формат сжатия RAR. Не буду обнадёживать страждущих — сегодня мы только прочитаем список файлов без каких-либо дополнительных расширений PHP. Итак, кому интересно, прошу под кат…
Читать дальше →
Total votes 46: ↑37 and ↓9 +28
Comments 31

Текст любой ценой: WCBFF и DOC

Reading time 9 min
Views 28K
Несколько позже, чем хотелось, но продолжаем наш разговор о получении текста из разных форматов данных. Мы с вами уже познакомились с тем, как работать с изначально XML-base файлами (docx и odt), прочитали текст из pdf, преобразовали содержимое rtf в plain-text. Теперь перейдём в вкусненькому да сладенькому — формату DOC.
Читать дальше →
Total votes 72: ↑67 and ↓5 +62
Comments 25

Текст любой ценой: RTF

Reading time 14 min
Views 85K
Что ж продолжим наши изыскания на предмет получения текста из различных форматов данных. Не так давно мы с вами научились вытаскивать текст из zipped-xml-based файлов (odt и docx), а также, в начале этой недели, из pdf. Сегодня мы продолжим с обещанным rtf.

Rich Text Format (он же rtf), вы могли бы подумать, достаточно забытый, хотя и не очень сложный формат представления текстовых данных. Что ж, относительно несложный для получения текста, но за свою историю: от своей первой версии до текущей 1.9.1 — он приобрёл под 300 страниц официально документации и огромное количество надстроек, которые в большей степени нам будут мешать при получении plain text'а. Попробуем их обойти…
Читать дальше →
Total votes 67: ↑60 and ↓7 +53
Comments 49

Текст любой ценой: PDF

Reading time 12 min
Views 88K
Продолжаем разбирать текстовые форматы на предмет получения текста. Итак, обещанный ранее PDF.

С portable document format'ом не всё так просто, как DOCX или ODT, что мы рассматривали в прошлый раз, но всё же это всё ещё изначально текстовый, а не бинарный формат. Вы удивлены? Тогда давайте посмотрим на то, что там внутри. Дальше действительно много текста.

Читать дальше →
Total votes 77: ↑75 and ↓2 +73
Comments 20

Текст любой ценой: DOCX и ODT

Reading time 4 min
Views 62K
Недавно возникла задача получения чистого текста из различных форматов документооборота — будь-то документы Microsoft Word или PDF. Задача была выполнена даже с чуть более широким списком возможных входных данных. Итак, этой статьёй я открываю список публикаций о чтении текста из следующих типов файлов: DOC, DOCX, RTF, ODT и PDF — с помощью PHP без использования сторонних утилит.

Читать дальше →
Total votes 113: ↑98 and ↓15 +83
Comments 60

Не забывайте про ReadyBoost-флешки

Reading time 2 min
Views 6.8K
История произошла не со мной, но при мне — в буквальном смысле, в соседней комнате. Публикуется с позволения виновника/главного участника/а также главного пострадавшего.

Ситуация проста до не хочу. Скачанный с ThePirateBay'я plug-in для Photoshop'а. Далее по цепочке — инъекция даже не при запуске, а просто при отображении exe-файла установщика в Проводнике Windows Seven. AVG Internet Security смог только лишь промямлить: «Сударь, в системном процессе троян!» Точнее, два трояна: Win32/Virut и Win32/Heur. Сработали они оба на славу: инфицированы все exe-шники в Windows, Program Files. В том числе, taskmgr.exe и explorer.exe. При следующем запуске, система отказывается стартовать explorer, как результат — отсутствующий рабочий стол.

Читать дальше →
Total votes 89: ↑65 and ↓24 +41
Comments 143

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity