Hola,
Me encuentro desarrollando en java y utilizando el API Odfdom para poder insertar campos de usuario en un documento vacío de Open Writer.
Sucede que al ingresarlos Open Writer no los detecta, quedan insertos en el archivo content.xml del archivo ODT, pero al ir al menú Insetar-> Campos -> Otros -> Predeterminaciones, no muestra los campos de usuario insertados.
Alguien sabe como dar de alta el nodo OdfUserFieldDecls en el documento? Aparentemente ese es el problema
Muchas gracias
Aqui esta el código:
OdfDocument doc = (OdfDocument) OdfDocument.loadDocument(pathODT);
OdfFileDom domContent = doc.getContentDom();
//Obtener los nombres de tags de XML del Documento Open Writer
XPath xpath;
xpath = XPathFactory.newInstance().newXPath();
xpath.setNamespaceContext(new OdfNamespace());
// Obtengo el objeto raiz del texto
Object obj = xpath.evaluate("//office:text", domContent, XPathConstants.NODE);
OdfText odfText = (OdfText) obj;
// Obtengo las declaraciones de campos
obj = xpath.evaluate("text:user-field-decls", odfText, XPathConstants.NODE);
OdfUserFieldDecls fieldDecls;
fieldDecls = domContent.createOdfElement(OdfUserFieldDecls.class);
odfText.appendChild(fieldDecls);
NodeList nodos = (NodeList) xpath.evaluate("/office:document-content/office:body/office:text//text:user-field-decl", domContent, XPathConstants.NODESET);
Node nodo;
String nombre;
// Inserto el nuevo ClaveAutenticacion
OdfUserFieldDecl fieldDecl = domContent.createOdfElement(OdfUserFieldDecl.class);
fieldDecl.setValueType(OdfValueType.STRING);
fieldDecl.setStringValue(claveAutenticacion);
fieldDecl.setName("ClaveAutenticacion");
fieldDecls.appendChild(fieldDecl);
Crear Campos de Usuario en Open Writer
Re: Crear Campos de Usuario en Open Writer
OOo no soporta campos extendidos es decir OOo modifica el ODF para tener solo un numero limitado de campos de usuarios. Puedes experimentar escribiendo el XML directamente.
Este libro explica bien la estructura de ODF, directamente los metadatos puedes ver su composicion.
Este libro explica bien la estructura de ODF, directamente los metadatos puedes ver su composicion.
Alexandro Colorado
http://es.openoffice.org
http://es.openoffice.org