Script - PDF/A cognitivo
Cognitive PDF/A es una potente herramienta de Cognitive Forms que genera documentos PDF/A según el estándar ISO a partir de imágenes de documentos escaneados. OpenKM integra Compressimo de forma transparente mediante las utilidades de automatización o de crontab.
import java.io.*;import java.util.*;import com.openkm.module.db.stuff.DbSessionManager;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.openkm.bean.Document;import com.openkm.api.OKMDocument;
String token = DbSessionManager.getInstance().getSystemToken();String systemFolder = "c:\\samples";String cognitivePdfa = "C:\\Users\\openkm\\Desktop\\cpdfa-1.4.4-dev-win32-1month\\cpdfa\\bin\\cpdfacli.exe splitdummy eng ";Logger log = LoggerFactory.getLogger("com.openkm.compressimo");
// Loading fileslog.info("***** Process BEGIN *****");File folder = new File(systemFolder);File[] listOfFiles = folder.listFiles();
for (int i=0; i<listOfFiles.length; i++) { File file = listOfFiles[i];
if (file.isFile() && file.getName().toLowerCase().endsWith(".tif")) { // Converting tif file to pdf String tifFile = systemFolder + "\\" + file.getName(); String pdfFile = systemFolder + "\\" + file.getName().toLowerCase().replace(".tif", ".pdf"); log.info("Converting file:" + tifFile+" to:"+pdfFile); String command = cognitivePdfa + tifFile + " " + pdfFile; Process process = Runtime.getRuntime().exec(command);
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = null;
while ((line=input.readLine()) != null) { log.info(line); }
int exitVal = process.waitFor(); log.info("Exit code " + exitVal);
// Upload PDF file File uploadFile = new File(pdfFile); Document doc = new Document(); String path = "/okm:root/imported" + "/" + uploadFile.getName(); log.info("Importing file:"+ pdfFile + " to:"+path); doc.setPath(path); FileInputStream fis = new FileInputStream(uploadFile); doc = OKMDocument.getInstance().create(token, doc, fis); fis.close();
// Deleting pdf File uploadFile.delete(); }}
log.info("***** Process END *****");Para más información:
Imágenes
Sección titulada «Imágenes»Archivos escaneados
Sección titulada «Archivos escaneados»El cuadrado rojo resalta el tamaño inicial del documento.

Tarea de Crontab compressimo Importer
Sección titulada «Tarea de Crontab compressimo Importer»
Salida del registro del servidor de OpenKM de la ejecución de la tarea del importador
Sección titulada «Salida del registro del servidor de OpenKM de la ejecución de la tarea del importador»
Archivos importados a OpenKM
Sección titulada «Archivos importados a OpenKM»
Cumplimiento de PDF/A
Sección titulada «Cumplimiento de PDF/A»
Resultados del motor de búsqueda por contenido
Sección titulada «Resultados del motor de búsqueda por contenido»