Salut la communauté JMP
Je suis nouveau sur JSL et je travaille sur un script depuis une semaine environ. La dernière partie du script est censée prendre un graphique et l'enregistrer au format PDF. Le problème que j'ai est que je n'arrive pas à trouver un moyen de réduire ce PDF à une page.
Je peux le faire manuellement en cliquant sur "Enregistrer sous" dans la fenêtre du graphique, en choisissant le format de fichier PDF et en réglant l'échelle à 80 %.
Actuellement, mon code ressemble à ceci :
KlingonImage << Set Page Setup(
margins(0.5,0.5,0.5,0.5),
scale(0.8)
);
KlingonImage << Get Page Setup();
//Save as PDF
KlingonImage << Savepdf(filepath);
Où "KlingonImage" est le nom de la fenêtre créée pour afficher le graphique. Peu importe ce que je fais de la valeur d'échelle, il ne semble pas y avoir de changement dans le fichier PDF résultant. Est-ce quelque chose que JMP peut faire ? Il convient de noter que j'utilise JMP 9.
Merci,
Michael
que se passe-t-il lorsque vous ajoutez ceci à la fin de votre script ?
gb <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> Set page setup<SPAN class="token punctuation">(</SPAN> margins<SPAN class="token punctuation">( 0.5, 0.5, 0.5, 0.5 </SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> scale<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">.1</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> portrait<SPAN class="token punctuation">(</SPAN> 0 <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> paper size<SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Letter"</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token comment">gb << save pdf( "testPDF.pdf" );</SPAN>
Je suppose que vous obtiendrez un pdf (dans le répertoire où le script est enregistré) qui ressemble à une carte de baseball en haut à gauche de la page.
notez que pour l'argument "portrait", 1 est portrait et 0 est paysage.
Salut Byron
Désolé pour la réponse tardive. Je ne crois pas que cela résout le problème que j'ai. Je veux que tout tienne sur une seule page. La seule chose que je veux faire tenir sur la page est cet élément :
KlingonImage=New Window("Klingon Pattern",
gb=Graph Box(
Frame Size(810,810),
xaxis(show major ticks(false),show minor ticks(false),show labels(false)),
yaxis(show major ticks(false),show minor ticks(false),show labels(false)),
X Scale(0,100),
Y Scale(0,100),
<< Add Image(
Open(filepath||fid1),
Bounds(
Left(20),
Right(80),
Top(100),
Bottom(0)
)
),
Text Size(11);
Text Color("black"),
Text(Center Justified,Boxed,{50,3.9},NFrame), //North Frame
Text(Center Justified,Boxed,{40,96},SETFrame), //Southeast Top Frame
Text(Center Justified,Boxed,{60,96},SWTFrame), //Southwest Top Frame
Text(Center Justified,Boxed,{50,9},NWindow), //North Window
Text(Center Justified,Boxed,{50,81.5},SWindow), //South Window
Text(Center Justified,Clockwise,Boxed,{36.5,80},SEWindowOut), //Outer Southeast Window
Text(Center Justified,Clockwise,Boxed,{62.5,80},SWWindowOut), //Outer Southwest Window
Text(Center Justified,Clockwise,Boxed,{62.5,12},NWWindowOut), //Outer Northwest Window
Text(Center Justified,Clockwise,Boxed,{36.5,12},NEWindowOut), //Outer Northeast Window
Text(Center Justified,Clockwise,Boxed,{74.3,27},NWFrame), //Northwest Frame
Text(Center Justified,Clockwise,Boxed,{25,27},NEFrame), //Northeast Frame
Text(Center Justified,Clockwise,Boxed,{74.3,72},SWFrame), //Southwest Frame
Text(Center Justified,Clockwise,Boxed,{25,72},SEFrame), //Southeast Frame
Text(Center Justified,Clockwise,Boxed,{42,30},NEWindowIn), //Inner Northeast Window
Text(Center Justified,Clockwise,Boxed,{42,63},SEWindowIn), //Inner Southeast Window
Text(Center Justified,Clockwise,Boxed,{57.7,30},NWWindowIn), //Inner Northwest Window
Text(Center Justified,Clockwise,Boxed,{57.6,63},SWWindowIn), //Inner Southwest Window
Text(Center Justified,Boxed,{34,45.5},NEGap), //Northeast Gap
Text(Center Justified,Boxed,{34.4,51},SEGap), //Southeast Gap
Text(Center Justified,Boxed,{67,45.5},NWGap), //Northwest Gap
Text(Center Justified,Boxed,{67,51},SWGap), //Southwest Gap
Text Color("Blue"),
Text({74,5},Operator), //Operator
Text({74,1},TestDate); //Date
Text({74,3},NumberSamp); //Number of Samples used in generation
),
Page Break Box()
);Qui est essentiellement une image avec des zones de texte superposées dessus. Le problème que j'ai est que je n'arrive pas à affecter l'échelle du fichier PDF. Le type de fenêtre que j'essaie de mettre à l'échelle est-il un type de données que je ne peux pas manipuler ?
Merci,
Michael
M,
Quelle est la complexité/la taille du rapport que vous essayez de compresser ?
Peut-être qu'il y a quelque chose de spécial à propos de la v9, j'avais l'habitude de faire quelque chose comme ça dans la v7 et cela fonctionnait bien.
Dans cet exemple, lorsque j'ai assemblé les éléments du rapport, j'ai ajouté une boîte de saut de page(). Lorsque le PDF est créé, il génère un frein de page, donc au lieu de se retrouver avec des objets de rapport mal coupés, les pauses se produisent là où je les veux.
-B
obj = New Window( "KPI Report " || Long Date( Today() ),
V List Box( "vlb1", Panel Box( "Figure 1", graph1 ), <STRONG>Page Break Box()</STRONG>, Panel Box( "Figure 2", graph2 ) ));
@michaelgroom a écrit:
Salut la communauté JMP
Je suis nouveau sur JSL et je travaille sur un script depuis une semaine environ. La dernière partie du script est censée prendre un graphique et l'enregistrer au format PDF. Le problème que j'ai est que je n'arrive pas à trouver un moyen de réduire ce PDF à une page.
Je peux le faire manuellement en cliquant sur "Enregistrer sous" dans la fenêtre du graphique, en choisissant le format de fichier PDF et en réglant l'échelle à 80 %.
Actuellement, mon code ressemble à ceci :
KlingonImage << Set Page Setup(
margins(0.5,0.5,0.5,0.5),
scale(0.8)
);
KlingonImage << Get Page Setup();
//Save as PDF
KlingonImage << Savepdf(filepath);
Où "KlingonImage" est le nom de la fenêtre créée pour afficher le graphique. Peu importe ce que je fais de la valeur d'échelle, il ne semble pas y avoir de changement dans le fichier PDF résultant. Est-ce quelque chose que JMP peut faire ? Il convient de noter que j'utilise JMP 9.
Merci,
Michael
<BR /> obj << Set page setup( margins( 1, 1, 1, 1 ), scale( .5 ), portrait( 1 ), paper size( "Letter" ) ); path = Get Default Directory(); //t=Format Date( Today(), "ddmonyyyy" ); obj << save pdf( path || "testPDF.pdf" );