0
次のコードを使用して既存のpptxを反復処理していますが、特定のスライドでどのように編集(テキストまたはイメージを置き換えることができます)することができます。Docx4jを使って既存のpptxを読み書きする方法は?
String inputfilepath = "C:/tmp/template.pptx";
PresentationMLPackage presentationMLPackage =
(PresentationMLPackage)OpcPackage.load(new java.io.File(inputfilepath));
for (int i=0 ; i<presentationMLPackage.getMainPresentationPart().getSlideCount(); i++) {
SlidePart slidePart = presentationMLPackage.getMainPresentationPart().getSlide(i);
SlideLayoutPart slideLayoutPart = slidePart.getSlideLayoutPart();
//System.out.println(slp.getSourceRelationships().get(0).getTarget());
System.out.println(slidePart.getPartName().getName());
String layoutName = slideLayoutPart.getJaxbElement().getCSld().getName();
System.out.println("layout: " + slideLayoutPart.getPartName().getName() + " with cSld/@name='" + layoutName + "'");
System.out.println("Master: " + slideLayoutPart.getSlideMasterPart().getPartName().getName());
}
、あなたは、関連するSlidePartの内容を変更します。 SlidePartでXMLを見ると、イメージが別のオブジェクトに格納され、関係を介して参照されることがわかります。したがって、画像を置き換えるには、参照されるオブジェクトの内容を変更することができます。良い方法は、pptxをdocx4j webappにアップロードすることです。これは、その内容を調べてコードを生成するのに役立ちます。 – JasonPlutext
https://github.com/plutext/docx4j/tree/master/src/samples/pptx4j/org/pptx4j/samplesにあるさまざまなサンプルもご覧ください。 – JasonPlutext