1735550496616.png (5.7 KB)
想问下,如何对图中这些样式标签的获取和设置,主要使用了iGradientFormat和IFillFormat,但是不太明白这些标签对应的啥
要获取和设置PPTX中样式标签的相关信息,您可以使用IGradientFormat
和IFillFormat
接口。以下是一些关键点,帮助您理解这些标签的对应关系及其用法:
样式标签的获取:
IBulletFormatEffectiveData
接口可以获取项目符号的类型和填充格式。样式标签的设置:
IGradientFormat
接口来设置渐变的停止点和颜色。每个停止点都有一个位置和颜色属性,您可以通过这些属性来定义渐变效果。以下是一个示例代码,展示如何获取和设置项目符号的填充格式:
Presentation pres = new Presentation("your_presentation.pptx");
AutoShape autoShape = (AutoShape) pres.getSlides().get_Item(0).getShapes().get_Item(0);
for (IParagraph para : autoShape.getTextFrame().getParagraphs()) {
IBulletFormatEffectiveData bulletFormatEffective = para.getParagraphFormat().getBullet().getEffective();
if (bulletFormatEffective.getType() != BulletType.None) {
// 获取填充类型
FillType fillType = bulletFormatEffective.getFillFormat().getFillType();
if (fillType == FillType.Gradient) {
// 获取渐变信息
IGradientFormat gradientFormat = bulletFormatEffective.getFillFormat().getGradientFormat();
for (IGradientStopEffectiveData gradStop : gradientFormat.getGradientStops()) {
System.out.println("位置: " + gradStop.getPosition() + ", 颜色: " + gradStop.getColor());
}
}
}
}
通过上述代码,您可以获取到项目符号的填充格式,并根据需要进行设置。希望这些信息能帮助您更好地理解和使用Aspose.Slides中的样式标签。
如果您有更具体的问题或需要进一步的帮助,请随时询问!
@maochen,
我们已在内部问题跟踪系统中创建了以下新工单,并将根据 Free Support Policies 中提到的条款考虑您的问题。
Issue ID(s): SLIDESJAVA-39611
如果您需要优先支持,可以访问 Paid Support Services,并直接联系付费支持管理团队。
找到方法了,iGradientFormat.getGradientStops().get_Item(0).getColor().getColorTransform().get_Item(0).getOperationType()和.getParameter()可以获取gradient内的属性,并且设置
<a:ln>
此属性与 LineFormat
有关:
IAutoShape shape;
...
shape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
<a:lumMod>
<a:lumOff>
<a:alpha>
这些属性应与 ColorTransformation
相关:
IAutoShape shape;
ITextFrame textFrame = shape.getTextFrame();
IPortionFormat portionFormat = textFrame.getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat();
...
IColorOperationCollection colorTransform = portionFormat.getFillFormat().getGradientFormat().getGradientStops().get_Item(0).getColor().getColorTransform();
for (IColorOperation colorOperation : colorTransform)
{
System.out.println(colorOperation.getOperationType() + " : " + colorOperation.getParameter());
}
<a:effectLst>
此属性应与 3DFormat
相关:
IAutoShape shape;
ITextFrame textFrame = shape.getTextFrame();
IPortionFormat portionFormat = textFrame.getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat();
...
portionFormat.getEffectFormat().enableOuterShadowEffect();
portionFormat.getEffectFormat().getOuterShadowEffect().getShadowColor().setColor(Color.BLACK);
portionFormat.getEffectFormat().getOuterShadowEffect().setScaleHorizontal(100);
portionFormat.getEffectFormat().getOuterShadowEffect().setScaleVertical(65);
portionFormat.getEffectFormat().getOuterShadowEffect().setBlurRadius(4.73);
portionFormat.getEffectFormat().getOuterShadowEffect().setDirection(230);
portionFormat.getEffectFormat().getOuterShadowEffect().setDistance(2);
portionFormat.getEffectFormat().getOuterShadowEffect().setSkewHorizontal(30);
portionFormat.getEffectFormat().getOuterShadowEffect().setSkewVertical(0);
portionFormat.getEffectFormat().getOuterShadowEffect().getShadowColor().getColorTransform().add(ColorTransformOperation.SetAlpha, 0.32f);
uFillTx
uLnTx
这些属性来自另一个文档(Word、Excel、PowerPoint),因为它们的末尾带有 Tx
。它们描述了下划线继承的规则。
IAutoShape shape;
ITextFrame textFrame = shape.getTextFrame();
IPortionFormat portionFormat = textFrame.getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat();
...
portionFormat.setFontUnderline(TextUnderlineType.NotDefined);