2012-05-02 3 views
0

Какой язык или технология мне понадобится, чтобы иметь возможность создавать документы в Интернете? Я хочу иметь возможность добавлять текст и изображения и перемещать их в положение, изменять размер и т. Д., Аналогично this.Создание и редактирование документов онлайн

И после этого, после завершения, создайте из них PDF-файл.

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

ответ

2

Вам необходимо решить основные технологии: Flash, Silverlight, Canvas, SVG на стороне клиента, SVG на стороне сервера или растровое изображение на стороне сервера. Существуют также коммерческие решения, которые работают с документами Adobe InDesign (и, вероятно, с множеством других проприетарных форматов), но я ожидаю, что они не будут дешевыми.

Flash/Silverlight требует плагинов, и некоторые из них считаются умирающей технологией, хотя я уверен, что это оспаривается. Canvas - это «очень HTML5» и по существу является растровым рисунком, созданным/визуализируемым на клиенте, но если вы ультиматизировали рендеринг в PDF, он может не предоставить требуемое разрешение. Такое же ограничение влияет и на создание серверной части изображения - вам, вероятно, придется иметь дело с векторными элементами плюс растровые изображения, а не отображать все на пиксели по мере продвижения.

Это оставляет SVG в моем списке, либо на клиенте (см. RaphaelJS), либо на сервере (см. Inkscape). Я выполняю некоторую работу с SVG-рендерингом на стороне сервера на данный момент, и это многообещающе; хотя это связано с большей степенью масштабируемости, чем на стороне клиента, оно не страдает от проблем с совместимостью браузера или с ограничениями браузера.

Самая большая проблема в браузере SVG-рендеринга - текст абзаца текста и текст в/на пути - я не уверен, насколько они реализованы в современных браузерах или насколько они согласуются между ними. Это особенно касается случая, когда некоторые из них требуют SVG1.2, а браузеры (afaik) только много лет устанавливают на SVG1.1. Но, если вы просто хотите делать стандартные блоки текста, растровые изображения и векторные элементы, SVG на основе браузера должен соответствовать вам.

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

В вашем случае, как только вы рассмотрели вопрос о том, как сделать редактирование, вам нужно подумать о том, как визуализировать PDF, что будет сделано на сервере. Вы можете пойти на низкоуровневом уровне и использовать что-то вроде FPDF, использовать средство рендеринга отчетов, например Jasper, или использовать графическую систему, такую ​​как GhostScript, Inkscape, Scribus, ps2pdf, svg2pdf и т. Д.

Кроме того: я обычно не отвечаю на вопросы без очевидных предварительных исследований. Но, поскольку вы указали, что вы действительно это сделаете, я рад помочь вам начать.

+0

Спасибо за отличный ответ. Я сейчас посмотрю в svg и из того, что вы говорите, я уверен, что это то, что мне нужно. Большое спасибо. – BlueTurnip

+0

Нет проблем. Не забудьте пометить ответ как принятый ':)'. – halfer

Смежные вопросы