Script - Convert TIF to PDF

Transform all the TIF files in the repository to PDF.

  • There's an output log file named "ConvertTIFToPDFXXX.log" in the logs folders.
  • Because large repositories the SQL query is executed with a database cursor.
import org.springframework.web.context.*;
import com.openkm.module.db.base.*;
import com.openkm.util.*;
import com.openkm.servlet.frontend.util.ConversionUtils;
import org.hibernate.*;

WebApplicationContext cc = (WebApplicationContext) ContextWrapper.getContext();
SessionFactory sessionFactory = cc.getBean(SessionFactory.class);
ConversionUtils conversionUtils = cc.getBean(ConversionUtils.class);
StatelessSession session = sessionFactory.openStatelessSession();
String LOG_NAME = "ConvertTIFToPDF";
ScrollableResults results = null;

try {
  FileLogger.info(LOG_NAME, "### BEGIN conversion from TIF to PDF");
  String sql = "select nb.NBS_UUID from OKM_NODE_BASE nb where nb.NBS_NAME LIKE '%.tif'";
  Query query = session.createSQLQuery(sql);
  query.setReadOnly(true);
  query.setFetchSize(10);

  // Execute query
  results = query.scroll(ScrollMode.FORWARD_ONLY);

  while (results.next()) {
	String nodeUuid = results.get(0);
	try {
		String dstPath = conversionUtils.convertToPDF(nodeUuid);
		FileLogger.error(LOG_NAME, nodeUuid + " > " + dstPath);
	} catch (Exception e) {
		FileLogger.error(LOG_NAME, "Error in node " + nodeUuid + " caused by " + e.getMessage());
		FileLogger.error(LOG_NAME + "-Error", "Error in node " + nodeUuid + " caused by \n" + StackTraceUtils.toString(e));
	}
  }

  FileLogger.info(LOG_NAME, "### END conversion from TIF to PDF");
} catch (Exception e) {
  print(StackTraceUtils.toString(e));
  FileLogger.error(LOG_NAME, StackTraceUtils.toString(e));
} finally {
  results.close();
  session.close();
}

 

Table of contents [ Hide Show ]