Спасибо, братья.
Что-то я действительно прозевал возможность заCSSить это...
Ща попробую и отпишусь, если что... (Добавление)
Хм... результат не самый лучший, так как ШИРИНА то выставляется, но ВЫСОТА остается прежней...
Хотя кто мне мешает зарубить тег Height везде прегреплейсом?
Увы, тут ты ошибаешься, после некоторой очистки отпарсенный файл отлично начинает открываться во всех браузерах - проверено на осле, опере и хроме.
Хотя для детальной очистки, конечно, приходится приложить некоторые усилия, но если размер файла не критичен - роли 350 кб или 420кб - уже не имеют значение.
После парсинга размер файла уменьшился вдвое, но отображение его вполне читабельное (сохранились картинки, таблицы, расположение объектов и т.д.).
Проблема всплыла неожиданно. При парсинге 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 - некоторые открываются в браузерах, но в совершенно ублюдочном качестве).
Учитывая, что что то все молчат - уточню и упрощу задачу.
Как выявить все сочетания width=(что угодно до пробела или до закрывающего >) (например - 'width=765 ' или 'width="598" ' или 'width=450>' )
Желательно, чтобы значение width я мог бы проверить и при превышении 700 пикселов - установить на 700.
И как просто удалить ВСЕ теги height с аналогичным условием (т.е. этот тег вообще удалить, пусть картинка пропорционально меняется в зависимости от Width)
Вроде задача вполне теперь простая, но что то моих мозгов на регулярные никогда не хватало...
Есть разные, загружаемые на сайт через форму HTML документы.
Во многих есть картинки (загружается одновременно).
Естественно, ссылка на картинки идет через
<img src="путь до картинки" width=xxx height=xxx>
или
<img width=xxx height=xxx src="путь до картинки">
Причем размеры "ххх" могут быть как просто, так и в кавычках или процентах (width=300, width="300" или width=70%) и естественно, совершенно разные.
Однако из за этого могут оказываться картинки значительного размера (мелкие роли не играют, их перерабатывать не нужно), которые при последующем выведении уродуют дизайн.
Как удалить все теги размеров, если ширина больше 700 и выставить тег "width=700" ?
т.е.
если указанный width <700 - ничего не делаем, если больше 700 - выставляем жестко 700.
Увы, размеры самого файла-картинки менять нельзя (а то бы просто размеры порезал и теги удалил).
Нашел решение с MHT.
Просто при добавлении файла на сервер, я его парсю как MIME и получаю сам текст как html-файл и в папке - все дополнительные файлы (картинки, стили и прочее).
Немного редактирования и замены - и вот уже отличный результат.
С ходу два варианта - конвертация из дока в html на стороне сервера, благо, что решения есть.
Или заставить их нормально набирать в одном из визивиг редакторов.
1. около 1к тел.
2. из них - более 500 ненавидят компьютер (по возрасту или интеллекту)
3. офис стоять может всех версий - от 95 (да, да, на некоторых компах -если этот металлолом можно так называть, стоит win95-98 и оф95), офис XP, 2003, 2007 и до 2010 - таких немного, но есть. Как парсить все эти варианты, если подскажешь, будет очень гуд. особенно про версии "до xml".
4. в основном смотреть будут в осле, так как см. пункт 2.
5. заставить всех не просто нереально, а рискованно для жизни и зарплаты.
6. про визивиг лучше вообще не упоминать. Ибо кто попрется ставить такое на все компы?
Я уже подумываю про порнографичный вариант - генерировать из MHT на стороне сервера GIF. Или Jpeg. Через псевдопринтер. Но пока до этого мазохизма еще далеко.
Мда, ты оказался прав, свежескачанная гуглоподелка повела себя точно так же, как и тупорылый осел - тихо и незаметно скачала файл, даже не поинтересовавшись, а оно мне надо?
Значит, только Опера умеет парсить сразу без предварительного сохранения юзером.
А я уже надеялся, что нашел универсальный формат, не требующий напряжения извилин у наших юзверей. Хотя, конечно, можно еще поразвлекаться, но чую, придется искать что то другое.
Зато теперь мне понятно, почему у вас так много постов.
Проверил на 2-х системах:
WinXP SP3 (опера 10.01) - Офис XP - показала все отлично
Win7 (Опера 12.10) - Офис 2010 - показала все отлично.
Осел - тупо предлагает загрузить документ (как 8.0 на Win7, так и 6.0 на WinXP)
Версию офиса указываю на всякий случай (а вдруг плагины в оперу с него ставятся? - шутка)
Ну ладно, будем считать, что Опера научилась парсить файлы, а хитрохитрый Осел хочет показать, но сначала предлагает скачать.
А насчет размера не волнуйтесь - размер этого же документа, но скачанного постепенно ничуть не меньше, а даже больше. Да и качать будут в основном с локалки.
И в доказательство того, что этот фрейм не грузит данные с самого сайта десотиваторов: свойство картинок показывает адрес (нижняя средняя картинка, например):
Тем более, что отображаться будут сохраненные документы Word. Вместе с графикой, внедренной в эти документы.
Проверил несколько десятков документов - нет проблем с отображением в Опере (12.10).
Но Осел упорно предлагает сохранение, а мне нужно, чтобы он показал.
Объясню причины:
Есть стадо не особо одаренных во владении компьютером тушек. Все эти тушки должны выкладывать свои вордовские документы на сайт, чтобы их потом можно было просматривать, листая данные.
Объяснить каждой тушке, как переделывать вордовский документ (особенно с учетом, что стоят разные версии офиса - от 97 до 2010), да еще как сохранить картинки и вставить их на нужное место - проще сразу застрелиться. Нашел универсальное для ворда - сохранять в MHT (это просто объяснить "тыкни сюда, выбери это и сохрани, потом этот файлик загрузи и забудь")
Но вот пока добиться универсального просмотра не могу.
Для внесения данных в базу используется сохраненные в виде mht документы (например - Word - Сохранить как - Веб-страница в одном файле ) Документ может содержать в одном файле и текст, и графику и прочее.
Файл добавляется без проблем. но вот с последующим отображением возникают проблемы.
Попытка изменить хедер на 'Content-type: multipart/related;' или html/text приводит к отображению mht документа вместе со всеми тегами и без графики (она отображается как текстовый код).
Таким образом вместо просмотра я получаю окно загрузки.
Подскажите, как добиться универсального варианта показа MHT?