Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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 如何使用ApachePOI和XSLFAPI剪裁PowerPoint图形_Java_Apache Poi - Fatal编程技术网

Java 如何使用ApachePOI和XSLFAPI剪裁PowerPoint图形

Java 如何使用ApachePOI和XSLFAPI剪裁PowerPoint图形,java,apache-poi,Java,Apache Poi,我试图通过使用ApachePOI的XSLFAPI实现org.Eclipse.Draw2D.Graphics将EclipseDraw2D图形转换为PowerPoint页面 ApachePOI的HSLFAPI支持类似的AWT绘图方法,使用HSLF类org.Apache.POI.HSLF.model.PPGraphics2D实现java.AWT.Graphics2D AWT和Draw2D的基本图形类都提供了剪裁后续图形的方法。这在绘制较大场景的一部分时非常有用 用于设置剪切区域的AWT图形方法的Apa

我试图通过使用ApachePOI的XSLFAPI实现
org.Eclipse.Draw2D.Graphics
将EclipseDraw2D图形转换为PowerPoint页面

ApachePOI的HSLFAPI支持类似的AWT绘图方法,使用HSLF类org.Apache.POI.HSLF.model.PPGraphics2D实现
java.AWT.Graphics2D

AWT和Draw2D的基本图形类都提供了剪裁后续图形的方法。这在绘制较大场景的一部分时非常有用

用于设置剪切区域的AWT图形方法的Apache POI实现是记录警告。这表明在PowerPoint页面中剪切任意图形可能是不可行的。此外,PowerPoint应用程序本身显然缺乏设置此类剪辑的控件

问题:

A) 在PowerPoint文档中剪切是否可行

B) 如果是这样,如何通过Apache POI请求剪辑?”

C) 如果没有,可能的解决办法是什么

注意事项:


在我的例子中,我有相邻的列,每个列都需要剪裁。在页边空白处放置大背景色矩形是不够的。

请查看
org.apache.poi.sl.draw.SLGraphics
-我可能在不久的将来删除PPGraphics2D类

A) 我认为这不是什么大问题,我已经做了一些基本的剪辑

B) 可能通过打开一个;)


C) 解决方法是扩展SLGraphics(最好)或PPGraphics2D,但基本上您需要在所有绘图调用中包括剪裁,即剪裁所有形状。

感谢您的帮助指导。我们主要使用的是矩形剪裁,这似乎很容易手动计算多边形。对文本还不太确定。我正在考虑,无论何时有任何剪辑或缩放,我都会举手,并向文档中添加位图图像,而不是基于向量的图像。您可以将文本转换为形状(也包括在链接的Graphics2D类中),并使用
Area.intersect()
剪辑任意形状。