Script - Convert TIF to PDF
Transforma todos los ficheros TIF del repositorio a PDF.
- Hay un fichero de log de salida llamado “ConvertTIFToPDFXXX.log” en la carpeta logs.
- Debido al tamaño de los repositorios grandes, la consulta SQL se ejecuta con un cursor de base de datos.
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();}