Банальная математика.
Принимаем ту высоту, которую должны иметь изображения, за Х.
Для каждого из них вычисляем ширину У по формуле Х * (отношение ширины к высоте).
Суммируем, получаем суммарную ширину С, выраженную через этот самый Х.
Вам, как я понимаю, нужно, чтобы Х был не больше высоты экрана, а С - не больше ширины экрана.
Вычисляете Х для С = ширине экрана, сравниваете его с высотой, выбираете меньшее значение.
Это и будет высотой ваших изображений, позволяющей вписать их все в одну строчку в размеры экрана.
Количество изображений - любое.
MrChen: сервис, над которым трудится несколько программистов, потребует и сервер соответствующей мощности. Но пока ТС "набирает аппетит", а сервис мизерный, тратиться на что-то серьезное просто незачем.
Разве что постоянная доступность сервиса окажется критичной, но нормальный хостер ее и на шареде должен обеспечить.
Damruss: нет, Laravel не требует VPS. Теоретически можно попытаться натянуть ваш сервис, пока он представляет собой всего пару страничек, даже на бесплатный хостинг. Впрочем, как я понимаю, вы сами в этом не очень разбираетесь и все равно будете обращаться к специалисту. С ним и обсудите.
r3b3l: я не "ценю оригинал и не доверяю форкам", я пользуюсь продуктом, прошедшим независимый аудит и пренебрегаю тем, что из него могли сделать люди, цели которых мне неизвестны. Учитывая, что они из кожи вон лезли, чтобы доказать, что они закрыли какие-то уязвимости в оригинале, можно с уверенностью считать, что иных уязвимостей так и не было обнаружено. Если не ошибаюсь, именно VC облажался, допустив новые уязвимости именно в своих "улучшениях".
Софт и пароли вы можете прятать хоть до потери сознания - при чем здесь системный диск? Кто вам мешает поставить программы и хранить данные, используя отдельный контейнер? Впрочем, меня эти проблемы действительно не волнуют - я не пользуюсь виндой, мне не нужны пиратки (а то, что нужно - куплено), а пароли я предпочитаю либо помнить, либо прятать под мастер-пароль, а не в контейнер. В контейнере - действительно ценная информация (исходники, лицензионные ключи, записи об аккаунтах, которые требуется администрировать).
r3b3l: все альтернативы - это такие же *Крипты под другой вывеской.
Ни одна из них не заслуживает хотя бы такого доверия, как оригинал.
Ни одна из обнаруженных в нем уязвимостей мне лично не грозит (я системный диск не шифрую и убежден, что это бессмысленно в принципе).
А вот за закладками и бэкдорами - как раз добро пожаловать к "продолжателям дела".
Максим Ленский: если вы своими неумелыми действиями создаете системе косяки - она падает. Если вам нужны системы, которые не дают вам сделать лишнего (и в результате вы зависите от того, подготовил ли кто-то другой нужное вам решение) - вас заждались винда и макось.
Максим Ленский: система стабильна.
Просто, в отличие от виндов, где админ может только "покормить собак и ничего не трогать", рут в никсах может довести систему до состояния выжженного поля, и никто ему возражать не будет. Учитесь дальше.
Собственно, 5.2 тоже - только напоминание об интеллектуальных правах.
Есть этот пункт или нет - права и возможность их защищать у правообладателя все равно имеются.
synapse_people: маразм крепчал.
У нас другой госпортал требует PDF обязательно 1.4a, и их робот чудит, как капризная девица. Электронное правительство на марше, понимаешь.
Я бы все равно делал HTML -> mPDF -> ImageMagick -> pdfjam (если собирать страницы обратно тем же IM окажется проблемой).
Изначальное изготовление нормальной pdf-ки может в будущем избавить от головной боли по переделыванию всего вновь по-человечески. Просто отрубаем все лишние процессы и живем счастливо.
Все равно обычные плюшки типа повторяющихся на следующей странице заголовков таблиц, колонтитулов, нумерации, размера полей в зависимости от четности страницы... что-нибудь из этого понадобится, и никакой инструмент по изготовлению картинок из текста для этого не подойдет. Проще сразу использовать комбайн, который уже 6 версий как решает подобные типовые задачи.
Андрей Николаев: Если этот документ - какой-нибудь слепой договор, то превью ему делать бессмысленно. Если же это книга или презентация, то обычно обложка или концептуальное приветствие размещается на первой странице.
Первая строчка кода гениальна. Так и просится на демотиватор какой-нибудь.
Кстати, вы забыли рассказать, в чем, собственно, проблема.
Раз уж вы в курсе, что задача решается IM.
Я бы для начала разбил задачу на независимые куски.
С порта льется поток, который надо сохранить. Обязательно. Пусть он сохраняется в файлы с именем %Y-%m-%d_%H, например. Четко и без вариантов. Данные всегда сохранены.
Данные должны попасть в базу. Нужен сервис, который определяет, есть ли файлы с именем меньше текущего часа, и пытается их отправить. Если это проходит удачно - удаляет. Варианты исполнения такого функционала выбираем на вкус и цвет.
Сергей: если у них задолженность за полгода - им только сервиса, на хрен отрубающего всю работу, для полного счастья не хватает.
Я пытаюсь представить, как выглядит ваше предложение с точки зрения клиента, который его обдумывает. Я бы - просто отказался. И даже не потому, что предполагаю динамить оплату сервиса или жду от него подлянок. Просто случаи бывают разные, и глупо совать голову в петлю без всякой на то необходимости. It smells, компрене-ву?