<changes>
<release version="3.8-beta6" date="2012-??-??">
+ <action dev="poi-developers" type="add">support setting background color of sheet tab in XSSF</action>
+ <action dev="poi-developers" type="add">51564 - support for enforcing fields update in XWPF</action>
<action dev="poi-developers" type="add">51673 - support grouping rows in SXSSF</action>
<action dev="poi-developers" type="add">51780 - support replacement of content types in OPC packages </action>
<action dev="poi-developers" type="fix">52784 - replace ISO control characters with question marks in SXSSF to be consistent with XSSF </action>
return settings.isEnforcedWith(STDocProtect.TRACKED_CHANGES);
}
+ public boolean isEnforcedUpdateFields() {
+ return settings.isUpdateFields();
+ }
+
/**
* Enforces the readOnly protection.<br/>
* In the documentProtection tag inside settings.xml file, <br/>
settings.removeEnforcement();
}
+ /**
+ * Enforces fields update on document open (in Word).
+ * In the settings.xml file <br/>
+ * sets the updateSettings value to true (w:updateSettings w:val="true")
+ *
+ * NOTICES:
+ * <ul>
+ * <li>Causing Word to ask on open: "This document contains fields that may refer to other files. Do you want to update the fields in this document?"
+ * (if "Update automatic links at open" is enabled)</li>
+ * <li>Flag is removed after saving with changes in Word </li>
+ * </ul>
+ */
+ public void enforceUpdateFields() {
+ settings.setUpdateFields();
+ }
+
/**
* inserts an existing XWPFTable to the arrays bodyElements and tables
* @param pos
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.xmlbeans.XmlOptions;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocProtect;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTOnOff;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSettings;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTZoom;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STDocProtect;
safeGetDocumentProtection().setEnforcement(STOnOff.X_0);
}
+ /**
+ * Enforces fields update on document open (in Word).
+ * In the settings.xml file <br/>
+ * sets the updateSettings value to true (w:updateSettings w:val="true")
+ *
+ * NOTICES:
+ * <ul>
+ * <li>Causing Word to ask on open: "This document contains fields that may refer to other files. Do you want to update the fields in this document?"
+ * (if "Update automatic links at open" is enabled)</li>
+ * <li>Flag is removed after saving with changes in Word </li>
+ * </ul>
+ */
+ public void setUpdateFields() {
+ CTOnOff onOff = CTOnOff.Factory.newInstance();
+ onOff.setVal(STOnOff.TRUE);
+ ctSettings.setUpdateFields(onOff);
+ }
+
+ boolean isUpdateFields() {
+ return ctSettings.isSetUpdateFields() && ctSettings.getUpdateFields().getVal() == STOnOff.TRUE;
+ }
+
@Override
protected void commit() throws IOException {
if (ctSettings == null) {
assertTrue(document.isEnforcedCommentsProtection());
}
+ public void testUpdateFields() throws Exception {
+ XWPFDocument doc = new XWPFDocument();
+ assertFalse(doc.isEnforcedUpdateFields());
+ doc.enforceUpdateFields();
+ assertTrue(doc.isEnforcedUpdateFields());
+ }
+
}