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 del servicio web:
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);A continuación, debe iniciar sesión mediante el método “login”. Puede acceder al método “login” desde el objeto del servicio web “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:
Stream stream = ws.pdf.getImage("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", 1);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) | Stream | Devuelve la imagen de una página. |
El valor de uuid es el UUID del documento.
page es el número de página del documento, empezando por 1.
El valor de size es opcional. Cuando se indica, se usa para redimensionar la imagen de la página; en caso contrario, se usa el valor por defecto.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); Stream stream = ws.pdf.getImage("1ec49da9-1746-4875-ae32-9281d7303a62", 1, null); FileStream destFile = new FileStream("D:\\test.png", FileMode.OpenOrCreate, FileAccess.ReadWrite); stream.CopyTo(destFile); destFile.Close(); stream.Close(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| split(String uuid, String dstId, String baseName, List |
List |
Devuelve true cuando las páginas del documento se han dividido. |
El valor de uuid es el UUID del documento.
El valor de baseName es el nombre base usado para crear los documentos resultantes de la división. Por ejemplo, si el valor de baseName es “test” y el valor de pages es “1,3”, los ficheros creados serán “test-001.pdf” y “test-003.pdf”.
El valor de pages es el número de páginas a dividir.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); List<int> pages = new List<int>(); pages.Add(5); pages.Add(10); List<Document> docs = ws.pdf.split("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "1ec49da9-1746-4875-ae32-9281d7303a62", "split", pages); foreach(Document doc in docs) { System.Console.Writeline(doc.toString()); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}extract
Sección titulada «extract»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| extract(String uuid, String dstId, String name, List |
Document | Devuelve un nuevo documento con las páginas extraídas. |
El valor de uuid es el UUID del documento.
El valor de dstId es el UUID del destino (carpeta o expediente).
El valor de name es el nombre del nuevo documento con las páginas extraídas.
El valor de pages es el número de páginas a extraer.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); List<int> pages = new List<int>(); pages.Add(5); pages.Add(10); Documentresult = ws.pdf.extract("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "1ec49da9-1746-4875-ae32-9281d7303a62", "extract", pages); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| remove(String uuid, String dstId, String name, List |
Document | Devuelve true cuando las páginas del documento se han eliminado. |
El valor de uuid es el UUID del documento.
El valor de dstId es el UUID del destino (carpeta o expediente).
El valor de name es el nombre del nuevo documento con las páginas extraídas.
El valor de pages es el número de páginas a eliminar.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); List<int> pages = new List<int>(); pages.Add(5); pages.Add(10); Document doc = ws.pdf.remove("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "1ec49da9-1746-4875-ae32-9281d7303a62", "remove", pages); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| rotate(String uuid, String dstId, String name, int angle, List |
Document | Devuelve true cuando las páginas del documento se han rotado. |
El valor de uuid es el UUID del documento.
El valor de dstId es el UUID del destino (carpeta o expediente).
El valor de name es el nombre del nuevo documento con las páginas extraídas.
El valor de angle es la rotación aplicada a las páginas seleccionadas.
El valor de pages es el número de páginas a rotar.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); List<int> pages = new List<int>(); pages.Add(5); pages.Add(10); Document doc = ws.pdf.rotate("e7d6860a-7e0b-4823-bd3d-75f88be1eedf", "1ec49da9-1746-4875-ae32-9281d7303a62", "rotate", 180, pages); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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 destino donde se insertarán las páginas.
El valor de InsertPagesRequest es un objeto que tiene una lista de PageInsertOperation llamada insertOperations, un String dstId, que contiene el UUID de la carpeta destino, y un String name para el documento recién generado.
El objeto PageInsertOperation tiene un String srcId, el UUID del fichero origen de las páginas, una lista de Integer llamada pages que almacena las posiciones de las páginas en el PDF origen, y un int insertFromPage, la posición donde se ubicarán las páginas en el PDF destino.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password);
// Create the insert pages request InsertPagesRequest request = new InsertPagesRequest(); request.name = "merged_document.pdf"; // Name for the new document request.dstId = fld.uuid;
// Create a page insertion operation PageInsertOperation operation = new PageInsertOperation(); operation.srcId = srcDoc.uuid; // Source document UUID operation.pages = new List<int> { 1, 2, 3 }; // Pages to insert from source operation.insertFromPage = 1; // Insert at position 1 in target document
request.insertOperations.Add(operation);
// Call insertPages with target document UUID and request Document result = ws.pdf.insertPages(srcDoc.uuid, request);
System.Console.Writeline("New document created: " + result.uuid); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}optimize
Sección titulada «optimize»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| optimize(String uuid) | bool | Devuelve true cuando la optimización se realiza correctamente. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); ; bool result = ws.pdf.optimize("e7d6860a-7e0b-4823-bd3d-75f88be1eedf"); System.Console.Writeline("Optimize success: "+ result); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}