Не для того, чтобы быть болью и обходить вас стороной, но - и я говорю это как любитель Canvas - лучший графический пакет, который я использовал, это gRaphael, который использует SVG / VML, а не Canvas.
http://g.raphaeljs.com/
Вы пометили это только как "canvas" и "html5", но gRaphael удовлетворяет большинству ваших требований. Он особенно прост в использовании, и кривая обучения лучше, так как SVG обычно требует гораздо меньше кода, чтобы получить богатый пользовательский опыт, чем библиотеки на основе Canvas.
Вот плагин для экспорта в изображение для приложений на основе Raphael
Я не уверен насчет ситуации с печатью, но, поскольку это SVG, вы должны печатать с меньшими усилиями, чем если бы вы использовали Canvas, но я не думаю, что у Рафаэля есть что-то дополнительное, чтобы иметь дело с печать.
Конечно, использование SVG означает, что производительность пострадает больше, если вы планируете создать очень сложное / большое приложение с большим количеством анимации и интерактивности, но это маловероятно в мире графиков, если вы не пытаетесь выиграть награда за «самый отвратительный способ подачи информации» или что-то в этом роде.
Я искренне думаю, что сначала вы должны начать создавать прототипы своего приложения с помощью gRaphael. Вы должны быть в состоянии получить что-то быстрее, чем с библиотекой Canvas, которая позволит вам довольно быстро оценить, будет ли она подходящей или нет.