Bonjour - Je crée un fichier HTML en assemblant toutes les zones d'affichage que je souhaite inclure dans le journal, puis en exportant le journal au format HTML. Cela fonctionne assez bien, mais j'aimerais insérer des sauts de page entre certaines des zones d'affichage pour que le fichier HTML résultant soit parfaitement imprimé. J'ai essayé d'ajouter des commandes "journal actuel () << append (page break box ())" aux points appropriés, mais cela ne semble pas fonctionner. Devrais-je plutôt envoyer des codes de contrôle au journal - et si oui, comment puis-je le faire s'il vous plaît?
Merci beaucoup
Cela fonctionne parfaitement et me permettra de transformer l'apparence de plusieurs de mes rapports HTML actuels générés par JMP. L'exemple indique également comment je pourrais peut-être résoudre deux autres problèmes de formatage sur lesquels j'ai réfléchi récemment, de sorte que tout cela a été extrêmement utile.
Merci beaucoup!
Les sauts de page en HTML sont généralement gérés avec CSS. La zone de saut de page JSL semble ajouter un nombre (variable) de fichiers
lorsqu’elle est exportée au format HTML, mais n’ajoute aucun style CSS supplémentaire.
Une solution de contournement pourrait consister à ajouter le code requis au code HTML après son exportation par JMP. Cela pourrait être fait avec n'importe quel éditeur de texte, mais il est également possible de le faire avec JSL.
Exemple (testé uniquement avec Safari mais devrait fonctionner dans la plupart des navigateurs modernes):
Names Default To Here(1);
// Create example Journal
Open("$SAMPLE_DATA/Big Class.jmp");
Bivariate(Y(:weight), X(:height), By(:age), FitLine) << Journal;
myjournal = Current Journal();
// Find desired points for page breaks, e.g between By-groups
L = myjournal() << xpath("//OutlineBox[@helpKey='Bivariate Report']");
// Insert page breaks after each but last bivariate report
L[1 :: N Items(L) - 1] << append(Page Break Box());
//Save as html
myjournal << Save HTML("$HOME/pb_test.html");
// Manipulate and resave HTML
// Add internal CSS pbreak class and replace multiple <BR /> with that class
myhtml = Load Text File("$HOME/pb_test.html");
pos = Contains(myhtml, "");
Insert Into(myhtml, ".pbreak { page-break-after: always; }\!n", pos);
While(Pat Match(myhtml, Pat Repeat("<BR />", 2), "<DIV class="\!"pbreak\!""> </DIV>"), "");
Save Text File("$HOME/pb_test.html", myhtml);