Копирование абзацев и фрагментов в PPTX
Копирование абзаца
Свойства абзаца могут быть доступны в экземпляре ParagraphFormat класса Paragraph. Нам нужно скопировать все свойства исходного абзаца в целевой абзац. В следующем примере методом CopyParagraph делается передача абзаца для копирования в качестве аргумента. Он копирует все свойства исходного абзаца во временный абзац и возвращает тот же. Целевой абзац получает скопированные значения.
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; | |
} |
Копирование фрагмента
Свойства фрагмента могут быть доступны в экземпляре PortionFormat класса Portion. Нам нужно скопировать все свойства исходного фрагмента в целевой фрагмент. В следующем примере методом CopyPortion делается передача фрагмента для копирования в качестве аргумента. Он копирует все свойства исходного фрагмента во временный фрагмент и возвращает тот же. Целевой фрагмент получает скопированные значения.
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; | |
} |