Nota | ||
---|---|---|
| ||
Caro Cliente, O TOTVS ECM 3.0 foi fundamentado na tecnologia de interface Flash, do qual a Adobe irá descontinuar seu suporte em 31/12/2020. Recomendamos que nossos clientes avaliem a utilização do TOTVS Fluig Plataforma, que proporciona uma maior abrangência de recursos e importantes inovações tecnológicas. São inúmeras novidades não só em ECM e BPM que o Fluig entrega aos seus mais de 4 mil clientes, mas também conta com recursos de portais, social e identidade única. Entre em contato com seu executivo de conta para saber mais detalhes desta oferta. |
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Os documentos devem possuir uma cópia no formato PDF 1.4 para serem visualizados internamente no TOTVS | ECM, cuja especificação está em http://www.adobe.com/devnet/pdf/pdfs/PDFReference.pdf
O ECM faz a conversão automática para PDF com os documentos de texto suportados pelo Microsoft® Word ou OpenOffice.org™. Para os demais tipos, caso seja desejado utilizar o visualizador interno, deve ser construído um plugin de conversão para PDF.
Para construir um conversor faz-se necessário possuir os seguintes conhecimentos:
O plugin de conversão é composto de duas partes:
...
Este capítulo irá apresentar um exemplo de conversor para arquivos texto (txt) em pdf, assim será possível utilizá-lo no visualizador interno do TOTVS | ECM.
Criar um Message-Driven que escute o tópico topic/wdkDocument: Segue fonte exemplo:
Bloco de código |
---|
package testeconv; import javax.ejb.ActivationConfigProperty; import javax.ejb.MessageDriven; import javax.jms.Message; import javax.jms.MessageListener; @MessageDriven(name = "test/TxtConverter", activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"), @ActivationConfigProperty(propertyName = "destination", propertyValue = "topic/wdkDocument") }) 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(); } } } |
...
O Message Driven acima configura a propriedade destinationType para “javax.jms.Topic” para indicar que irá escutar um tópico JMS, e a propriedade destination para “topic/wdkDocument” para indicar qual tópico será ouvido. O tópico “topic/wdkDocument” é onde os eventos de publicação são enviados.
...
Este Message-Driven deverá ser empacotado e implantado no servidor de aplicações conforme as especificados do Java™ EE.
Pode ser utilizado o message-driven explicado no item anterior na criação de documentos de longo prazo, basta fazer algumas alterações. Para saber se o message-driven esta sendo utilizado para criação do arquivo de longo prazo, existe um novo parâmetro chamado “isLongTerm”, esse parâmetro é uma String, se essa String for igual a “true” é por que o documento que se quer gerar é um PDF/A, considerado arquivo de longo prazo.
...
Bloco de código |
---|
String longTerm = message.getStringProperty("isLongTerm"); if (doc != null && doc.endsWith(".txt")) { if (longTerm != null && longTerm.equals("true")) { String documentName = doc + “PDFA.pdf”; //Chamar o método de conversão para PDF/A } } |
...
Deck of Cards | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
|
...
...
Agora que a extensão .txt foi registrada como possuindo um conversor customizado, basta selecionar a opção utiliza visualizador interno na publicação do documento: