Script - Cognitive PDF/A
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 importación de compressimo en crontab
Sección titulada «Tarea de importación de compressimo en crontab»
Salida del registro del servidor de OpenKM durante la ejecución de la tarea de importación
Sección titulada «Salida del registro del servidor de OpenKM durante la ejecución de la tarea de importación»
Archivos importados en OpenKM
Sección titulada «Archivos importados en OpenKM»
Conformidad con PDF/A
Sección titulada «Conformidad con PDF/A»
Resultados del motor de búsqueda por contenido
Sección titulada «Resultados del motor de búsqueda por contenido»