Открытие файлов в формате MDI

Формат MDI — бесплатная программа для просмотра MDI-файлов

Открытие файлов в формате MDI

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

Галерея скриншотов

Сколько бы мы ни кляли компанию MicroSoft, а без нее никак – даже сама Windows ее рук дело :). Но, кроме самой системы корпорация создала еще и множество приложений к ней, которые стали стандартами и эталонами в своей сфере.

Примером такого эталона можно считать, разросшийся на сегодняшний день до неимоверных размеров, пакет офисного ПО Microsoft Office. Обычно, говоря об Офисе, мы подразумеваем, прежде всего, самые популярные его компоненты: текстовый редактор Word, табличный процессор Excel и систему разработки презентаций Power Point. Однако эти программы – это только малая часть всей офисной «махины».

И сегодня я бы хотел поговорить об одном не самом популярном, но доставляющим немало мороки пользователям компоненте офисного пакета от MicroSoft – Microsoft Office Document Imaging.

Эта программа позволяет работать с отсканированными материалами в форматах TIFF и MDI.

И, если TIFF-сканы открыть можно при помощи сторонних просмотрщиков и конвертеров, то формат MDI является закрытым, поэтому стороннего софта для того, чтобы хотя бы открыть его существует очень мало.

MODI на халяву!

Стоит сразу сделать оговорку по поводу оригинального пакета Microsoft Office Document Imaging. С тех пор, как MicroSoft убрала его из оригинального Офиса (с версии 2010), он стал доступен в качестве компонента в бесплатном пакете для разработчиков SharePoint Designer 2007.

Поэтому, если Вас не пугает скачивание почти 300-мегабайтного инсталлятора из которого нам понадобиться установить только один небольшой компонент, то качайте SharePoint и при установке выбирайте значения «Недоступно» для всех компонентов, кроме MODI.

Есть ли альтернативы?

До недавнего времени существовала бесплатная версия популярного MDI-просмотрщика MDI2PDF Converter, который позволял открывать файлы и конвертировать их в более удобоваримый формат PDF. Но, все хорошее имеет свойство когда-нибудь заканчиваться, поэтому и данная программа полностью стала платной, оставив в бесплатной редакции только возможность просмотра.

Поэтому мы задались целью все-таки найти ее бесплатный аналог и после долгих поисков отыскали на просторах «буржуйнета» небольшое приложение под названием Free MDI Image Viewer.

Особенности программы

  • просмотр MDI-документов;
  • просмотр многостраничных TIFF (недокументированная функция);
  • конвертация MDI в графические форматы JPG, BMP, PNG, GIF и TIF;
  • сохранение OCR-слоя при конвертации в TIF.

Как видим, с доступными функциями негусто, но за неимением лучшего варианта, можно использовать и то, что есть под рукой.

Установка и подготовка программы к работе

Установка производится при помощи стандартного инсталлятора, с которым проблем возникнуть не должно. Менять при установке ничего не нужно, поэтому все наши действия сводятся к кликанию кнопки «Next». После завершения процесса инсталляции мы увидим основное окно Free MDI Image Viewer:

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

Если же хотите русифицировать Free MDI Image Viewer, тогда замените оригинальный файл «FreeMDIImageViewer.exe» в папке «Program Files» аналогичным файлом, который Вы найдете в скачанном с нашего сайта архиве. Помимо русификации меню Вы получите еще и возможность открывать файлы форматов TIF и TIFF (в том числе и многостраничные!).

Работа с русифицированной программой

К сожалению, Free MDI Image Viewer не поддерживает функцию Drag&Drop, поэтому открывать файлы для просмотра придется при помощи меню самой программы. Отрываем первое меню «Файл» и жмем кнопку «Открыть».

Появится окно выбора файлов с активным по умолчанию фильтром для MDI-файлов.

Однако, если Вы воспользовались нашим русификатором, то, кликнув по полю «Тип файлов», Вы сможете выбрать также фильтры для TIF и TIFF документов:

Не будем сильно мудрить и выберем то, ради чего мы устанавливали программу, то есть, MDI-файл. Выделяем нужный файл и жмем открыть. Будьте готовы к тому, что Free MDI Image Viewer может открывать Ваш MDI-документ довольно долго и даже иногда будет подвисать! Наберитесь терпения и подождите с минуту – файл должен открыться:

В режиме просмотра файла рабочее пространство программы делится на две панели:

  • слева панель эскизов, на которой отображаются миниатюры страниц документа;
  • справа панель просмотра выбранной миниатюры страницы.

При помощи контекстного меню или меню «Вид» мы можем управлять просмотром страниц (хотя проще делать это мышкой). Увы, здесь Вы не найдете функций вращения отсканированных изображений и их обрезки, но они не так часто и требуются. Также не помешала бы функция выделения и копирования слоя распознанного текста прямо из программы.

Глядя на панель эскизов, создается впечатление, что текст на миниатюре страниц все же выделяется, но, к сожалению, это не так. Возможно, в следующих релизах программы автор и реализует данную возможность, но пока придется довольствоваться малым…

Экспорт в графические форматы и извлечение содержимого

Итак, просмотр MDI и многостраничных TIFF-файлов – это уже само по себе хорошо, но мало :).

Желательно бы как-нибудь еще и конвертировать документ в более универсальную форму, а в идеале еще и извлечь из него текст и картинки.

Не без лишнего геморроя, но сделать это при помощи Free MDI Image Viewer возможно. Для этого первым делом нужно зайти в меню «Файл» и выбрать список «Сохранить как»:

Программа позволяет нам конвертировать MDI-документ в один из популярных графических форматов (JPG, BMP, PNG, GIF и TIF) на Ваш выбор. При этом есть пара особенностей:

  1. Для всех форматов (кроме TIF) сохранение ведется постранично. То есть, придется вручную выделять каждую страницу и сохранять ее под новым именем.
  2. Формат TIF по умолчанию сохраняется в многостраничном режиме. То есть, в один графический файл пакуются все страницы MDI-документа без необходимости сохранять их по отдельности. При этом, если открыть такое TIF-изображение обычным графическим просмотрщиком, то мы увидим только первую страницу. Для просмотра всех остальных потребуется либо продвинутый просмотрщик фотографий, либо специальная читалка, либо полноценный графический редактор.
  3. Приятная новость – при сохранении в TIF Free MDI Image Viewer иногда сохраняет и слой с распознанным текстом, если он существовал в оригинальном MDI-файле. Единственная неприятность, из-за сложных структур в этом слое программа иногда отказывается сохранять в TIF, выдавая ошибку :(. В таком случае нам придется пользоваться постраничным конвертированием в обычные графические файлы.

Теперь, когда наш MDI-файл сконвертирован, самое время задуматься, как из него можно вытащить содержимое. Самый простой и универсальный способ здесь, естественно, распознавание текста при помощи специальных программ.

Из бесплатных, увы, существует лишь одно единственное приложение CuneiForm, которое есть на нашем сайте. Вам потребуется открыть в ней все сохраненные изображения и распознать их, сохранив текстовые и графические данные в файл.

Несколько сложнее все обстоит с форматом TIF… Однажды Руслан Богданов мне говорил, что многостраничные TIF-файлы можно открывать в Фотошопе и копировать из них текст со слоя распознавания.

Однако, я специально попробовал повторить опыт и у меня ничего не получилось :(.

Более того, в Интернете я нашел множество страниц дебатов о такой возможности и почти все они сводились к тому, что подобная функция – миф…

Тем не менее, формат успешно открывается в графическом редакторе GIMP, правда скопировать из файла текст у меня так и не получилось :(.

Есть еще более сложный путь, который все же с большей долей вероятности, может привести Вас к успеху. Этот способ заключается в том, чтобы сконвертировать TIF-файл в формат PDF, а уже из него при помощи просмотрщика попытаться скопировать текст.

Превратить TIFF-документ в PDF можно, например, при помощи просмотрщика графических файлов FastStone Image Viewer, а попытаться скопировать текст проще всего программой Foxit Reader.

Достоинства и недостатки программы

Плюсы:

  • просмотр MDI-файлов;
  • возможность просмотра многостраничных TIFF-документов;
  • постраничный экспорт в графические форматы;
  • экспорт в многостраничный TIF с поддержкой слоя распознавания.

Минусы:

  • файлы открываются слишком долго;
  • нет возможности скопировать текст со слоя распознавания;
  • нет функции прямого экспорта в PDF;
  • не всегда корректный экспорт в TIF.

Выводы

В лице Free MDI Image Viewer мы имеем простую, но рабочую программу для просмотра MDI-документов. При отсутствии возможности установить «родной»  Microsoft Office Document Imaging это приложение, пожалуй, единственный возможный способ открыть сканы, в нем созданные. Да не просто открыть, а еще и сохранить в виде изображений, которые потом можно хоть распознать, хоть распечатать.

Огорчает только не всегда стабильная работа программы и отсутствие 64-битной ее версии (хотя, может быть, что она заработает и на 64-разрядных системах – пробуйте ;)). Успехов Вам и поменьше головной боли с разнообразными форматами :).

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

P.P.S. Для просмотра многочисленных офисных форматов и электронных книг хорошо иметь на ПК универсальную читалку, их поддерживающую. С высоты своего опыта в качестве такой читалки советую следующую программу:
//www.bestfree.ru/soft/office/read-pdf.php

Источник: //www.bestfree.ru/soft/office/mdi.php

Пишем программное обеспечение для генерации данных музыкальной открытки. Часть первая: разбираем MIDI файл

Открытие файлов в формате MDI

В своих статьях о переходе на российский микроконтроллер К1986ВЕ92QI я ни раз рассказывал о генерации звука средствами микроконтроллера. Тогда передо мной стояла задача лишь воспроизвести данные. Для создания этих самих данных, получаемых из MIDI файлов, использовались весьма экзотические методы, например, как в этой статье.

Да, подобные методы имеют право на жизнь, если требуется получить данные для воспроизведения пару раз в жизни. Но так как я достаточно часто сталкиваюсь с задачами, когда на контроллере нужно получить достаточно сложный звук, или же звук — лишь дополнительная опция, то задача преобразовывать MIDI файлы такими экзотическими способами, становится весьма нетривиальной.

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

Итогом данной статьи станет реализация основного функционала программы: создание массивов нота-длительность, созданного из MIDI файла. Кто заинтересовался — прошу под кат.

Структура статьи

  1. Выработка требований к программе.
  2. Определение способа реализации.
  3. Общие сведения о MIDI.
  4. Заголовок.
  5. Блок MIDI файла.
  6. События.
  7. Разбор полученных данных.
  8. Заключение.

Выработка требований к программе

Как уже говорилось выше, основной задачей нашей программы будет преобразование данных из MIDI формата в наш собственный. Иначе говоря, перед нами не стоит задачи учитывать силу нажатия клавиш, использование редких инструментов или же использования эффектов, предусмотренных стандартом MIDI.

Всю эту и подобную ей ненужную информацию мы должны игнорировать. По окончании работы программы, мы должны получить N-е число массивов, в каждом из которых в текущий момент времени будет играть лишь одна клавиша (это нужно для упрощения программы в микроконтроллере).

Иначе говоря, мы должны получить список массивов с полифонией в одну ноту.

Определение способа реализации

В одной из предыдущих статей мы уже писали программу, которая реализовала подобный функционал на основе уже переработанных другой программой данных в специфичном виде. Программа была написана на Pascal ABC, потому что на тот момент задача сводилась к обработке строк txt файла, не более.

Сейчас же мы пишем программу с нуля, предполагая работу с чистыми данными MIDI. Так же, в будущем планируем расширить ее до полноценного генератора данных инициализации. Так что в этот раз программа будет написана в графической среде Visual Studio на языке C#.

Много ресурсов компьютера нам не требуется, а красивый синтаксис и возможность легкого чтения программы, способствующее легкой поддержки — не помешают.

Общие сведения о MIDI

Многие знакомы с MIDI форматом, или, по крайне мере, о нем наслышаны. В этом формате удобно хранить, например, ноты музыкальных произведений, с возможностью прослушать их.

Именно для этой цели, чаще всего, MIDI и используется в современном мире. Но когда-то в него пытались запихать достаточно много всяких дополнительных функций.

Так из чего состоит MIDI файл?

Как видно из рисунка, MIDI файл состоит из:

  • Заголовка файла (он начинается с четырех символов, составляющих слово MThd).
  • Блоков файла (начинающихся с символов MTrk).

Для начала давайте рассмотрим заголовок MIDI файла (MThd).

Заголовок

Разберем, из чего состоит заголовок MIDI файла.

  • Стандартные значения. В заголовке присутствуют ячейки, значения которых одинаковы для всех MIDI файлов.
    1. Надпись заголовка «MThd». Данный параметр позволяет однозначно сказать, что перед нами блок заголовка.
    2. Размер индивидуальных параметров файла в блоке заголовка. Так как в заголовке всегда присутствуют 3 индивидуальных параметра, каждый из которых занимает по 2 байта — то общая длинна блока заголовка (без учета надписи «MThd» и четырех байт самого размера) составляет 6 байт.
  • Индивидуальные параметры.
    1. Формат MIDI файла. По сути говоря, форматов MIDI файла всего 2: 0 и 1. Имеется еще формат 2, но за всю свою девятилетнюю работу со звуком, в реальной жизни мне так и не довелось столкнуться с MIDI файлом в этом формате. Данный параметр показывает, как упакованы события (в нашем случае, нажатия/отпускание клавиш). Если перед нами формат 0, то мы знаем наверняка, что вся полезная информация обо всех каналах (коих может быть до 16) расположена в одном единственном блоке MTrk. Если же перед нами формат 1, то каждый канал имеет свой собственный блок MTrk. Наша программа будет иметь возможность работать с обоими форматами.
    2. Число блоков MIDI файла (MTrk). Тут мы можем посмотреть, сколько блоков содержится в нашем MIDI файле. Данный параметр актуален лишь для формата 1. Ибо в формате 0 блок всегда 1.
    3. Формат времени MIDI файла. А вот тут дела обстоят весьма интересно. Дело в том, что в MIDI файле счет идет не секундами, а «тиками». Причем существует музыкальный способ, когда значение нашего параметра показывает, сколько «тиков» приходится на музыкальную четверть и абсолютный, показывающий количество «тиков» в SMPTE блоке. Опять же. Чаще всего встречается первый способ. Второй, все таки, экзотика. Поэтому мы не будем учитывать существования абсолютного способа отсчета времени и будем оперировать только музыкальным.

Теперь, зная структуру заголовка MIDI файла, мы можем его считать. Но прежде нужно уяснить один момент. Данные в MIDI файле (длина которых более одного байта), представлены в формате big-endian. Это значит, что если перед нами ячейка, состоящая из двух байт, то первым байтом идет старший байт, а вторым — младший. Непривычно, но формат не молодой, и можно ему это простить. Итак, считываем заголовок.

  1. Для работы нам нужно создать Windows Forms приложение (WPF тут без надобности, но если хотите, то никто не запрещает).
  2. Внутри формы создадим button и richTextBox (у меня они имеют имена button1 и richTextBox1 соответственно), а так же окно для открытия файла openFileDialog (у меня, опять же, имеет имя openFileDialogMIDI).
  3. Создадим событие, привязанное к нажатию на кнопку, в котором очистим richTextBox от старых данных. Так же получим путь к MIDI файлу и передадим его функции, которая откроет его. (openMIDIFile)
    Код события.private void button1_Click(object sender, EventArgs e) { richTextBox1.Clear(); if (openFileDialogMIDI.ShowDialog() == DialogResult.OK) // Если диалоговое окно нормально открылось. { openMIDIFile(openFileDialogMIDI.FileName); // Открываем файл для чтения. } }
  4. Так как MIDI файл имеет необычный формат представления данных (big-endian), то будет проще создать класс, в котором мы бы определили методы, для комфортной работы с MIDI файлом.Код метода создания собственного потока работы с MIDI фалом.// Класс для работы с файловым потоком файла MIDI. public class MIDIReaderFile { public BinaryReader BinaryReaderMIDIFile; // Создаем поток. На его основе будем работать с MIDI файлом. public MIDIReaderFile(Stream input) // В конструкторе инициализируем байтовый поток на основе открытого потока. { BinaryReaderMIDIFile = new BinaryReader(input); // Открываем поток для чтения по байтам на основе открытого потока файла. } public UInt32 ReadUInt32BigEndian() // Считываем 4 байта в формате “от старшего к младшему” и располагаем их в переменной. { UInt32 bufferData = 0; // Начальное значени = 0. for (int IndexByte = 3; IndexByte >= 0; IndexByte–) // Счетчик от старшего к младшему. bufferData |= (UInt32)((UInt32)BinaryReaderMIDIFile.ReadByte()) = 0; IndexByte–) // Счетчик от старшего к младшему. bufferData |= (UInt16)((UInt16)BinaryReaderMIDIFile.ReadByte() событие 0 произошло в нулевую секунду. Теперь рассмотрим событие 1. Тут уже старший байт установлен в 1 => байт не последний. Сохраняем значение оставшееся, если вычеркнуть старший разряд. Получаем 1. Смотрим следующий байт. Там флаг = 0 и оставшаяся часть = 0. Теперь считаем, сколько на самом деле прошло времени. Так как каждый байт может переносить всего лишь по 7 байт информации, то у нас прошло (1

Источник: //habr.com/post/271693/

Открываем и конвертируем файл формата MDI под Windows, Linux и Mac

Открытие файлов в формате MDI

Проблема с файлом формата MDI? Если вы не знаете, чем открыть файл MDI, или если ваш файл не открывается программой MS Office Document Imaging – наша статья специально для вас. Мы рассмотрим, что представляют собой файлы указанного формата, основные причины, почему они не открываются, какие существуют дополнительные бесплатные утилиты для конвертации MDI в другие форматы.

Что такое файл формата MDI

MDI (сокращение от Microsoft Document Imaging Format) – разработанный, как вы уже наверное догадались, компанией Microsoft формат файла, в целях хранения растровых изображений сканированных документов. Дополнительно, в файлах такого формата присутствует возможность хранить метаданные (текстовые аннотации, распознанный текст и т.д.). Формат является закрытым – спецификаций в открытом доступе нет.

Формат файла MDI является «доработанным» MS форматом TIFF. В MDI присутствуют три разработанных MS типов сжатия данных, большое количество дополнительных полей и нестандартных значений ключей, а также некоторые другие мелкие правки.

За счет этих дополнений, в итоге MDI получил заметные преимущества – меньший размер файлов при хранении при более качественном изображении.

Открываем MDI при помощи «родных» программ

Так выглядит окно MS Offce Document Imaging при работе с документами

Основной проблемой при попытке открыть MDI файл «родным» MS Office Document Imaging из пакета Office 2007 является то, что при двойном клике мышью по файлу в проводнике, он не откроется.

При этом вы увидите стандартное окно ошибки – «Не удалось открыть следующий файл…».

Почему это происходит? Причина проста – утилиту Document Imaging необходимо устанавливать самостоятельно, установка по требованию при попытке открыть файл формата MDI не предусмотрена.

В Office 2010 данная утилита уже отсутствует – видимо, в дальнейших версиях ее поддержка не предполагается.

Таким образом, необходимо установить MS Office Document Imaging. Чтобы это сделать, нужно выполнить перечисленные простые шаги:

  1. Открыть список установленных программ. Открыть можно либо через Пуск – Панель управления – Программы и компоненты, либо при помощи команды appwiz.cpl – ее вводим в окошко Пуск – Выполнить;
  2. В открывшемся списке необходимо найти и выделить установленную версию MS Office 2007;
  3. Нажать кнопку «Изменить»;
  4. В появившемся мастере выбрать пункт «Добавить или удалить компоненты»;
  5. В окне выбора компонентов, в узле «Средства Office» выбрать MS Office Document Imaging (для установки необходимо указать «Запускать все с моего компьютера»);
  6. Нажать кнопку «Продолжить» и дождаться окончания установки.

После указанных простых действий можно повторить попытку открыть нужный файл формата MDI.

Открываем и конвертируем MDI сторонними программами

В случае, если вы не пользуетесь офисным пакетом MS, либо открыть файл формата MDI необходимо, а версия пакета 2010, в котором отсутствует необходимая утилита (MSPVIEW.EXE), рассмотрим несколько утилит от сторонних производителей, позволяющих работать с рассматриваемым форматом.

Free MDI Image Viewer — бесплатная утилита для открытия файлов формата MDI для чтения

Для просмотра файлов с расширением MDI в режиме чтения подойдет бесплатная утилита Free MDI Image Viewer.  Она также позволяет экспортировать отдельные страницы из файла MDI в изображения.

Под Windows существует также маленькая утилита, предназначенная для работы в режиме командной строки. Это MS MDI to TIFF File Converter. Как следует из названия, она позволяет конвертировать документы формата MDI в TIFF.

И, наконец, третья утилита позволяет конвертировать MDI в PDF – называется она MDI2PDF.

Чем открыть и конвертировать MDI под Linux и Mac

Для тех, кто пользуется ОС, отличных от Windows, подойдут следующие варианты. MDI2PDF и Free MDI Image Viewer, которые запускаются при помощи Wine (эмулятора для ОС Linux).

Владельцы же Mac могут воспользоваться официальной программой —  Microsoft Office Document Imaging работает под данной ОС.

В любой ОС можно воспользоваться онлайн-сервисом Kinati 2PDF Converter, который позволяет конвертировать в популярный формат PDF.

Итак, мы рассмотрели основные проблемы, которые могут возникнуть при попытке открытия расширения MDI, какими утилитами сторонних производителей можно воспользоваться для открытия и конвертирования под Windows, Linux и Mac. Надеемся, что после прочтения нашей статьи вы точно будете представлять, чем открыть файл mdi будет лучше в каждом конкретном случае.

Источник: //itguides.ru/kak-sdelat/kak-otkryt-fajl/otkryvaem-i-konvertiruem-fajl-formata-mdi.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.