Salut tout le monde,
J'ai un script JSL qui génère environ 10 graphiques dans des fenêtres individuelles. Je travaille sur un moyen de saisir chaque graphique dans sa propre diapositive dans un PowerPoint. En raison de la complexité des images que j'ai vues, il existait un moyen d'utiliser le package python-pptx de python pour y parvenir et je suis capable de créer toutes les diapositives avec un titre, mais je ne parviens pas du tout à insérer l'image dans PowerPoint. Vous trouverez ci-dessous l'extrait de code avec lequel je travaille et la ligne commentée est la ligne sur laquelle il se brise. Je le sais puisque la ligne commentée place l'image et le PowerPoint dans le bon dossier et s'ouvre de manière transparente. Mais lorsqu'elle n'est pas commentée, l'image est enregistrée, mais la ligne suivante où le ppt est enregistré dans le dossier de fichiers ne se produit jamais et de même, Jmp dit qu'il ne peut pas ouvrir le fichier inexistant. J'ai tout essayé, de l'utilisation de chaînes f aux concaténations de chaînes pour obtenir l'image dans le ppt, mais je n'en suis pas capable. Toute aide serait très appréciée. Merci!
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\neel\Documents\new jmp\";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top, height},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + pic_file
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
#pad_summary_pic = slide_3.shapes.add_picture(img_path, left, top, height=height)
prs.save(rf"{ppt_dir}{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || number || " Review.pptx";
Open(ppt);Ci-dessus fonctionne sans que l'image ne soit ajoutée.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\neel\Documents\new jmp\";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top, height},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + pic_file
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
pad_summary_pic = slide_3.shapes.add_picture(img_path, left, top, height=height)
prs.save(rf"{ppt_dir}{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || number || " Review.pptx";
Open(ppt);Celui-ci avec add_picture non commenté ne le fait pas.
Merci,
Néel