[GWT/GXT] Impression (perte de style)
Bonjour,
J'essaye d'imprimer un graphe mais ça ne marche pas très bien.
j'ai trouvé cette librairie gwt-print-it : http://code.google.com/p/gwt-print-it/downloads/list
je suis passé par ici aussi : http://code.google.com/p/gwt-print-it/wiki/Howto
code copié :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
/**
* Prints the passed widget.
*
* @param widget
*/
public void printWidget(Widget widget)
{
HeadElement headElement = (HeadElement) HeadElement.as(RootPanel.getBodyElement().getParentElement()
.getFirstChild());
String printHTML = "<html>" + headElement.getInnerHTML() + "<body>" + widget.getElement().getInnerHTML()
+ "</body></html>";
Print.it(printHTML);
} |
je perd les couleurs et autres détails (css).
comme le graphe est assez large (largeur fait plus de 6 fois la hauteur), ce qui s'imprime est écrasé car le rapport entre hauteur et largeur est sauvegardé.
Si vous utiliser maven, la librairie n'est pas disponible, j'ai dû l'enregistrer comme suit:
Code:
1 2
|
mvn install:install-file -DgroupId=br.com.freller.tool -DartifactId=print-it -Dversion=1.13 -Dfile=C:\emplacement_de_la_librairie\PrintIt-1.13.jar -Dpackaging=jar -DgeneratePom=true |
à lancer depuis une fenêtre cmd
j'ai rajouter dans le pom la dépendance :
Code:
1 2 3 4 5 6
|
<dependency>
<groupId>br.com.freller.tool</groupId>
<artifactId>print-it</artifactId>
<version>1.13</version>
</dependency> |
n'oublier pas de rajouter cette ligne dans votre ancre .jsp ou .html
Code:
1 2
|
<iframe id="__printingFrame" style="width: 0; height: 0; border: 0"></iframe> |
et dans le fichier votreProjet.gwt.xml cette ligne
Code:
<inherits name="br.com.freller.tool.PrintIt"/>