我想用Apache POI获取我的PowerPoint的图像名称,但不正确,它总是“image1.jpeg”(或不同的数字)
js prettyprint-override">ppt.getPictureData().forEach(xslfPictureData - > {
String filename = xslfPictureData.getFileName();
});
要自定义图像的名称,我转到“选择面板”。自定义图像名称
不是有办法弄个图像名或者id吗
< code > XML slide show . getpicturedata 从幻灯片放映中获取所有嵌入的图片。但是为了在幻灯片上显示这些图片,它们被放置在幻灯片上的图片形状中。
链接图像显示的是幻灯片上图片形状的名称。这与嵌入图片文件的文件名不同。嵌入图片文件的文件名为image1.*
、image2.*
、…
。幻灯片上图片形状的名称可以自定义。
要获取这些XSLFPicture Shape
,需要遍历幻灯片的形状并检查是否有XSLFPicture Shape
。
到目前为止,apache poi
还没有提供从 XSLF 图标形状
中获取名称的方法。因此,如果需要,需要使用底层CT
对象来获取名称。
以下完整示例对此进行了说明。
import java.io.FileInputStream;
import org.apache.poi.xslf.usermodel.*;
import org.openxmlformats.schemas.drawingml.x2006.main.*;
import org.openxmlformats.schemas.presentationml.x2006.main.*;
public class PPTXGetPictureShapes {
static String getName(XSLFPictureShape pictureShape) {
String name = null;
org.apache.xmlbeans.XmlObject xmlObject = pictureShape.getXmlObject();
if (xmlObject instanceof CTPicture) {
CTPicture ctPicture = (CTPicture)xmlObject;
CTPictureNonVisual nvSpPr = ctPicture.getNvPicPr();
if (nvSpPr != null) {
CTNonVisualDrawingProps cnv = nvSpPr.getCNvPr();
if (cnv != null) {
name = cnv.getName();
}
}
}
return name;
}
public static void main(String[] args) throws Exception {
XSLFSlideShowFactory factory = new XSLFSlideShowFactory();
XMLSlideShow slideShow = factory.create(new FileInputStream("./PPTXPresentation.pptx"));
for (XSLFSlide slide : slideShow.getSlides()) {
System.out.println(slide);
for (XSLFShape shape : slide.getShapes()) {
System.out.println(shape);
if (shape instanceof XSLFPictureShape) {
XSLFPictureShape pictureShape = (XSLFPictureShape)shape;
String pictureShapeName = getName(pictureShape);
System.out.println(pictureShapeName);
}
}
}
}
}
顺便说一句:如果你有XSLFPicture Shape,你也可以从中获取XSLFPicture Data
来获取嵌入图片的字节数据。所以不需要XMLSlideShow.getPictureData
。
问题内容: 我有一个表格可以 浏览并选择一个文件。 我要做的是在选择图像后立即显示该图像。而且这是在按下表单上的“提交”按钮之前,因此图像几乎可以肯定位于客户端。能做到吗? 问题答案: 干得好: HTML 脚本:
作为程序的一部分,我需要显示属于一个文件夹(JPG文件)的图像。为此,我有以下代码: 如果我在移动文件管理器中浏览该文件,并打开该文件,它是正确的显示,所以,图像格式没有问题。此外,该图像是用相机拍摄的,与其他正确解码的图像相同。 如何解决这个问题,或者,有没有替代的方法来做到这一点?
我正在创建一个Zend Framework应用程序,用户可以在其中上载配置文件图像。可接受的文件类型为png、jpg和gif。图像最终被存储为用户id和文件扩展名。 我想知道的是,假设用户上传png或gif文件,将文件扩展名更改为jpg是否安全? 这样,所有的配置文件图像都将具有相同的文件扩展名,我只是不确定这样更改文件类型是否是一个好主意。
问题内容: 我正在使用Flask,一个适用于Python的网络框架。Flask使用Jinja渲染模板。我不知道Jinja Flask使用哪个版本,也不知道如何检索Jinja版本或Flask版本。我使用python版本2.7。 该模板在css / image目录中包含一个图像。直接在Firefox浏览器中以文件形式查看模板时,此图像可见。 但是在执行Flask时不是: HTML文件的内容: 模板运行
因此,我在eclipse中创建了一个java应用程序,并使用javafx,然后将其导出到一个可运行的jar文件中。但是,当我运行我的。jar文件时,它会给出找不到我的图像的错误。当我在Eclipse内运行时,它工作得非常好。 在UserPane中,我有一个函数将图像名作为“title”并返回ImageView: 我尝试过一些解决方案,但它不会在Eclipse中运行。我需要它在eclipse和.ja
我有一个netbeansjavagui项目。它包含用于图像的java文件和文件夹。我的项目中最重要的一部分是通过单击按钮来显示图像,比如说单击“下一步”按钮。当我点击“下一步”按钮时,图像将从IMG文件夹中逐个显示。我将图像放在标签中,如下所示: 我运行了这个程序,到目前为止,它可以按照我的要求工作。 然后,我需要将项目创建到一个jar文件中。我使用Netbeans和这个来创建我的项目的JAR文件