Difference between revisions of "Cognitive PDF/A"

From OpenKM Documentation
Jump to: navigation, search
(Created page with '<source lang="java"> import java.io.*; import java.util.*; import com.openkm.module.db.stuff.DbSessionManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com…')
 
Line 51: Line 51:
 
log.info("***** Process END *****");
 
log.info("***** Process END *****");
 
</source>
 
</source>
 +
 +
[[Category: Utilities]]

Revision as of 19:40, 9 February 2013

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 cognitiveCompressimo = "C:\\Users\\jllort\\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 = cognitiveCompressimo + 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);
        
        // Uploading 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);
        
	// Deleting pdf File
        uploadFile.delete();
    }
}
log.info("***** Process END *****");