Bugzilla 51564 - support for enforcing fields update in XWPF
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1295078 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e8368bedf1
commit
5baa7440aa
@ -34,6 +34,8 @@
|
|||||||
|
|
||||||
<changes>
|
<changes>
|
||||||
<release version="3.8-beta6" date="2012-??-??">
|
<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">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="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>
|
<action dev="poi-developers" type="fix">52784 - replace ISO control characters with question marks in SXSSF to be consistent with XSSF </action>
|
||||||
|
@ -974,6 +974,10 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
|
|||||||
return settings.isEnforcedWith(STDocProtect.TRACKED_CHANGES);
|
return settings.isEnforcedWith(STDocProtect.TRACKED_CHANGES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEnforcedUpdateFields() {
|
||||||
|
return settings.isUpdateFields();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enforces the readOnly protection.<br/>
|
* Enforces the readOnly protection.<br/>
|
||||||
* In the documentProtection tag inside settings.xml file, <br/>
|
* In the documentProtection tag inside settings.xml file, <br/>
|
||||||
@ -1047,6 +1051,22 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
|
|||||||
settings.removeEnforcement();
|
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
|
* inserts an existing XWPFTable to the arrays bodyElements and tables
|
||||||
* @param pos
|
* @param pos
|
||||||
|
@ -30,6 +30,7 @@ import org.apache.poi.openxml4j.opc.PackagePart;
|
|||||||
import org.apache.poi.openxml4j.opc.PackageRelationship;
|
import org.apache.poi.openxml4j.opc.PackageRelationship;
|
||||||
import org.apache.xmlbeans.XmlOptions;
|
import org.apache.xmlbeans.XmlOptions;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocProtect;
|
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.CTSettings;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTZoom;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTZoom;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STDocProtect;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STDocProtect;
|
||||||
@ -147,6 +148,28 @@ public class XWPFSettings extends POIXMLDocumentPart {
|
|||||||
safeGetDocumentProtection().setEnforcement(STOnOff.X_0);
|
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
|
@Override
|
||||||
protected void commit() throws IOException {
|
protected void commit() throws IOException {
|
||||||
if (ctSettings == null) {
|
if (ctSettings == null) {
|
||||||
|
@ -137,4 +137,11 @@ public class TestDocumentProtection extends TestCase {
|
|||||||
assertTrue(document.isEnforcedCommentsProtection());
|
assertTrue(document.isEnforcedCommentsProtection());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testUpdateFields() throws Exception {
|
||||||
|
XWPFDocument doc = new XWPFDocument();
|
||||||
|
assertFalse(doc.isEnforcedUpdateFields());
|
||||||
|
doc.enforceUpdateFields();
|
||||||
|
assertTrue(doc.isEnforcedUpdateFields());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user