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();
}