La création de tables dans un HTML5 Canvas
J'ai un projet où j'ai besoin d'enregistrer un élément de table de html comme une image. Il semblerait que la meilleure façon de le faire est de convertir les données de la table dans une toile et ensuite appeler toDataURL pour obtenir une image. Après une recherche à travers un grand nombre de tableaux mentionnés ici il ressemble à tous d'entre eux il suffit de mettre un wrapper autour d'un régulier de la page html afin de le rendre plus stratégique.
- Il n'existe aucun moyen simple ou de la bibliothèque (ce n'est pas de fantaisie) pour extraire des données dans un format tabulaire à l'intérieur d'un élément canvas?
- Est-il une autre voie qui me manque pour enregistrer le contenu d'un élément de tableau à une image?
Puisque c'est un des Rails de projet que je préfère, si la bibliothèque JS utilisé JQuery.
MODIFIER
J'ai oublié de mentionner que certaines entrées dans la table des liens. Évidemment, cela fonctionne bien dans un tableau html, mais il doit également travailler dans le canevas version.
EDIT 2
Apparemment, je n'étais pas clair dans la première édition. La version qui s'affiche à l'utilisateur final (tableau ou sur de la toile) doit avoir des liens. L'image finale, évidemment, ne sera pas.
Une proposition intéressante, si la toile de rendu ne fonctionne pas, alors je vais essayer. Je suis à l'aide de Rails, donc je suis en fait en insérant les données directement dans le DOM avec ERB.
OriginalL'auteur Jon | 2013-02-11
Vous devez vous connecter pour publier un commentaire.
Voici un exemple (modifié à partir de: https://developer.mozilla.org/en-US/docs/HTML/Canvas/Drawing_DOM_objects_into_a_canvas)
http://jsfiddle.net/StEcW/1/
Cela fonctionne assez bien, mais voir le violon, pour certains, quelque chose d'étrange autour de possible CSS qui pourraient ne pas fonctionner tout à fait raison. Au moins, en Chrome, pour moi, la bordure du tableau ne s'affiche pas de la même façon.
Modifier: bien sûr, il ne fait pas beaucoup de sens d'aller à travers la toile. La toile est juste l'image que nous avons déjà créé. Tout ce que vous devez faire est d'afficher l'image dans les DOM.
Hein? Vous l'avez dit, "...j'ai besoin d'enregistrer un élément de table de html comme une image." Si vous êtes l'enregistrer comme une IMAGE, comment envisagez-vous d'avoir les liens hypertexte de travail...avec une image?
Désolé je n'étais pas assez précis. La table lors de l'affichage doit avoir des liens. L'image ne fonctionne pas. J'ai été en supposant que je voudrais juste l'exposition de la toile à l'utilisateur, mais je suppose que je ne dois pas. Je peux juste convertir en toile et ensuite de les convertir en une image et l'enregistrer, et l'affichage de la table d'origine de l'utilisateur. Pensez-vous que ce sera le travail?
C'est ce que j'ai supposé que vous feriez. Je pense que cela fonctionnera.
Un problème de navigateur -- je crois que Internet Explorer ne prend pas en charge le format svg est <foreignobject>.
OriginalL'auteur aquinas