Смотря что именно вы будете использовать. Что-то подобное (Drag&Drop редактор презентаций) я когда-то писал при помощи jQuery draggable/droppable. Несколько типов блоков позиционировались на холсте. Одним из типов блоков был текстовый блок (минимальное форматирование текста допускалось). Картинки добавлялись отдельным блоком. По итогу все это сохранялось в JSON (типы блоков и их координаты) и в последующем из этого формировался итоговый HTML код, который уже и отображался. По времени и сложности это решение было самым разумным на тот момент.