Ejemplos de Stamp
Conceptos básicos
Sección titulada «Conceptos básicos»Ejemplo de código sugerido
Sección titulada «Ejemplo de código sugerido»Primero, debes crear el objeto de servicio web:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);A continuación debes iniciar sesión usando el método “login”. Puedes acceder al método “login” desde el objeto de servicio web “ws” como se muestra a continuación:
ws.login(user, password);Llegados a este punto puedes usar todos los métodos de Stamp desde la clase “stamp” como se muestra a continuación:
ws.stamp.getAllStamps();Métodos
Sección titulada «Métodos»getAllStamps
Sección titulada «getAllStamps»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAllStamps() | List |
Devuelve una lista de elementos de sello. |
Ejemplo:
package com.openkm;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampItem;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<StampItem> result = ws.stamp.getAllStamps(); for (StampItem stampItem : result) { System.out.println(stampItem.getName()); } } catch (Exception e) { e.printStackTrace(); } }}getStampTextByPk
Sección titulada «getStampTextByPk»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getStampTextByPk(long id, String uuid) |
StampText | Devuelve el sello de tipo texto por ID. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampText;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); int stampTextId = 1; StampText stampText = ws.stamp.getStampTextByPk(stampTextId, "928de61e-6ceb-4f94-bf20-9ba2405c5cee"); System.out.println(stampText); System.out.println(stampText.getName()); System.out.println(stampText.getDescription()); } catch (Exception e) { e.printStackTrace(); } }}getStampImageByPk
Sección titulada «getStampImageByPk»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getStampImageByPk(long id, String uuid) |
StampImage | Devuelve el sello de tipo imagen por ID. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampImage;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); int stampImageId = 3; StampImage stampImage = ws.stamp.getStampImageByPk(stampImageId, "928de61e-6ceb-4f94-bf20-9ba2405c5cee"); System.out.println(stampImage); System.out.println(stampImage.getName()); System.out.println(stampImage.getDescription()); } catch (Exception e) { e.printStackTrace(); } }}getStampBarcodeByPk
Sección titulada «getStampBarcodeByPk»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getStampBarcodeByPk(long id, String uuid) |
StampBarcode | Devuelve el sello de tipo código de barras por ID. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampBarcode;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); int stampBarcodeId = 3; StampBarcode stampBarcode = ws.stamp.getStampBarcodeByPk(stampBarcodeId, "6330d2a0-529f-4c14-baa1-ce6a92004e01"); System.out.println(stampBarcode); System.out.println(stampBarcode.getName()); System.out.println(stampBarcode.getDescription()); } catch (Exception e) { e.printStackTrace(); } }}calculateStampCoordinates
Sección titulada «calculateStampCoordinates»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| calculateStampCoordinates(long imgToStampWidth, long imgToStampHeight, long floatingDivWidth, long floatingDivHeight, String exprX, String exprY, String stampType, String stampAlign) |
StampCoordinates | Devuelve las coordenadas de sello calculadas. |
Valores disponibles:
- left
- center
- right
- El parámetro stampAlign.
- El parámetro stampAlign es la alineación del texto.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampCoordinates;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); // Parameters long imgToStampWidth = 100; long imgToStampHeight = 100; long floatingDivWidth = 250; long floatingDivHeight = 300; String exprX = "PAGE_CENTER - IMAGE_WIDTH / 2"; String exprY = "PAGE_MIDDLE - IMAGE_HEIGHT / 2"; String stampType = "text"; String stampAlign = "center"; StampCoordinates stampCoordinates = ws.stamp.calculateStampCoordinates(imgToStampWidth, imgToStampHeight, floatingDivWidth, floatingDivHeight, exprX, exprY, stampType, stampAlign); System.out.println("X = " + stampCoordinates.getX() + ", Y = " + stampCoordinates.getY());
} catch (Exception e) { e.printStackTrace(); } }}calculateStampExpressions
Sección titulada «calculateStampExpressions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| calculateStampExpressions(long imgToStampWidth, long imgToStampHeight, long posX, long posY) | StampExpressions | Devuelve las expresiones de sello calculadas para X e Y. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampExpressions;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); // Parameters long imgToStampWidth = 100; long imgToStampHeight = 100; long posX = 10; long posY = 50; StampExpressions stampExpressions = ws.stamp.calculateStampExpressions(imgToStampWidth, imgToStampHeight, posX, posY); System.out.println("X = " + stampExpressions.getExprX() + ", Y = " + stampExpressions.getExprY());
} catch (Exception e) { e.printStackTrace(); } }}stampText
Sección titulada «stampText»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| stampText(String uuid, long id) | void | Sella texto en 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); long stampTextId = 1; ws.stamp.stampText("babe24df-c443-49a5-9453-39dfc9b27924", stampTextId); } catch (Exception e) { e.printStackTrace(); } }}stampImage
Sección titulada «stampImage»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| stampImage(String uuid, long id) | void | Sella una imagen en 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); long stampImageId = 1; ws.stamp.stampImage("babe24df-c443-49a5-9453-39dfc9b27924", stampImageId); } catch (Exception e) { e.printStackTrace(); } }}stampBarcode
Sección titulada «stampBarcode»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| stampBarcode(String uuid, long id) | void | Sella un código de barras en 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); long stampBarcodeId = 1; ws.stamp.stampBarcode("f02053e3-2264-4040-bb84-67983a0208f7", stampBarcodeId); } catch (Exception e) { e.printStackTrace(); } }}stampImageManually
Sección titulada «stampImageManually»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| stampImageManually(String uuid, long id, String exprX, String exprY, String range, String personalStampUuid) |
void | Sella un documento con una imagen que está en OpenKM |
El id es el ID de un sello de imagen creado por el administrador.
El exprX es la expresión para establecer la posición en la coordenada X.
El exprY es la expresión para establecer la posición en la coordenada Y.
El personalStampUuid debe ser un UUID de documento válido. El documento debe ser una imagen (jpg o png).
En los campos de entrada Expr. X y Expr. Y puedes poner algo más que un simple número. Actualmente están definidas las siguientes macros:
- IMAGE_WIDTH
- IMAGE_HEIGHT
- PAGE_WIDTH
- PAGE_HEIGHT
- PAGE_CENTER
- PAGE_MIDDLE
Así, para centrar un sello en la página puedes usar:
| Expr. X | PAGE_CENTER |
| Expr. Y | PAGE_MIDDLE |
| ::: |
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); long id = 1; String exprX = "PAGE_CENTER - IMAGE_WIDTH / 2"; String exprY = "PAGE_MIDDLE - IMAGE_HEIGHT / 2"; ws.stamp.stampImageManually("055b5206-35d0-4351-ba92-c304bbba7ddf", id, exprX, exprY, "", "ac9cdfb4-8051-4458-a4bb-ca93e6cf464e"); } catch (Exception e) { e.printStackTrace(); } }}stampTextCustom
Sección titulada «stampTextCustom»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| stampTextCustom(String uuid, long id, String text, String exprX, String exprY, String range) | void | Sella un documento con un texto personalizado. |
El id es el ID de un sello de imagen creado por el administrador.
El exprX es la expresión para establecer la posición en la coordenada X.
El exprY es la expresión para establecer la posición en la coordenada Y.
En los campos de entrada Expr. X y Expr. Y puedes poner algo más que un simple número. Actualmente están definidas las siguientes macros:
- IMAGE_WIDTH
- IMAGE_HEIGHT
- PAGE_WIDTH
- PAGE_HEIGHT
- PAGE_CENTER
- PAGE_MIDDLE
Así, para centrar un sello en la página puedes usar:
| Expr. X | PAGE_CENTER |
| Expr. Y | PAGE_MIDDLE |
| ::: |
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); long stampTextId = 1; String text = "OpenKM"; String exprX = "PAGE_CENTER"; String exprY = "PAGE_MIDDLE"; InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png"); ws.stamp.stampTextCustom("05b14eee5-2e57-4d1d-925a-c9bc3f526e24", stampTextId, text, exprX, exprY, ""); } catch (Exception e) { e.printStackTrace(); } }}stampImageCustom
Sección titulada «stampImageCustom»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| stampImageCustom(String uuid, long id, String exprX, String exprY, String range, double ratio, InputStream is) | void | Sella un documento con una imagen personalizada. |
El id es el ID de un sello de imagen creado por el administrador.
El exprX es la expresión para establecer la posición en la coordenada X.
El exprY es la expresión para establecer la posición en la coordenada Y.
En los campos de entrada Expr. X y Expr. Y puedes poner algo más que un simple número. Actualmente están definidas las siguientes macros:
- IMAGE_WIDTH
- IMAGE_HEIGHT
- PAGE_WIDTH
- PAGE_HEIGHT
- PAGE_CENTER
- PAGE_MIDDLE
Así, para centrar un sello en la página puedes usar:
| Expr. X | PAGE_CENTER |
| Expr. Y | PAGE_MIDDLE |
| ::: |
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); long id = 1; String exprX = "PAGE_CENTER - IMAGE_WIDTH / 2"; String exprY = "PAGE_MIDDLE - IMAGE_HEIGHT / 2"; InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png"); ws.stamp.stampImageCustom("055b5206-35d0-4351-ba92-c304bbba7ddf", id, exprX, exprY, "", 0, is); } catch (Exception e) { e.printStackTrace(); } }}calculateFlyImageDimensions
Sección titulada «calculateFlyImageDimensions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| calculateFlyImageDimensions(String uuid, long imgToStampWidth, long imgToStampHeight, long floatingImageWidth, long floatingImageHeight, int pageNumber) |
StampImageSize | Devuelve la altura y anchura calculadas para la imagen a sellar. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampImageSize;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); // Parameters long imgToStampWidth = 100; long imgToStampHeight = 100; long floatingImageWidth = 300; long floatingImageHeight = 300; int pageNumber = 2;
StampImageSize stampImageSize = ws.stamp.calculateFlyImageDimensions("babe24df-c443-49a5-9453-39dfc9b27924", imgToStampWidth, imgToStampHeight, floatingImageWidth, floatingImageHeight, pageNumber); System.out.println(stampImageSize); } catch (Exception e) { e.printStackTrace(); } }}getPersonalStamps
Sección titulada «getPersonalStamps»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getPersonalStamps() | List |
Devuelve una lista de sellos personales. |
Devuelve una lista de documentos de tipo imagen (jpg o png) desde /okm:templates/userId/stamps
Ejemplo:
package com.openkm;
import java.util.List;
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); List<Document> result = ws.stamp.getPersonalStamps(); for (Document doc : result) { System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}getPersonalStampImage
Sección titulada «getPersonalStampImage»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getPersonalStampImage(String uuid, long id) |
StampPersonalImage | Devuelve el sello personal procesado. |
Al sellar un documento con una imagen, la imagen también puede tener una capa de texto.
Este método procesa la imagen y devuelve una imagen con la capa de texto.
El uuid debe ser un UUID devuelto por el método getPersonalStamps.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.StampPersonalImage;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); long stampId = 1; StampPersonalImage stampPersonalImage = ws.stamp.getPersonalStampImage("928de61e-6ceb-4f94-bf20-9ba2405c5cee", stampId); System.out.println(stampPersonalImage); } catch (Exception e) { e.printStackTrace(); } }}