Eksport równań matematycznych z prezentacji w Pythonie
Wprowadzenie
Aspose.Slides dla Pythona poprzez .NET umożliwia eksportowanie równań matematycznych z prezentacji. Na przykład może być konieczne wyodrębnienie równań z wybranych slajdów i ponowne użycie ich w innym programie lub platformie.
Eksportowanie równań matematycznych do LaTeX
Aspose.Slides może konwertować równanie matematyczne PowerPoint bezpośrednio do LaTeX; nie jest wymagany pośredni plik MathML ani zewnętrzny konwerter. Równanie matematyczne jest przechowywane w ramce tekstowej jako MathPortion. Użyj MathPortion.math_paragraph aby uzyskać MathParagraph, a następnie wywołaj MathParagraph.to_latex. Metoda zwraca ciąg znaków, który możesz zapisać, wyświetlić, wysłać do innej aplikacji lub dalej przetworzyć.
Przykład poniżej przegląda każdą ramkę tekstową na każdym slajdzie, znajduje wszystkie części matematyczne i zapisuje każde równanie do osobnego pliku .tex:
import aspose.slides as slides
with slides.Presentation("equations.pptx") as presentation:
for slide_number, slide in enumerate(presentation.slides, start=1):
equation_number = 1
text_frames = slides.util.SlideUtil.get_all_text_boxes(slide)
for text_frame in text_frames:
for paragraph in text_frame.paragraphs:
for portion in paragraph.portions:
if not isinstance(portion, slides.mathtext.MathPortion):
continue
math_paragraph = portion.math_paragraph
latex_path = f"slide_{slide_number}_equation_{equation_number}.tex"
latex_text = math_paragraph.to_latex()
with open(latex_path, "w", encoding="utf-8") as latex_file:
latex_file.write(latex_text)
equation_number += 1
SlideUtil.get_all_text_boxes zwraca wszystkie ramki tekstowe znalezione na slajdzie. Sprawdzenie typu MathPortion oddziela prawdziwe edytowalne równania od zwykłego tekstu i obrazów.
Silniki LaTeX i szablony dokumentów nie obsługują wszystkich tych samych poleceń, pakietów ani znaków Unicode. Przetestuj zwrócony ciąg przy użyciu silnika LaTeX używanego w twojej aplikacji. Jeśli symbol lub element Office Math nie ma odpowiedniej reprezentacji w tym środowisku, zastąp go w zwróconym ciągu poleceniem specyficznym dla projektu lub pomiń równanie i zanotuj problem do przeglądu.
Zapisz równania matematyczne jako MathML
Chociaż ludzie łatwo piszą LaTeX, MathML jest zazwyczaj generowany automatycznie przez aplikacje. Ponieważ MathML jest oparty na XML, programy mogą go czytać i analizować niezawodnie, dlatego jest powszechnie używany jako format wyjściowy i drukowania w wielu dziedzinach.
Poniższy przykładowy kod pokazuje, jak wyeksportować równanie matematyczne z prezentacji do MathML:
import aspose.slides as slides
import aspose.slides.mathtext as math
with slides.Presentation() as presentation:
slide = presentation.slides[0]
auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50)
math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph
math_paragraph.add(
math.MathematicalText("a").
set_superscript("2").
join("+").
join(math.MathematicalText("b").set_superscript("2")).
join("=").
join(math.MathematicalText("c").set_superscript("2")))
with open("mathml.xml", "wb") as file_stream:
math_paragraph.write_as_math_ml(file_stream)
FAQ
Co dokładnie jest eksportowane do MathML — paragraf czy pojedynczy blok formuły?
Możesz wyeksportować cały paragraf matematyczny (MathParagraph) lub pojedynczy blok (MathBlock) do MathML. Oba typy udostępniają metodę zapisu do MathML.
Jak mogę stwierdzić, że obiekt na slajdzie jest formułą matematyczną, a nie zwykłym tekstem lub obrazem?
Formuła znajduje się w MathPortion i ma MathParagraph. Obrazy i zwykłe części tekstowe bez MathParagraph nie są eksportowalnymi formułami.
Skąd pochodzi MathML w prezentacji — czy jest specyficzny dla PowerPointa, czy jest standardem?
Eksport kieruje się do standardowego MathML (XML). Aspose używa Presentation MathML — podzbioru prezentacji tego standardu, który jest szeroko stosowany w aplikacjach i w sieci.
Czy eksportowanie formuł znajdujących się w tabelach, SmartArt, grupach itp. jest obsługiwane?
Tak, jeśli te obiekty zawierają części tekstowe z MathParagraph (czyli prawdziwe formuły PowerPoint), są eksportowane. Jeśli formuła jest osadzona jako obraz, nie jest.
Czy eksport do MathML modyfikuje oryginalną prezentację?
Nie. Zapis MathML to serializacja zawartości formuły; nie modyfikuje pliku prezentacji.