Document samples
Basics
Section titled “Basics”Suggested code sample
Section titled “Suggested code sample”First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);Then you should log in using the method “login”. You can access the “login” method from the webservice object “ws” as shown below:
ws.login(user, password);At this point you can use all the Document methods from the “document” class as shown below:
ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is);Methods
Section titled “Methods”createDocument
Section titled “createDocument”Description:
| Method | Return values | Description |
|---|---|---|
| createDocument(String uuid, String name, InputStream is) | Document | Creates a new document. Returns an object Document with the properties of the created document. |
- The value of the uuid parameter should be a folder or record node UUID.
Example:
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
Section titled “createDocument”Description:
| Method | Return values | Description |
|---|---|---|
| createDocument(String uuid, String name, InputStream is, long nodeClass) | Document | Creates a new document with nodeClass. Returns an object Document with the properties of the created document. |
- The value of the uuid parameter should be a folder or record node UUID.
- The nodeClass parameter should be a valid business type (series) value. A nodeClass with value 0 means there’s no business type (series) selected.
Example:
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
Section titled “deleteDocument”Description:
| Method | Return values | Description |
|---|---|---|
| deleteDocument(String uuid) | void | Deletes a document. |
Example:
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
Section titled “getDocumentProperties”Description:
| Method | Return values | Description |
|---|---|---|
| getDocumentProperties(String uuid) | Document | Returns the document properties. |
Example:
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
Section titled “getContent”Description:
| Method | Return values | Description |
|---|---|---|
| getContent(String uuid) | InputStream | Retrieves document content - binary data - of the current document version. |
Example:
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
Section titled “getContentByVersion”Description:
| Method | Return values | Description |
|---|---|---|
| getContentByVersion(String uuid, String versionName) | InputStream | Retrieves the document content (binary data) from a specific document version. |
Example:
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
Section titled “getDocumentChildren”Description:
| Method | Return values | Description |
|---|---|---|
| getDocumentChildren(String fldId) | List |
Returns a list of all documents whose parent is fldId. |
Example:
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
Section titled “renameDocument”Description:
| Method | Return values | Description |
|---|---|---|
| renameDocument(String uuid, String newName) | Document | Changes the name of a document. |
Example:
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
Section titled “setProperties”Description:
| Method | Return values | Description |
|---|---|---|
| setProperties(String uuid, String title, String description, String lang, List |
void | Changes some document properties. |
- The parameter lang must be ISO 639-1 compliant.
Example:
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
Section titled “setLanguage”Description:
| Method | Return values | Description |
|---|---|---|
| setLanguage(String uuid, String lang) | void | Sets the document language. |
- The parameter lang must be ISO 639-1 compliant.
Example:
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
Section titled “setDocumentTitle”Description:
| Method | Return values | Description |
|---|---|---|
| setDocumentTitle(String uuid, String title) | void | Sets the document title. |
Example:
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
Section titled “checkout”Description:
| Method | Return values | Description |
|---|---|---|
| checkout(String uuid) | void | Marks the document for editing. |
- Only one user can modify a document at a time.
- Before starting editing, you must perform a checkout action that locks the editing process for other users and allows editing only to the user who executed the action.
Example:
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
Section titled “cancelCheckout”Description:
| Method | Return values | Description |
|---|---|---|
| cancelCheckout(String uuid) | void | Cancels a document edit. |
Example:
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
Section titled “forceCancelCheckout”Description:
| Method | Return values | Description |
|---|---|---|
| forceCancelCheckout(String uuid) | void | Cancels a document edit. |
- This method allows cancelling editing on any document.
- It is not mandatory that this action be executed by the same user who previously executed the checkout action.
Example:
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
Section titled “isCheckedOut”Description:
| Method | Return values | Description |
|---|---|---|
| isCheckedOut(String docId) | Boolean | Returns a boolean that indicates whether the document is being edited or not. |
Example:
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
Section titled “checkin”Description:
| Method | Return values | Description |
|---|---|---|
| checkin(String uuid, InputStream is, String comment) | Version | Updates a document with a new version and returns an object with the new Version values. |
Example:
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
Section titled “checkin”Description:
| Method | Return values | Description |
|---|---|---|
| checkin(String docId, InputStream is, String comment, int increment) | Version | Updates a document with a new version and returns an object with new Version values. |
Example:
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
Section titled “isLocked”Description:
| Method | Return values | Description |
|---|---|---|
| isLocked(String uuid) | Boolean | Returns a boolean that indicates whether the document is locked or not. |
Example:
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
Section titled “getLockInfo”Description:
| Method | Return values | Description |
|---|---|---|
| getLockInfo(String uuid) | LockInfo | Returns an object with the lock information. |
Example:
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
Section titled “purgeDocument”Description:
| Method | Return values | Description |
|---|---|---|
| purgeDocument(String uuid) | void | The document is permanently removed from the repository. |
- Usually you will purge documents into /okm:trash/userId - the personal trash user location - but it is possible to directly purge any document from the whole repository.
Example:
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
Section titled “moveDocument”Description:
| Method | Return values | Description |
|---|---|---|
| moveDocument(String uuid, String dstId) | void | Moves a document into a folder or record. |
Example:
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
Section titled “copyDocument”Description:
| Method | Return values | Description |
|---|---|---|
| copyDocument(String uuid, String dstId, String newName) | void | Copy a document into some folder or record. |
- The value of the dstId parameter should be a folder or record UUID.
- When the parameter newName value is null, the document will preserve the same name.
Example:
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
Section titled “getVersionHistorySize”Description:
| Method | Return values | Description |
|---|---|---|
| getVersionHistorySize(String uuid) | long | Returns the total size in bytes of all documents in the document history. |
Example:
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
Section titled “isValidDocument”Description:
| Method | Return values | Description |
|---|---|---|
| isValidDocument(String docId) | Boolean | Returns a boolean that indicates if the node is a document or not. |
Example:
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
Section titled “getDocumentPath”Description:
| Method | Return values | Description |
|---|---|---|
| getDocumentPath(String uuid) | String | Converts a document UUID to document path. |
Example:
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
Section titled “getDetectedLanguages”Description:
| Method | Return values | Description |
|---|---|---|
| getDetectedLanguages() | List |
Returns a list of available document languages that OpenKM can identify. |
Example:
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
Section titled “extendedDocumentCopy”Description:
| Method | Return values | Description |
|---|---|---|
| extendedDocumentCopy(String nodeId, String dstId, String name, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security) | void | Copies a document with associated data into a folder or record. |
- The value of the nodeId parameter should be a Document UUID.
- The value of the dstId parameter should be a folder or a record UUID.
- When the parameter newName value is null, the document will preserve the same name.
Example:
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
Section titled “getExtractedText”Description:
| Method | Return values | Description |
|---|---|---|
| getExtractedText(String uuid) | String | Returns a String with the extracted text from the text extractor process. |
- When a document is uploaded to OpenKM, it goes into the text extraction queue. There’s a crontab that periodically processes this queue and extracts document contents.
Example:
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
Section titled “setExtractedText”Description:
| Method | Return values | Description |
|---|---|---|
| setExtractedText(String uuid, InputStream is) | void | Sets the extracted text. |
Example:
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
Section titled “getThumbnail”Description:
| Method | Return values | Description |
|---|---|---|
| getThumbnail(String uuid, ThumbnailType type) | InputStream | Returns thumbnail image data. |
- Available types:
Example:
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
Section titled “createDocumentFromTemplate”Description:
| Method | Return values | Description |
|---|---|---|
| createDocumentFromTemplate(String uuid, String dstPath, boolean categories, boolean keywords, boolean notes, Map<String, String> properties) |
Document | Creates a new document from the template and returns an object Document. |
- The uuid parameter is the UUID value of the template file.
- The dstPath value is the document destination path.
- When the template uses metadata groups to fill in fields, then these values are mandatory and must be set in the properties parameter.
Example:
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
Section titled “updateDocumentFromTemplate”Description:
| Method | Return values | Description |
|---|---|---|
| updateDocumentFromTemplate(String uuid, String dstId, Map<String, String> properties) | Document | Updates a document previously created from the template and returns an object Document. |
- The uuid value is the UUID value of the template file.
- The dstId is the UUID of the document to be updated.
- This method only makes sense when the template uses metadata groups to fill in fields.
Example:
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
Section titled “getCheckedOut”Description:
| Method | Return values | Description |
|---|---|---|
| getCheckedOut() | List |
Returns a list of documents checked out by the user. |
Example:
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
Section titled “createDocument”Description:
| Method | Return values | Description |
|---|---|---|
| createDocument(String uuid, File file) | Document | Creates a new document and returns an object Document with the properties of the created document. |
- The value of the uuid parameter should be a folder or record node UUID.
Example:
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
Section titled “setDocumentDescription”Description:
| Method | Return values | Description |
|---|---|---|
| setDocumentDescription(String uuid, String description) | void | Sets a description. |
Example:
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
Section titled “createWizardDocument”Description:
| Method | Return values | Description |
|---|---|---|
| createWizardDocument(String uuid, String name, long nodeClass, InputStream is) | WizardNode | Creates a new document using a wizard. |
- The parameter uuid should be any valid folder or record UUID.
Example:
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
Section titled “getNumberOfPages”Description:
| Method | Return values | Description |
|---|---|---|
| getNumberOfPages(String uuid) | int | Gets the number of pages of a document. |
Example:
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
Section titled “getPageAsImage”Description:
| Method | Return values | Description |
|---|---|---|
| getPageAsImage(String uuid, int pageNumber, int maxWidth, int maxHeight) | String | Returns a specific page as an image encoded as a Base64 string. |
Example:
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
Section titled “isAttachment”Description:
| Method | Return values | Description |
|---|---|---|
| isAttachment(String docId) | Boolean | Returns a boolean indicating whether the node is a mail attachment. |
Example:
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
Section titled “getDocumentPdf”Description:
| Method | Return values | Description |
|---|---|---|
| getDocumentPdf(String uuid) | InputStream | Returns a PDF of the document. |
Example:
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(); } }}