/* * Decompiled with CFR 0.152. * * Could not load the following classes: * javax.xml.bind.JAXBElement * org.apache.commons.lang3.StringUtils * org.docx4j.TextUtils * org.docx4j.TraversalUtil$CallbackImpl * org.docx4j.mce.AlternateContent * org.docx4j.mce.AlternateContent$Fallback * org.docx4j.openpackaging.packages.WordprocessingMLPackage * org.docx4j.vml.CTGroup * org.docx4j.vml.CTRoundRect * org.docx4j.vml.CTShape * org.docx4j.vml.CTTextbox * org.docx4j.vml.VmlShapeElements * org.docx4j.wml.CTTxbxContent * org.docx4j.wml.ObjectFactory * org.docx4j.wml.Pict * org.docx4j.wml.R * org.docx4j.wml.Text * org.slf4j.Logger * org.slf4j.LoggerFactory */ package com.jby.officecore.utils.finder; import com.jby.officecore.domain.bo.ParseBO; import java.util.List; import javax.xml.bind.JAXBElement; import org.apache.commons.lang3.StringUtils; import org.docx4j.TextUtils; import org.docx4j.TraversalUtil; import org.docx4j.mce.AlternateContent; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.vml.CTGroup; import org.docx4j.vml.CTRoundRect; import org.docx4j.vml.CTShape; import org.docx4j.vml.CTTextbox; import org.docx4j.vml.VmlShapeElements; import org.docx4j.wml.CTTxbxContent; import org.docx4j.wml.ObjectFactory; import org.docx4j.wml.Pict; import org.docx4j.wml.R; import org.docx4j.wml.Text; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CtTextBoxFinder extends TraversalUtil.CallbackImpl { private static final Logger log = LoggerFactory.getLogger(CtTextBoxFinder.class); private WordprocessingMLPackage wordMlPackage; private ParseBO parseBO; public CtTextBoxFinder(WordprocessingMLPackage wordMlPackage, ParseBO parseBO) { this.wordMlPackage = wordMlPackage; this.parseBO = parseBO; } public List apply(Object o) { if (o instanceof Pict) { boolean isFirstRun = true; ObjectFactory factory = new ObjectFactory(); StringBuilder stringBuilder = new StringBuilder(); R sourceR = factory.createR(); Pict pict = (Pict)o; List anyAndAny = pict.getAnyAndAny(); for (Object object : anyAndAny) { if (!(object instanceof JAXBElement)) continue; JAXBElement jbe = (JAXBElement)object; this.findTextBox(jbe.getValue(), stringBuilder, isFirstRun, sourceR); } if (StringUtils.isNotBlank((CharSequence)stringBuilder.toString())) { AlternateContent.Fallback fallback = (AlternateContent.Fallback)pict.getParent(); AlternateContent alternateContent = (AlternateContent)fallback.getParent(); R r = (R)alternateContent.getParent(); Text text = factory.createText(); text.setValue(stringBuilder + "JBY_TEXTBOX_JBY"); r.getContent().set(0, text); r.setRPr(sourceR.getRPr()); } } return null; } private void findTextBox(Object object, StringBuilder sb, boolean isFirstRun, R sourceR) { block8: { List egShapeElements; if (object instanceof CTShape || object instanceof CTRoundRect) { VmlShapeElements vmlShapeElements = (VmlShapeElements)object; egShapeElements = vmlShapeElements.getEGShapeElements(); for (JAXBElement egShapeElement : egShapeElements) { if (!(egShapeElement.getValue() instanceof CTTextbox)) continue; CTTextbox ctTextbox = (CTTextbox)egShapeElement.getValue(); CTTxbxContent txbxContent = ctTextbox.getTxbxContent(); for (int i = 0; i < txbxContent.getContent().size(); ++i) { Object obj = txbxContent.getContent().get(i); String text = TextUtils.getText(obj); if (txbxContent.getContent().size() > 1 && i != txbxContent.getContent().size() - 1) { text = text + "JBY_TEXTBOX_JBYBR"; } sb.append(text); } } } if (!(object instanceof CTGroup)) break block8; CTGroup ctGroup = (CTGroup)object; egShapeElements = ctGroup.getEGShapeElements(); boolean isCtShape = egShapeElements.stream().anyMatch(f -> f.getValue() instanceof CTShape); if (isCtShape) { for (int i = egShapeElements.size() - 1; i >= 0; --i) { this.findTextBox(((JAXBElement)egShapeElements.get(i)).getValue(), sb, isFirstRun, sourceR); } } else { for (JAXBElement egShapeElement : egShapeElements) { this.findTextBox(egShapeElement.getValue(), sb, isFirstRun, sourceR); } } } } }