Ir al contenido
Otras versiones

Cargando…

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 files
log.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:

El cuadrado rojo resalta el tamaño inicial del documento.

 

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»

Resultados del motor de búsqueda por contenido

Sección titulada «Resultados del motor de búsqueda por contenido»