Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Графика EMZ (Windows Enchanced Metafile) - как отобразить?
Форумы портала PHP.SU » » Графика в PHP » Графика EMZ (Windows Enchanced Metafile) - как отобразить?

Страниц (1): [1]
 

1. LShark - 05 Декабря, 2012 - 14:13:48 - перейти к сообщению
Проблема всплыла неожиданно. При парсинге MHT файлов с картинками результат был получен - htm файл и связанные с ним картинки.

Пока были картинки png, jpg, gif - нет проблем, все прекрасно.

Но когда стали так парсить старые документы Word с картинками (пересохраняя их в MHT, закидывая на сервер и там парся php) оказалось, что в них графика сохранена в растровом (?) формате WMZ.
Такие картинки при указании в виде <img src=grafik.emz> тупо не отображаются в браузерах.

Еще неприятно то, что все обычные форматы сохраняются в htm документе в нормальной ссылке - <img src= , а вот EMZ - в виде <v:imagedata=

Подскажите, есть ли возможность автоматически переконвертировать EMZ файлы в любой "привычный" формат средствами php?
Пока не смог найти ничего стоящего, а единственная мной найденная странная библиотека emz2jpg продается за 159 дохлых енотов.


Ах да, забыл добавить:
Если файл переименовать в zip и распаковать, получим файл без расширения, который, однако, открывается как Windows Enchanced Metafile.
Если его переименовать в gif - некоторые открываются в браузерах, но в совершенно ублюдочном качестве).

В приложении - 2 файлв EMZ, упакованные в рар.
2. caballero - 05 Декабря, 2012 - 14:17:55 - перейти к сообщению
Цитата:
оказалось, что в них графика сохранена в растровом (?) формате WMZ

а png, jpg, gif какие по твоему?

ту гору мусора что сохраняет офис под видом HTML в лучшем случае может нормаьно прочитать разве что IE
3. LShark - 05 Декабря, 2012 - 14:20:57 - перейти к сообщению
Увы, тут ты ошибаешься, после некоторой очистки отпарсенный файл отлично начинает открываться во всех браузерах - проверено на осле, опере и хроме.
Хотя для детальной очистки, конечно, приходится приложить некоторые усилия, но если размер файла не критичен - роли 350 кб или 420кб - уже не имеют значение.

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

Бесит, конечно, такое "счастье":
CODE (htmlphp):
скопировать код в буфер обмена
  1. <p align=center style='text-align:center;mso-layout-grid-align:
  2. none;text-autospace:none'><b></b></p>
  3. <p align=center style='text-align:center;mso-layout-grid-align:
  4. none;text-autospace:none'><b></b></p>
  5. <p align=center style='text-align:center;mso-layout-grid-align:
  6. none;text-autospace:none'><b></b></p>
  7. <p align=center style='text-align:center;mso-layout-grid-align:
  8. none;text-autospace:none'></p>

Но тут уж на автомате ничего не поделаешь, выяснить, что можно заменить на "<br><br><br><br><br>", а что нельзя - проблематично, вроде.

Но что делать с этим форматом графики?
4. LShark - 25 Декабря, 2012 - 20:52:20 - перейти к сообщению
Вопрос все еще актуален.

Как конвертировать Windows Metafile в любой более-менее менее порнографичный формат?
gif-png-jpg - не важно.
5. DlTA - 25 Декабря, 2012 - 22:56:40 - перейти к сообщению
может есть смысл пересмотреть ситуацию с начала,
зачем его сохранять в MHT, может попробывать сохранять в html, при этом все изображения должны теоретически сохраняться во что то более съедобное.
6. LShark - 26 Декабря, 2012 - 22:02:12 - перейти к сообщению
Если бы это сработало, я бы и не спрашивал Улыбка

В том то и дело, что дебильный ворд совершенно спокойно сохраняет эти wmz wmf файлы, вставляя ссылки на них - типа:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <img src="image.wmz">

Он и миме-тип имеет image/windows metafile , НО НЕ ОТОБРАЖАЕТСЯ ни одним браузером, даже тупым ослом, сделанным теми же тупыми индусами из мелкомягких...

Пока нашел только одну программу-конвертор, но создатели из жадности хотят ни много, ни мало - а 590 дохлых енотов за сервер-лиценз...
(Добавление)
Правда, в оправдание индусов, писавших осла:
Если wmz файл распаковать (а он - просто zip-архив wmf-файла), а распакованный файл подсунуть в обычную img src - то ОСЕЛ покажет картинку... Но кроме него - никто. Ни опера, ни гуглобот...

 

Powered by ExBB FM 1.0 RC1