Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Apache POI更改.pptx文件中现有的自定义属性/属性_Java_Apache Poi_Powerpoint 2007_Hslf - Fatal编程技术网

Java 如何使用Apache POI更改.pptx文件中现有的自定义属性/属性

Java 如何使用Apache POI更改.pptx文件中现有的自定义属性/属性,java,apache-poi,powerpoint-2007,hslf,Java,Apache Poi,Powerpoint 2007,Hslf,我想使用Apache POI以编程方式更改.pptx文件的属性。我已经用Itext完成了.docx和.pdf。对于.pptx文件,建议的软件包XLSF没有任何方法来检索/更改.pptx文件的属性。相反,有很多方法可以检索幻灯片、数据等。有人能帮上忙吗??提前谢谢您会想看一下。从那里,你会看到它有一个方法。这将返回一个,它允许您获得OOXML文件(例如.pptx)具有的三种不同类型的属性-核心、扩展和自定义 接下来,您需要确定您想要更改的属性是什么类型的。假设您想更改标题(核心属性),您可以执行以

我想使用Apache POI以编程方式更改.pptx文件的属性。我已经用Itext完成了.docx和.pdf。对于.pptx文件,建议的软件包XLSF没有任何方法来检索/更改.pptx文件的属性。相反,有很多方法可以检索幻灯片、数据等。有人能帮上忙吗??提前谢谢

您会想看一下。从那里,你会看到它有一个方法。这将返回一个,它允许您获得OOXML文件(例如.pptx)具有的三种不同类型的属性-核心、扩展和自定义

接下来,您需要确定您想要更改的属性是什么类型的。假设您想更改标题(核心属性),您可以执行以下操作:

OPCPackage pkg = OPCPackage.open("input.pptx");
XSLFSlideShow slideshow = new XSLFSlideShow(pkg);

POIXMLProperties props = slideshow.getProperties();
CoreProperties cp = props.getCoreProperties();
cp.setTitle("I changed the title!");

FileOutputStream out = new FileOutputStream("output.pptx");
slideshow.write(out);
out.close();
pkg.close();