pptx (source.pptx) からいくつかのスライドをコピーし、スライドで使用できるプレゼンテーション ノートに基づいて別の pptx ファイル (output.pptx) としてダウンロードする必要があるシナリオがあります。私はそれを達成するためにapache poiを使用しています。これは私のコードです。
String filename = filepath+"\\source.pptx";
try {
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(filename));
XMLSlideShow outputppt = new XMLSlideShow();
XSLFSlide[] slides = ppt.getSlides();
for (int i = 0; i < slides.length; i++) {
try {
XSLFNotes mynotes = slides[i].getNotes();
for (XSLFShape shape : mynotes) {
if (shape instanceof XSLFTextShape) {
XSLFTextShape txShape = (XSLFTextShape) shape;
for (XSLFTextParagraph xslfParagraph : txShape.getTextParagraphs()) {
if (xslfParagraph.getText().equals("NOTES1") || xslfParagraph.getText().equals("NOTES2")) {
outputppt.createSlide().importContent(slides[i]);
}
}
}
}
} catch (Exception e) {
}
}
FileOutputStream out = new FileOutputStream("output.pptx");
outputppt.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
作成された output.pptx を開くと、次のエラーが表示されます。
修復をクリックすると: 「PowerPoint は、merged.pptx の判読できないコンテンツを削除しました [修復済み]。コンテンツが予期せず変更または削除されたかどうかを判断するには、このプレゼンテーションを確認する必要があります」字幕追加」
この問題を解決するための提案はありますか?