Árvore de páginas

Índice

 

Visualización de documentos.

De forma predeterminada, el visor interno de TOTVS Fluig Plataforma soporta los formatos de documentos de imágenes, textos y documentos de extensión PDF. Sin embargo, hay casos en los cuales es necesario que el visualizador sea soportado en otros formatos de documentos como planillas DWG, etc.

Con el fin de facilitar la integración con distintos formatos, TOTVS Fluig Plataforma cuenta con puntos de personalización que permiten que cualquier formato de archivo sea soportado por el visualizador interno, ya que existe una herramienta que realiza la conversión de formato deseado a formato PDF.

Los documentos deben tener una copia en formato PDF 1.4 para visualizar internamente en TOTVS Fluig Plataforma, cuya especificación está en http://www.adobe.com/devnet/pdf/pdf_reference_archive.html

TOTVS Fluig Plataforma hace la conversión automática a PDF con los documentos de texto que soporta Microsoft ® Word u OpenOffice.org ™. Para otros tipos, si se desea utilizar el visualizador interno, se debe armar un plugin para la conversión a PDF.

Conocimientos Necesarios

Para construir un convertidor es necesario poseer los siguientes conocimientos:

  • Tecnología ™ Java EE
  • Lenguaje JavaScript

Construcción de un convertidor

El plugin de conversión se compone de dos partes:

  1. Un componente EJB Message-Driven, para recibir la solicitud de conversión;
  2. Aplicación/programa que hará la conversión;
  3. Indicar que el documento utiliza el visor interno.

Este capítulo presentará un ejemplo de un convertidor de archivos de texto (txt) a formato PDF, para que usted pueda utilizarlo en el visualizador interno de TOTVS Fluig Plataforma.

 

Importante

Icon

Para ayudarlo, descargue los siguientes códigos:

ECMExternalConvertion-project.zip

 

 

Parte 1: Construyendo el EJB Message-Driven

Crear un Message-Driven que escuche el tema topic/wdkDocument: Le mostramos una fuente de ejemplo:

TxtMessageBean.java
paquete com.fluig.conv;
Import javax.ejb.ActivationConfigProperty;
Import javax.ejb.MessageDriven;
Import javax.ejb.MessageDriven;
Import javax.ejb.MessageDriven;
@MessageDriven (nombre = "prueba/TxtConverter', activationConfig = {}
    @ActivationConfigProperty (propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
    @ActivationConfigProperty (propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
})
public class TxtMessageBean implements MessageListener {}
    @Override
    public void onMessage(Message message) {
        try {
            String event = message.getStringProperty("event");
            if (event != null && event.equals("EXTERNALCONVERTION")) {
                String doc = message.getStringProperty("documentpath");
                if (doc != null && doc.endsWith(".txt")) {
                    ProcessBuilder pb = new ProcessBuilder("txt2pdf.exe", doc, doc + ".pdf", "-lpp40");
                    pb.start();
                }
            }
            
        } catch (Exception e) {
            e. printStackTrace ();
        }
    }
    
}

El Message-Driven anterior configura la propiedad destinationType para "javax.jms.Topic" para indicar que usted escuchará un tema JMS, y la propiedad de destino para "topic/wdkDocument" para indicar a qué tema se escuchará. El tema "topic/wdkDocument" es donde se envían los eventos de publicación de documentos.

Al recibir un mensaje, deberá comprobar el tipo de evento publicado por medio de StringProperty "evento", si el valor de esta propiedad es "EXTERNALCONVERTION", significa que TOTVS Fluig Plataforma indica que es el momento de ejecutar la conversión personalizada.

Para obtener la ruta del documento, Compruebe la StringProperty "documentpath".

Después de esto, se comprueba la extensión del para validar si este es el convertidor correcto, porque puede haber más de uno para diferentes extensiones.

Cuando se haya validado los parámetros, se puede llamar entonces al programa de conversión, que en el caso del ejemplo, fue utilizado el txt2pdf freeware http://www.verypdf.com/txt2pdf/

El documento de destino debe tener el mismo nombre más la extensión .pdf y este deberá quedar en el mismo directorio. Ej: doc.txt convertido: doc.txt.pdf

Le recordamos que el documento de origen no podrá ser modificado, con la sanción de que TOTVS Fluig Plataforma indique que se ha cambiado externamente (validación de CRC).

Message-Driven deberá empaquetarse e implantarse en el servidor de aplicaciones conforme las especificaciones de Java ™ EE.

 

Parte 2: Message-Driven para la creación de documentos a largo plazo

Se puede utilizar el Mesage-Driven presentado en el punto anterior para la creación de documentos a largo plazo, siendo necesario hacer algunos cambios. Para saber si MEssage-Driven está siendo utilizado para la creación del archivo a largo plazo, hay un nuevo parámetro llamado "isLongTerm", este parámetro es una String, y si es igual a "true" es porque el documento que se desea generar es un PDF/A, considerado como el archivo a largo plazo.

TOTVS Fluig Plataforma considera sólo el formato PDF/A como formato posible para generar documentos a largo plazo a través de Message-Driven.

 Para identificar la creación de un archivo a largo plazo, se debe modificar el nombre físico del documento, incluyendo la string "PDFĂ" al final del nombre del archivo. Por ejemplo, si el nombre del archivo es manual.txt, el nombre de este archivo después de la conversión será manual.txtPDFA.pdf. Vea el ejemplo a continuación que ilustra los cambios necesarios en el Message-Driven para crear el documento a largo plazo:

String longTerm = message.getStringProperty("isLongTerm");
if (doc != null && doc.endsWith(".txt")) {
	if (longTerm != null && longTerm.equals("true")) {
		String documentName = doc + "PDFA.pdf";
		//llamar al método de conversión para PDF/A
	}
}

En la primera línea se recupera el valor del parámetro "isLongTerm" para saber si se necesita la creación de un archivo a largo plazo. Después de haber comprobado la extensión del documento, se comprueba el valor de la variable longTerm, si esta no es nula y es igual a "true", entonces creamos mediante el llamado del método de conversión de documentos utilizando el nombre del archivo con string "PDFA.pdf".

 

Parte 3: Registrando el convertidor en TOTVS Fluig Plataforma

En Fluig Studio, haga clic con el botón derecho del mousse en la carpeta eventos, seleccionar la opción New, y luego la opción Evento Global Fluig:

El asistente Evento Nuevo se abre. Selecione el evento addDocumentConvertionExt y luego haga clic en el botón Finish.

El evento se agregará al proyecto en copiar eventos y se abrirá para la edición. El objetivo de este evento global es agregar las extensiones que tienen un convertidor personalizado. En este ejemplo es necesario añadir la extensión txt, conforme la fuente a continuación:

addDocumentConvertionExt.js
function addDocumentConvertionExt(ext) {
	ext.Add ("txt");
}
Icon

Atención: Para la impresión de los documentos publicados con la opción "Actualizar Propiedades de la Copia Controlada?" NO se utilizará el convertidor externo. Como es necesario aplicar las propiedades de la copia controlada del documento original y realizar una nueva conversión, este proceso se puede realizar en tiempo de ejecución con el convertidor estándar de producto. Por lo tanto, en la impresión del documento, puede experimentar la pérdida de formateo dependiendo de recursos visuales aplicados en su contenido (bordes, colores, imágenes, etc.).

 

Parte 4: Añadir el listener en al servidor Fluig

Paquete del listener JMS y el agregado en < > SERVER FLUIG/jboss/apps /.

 

 

 

 

Parte 5: Indicar qué documento utiliza el visor interno

Ahora que la extensión .txt se registró como poseedora de un convertidor personalizado, simplemente marque la opción "¿Utiliza visualizador interno?" en la publicación del documento:

 

OBSERVACIONES

  • En el ejemplo proporcionado, se presentan ejemplos de integraciones con los productos Office (Word, Excel y PowerPoint) creados anteriormente.
  • En el ejemplo proporcionado, se presenta un ejemplo de integración de conversión de formatos DWG utilizando la herramienta dwg2pdf de la empresa AutoDWG.
  • Los códigos de conversión son sólo ejemplos, su desarrollo y configuración es responsabilidad del desarrollador.
  • Puede utilizar el plugin empaquetado disponible en el anexo. Para la integración con productos de Microsoft se requiere de ajustes detallados en el ambiente de ejecución de Java ®, permitiendo la comunicación entre el servidor Fluig y los componentes de Office.