没有办法直接在 CF 中执行此操作。您可以通过使用底层 Java 来做到这一点。我站得更正了。使用<cfpresentation> 标签上的 showNotes 属性,应该将注释添加到 HTML。
作为替代方案,或者如果由于某种原因不起作用,您应该能够使用Apache POI来执行此操作,尽管您可能需要使用比您的 Coldfusion 版本提供的更新版本的 poi,这可能需要一些额外的工作。
public static LinkedList<String> getNotes(String filePath) {
LinkedList<String> results = new LinkedList<String>();
// read the powerpoint
FileInputStream fis = new FileInputStream(filePath);
SlideShow slideShow = new SlideShow(is);
fis.close();
// get the slides
Slide[] slides = ppt.getSlides();
// loop over the slides
for (Slide slide : slides) {
// get the notes for this slide.
Notes notes = slide.getNotesSheet();
// get the "text runs" that are part of this slide.
TextRun[] textRuns = notes.getTextRuns();
// build a string with the text from all the runs in the slide.
StringBuilder sb = new StringBuilder();
for (TextRun textRun : textRuns) {
sb.append(textRun.getRawText());
}
// add the resulting string to the results.
results.add(sb.toString());
}
return results;
}
继承复杂的格式可能是一个挑战(项目符号列表、粗体、斜体、链接、颜色等),因为您必须更深入地挖掘TextRun以及相关的 API 并弄清楚如何生成 HTML。