我一直在从事一个需要以“信息亭”演示模式显示PPT文件的项目。 在PPTX文件中,我可以将其像zip文件一样提取并重写presProps.xml,其中包含诸如“ p:showPr useTimings =” 0“ p:present”之类的属性,并且可以通过重写“ p:present”来更改模式。改为“ p:kiosk”。 我刚刚发现我可以使用apache-poi OPCPackage来做到这一点。 (例如How do I edit the presProps.xml file with ApachePoi)
但是,在PPT文件中,我无法像上面那样进行操作。有什么方法可以更改PPT文件的显示模式。 还是可以使用apache-poi将PPT文件转换为PPTX文件,以便上述解决方案可以正常工作?
Thx。
答案 0 :(得分:1)
i=0
文件是以二进制文件格式存储的*.ppt
文件。这就是org.apache.poi.hslf的用途。入口点是HSLFSlideShow。
所有Office二进制格式的共同点是它们是PowerPoint
数据记录的流,用于描述文档。对于Record
,规范在这里:[MS-PPT]: PowerPoint (.ppt) Binary File Format。
根据您的要求,DocumentContainer设置了一个可选的SlideShowDocInfoAtom。可以设置PowerPoint
来设置信息亭模式。
可以使用F - fKioskMode (1 bit)
通过HSLFSlideShow.getDocumentRecord获得DocumentContainer
。但是随后apache poi
的支持终止了,因为apache poi
Record
直到现在还没有实现。
但是使用扩展了SlideShowDocInfoAtom
的自己的类SlideShowDocInfoAtom
,我们可以实现这一点。
示例:
RecordAtom