PDF 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 a él desde el objeto webservice ws, tal y como se muestra a continuación:
ws.login(user, password);Llegados a este punto puede usar todos los métodos de PDF desde la clase pdf, tal y como se muestra a continuación:
InputStream is = ws.pdf.getImage("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", 1, null);Métodos
Sección titulada «Métodos»getImage
Sección titulada «getImage»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getImage(String uuid, int page, String size) | InputStream | Devuelve una imagen de la página indicada. |
El valor de uuid es el UUID del documento.
El parámetro page es el número de página del documento, empezando en 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 username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(username, 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 |
List |
Devuelve una lista de documentos resultantes de la operación de división. |
El valor de uuid es el UUID del documento de origen.
El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento de origen.
El valor de baseName es el nombre base usado para generar los documentos resultantes de la división. Por ejemplo, si baseName es “test” y pages es [1, 3], los ficheros resultantes se llamarán “test-001.pdf” y “test-003.pdf”.
El valor de pages es la lista de números de página por los que dividir el documento.
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(); } }}extract
Sección titulada «extract»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| extract(String uuid, String dstId, String name, List |
Document | Devuelve el nuevo documento creado con las páginas extraídas. |
El valor de uuid es el UUID del documento de origen.
El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento de 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 |
Document | Devuelve un nuevo documento con las páginas indicadas eliminadas. |
El valor de uuid es el UUID del documento de origen.
El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento de 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 |
Document | Devuelve un nuevo documento con las páginas indicadas rotadas. |
El valor de uuid es el UUID del documento de origen.
El valor de dstId es el UUID de la carpeta de destino. Si no se indica, se usa la carpeta padre del documento de 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(); } }}insertPages
Sección titulada «insertPages»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 de destino donde se insertarán las páginas.
El objeto InsertPagesRequest contiene los siguientes campos:
- insertOperations: una lista de objetos PageInsertOperation, cada uno describiendo un paso de inserción.
- dstId: el UUID de la carpeta de destino para el documento resultante. Si no se indica, se usa la carpeta padre del documento de destino.
- name: el nombre del nuevo documento a generar.
Cada objeto PageInsertOperation contiene los siguientes campos:
- srcId: el UUID del documento de origen del que se tomarán las páginas.
- pages: la lista de números de página a tomar del documento de origen.
- insertFromPage: la posición en el documento de destino en la que se insertarán las páginas.
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);
// Create the insert pages request InsertPagesRequest request = new InsertPagesRequest(); request.setName("merged_document.pdf"); request.setDstId("e7d6860a-7e0b-4823-bd3d-75f88be1eedf");
// Define a page insertion operation PageInsertOperation operation = new PageInsertOperation(); operation.setSrcId("a573da75-ba1e-4f5b-98d2-fbb7da5f1cf1"); // Source document UUID operation.setPages(Arrays.asList(1, 2, 3)); // Pages to take from source operation.setInsertFromPage(1); // Insert at position 1 in target
request.getInsertOperations().add(operation);
// Insert pages into the target document Document result = ws.pdf.insertPages("6a54d98b-6454-4484-8172-8359a2b4f2f2", request); System.out.println("New document created: " + result.getUuid()); } catch (Exception e) { e.printStackTrace(); } }}optimize
Sección titulada «optimize»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 username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(username, password); boolean success = ws.pdf.optimize("cd4f69ed-e517-408b-b7eb-95cfe371ecba"); System.out.println("optimize success: " + success); } catch (Exception e) { e.printStackTrace(); } }}