Copiar párrafo y porción en PPTX

Copiando un Párrafo

Las propiedades del Párrafo pueden ser accedidas en la instancia ParagraphFormat de la clase Pargraph. Necesitamos copiar todas las propiedades del párrafo fuente al párrafo objetivo. En el siguiente ejemplo, se comparte el método CopyParagraph que toma el párrafo a ser copiado como argumento. Copia todas las propiedades del párrafo fuente a un párrafo temporal y devuelve el mismo. El párrafo objetivo recibe los valores copiados.

public static void main(String[] args){
//Function Call
IParagraph newPara=CopyParagraph(SourcePara);
}
//Function Definition
public static IParagraph CopyParagraph(IParagraph par)
{
Paragraph temp = new Paragraph();
// use CreateParagraphFormatData !!!
IParagraphFormatEffectiveData paraData = par.createParagraphFormatEffective();
// use ParagraphFormat to set values
temp.getParagraphFormat().setAlignment(paraData.getAlignment());
temp.getParagraphFormat().setDefaultTabSize(paraData.getDefaultTabSize());
temp.getParagraphFormat().setMarginLeft(paraData.getMarginLeft());
temp.getParagraphFormat().setMarginRight(paraData.getMarginRight());
temp.getParagraphFormat().setFontAlignment(paraData.getFontAlignment());
temp.getParagraphFormat().setIndent(paraData.getIndent());
temp.getParagraphFormat().setDepth(paraData.getDepth());
temp.getParagraphFormat().setSpaceAfter(paraData.getSpaceAfter());
temp.getParagraphFormat().setSpaceBefore(paraData.getSpaceBefore());
temp.getParagraphFormat().setSpaceWithin(paraData.getSpaceWithin());
temp.getParagraphFormat().getBullet().setChar(paraData.getBullet().getChar());
temp.getParagraphFormat().getBullet().setHeight(paraData.getBullet().getHeight());
temp.getParagraphFormat().getBullet().setFont(paraData.getBullet().getFont());
temp.getParagraphFormat().getBullet().setNumberedBulletStyle(paraData.getBullet().getNumberedBulletStyle());
temp.getParagraphFormat().setFontAlignment(paraData.getFontAlignment());
return temp;
}

Copiando una Porción

Las propiedades de la Porción pueden ser accedidas en la instancia PortionFormat de la clase Porción. Necesitamos copiar todas las propiedades de la porción fuente a la porción objetivo. En el siguiente ejemplo, se comparte el método CopyPortion que toma la porción a ser copiada como argumento. Copia todas las propiedades de la porción fuente a una porción temporal y devuelve la misma. La porción objetivo recibe los valores copiados.

public static void main(String[] args){
//Function Call
IPortion newPortion=CopyPortion(SourcePortion);
}
//Function Definition
public static IPortion CopyPortion(IPortion por)
{
Portion temp = new Portion();
//use CreatePortionFormatData!!!
IPortionFormatEffectiveData portData = por.createPortionFormatEffective();
// use PortionFormat to set values
temp.getPortionFormat().setAlternativeLanguageId(portData.getAlternativeLanguageId());
temp.getPortionFormat().setBookmarkId(portData.getBookmarkId());
temp.getPortionFormat().setEscapement(portData.getEscapement());
temp.getPortionFormat().getFillFormat().setFillType(por.getPortionFormat().getFillFormat().getFillType());
temp.getPortionFormat().getFillFormat().getSolidFillColor().setColor(portData.getFillFormat().getSolidFillColor());
if(portData.getFontBold() == true)
temp.getPortionFormat().setFontBold(NullableBool.True);
else
temp.getPortionFormat().setFontBold(NullableBool.False);
temp.getPortionFormat().setFontHeight(portData.getFontHeight());
if(portData.getFontItalic() == true)
temp.getPortionFormat().setFontItalic(NullableBool.True);
else
temp.getPortionFormat().setFontItalic(NullableBool.False);
temp.getPortionFormat().setFontUnderline(portData.getFontUnderline());
temp.getPortionFormat().getUnderlineFillFormat().setFillType(portData.getUnderlineFillFormat().getFillType());
temp.getPortionFormat().getUnderlineFillFormat().getSolidFillColor().setColor(portData.getUnderlineFillFormat().getSolidFillColor());
if(portData.isHardUnderlineFill() == true)
temp.getPortionFormat().isHardUnderlineFill(NullableBool.True);
else
temp.getPortionFormat().isHardUnderlineFill(NullableBool.False);
if(portData.isHardUnderlineLine() == true)
temp.getPortionFormat().isHardUnderlineLine(NullableBool.True);
else
temp.getPortionFormat().isHardUnderlineLine(NullableBool.False);
if(portData.getKumimoji() == true)
temp.getPortionFormat().setKumimoji(NullableBool.True);
else
temp.getPortionFormat().setKumimoji(NullableBool.False);
temp.getPortionFormat().setKerningMinimalSize(portData.getKerningMinimalSize());
temp.getPortionFormat().setLanguageId(portData.getLanguageId());
temp.getPortionFormat().setLatinFont(portData.getLatinFont());
temp.getPortionFormat().setEastAsianFont(portData.getEastAsianFont());
temp.getPortionFormat().setComplexScriptFont(portData.getComplexScriptFont());
temp.getPortionFormat().setSymbolFont(portData.getSymbolFont());
temp.getPortionFormat().setTextCapType(portData.getTextCapType());
temp.getPortionFormat().setSpacing(portData.getSpacing());
temp.getPortionFormat().setStrikethroughType(portData.getStrikethroughType());
if(portData.getProofDisabled() == true)
temp.getPortionFormat().setProofDisabled(NullableBool.True);
else
temp.getPortionFormat().setProofDisabled(NullableBool.False);
if(portData.getNormaliseHeight() == true)
temp.getPortionFormat().setNormaliseHeight(NullableBool.True);
else
temp.getPortionFormat().setNormaliseHeight(NullableBool.False);
temp.getPortionFormat().setHyperlinkMouseOver(portData.getHyperlinkMouseOver());
temp.getPortionFormat().setHyperlinkClick(por.getPortionFormat().getHyperlinkClick());
temp.getPortionFormat().getHighlightColor().setColor(portData.getHighlightColor());
return temp;
}