La fonction d'impression vous permet de fractionner le diagramme, ou une section concrète de celui-ci, en plusieurs surfaces d'une taille donnée, afin de faciliter l'impression à l'aide de fonctions d'impression de navigateur standard.
La fonction d'impression est exécutée par la classe PrintUtil. Vous pouvez instancier cette classe et la personnaliser.
Ce code instancie une nouvelle classe
PrintUtil
et la personnalise :var myPrintUtil = new ibm_ilog.diagram.util.PrintUtil({ documentToPrint : other.document, getTargetSurfaceDiv: function(r,c) { return this.documentToPrint.getElementById("div" + r + "_" + c); }, postProcessing: function(r,c,surf,group){ dojo.style(surf.rawNode,{backgroundColor: '#888888'}); } });
L'appel de la fonction
getTargetSurfaceDiv
est obligatoire. Il renvoie div
où la surface cible est placée (avec la ligne et la colonne données). postProcessing
est une procédure facultative qui personnalise la surface ou le groupe, si nécessaire.La classe
PrintUtil
a deux méthodes publiques qui appliquent des transformations de surface à plusieurs surfaces :printGraph
: fractionne le cadre de délimitation (boundingBox
en largeur de page (pagesWidth
) pour les surfaces horizontales et en hauteur de page (pagesHeight
) pour les surfaces verticales. La dimension des surfaces est fournie par les paramètres de largeur et de hauteur. Si aucun paramètre de délimitation n'est fourni, la totalité du graphe est fractionné.printViewport
: fractionne la fenêtre d'affichage de diagramme en largeur de page (pagesWidth
) pour les surfaces horizontales et en hauteur de page (pagesHeight
) pour les surfaces verticales. La dimension des surfaces est fournie par les paramètres de largeur et de hauteur