首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Java替换PowerPoint中的文本?

如何使用Java替换PowerPoint中的文本?
EN

Stack Overflow用户
提问于 2018-05-28 23:56:00
回答 2查看 0关注 0票数 0

我的代码:

代码语言:javascript
复制
public static void main(String[] args) throws IOException, Docx4JException, Pptx4jException, JAXBException  
{
      String inputfilepath = "C:\\Work\\SampleTemplate.pptx"; 
      PresentationMLPackage pptPackage
          = PresentationMLPackage.load(new File(inputfilepath));
      ThemePart themeSlidePart = (ThemePart) 
          pptPackage.getParts().getParts().get(new PartName("/ppt/theme/theme1.xml"));
      Theme themeOfSlides = (Theme)themeSlidePart.getJaxbElement();                     
      SlidePart slide = pptPackage.getMainPresentationPart().getSlide(0);
      HashMap h = new HashMap<String, String>();
      h.put("SlideTitleName", "SARANYA");
      slide.variableReplace(h);
      String outputfilepath = "C:\\Work\\24Jan2018_CheckOut\\dhl\\PPT-TRAILS\\SampleTemplate.pptx";
      PresentationMLPackage pptPackagetoApply
          = PresentationMLPackage.load(new File(outputfilepath));
      ThemePart themeSlidePartToApply
          = (ThemePart) pptPackagetoApply.getParts().getParts()
              .get(new PartName("/ppt/theme/theme1.xml"));
      themeSlidePartToApply.setJaxbElement(themeOfSlides);
      SaveToZipFile saver = new SaveToZipFile(pptPackagetoApply);
      saver.save(outputfilepath);
}

但文字仍未被取代。我尝试了一个新的PPTX文件,其中只有文本“$ {SlideTitleName}”。但仍然无法正常工作。

EN

回答 2

Stack Overflow用户

发布于 2018-05-29 07:59:50

票数 0
EN

Stack Overflow用户

发布于 2018-05-29 09:18:14

以下代码取代了所有的字符串值,但在VariableReplace()中它只接受String。

1)有没有办法取代Integer的值

2)我想在本地下载文件,但我的下面的代码下载文件都在我的服务器路径和本地文件downaload发生但显示空ppt。

代码语言:javascript
复制
  String outputfilepath = projectName +"_"+ reportId+".pptx";
  PresentationMLPackage ppt = (PresentationMLPackage) OpcPackage
            .load(inputfilepath);


if (save) {
        SaveToZipFile saver = new SaveToZipFile(ppt);
        saver.save(new FileOutputStream(outputfilepath));
        response.setContentType("application/ppt");
        response.setHeader("Content-Disposition", "attachment;filename="+ outputfilepath);
        System.out.println("Saved");
    }

请问为什么会报错?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档