Document samples
Aspectos básicos
Sección titulada «Aspectos básicos»Ejemplo de código sugerido
Sección titulada «Ejemplo de código sugerido»Primero debe crear el objeto webservice:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);A continuación, debe iniciar sesión mediante el método “login”. Puede acceder al método “login” desde el objeto webservice “ws”, tal y como se muestra a continuación:
ws.login(user, password);Llegados a este punto puedes usar todos los métodos de Document desde la clase “document” como se muestra a continuación:
ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is);Métodos
Sección titulada «Métodos»createDocument
Sección titulada «createDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createDocument(String uuid, String name, InputStream is) | Document | Crea un nuevo documento. Devuelve un objeto Document con las propiedades del documento creado. |
- El valor del parámetro uuid debe ser el UUID de un nodo carpeta o expediente.
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png"); Document doc = ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is); System.out.println(doc); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}createDocument
Sección titulada «createDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createDocument(String uuid, String name, InputStream is, long nodeClass) | Document | Crea un nuevo documento con nodeClass. Devuelve un objeto Document con las propiedades del documento creado. |
- El valor del parámetro uuid debe ser el UUID de un nodo carpeta o expediente.
- El parámetro nodeClass debe ser un valor de tipo de negocio (series) válido. Un nodeClass con valor 0 significa que no hay ningún tipo de negocio (series) seleccionado.
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png"); long nodeClass = 0; Document doc = ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is, nodeClass); System.out.println(doc); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}deleteDocument
Sección titulada «deleteDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteDocument(String uuid) | void | Elimina un documento. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.deleteDocument("1ec49da9-1746-4875-ae32-9281d7303a62"); } catch (Exception e) { e.printStackTrace(); } }}getDocumentProperties
Sección titulada «getDocumentProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getDocumentProperties(String uuid) | Document | Devuelve las propiedades del documento. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println(ws.document.getDocumentProperties("1ec49da9-1746-4875-ae32-9281d7303a62")); } catch (Exception e) { e.printStackTrace(); } }}getContent
Sección titulada «getContent»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getContent(String uuid) | InputStream | Recupera el contenido del documento (datos binarios) de la versión actual del documento. |
Ejemplo:
package com.openkm;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); OutputStream fos = new FileOutputStream("/home/openkm/logo.png"); InputStream is = ws.document.getContent("1ec49da9-1746-4875-ae32-9281d7303a62"); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}getContentByVersion
Sección titulada «getContentByVersion»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getContentByVersion(String uuid, String versionName) | InputStream | Recupera el contenido (datos binarios) de un documento a partir de una versión concreta. |
Ejemplo:
package com.openkm;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); OutputStream fos = new FileOutputStream("/home/openkm/logo.png"); InputStream is = ws.document.getContentByVersion("/okm:root/logo.png", "1.1"); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}getDocumentChildren
Sección titulada «getDocumentChildren»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getDocumentChildren(String fldId) | List |
Devuelve una lista de todos los documentos cuyo padre es fldId. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (Document doc : ws.document.getDocumentChildren("1be884f4-5758-4985-94d1-f18bfe004db8")) { System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}renameDocument
Sección titulada «renameDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| renameDocument(String uuid, String newName) | Document | Cambia el nombre de un documento. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); Document doc = ws.document.renameDocument("1ec49da9-1746-4875-ae32-9281d7303a62", "logo_rename.png"); System.out.print(doc); } catch (Exception e) { e.printStackTrace(); } }}setProperties
Sección titulada «setProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setProperties(String uuid, String title, String description, String lang, List |
void | Cambia algunas propiedades del documento. |
- El parámetro lang debe cumplir el estándar ISO 639-1.
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); List<String> keywords = new ArrayList<>(); keywords.add("test"); keywords.add("invoice");
List<String> categories = new ArrayList<>(); categories.add("58c9b25f-d83e-4006-bd78-e26d7c6fb648");
ws.document.setProperties("1ec49da9-1746-4875-ae32-9281d7303a62", "new title", "some description", "es", keywords, categories); } catch (Exception e) { e.printStackTrace(); } }}setLanguage
Sección titulada «setLanguage»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setLanguage(String uuid, String lang) | void | Establece el idioma del documento. |
- El parámetro lang debe cumplir el estándar ISO 639-1.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.setLanguage("1ec49da9-1746-4875-ae32-9281d7303a62", "en"); } catch (Exception e) { e.printStackTrace(); } }}setDocumentTitle
Sección titulada «setDocumentTitle»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setDocumentTitle(String uuid, String title) | void | Establece el título del documento. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.setDocumentTitle("1ec49da9-1746-4875-ae32-9281d7303a62", "Some title here"); } catch (Exception e) { e.printStackTrace(); } }}checkout
Sección titulada «checkout»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| checkout(String uuid) | void | Marca el documento para su edición. |
- Solo un usuario puede modificar un documento a la vez.
- Antes de empezar a editar, debes ejecutar una acción de checkout que bloquea el proceso de edición para otros usuarios y permite editar solo al usuario que ejecutó la acción.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.checkout("1ec49da9-1746-4875-ae32-9281d7303a62"); // At this point the document is locked for other users except for the user who executed the action } catch (Exception e) { e.printStackTrace(); } }}cancelCheckout
Sección titulada «cancelCheckout»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| cancelCheckout(String uuid) | void | Cancela la edición de un documento. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); // At this point the document is locked for other users except for the user who executed the action ws.document.cancelCheckout("1ec49da9-1746-4875-ae32-9281d7303a62"); // At this point other users are allowed to execute a checkout and modify the document } catch (Exception e) { e.printStackTrace(); } }}forceCancelCheckout
Sección titulada «forceCancelCheckout»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| forceCancelCheckout(String uuid) | void | Cancela la edición de un documento. |
- Este método permite cancelar la edición de cualquier documento.
- No es obligatorio que esta acción la ejecute el mismo usuario que ejecutó previamente la acción de checkout.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); // At this point the document is locked for other users except for the user who executed the action ws.document.forceCancelCheckout("1ec49da9-1746-4875-ae32-9281d7303a62"); // At this point other users are allowed to execute a checkout and modify the document } catch (Exception e) { e.printStackTrace(); } }}isCheckedOut
Sección titulada «isCheckedOut»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isCheckedOut(String docId) | Boolean | Devuelve un booleano que indica si el documento está siendo editado o no. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println("Is the document checkout:" + ws.document.isCheckedOut("1ec49da9-1746-4875-ae32-9281d7303a62")); } catch (Exception e) { e.printStackTrace(); } }}checkin
Sección titulada «checkin»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| checkin(String uuid, InputStream is, String comment) | Version | Actualiza un documento con una nueva versión y devuelve un objeto con los valores de la nueva Version. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); InputStream is = new FileInputStream("/home/openkm/logo.png"); ws.document.checkin("1ec49da9-1746-4875-ae32-9281d7303a62", is, "optional some comment"); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}checkin
Sección titulada «checkin»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| checkin(String docId, InputStream is, String comment, int increment) | Version | Actualiza un documento con una nueva versión y devuelve un objeto con los valores de la nueva Version. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); InputStream is = new FileInputStream("/home/openkm/logo.png"); ws.document.checkin("1ec49da9-1746-4875-ae32-9281d7303a62", is, "optional some comment", 2); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}isLocked
Sección titulada «isLocked»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isLocked(String uuid) | Boolean | Devuelve un booleano que indica si el documento está bloqueado o no. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println("Is document locked:" + ws.document.isLocked("1ec49da9-1746-4875-ae32-9281d7303a62")); } catch (Exception e) { e.printStackTrace(); } }}getLockInfo
Sección titulada «getLockInfo»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getLockInfo(String uuid) | LockInfo | Devuelve un objeto con la información del bloqueo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println(ws.document.getLockInfo("1ec49da9-1746-4875-ae32-9281d7303a62")); } catch (Exception e) { e.printStackTrace(); } }}purgeDocument
Sección titulada «purgeDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| purgeDocument(String uuid) | void | El documento se elimina permanentemente del repositorio. |
- Normalmente se purgan documentos en /okm:trash/userId - la ubicación personal de la papelera del usuario - pero es posible purgar directamente cualquier documento de todo el repositorio.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.purgeDocument("1ec49da9-1746-4875-ae32-9281d7303a62"); } catch (Exception e) { e.printStackTrace(); } }}moveDocument
Sección titulada «moveDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| moveDocument(String uuid, String dstId) | void | Mueve un documento a una carpeta o expediente. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.moveDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e", "8599eab7-ae61-4628-8010-1103d6950c63"); } catch (Exception e) { e.printStackTrace(); } }}copyDocument
Sección titulada «copyDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| copyDocument(String uuid, String dstId, String newName) | void | Copia un documento a una carpeta o expediente. |
- El valor del parámetro dstId debe ser el UUID de una carpeta o expediente.
- Cuando el valor del parámetro newName es null, el documento conservará el mismo nombre.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.copyDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e", "8599eab7-ae61-4628-8010-1103d6950c63", "new_logo.png"); } catch (Exception e) { e.printStackTrace(); } }}getVersionHistorySize
Sección titulada «getVersionHistorySize»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getVersionHistorySize(String uuid) | long | Devuelve el tamaño total en bytes de todos los documentos del histórico de versiones. |
Ejemplo:
package com.openkm;
import java.util.Locale;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); String[] UNITS = new String[]{"B", "KB", "MB", "GB", "TB", "PB", "EB"}; long bytes = ws.document.getVersionHistorySize("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e"); String value = "";
for (int i = 6; i > 0; i--) { double step = Math.pow(1024, i); if (bytes > step) { value = String.format(Locale.ROOT, "%3.1f %s", bytes / step, UNITS[i]); } }
if (value.isEmpty()) { value = Long.toString(bytes) + " " + UNITS[0]; }
System.out.println(value); } catch (Exception e) { e.printStackTrace(); } }}isValidDocument
Sección titulada «isValidDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isValidDocument(String docId) | Boolean | Devuelve un booleano que indica si el nodo es un documento o no. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println(ws.document.isValidDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e")); } catch (Exception e) { e.printStackTrace(); } }}getDocumentPath
Sección titulada «getDocumentPath»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getDocumentPath(String uuid) | String | Convierte el UUID de un documento en su ruta. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println(ws.document.getDocumentPath("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e")); } catch (Exception e) { e.printStackTrace(); } }}getDetectedLanguages
Sección titulada «getDetectedLanguages»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getDetectedLanguages() | List |
Devuelve una lista de los idiomas de documento disponibles que OpenKM puede identificar. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (String lang : ws.document.getDetectedLanguages()) { System.out.println(lang); } } catch (Exception e) { e.printStackTrace(); } }}extendedDocumentCopy
Sección titulada «extendedDocumentCopy»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| extendedDocumentCopy(String nodeId, String dstId, String name, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security) | void | Copia un documento con los datos asociados a una carpeta o expediente. |
- El valor del parámetro nodeId debe ser el UUID de un documento.
- El valor del parámetro dstId debe ser el UUID de una carpeta o de un expediente.
- Cuando el valor del parámetro newName es null, el documento conservará el mismo nombre.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); Document document = ws.document.extendedDocumentCopy("055b5206-35d0-4351-ba92-c304bbba7ddf", "2dccdee1-9d83-477d-ac58-1b50278a2210", "new_logo.png", true, true, true, true, true); System.out.println(document); } catch (Exception e) { e.printStackTrace(); } }}getExtractedText
Sección titulada «getExtractedText»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getExtractedText(String uuid) | String | Devuelve un String con el texto extraído por el proceso de extracción de texto. |
- Cuando un documento se sube a OpenKM, entra en la cola de extracción de texto. Existe un crontab que procesa periódicamente esta cola y extrae el contenido de los documentos.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
import java.io.FileInputStream;import java.io.InputStream;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/test.pdf"); ws.document.setExtractedText("301de803-f4ae-48f1-8505-e83b26716956", is); } catch (Exception e) { e.printStackTrace(); } }}setExtractedText
Sección titulada «setExtractedText»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setExtractedText(String uuid, InputStream is) | void | Establece el texto extraído. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); String text = ws.document.getExtractedText("46762f90-82c6-4886-8d21-ad3017dd78a7"); System.out.println(text); } catch (Exception e) { e.printStackTrace(); } }}getThumbnail
Sección titulada «getThumbnail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getThumbnail(String uuid, ThumbnailType type) | InputStream | Devuelve los datos de la imagen miniatura. |
- Tipos disponibles:
Ejemplo:
package com.openkm;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.ThumbnailType;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); OutputStream fos = new FileOutputStream("/home/openkm/invoice.png"); InputStream is = ws.document.getThumbnail("46762f90-82c6-4886-8d21-ad3017dd78a7", ThumbnailType.THUMBNAIL_LIGHTBOX); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}createDocumentFromTemplate
Sección titulada «createDocumentFromTemplate»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createDocumentFromTemplate(String uuid, String dstPath, boolean categories, boolean keywords, boolean notes, Map<String, String> properties) |
Document | Crea un nuevo documento a partir de la plantilla y devuelve un objeto Document. |
- El parámetro uuid es el valor UUID del fichero plantilla.
- El valor dstPath es la ruta de destino del documento.
- Cuando la plantilla usa grupos de metadatos para rellenar campos, estos valores son obligatorios y deben establecerse en el parámetro properties.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;import com.openkm.sdk4j.util.ISO8601;
import java.util.Calendar;import java.util.HashMap;import java.util.Map;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(username, password);
Map<String, String> properties = new HashMap<>(); // okg:tpl properties.put("okp:tpl.name", "sdk name"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal)); properties.put("okp:tpl.language", "[ \"java\" ]");
// Property okg:technology properties.put("okp:technology.comment", "sdk name");
Document document = ws.document.createDocumentFromTemplate("5e72dec8-2409-405b-ac15-d964feb3d7bb", "/okm:root/sdk/template.pdf", true, true, true, properties); System.out.println(document); } catch (Exception e) { e.printStackTrace(); } }}updateDocumentFromTemplate
Sección titulada «updateDocumentFromTemplate»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateDocumentFromTemplate(String uuid, String dstId, Map<String, String> properties) | Document | Actualiza un documento creado previamente a partir de la plantilla y devuelve un objeto Document. |
- El valor uuid es el valor UUID del fichero plantilla.
- El dstId es el UUID del documento a actualizar.
- Este método solo tiene sentido cuando la plantilla usa grupos de metadatos para rellenar campos.
Ejemplo:
package com.openkm;
import java.util.Calendar;import java.util.HashMap;import java.util.Map;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;import com.openkm.sdk4j.util.ISO8601;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); Map<String, String> properties = new HashMap<>(); properties.put("okp:tpl.name", "update Some name"); Calendar cal = Calendar.getInstance(); // Value must be converted to String ISO 8601 compliant properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal)); properties.put("okp:tpl.language", "[ \"python\" ]");
ws.document.updateDocumentFromTemplate("9fa9787e-d8b0-4ff7-905a-a89f0b228ec8", "058b9379-b441-454d-8590-00d5a280ce79", properties); } catch (Exception e) { e.printStackTrace(); } }}getCheckedOut
Sección titulada «getCheckedOut»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getCheckedOut() | List |
Devuelve una lista con los documentos que el usuario tiene en checkout. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (Document doc : ws.document.getCheckedOut()) { System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}createDocument
Sección titulada «createDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createDocument(String uuid, File file) | Document | Crea un nuevo documento y devuelve un objeto Document con las propiedades del documento creado. |
- El valor del parámetro uuid debe ser el UUID de un nodo carpeta o expediente.
Ejemplo:
package com.openkm;
import java.io.File;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); File file = new File("/home/gnujavasergio/okm/logo.png"); Document doc = ws.document.createDocument("151f3a54-f370-47d6-801a-d20faecec180", file); System.out.println(doc); } catch (Exception e) { e.printStackTrace(); } }}setDocumentDescription
Sección titulada «setDocumentDescription»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setDocumentDescription(String uuid, String description) | void | Establece una descripción. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); ws.document.setDocumentDescription("7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "some description"); } catch (Exception e) { e.printStackTrace(); } }}createWizardDocument
Sección titulada «createWizardDocument»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createWizardDocument(String uuid, String name, long nodeClass, InputStream is) | WizardNode | Crea un nuevo documento mediante un asistente. |
- El parámetro uuid debe ser cualquier UUID válido de carpeta o expediente.
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.WizardNode;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png"); WizardNode wn = ws.document.createWizardDocument("1f323e88-64ee-4f57-91e2-9276f8c603f9", "logo.png", 0, is); System.out.print(wn); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}getNumberOfPages
Sección titulada «getNumberOfPages»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getNumberOfPages(String uuid) | int | Obtiene el número de páginas de un documento. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println("The number of pages is : " + ws.document.getNumberOfPages("b2f88679-e3fd-4f97-bf0e-abf76f9ec499")); } catch (Exception e) { e.printStackTrace(); } }}getPageAsImage
Sección titulada «getPageAsImage»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getPageAsImage(String uuid, int pageNumber, int maxWidth, int maxHeight) | String | Devuelve una página concreta como imagen codificada en Base64. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println(ws.document.getPageAsImage("3fe350e2-69e8-4681-a97c-6ac4ba6c1524", 1, 150, 150)); } catch (Exception e) { e.printStackTrace(); } }}isAttachment
Sección titulada «isAttachment»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isAttachment(String docId) | Boolean | Devuelve un booleano que indica si el nodo es un adjunto de correo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); System.out.println(ws.document.isAttachment("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e")); } catch (Exception e) { e.printStackTrace(); } }}getDocumentPdf
Sección titulada «getDocumentPdf»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getDocumentPdf(String uuid) | InputStream | Devuelve un PDF del documento. |
Ejemplo:
package com.openkm;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); Document doc = ws.document.getDocumentProperties("7f6c5c0b-a66b-4782-9595-e14b402a18b0"); InputStream is = ws.document.getDocumentPdf(doc.getUuid()); OutputStream fos = new FileOutputStream("/home/openkm/book.pdf"); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}