错误 :-
警告:发生了非法反射访问操作警告:com.aspose.slides.ms.core.System.Drawing.imagecodecs.jpeg.oracle.OracleJpegImageReader 的非法反射访问(文件:/home/prdxn70/.m2/repository/com /aspose/aspose-slides/19.7/aspose-slides-19.7-jdk16.jar) 到字段 com.sun.imageio.plugins.jpeg.JPEGImageReader.colorSpaceCode 警告:请考虑将此报告给 com.aspose.slides 的维护者。 ms.core.System.Drawing.imagecodecs.jpeg.oracle.OracleJpegImageReader 警告:使用 --illegal-access=warn 启用对进一步非法反射访问操作的警告 警告:所有非法访问操作将在未来版本中被拒绝
问题 1:我创建了 pptx,并且在一张幻灯片中有 2 个相同的图像。当我试图替换一个图像时,图像都被替换并且它抛出了警告消息。
问题 2:我创建了 pptx 并且它有 2 个图像,一段时间后我在第 2 个位置添加了第 3 个图像,我正在尝试替换它。它正在替换第三个位置的图像。
我正在尝试下面的代码..
public static void main(String[] args) throws FileNotFoundException {
String dataDir = "/home/prdxn70/eclipse-workspace/ppt/src/main/resources/com/demo/ppt/App/";
try {
//Instantiate the presentation
Presentation presentation = new Presentation(dataDir + "two.pptx");
//Read image from source
File file = new File(dataDir + "img2.png");
byte[]data = new byte[(int) file.length()];
InputStream inputStream = null;
try {
inputStream = new FileInputStream(file);
inputStream.read(data);
// Instantiate SlideCollection calss ISlideCollection slds =
presentation.getSlides(); // Get the first slide ISlide sld = (ISlide)
presentation.getSlides().get_Item(0);
} finally {
inputStream.close();
}
//Code for replace Image
IPPImage oldImage = presentation.getImages().get_Item(0);
System.out.println(oldImage);
oldImage.replaceImage(data);
//Save the presentation
presentation.save(dataDir + "HelloWorld.pptx", SaveFormat.Pptx);
} catch (Exception e) {
System.out.println(e);
}
pptx链接:-
https://drive.google.com/open?id=15NSxAHi311q8Hg3lJn4i8HrOkYOg_THT