Ir al contenido
Otras versiones

Cargando…

Ejemplos de PDF

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 PDF desde la clase “pdf” como se muestra a continuación:

InputStream is = ws.pdf.getImage("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", 1, null);

Descripción:

Método Valores de retorno Descripción
getImage(String uuid, int page, String size) InputStream Devuelve la imagen de la página especificada.
  • El valor de uuid es el UUID del documento.
  • El page es el número de página del documento, empezando desde 1.
  • El parámetro size es opcional. Cuando se indica, redimensiona la imagen de la página; en caso contrario, se usa el valor por defecto.

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);
InputStream is = ws.pdf.getImage("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", 1, null);
OutputStream fos = new FileOutputStream("/home/openkm/page-1.png");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
split(String uuid, String dstId, String baseName, List pages) List Devuelve una lista de documentos resultantes de la operación de división.
  • El valor de uuid es el UUID del documento.
  • El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento origen.
  • El valor de baseName es el nombre base usado para crear los documentos divididos. Por ejemplo, si baseName es “test” y pages es [1, 3], los ficheros creados serán “test-001.pdf” y “test-003.pdf”.
  • El valor de pages es la lista de números de página a dividir.

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.bean.*;
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 username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(username, password);
List<Integer> pages = new ArrayList<>();
pages.add(2);
pages.add(3);
List<Document> documents = ws.pdf.split("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "0be057f1-efac-4e09-9c10-e7f27c731442", "split", pages);
System.out.println(documents);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
extract(String uuid, String dstId, String name, List pages) Document Devuelve el nuevo documento creado con las páginas extraídas.
  • El valor de uuid es el UUID del documento origen.
  • El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento origen.
  • El valor de name es el nombre del nuevo documento que contiene las páginas extraídas.
  • El valor de pages es la lista de números de página a extraer.

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.bean.*;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class PdfExample {
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);
List<Integer> pages = new ArrayList<>();
pages.add(2);
pages.add(3);
Document document = ws.pdf.extract("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "0be057f1-efac-4e09-9c10-e7f27c731442", "extract.pdf", pages);
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
remove(String uuid, String dstId, String name, List pages) Document Devuelve un nuevo documento con las páginas indicadas eliminadas.
  • El valor de uuid es el UUID del documento origen.
  • El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento origen.
  • El valor de name es el nombre del nuevo documento.
  • El valor de pages es la lista de números de página a eliminar.

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.bean.*;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class PdfExample {
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);
List<Integer> pages = new ArrayList<>();
pages.add(2);
pages.add(3);
Document document = ws.pdf.remove("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "0be057f1-efac-4e09-9c10-e7f27c731442", "remove.pdf", pages);
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
rotate(String uuid, String dstId, String name, Integer angle, List pages) Document Devuelve un nuevo documento con las páginas indicadas rotadas.
  • El valor de uuid es el UUID del documento origen.
  • El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento origen.
  • El valor de name es el nombre del nuevo documento.
  • El valor de angle es el ángulo de rotación aplicado a las páginas indicadas.
  • El valor de pages es la lista de números de página a rotar.

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.bean.*;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class PdfExample {
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);
List<Integer> pages = new ArrayList<>();
pages.add(2);
pages.add(3);
Document document = ws.pdf.rotate("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "0be057f1-efac-4e09-9c10-e7f27c731442", "rotate.pdf", 180, pages);
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
insertPages(String uuid, InsertPagesRequest request) Document Devuelve el nuevo documento creado con las páginas insertadas.
  • El valor de uuid es el UUID del documento destino donde se insertarán las páginas.
  • El objeto InsertPagesRequest contiene los siguientes campos:
  • Cada objeto PageInsertOperation contiene los siguientes campos:

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.bean.InsertPagesRequest;
import com.openkm.sdk4j.bean.PageInsertOperation;
import java.util.Arrays;
public class PdfExample {
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);
// Crear la petición de inserción de páginas
InsertPagesRequest request = new InsertPagesRequest();
request.setName("merged_document.pdf");
request.setDstId("e7d6860a-7e0b-4823-bd3d-75f88be1eedf");
// Crear una operación de inserción de páginas
PageInsertOperation operation = new PageInsertOperation();
operation.setSrcId("a573da75-ba1e-4f5b-98d2-fbb7da5f1cf1"); // UUID del documento origen
operation.setPages(Arrays.asList(1, 2, 3)); // Páginas a tomar del origen
operation.setInsertFromPage(1); // Insertar en la posición 1 del destino
request.getInsertOperations().add(operation);
// Insertar páginas en el documento destino
Document result = ws.pdf.insertPages("6a54d98b-6454-4484-8172-8359a2b4f2f2", request);
System.out.println("New document created: " + result.getUuid());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
optimize(String uuid) boolean Devuelve true cuando el documento se ha optimizado correctamente.

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);
boolean success = ws.pdf.optimize("cd4f69ed-e517-408b-b7eb-95cfe371ecba");
System.out.println("optimize success: " + success);
} catch (Exception e) {
e.printStackTrace();
}
}
}