问题标签 [xslf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1841 浏览

java - 使用 POI XSLF 时如何创建 PPTX?

当我使用 POI XSLF 创建 PPTX 时,我得到一张空白幻灯片:

为什么幻灯片是空白的,没有任何文字?

0 投票
1 回答
3069 浏览

java - 如何使用 Apache POI 更新 XSLFTable(.pptx 演示文稿中的表格)?

我正在使用 Apache POI,并且正在尝试使用 Powerpoint 报告自动执行一些任务。更准确地说,我想从代码更新 .pptx 演示文稿中的数据,包括表格。

我设法获得了 XSLFTable 对象(感谢此页面:如何使用 apache-poi 3.9 修改 pptx 文件中表的单元格值?),但现在我正在尝试更新表结构。

不幸的是,我不知道如何在该表中创建或删除行(或列)。该方法getRows返回一个列表,但它似乎无法修改。有一种addRow方法,但我没有找到任何删除/删除行的方法。

你知道我怎么能做到这一点吗?

非常感谢,最好的问候!

0 投票
0 回答
615 浏览

java - 如何使用 Apache POI 刷新 pptx 中的嵌入内容?

亲爱的大家,

我正在使用 Apache POI,并且正在尝试使用 Powerpoint 报告自动执行一些任务。更准确地说,我想通过代码更新 .pptx 演示文稿中的数据,包括嵌入式 Excel 电子表格(显示为表格)。

到目前为止,我已经设法更新了嵌入的电子表格本身,但是 pptx 演示文稿没有“刷新”:当我打开文件时,旧值是可见的,但是当我双击网格时会显示新值(进入“编辑”模式)。

根据 Gagravarr 的评论这篇文章Unable to see Apache POI updated data value in pptx in pptx without editing,这种行为是意料之中的:底层文件确实被更新了,但预渲染的版本仍然存在。

因此,我想“刷新”预渲染版本:你知道我如何使用 Apache POI 做到这一点吗?(或者至少“zap”这个预渲染的版本,并希望当我打开幻灯片时 Powerpoint 会重新渲染它)。

我不熟悉 POI 用户列表档案,所以如果答案在某个地方,我很抱歉。非常感谢,最好的问候!

这是我当前的代码:

0 投票
2 回答
2033 浏览

java - 如何使用 apache POI 复制包含图表的幻灯片?

亲爱的大家,

我正在使用 Apache POI,我想复制一张幻灯片,其中包含来自代码的多个图表。

当幻灯片上没有图表时,下面的代码(受https://poi.apache.org/slideshow/xslf-cookbook.html#Merge启发)可以正常工作。

不幸的是,使用这种方法似乎无法复制图表:当我尝试打开生成的文件时,Powerpoint 检测到问题,尝试修复它,但失败了,我得到了空白幻灯片。

我检查了底层 XML 文件(使用 Open XML SDK),似乎图表本身(在文件夹/ppt/charts中)没有重复,并且关系文件(在文件夹/ppt/slides/_rels中)没有完全更新。

这是我当前的代码:

你知道我如何克隆一张幻灯片和它的图表吗?

非常感谢,最好的问候!

0 投票
0 回答
122 浏览

java - 如何在 Java 源代码中使用 TikaCLI 功能?

我正在尝试使用 Apache Tika 从办公文档中提取嵌入式文件。使用 Tika CLI (cmd),一切运行良好。但我必须将它集成到我在 Eclipse 中的 Java 源代码中。

所以我所做的是:

这实际上适用于每种文件类型,expect .pptx。当 inputfile 是一个 .pptx 文件时,它会产生很多错误。使用 cmd 也是如此。

有没有更好的方法来使用 Apache Tika CLI 的功能?我还尝试了ExtractEmbeddedFiles的示例代码,但不适用于嵌入式.ppt文件。

0 投票
1 回答
335 浏览

apache-poi - 尝试使用 Apache POI XSLF 设置填充颜色时出现 IllegalStateException

我正在尝试使用 Apache POI XSLF 库为 pptx 文件设置背景填充颜色。我的代码如下所示:

这导致

我试过在 SlideMaster 的背景、布局的背景和幻灯片的背景上调用它,都会导致相同的错误。

0 投票
1 回答
337 浏览

java - Apache POI XSLF 创建部分

我正在努力在 apache POI 中创建部分。我希望能够用幻灯片定义部分,我该如何做到这一点?到目前为止,我可以毫无问题地附加幻灯片。

以下是保存为 XML 的演示文稿的 PowerPoint 部分,您可以在其中查看这些部分的存储方式:

有谁知道如何在 Apache POI 中创建一个部分并将幻灯片附加到它?之后如何附加多个部分和单个幻灯片?任何帮助表示赞赏。

0 投票
1 回答
630 浏览

java - 如何在 poi ppt 中使用 java.awt.Dimension 中的 getImageDimensionInPixels() 获取图像大小?

我使用以下方法遍历 ppt 中的所有图片,

如文档中所述:文档 POI getImageDimensionInPixels()

如何使用此方法获取以像素或高度/长度为单位的图像大小?

0 投票
1 回答
1636 浏览

apache-poi - 打开 Apache POI 生成的 PPT 文件时出错

击中后出错打开ppt文件时出错

当用户单击我网站上的某个链接时,我正在使用 apache POI - XSLF 生成一个 powerpoint 演示文稿。我有一些表格,其中包含我的演示文件中的数据以及使用 jfreechart 生成的图像(折线图)。当我在我的机器上打开 PPTX 时,它似乎工作正常。但是,当我在另一台装有 powerpoint 2013 的机器上打开文件时,出现以下错误。

“powerpoint 发现内容存在问题 powerpoint 可以尝试修复演示文稿”。

我想摆脱这个错误。我在互联网上读到解决方案是“解锁”PowerPoint,这可以通过文件的属性部分完成。我想知道是否可以通过编程方式为我的用户抑制此错误。这个错误消息至少很烦人。

我的最后一个线程已被删除 - https://stackoverflow.com/questions/41163148/how-to-unblock-pptx-using-apache-poi

因此再次在这里重新创建这个线程。在 bugzilla 中还为 apache POI 输入了一个错误。错误 ID - 60633 ( https://bz.apache.org/bugzilla/show_bug.cgi?id=60633 )。

0 投票
1 回答
546 浏览

java - 错误:原因:java.lang.IllegalArgumentException:关系 null 不以此部分开头/ppt/slides/slide3.xml

我正在使用 apache poi xslf 导出 ppt 文件。首先,我有一个包含 3 张幻灯片的模板:标题幻灯片、摘要幻灯片和第三张幻灯片

我复制了第三张幻灯片(我将它作为模板),以便复制数据库中的许多数据/图形。

所以为了做到这一点:

我在行有一个错误:createdSlide.importContent(slides[2]);

PS:此代码与另一个模板一起工作得很好。我需要根据用户选择使用不同的模板。(模板存储在数据库中,因为我正在使用 liferay)。

我已经搜索了几个小时,但徒劳无功!我什至不明白错误是什么意思。

任何链接/帮助将不胜感激。