Hallo allerseits,
Ich habe ein JSL-Skript, das etwa 10 Diagramme in einzelnen Fenstern ausgibt. Ich arbeite an einer Möglichkeit, jedes Diagramm in einer PowerPoint-Präsentation in eine eigene Folie einzugeben. Aufgrund der Komplexität der Bilder, die ich gesehen habe, gab es eine Möglichkeit, das Python-pptx-Paket von Python zu verwenden, und ich kann alle Folien mit einem Titel erstellen, kann das Bild jedoch überhaupt nicht in Powerpoint einfügen. Unten ist der Codeausschnitt, mit dem ich arbeite, und die auskommentierte Zeile ist die Zeile, an der der Umbruch erfolgt. Ich weiß das, da die auskommentierte Zeile das Bild und die PowerPoint-Datei im richtigen Ordner ablegt und nahtlos öffnet. Wenn das Bild jedoch nicht kommentiert ist, wird es gespeichert, aber die folgende Zeile, in der das ppt im Dateiordner gespeichert wird, passiert nie und Jmp sagt ebenfalls, dass die nicht vorhandene Datei nicht geöffnet werden kann. Ich habe alles versucht, von der Verwendung von f-Strings bis hin zu Verkettungen der Strings, um das Bild in der PPT zu erhalten, aber es gelingt mir nicht. Jede Hilfe wäre sehr dankbar. Danke!
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);Oben funktioniert, ohne dass das Bild hinzugefügt wird.
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);Dies mit dem unkommentierten add_picture ist nicht der Fall.
Danke,
Neel