2016-11-24 10 views
0

次のコードを使用して既存のpptxを反復処理していますが、特定のスライドでどのように編集(テキストまたはイメージを置き換えることができます)することができます。Docx4jを使って既存のpptxを読み書きする方法は?

Example in documentation

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()); 

} 
+0

、あなたは、関連するSlidePartの内容を変更します。 SlidePartでXMLを見ると、イメージが別のオブジェクトに格納され、関係を介して参照されることがわかります。したがって、画像を置き換えるには、参照されるオブジェクトの内容を変更することができます。良い方法は、pptxをdocx4j webappにアップロードすることです。これは、その内容を調べてコードを生成するのに役立ちます。 – JasonPlutext

+0

https://github.com/plutext/docx4j/tree/master/src/samples/pptx4j/org/pptx4j/samplesにあるさまざまなサンプルもご覧ください。 – JasonPlutext

答えて

1

私はあなたがその内部を見つけるRAR ZIP /を使用してファイルを開くと、私はあなたに一つのこと を提案したいと思い、XLSX、DOCXなどのオフィスファイルにPPT を多くの研究を行っていますファイル構造

Files 

_rels 
docProps 
ppt 

[CONTENT_TYPES] の.xmlこれらのフォルダにはファイルが含まれている通常のXML PPTであり、スライド内側のスライドに移動しますxmlファイル名があります。slide1..2..3.etc これらのファイルには、あなたのpptに入力するすべてのテキストがあります。 Javaコードを使用してXmlファイルをコンテンツ に置き換え、zipファイルに戻します。

それはそれです。 その100%私は何度もそれを実装しています。

**summary:** 

In java code just try this 
1.Rename your file extension from pptx to zip 
2.extract path ppt\slides\[yourslide].xml 
3.do your content replacement for the extracted xml file. 
4.Place it back into zip 
5.rename the file extension to pptx 

これは楽しいです!テキストを置き換えるために

に関して、 Kishan.c.s

関連する問題