Archive Page 2

Webinar LiveCycle Designer

Olá pessoal, bom dia!

Obrigado a todos que participaram do webinar, se quiserem ver novamente aqui está o link para a gravação:

http://experts.adobeconnect.com/p76srzu1tka/

Abraço!

Anúncios

Webinar Formulários PDF com LiveCycle Designer

Tenho recebido muitas dúvidas por email e então pensei que seria interessante fazer uma sessão de esclarecimento para todos, aproveitando a animação pro Adobe MAX desse ano. Ou até mesmo um tutorial para construir formulários dinâmicos em PDF com o LiveCycle Designer.

O Webinar terá duração de 30 minutos (bem curto) para demonstração e como construir tabelas dinâmicas, validações e conexão com webservices através de um PDF.

Data:  próxima Segunda-feira (05/09/2011)  as 9h da manhã.

Então se você está interessado em participar do Webinar, por favor envie um email para: diegosilva@eforms.com.br

Adobe Digital Enterprise Platform

No último dia 20 a Adobe lançou a plataforma corporativa digital, que é focada na experiência do usuário. E o que isso quer dizer?

Isso quer dizer que a marca LiveCycle sai de cena e vira um componente dentro dessa nova plataforma. E essa nova plataforma – chamada de ADEP (Adobe Digital Enterprise Platform) dá a possibilidade às empresas da criação e construção de soluções multi-canais muito mais interativas com seus clientes, inclusive no mundo móvel. Ou seja, o foco realmente é CEM (Customer Experience Management). Muito mais que abrir novos canais de comunicação com os clientes, é necessário saber gerenciar e responder a esses diferentes canais.

Quer conhecer um pouco mais sobre essas soluções voltadas para experiência do cliente? Clique aqui (inglês).

Se você já é cliente LiveCycle e quer saber o que vai acontecer? Clique aqui.

E se você é desenvolvedor, já fez vários formulários em PDF e trabalhou com alguns módulos do LiveCycle, calma. Ainda tem muito chão pela frente. LiveCycle não sumiu e agora é o marco para uma nova fase.

Basicamente, essa nova plataforma nada mais é do que:

ADEP = LiveCycle + (Day) CQ5 + Mosaic + Data Services + “Customer Experience Solutions” (formerly “Solution Accelerators”).

Se quiser saber um pouco mais da história do LiveCycle, veja aqui.

É isso!

 

 

LiveCycle forms: Data Binding

Erba, como vão?

Aqui a coisa tá hard rock! Muito peixe, lula, caranguejo apimentado e forms na veia hehehehe

Hoje passei por uma situação e vou compartilhar aqui, pode ajudar muita gente.

Digamos que você está trabalhando num projeto que envolva formulários PDF. Você desenvolve esses formulários que serão utilizados em um sistema web de workflow qualquer (não LiveCycle). O papel do LiveCycle (Output nesse caso) vai ser somente receber via web service um XML desse sistema e fazer o merge com o seu template de formulário PDF.

Mas aí o time de desenvolvedores do sistema de worflow te pergunta: Como eu devo gerar esse XML? Claro, agora você tem que fazer um schema pra eles. Mas isso já estava previsto, não é?

Dentro do seu formulário você tem um dropdownlist que é pre-populado com os dados vindos do XML deles. Mas quando você clica em submit, o formulário envia novamente o XML com os dados preenchidos pelo usuário, mas manda também toda a lista que veio pre-populada do dropdownlist anteriormente. Mas o outro time não quer receber toda essa informação de novo, certo? Só querem receber o item que o usuário selecionou. Compreensível.

Então antes de submeter o formulário você precisa tirar no script na mão os outros itens. Seleciona o botão de submit e no evento mouseUp coloca a seguinte linha:

$record.nodes.remove($record.MeuDropDownList);

Beleza, vai funcionar. E o que isso faz? Remove a informação a mais. Mas no lugar do MeuDropDownList você claro coloca a identificação do nó no seu XML.

Mas de repente você vai testar seu formulário feito no LiveCycle Designer, e que tem mais de 1000 campos e vê que quando clica em Submit mesmo os campos em branco aparecem no XML de saída:

<\nome>
<\fax>

Então é por isso que no seu Schema você precisa definir em todos esses campos como minOccurs=”0″:


<xs:element minOccurs="0" maxOccurs="1" name="nome" type="xs:string" />

<xs:element minOccurs="0" maxOccurs="1" name="fax" type="xs:string" />

Assim se o campo estiver vazio, ele não aparece no XML final.

É isso.

Um mês de Ásia

Erba!

Eu aqui outra vez e agora pra sair um pouco dos scripts e tutoriais mais técnicos. Faz 1 mês que cheguei em Cingapura e apesar do choque cultural já estou conseguindo me adaptar bem.

Em poucos dias já percebi qualé que é do governo. Peguei um jornal qualquer e fui checar os classificados. O que mais me impressionou foi o alto preço dos automóveis que chega a bater a casa dos 90.000 dólares por um modelo simples. Isso porque além da habilitação você precisa de uma licença para TER o carro. Então somando todos os impostos o valor final para se comprar um carro novo é exorbitante.

Não é difícil perceber qual o objetivo do governo com isso. Não compre carro! Não tenha carro! Afinal de contas aqui é uma ilha, já imaginou que caos seria?

Agora vamos ao outro lado da moeda. O transporte público funciona? Sim. E com nota 10.

Combinação de metro e ônibus que te conecta a qualquer lugar que deseje ir. Para ir ao trabalho, por exemplo, gasto 1,00 dólar e 30 min dentro do ônibus. Não existe catracas, você paga pela distância que viajou. Comparando com a tarifa em São Paulo que é de R$ 3,00… nem vou comparar.

Ah e também tem os táxis. São muito baratos, com certeza devem ter algum subsídio para poderem trabalhar.

É isso, só criar impostos não adianta.

Ajuda-me Diego Silva

Erba!

Como curioso que sempre fui, quando entro no meu blog  sempre vejo quem está visitando o blog na seção de estatísticas. Também mostra quais as palavras chaves usadas nos mecanismos de busca.

Hoje uma delas me fez rir. Estava assim: “Ajuda-me Diego Silva”.

Geralmente peço ajuda do Google, mas esse aí foi bem mais específico. Será que sou eu mesmo quem ele está procurando?

Então minha resposta: Sim meu caro discípulo, peça e receberás, buscai e achareis. Diga-me o que precisa?

Coloque sua dúvida aí nos comentários.

Outro que me chamou a anteção foi: “porque não consigo baixar o adobe livecycle?”. Isso mesmo, foi essa a pergunta. Exatamente essa.

Fico imaginando o google com a voz dos céus dizendo: “Meu caro filho, você não consegue baixar porque sua conexão é lenta…”. rs.

Tiradinhas a parte, qual LiveCycle você quer baixar? O Designer ou toda a suíte? O LiveCycle ES2 tem o tamanho aproximado de 2.9GB se eu não estiver enganado.  E o LiveCycle Designer está incluido no Acrobat Pro e Acrobat Suite.

Isso.

Coelho e formulários PDF

Erba!

Lembram daquele post onde eu mostre como aumentar um campo de texto automaticamente a medida que se digita?

Aqui em Cingapura em uma das minhas primeiras tarefas foi propor isso a um cliente. Ele não aceitou de início pois ia bagunçar com o layout dele. Então fiz uns demos de como poderia funcionar para o usuário.

Digamos que ele queira que o usuário seja avisado que chegou ao final do campo. Só isso. Mas como saber que ele chegou ao final do campo? Outra questão maior: como saber o que o usuário está digitando em um formulário em PDF? Eu sei que quando se está programando validações em Javascript em formulários HTML é até fácil capturar a tecla e até contar um a um quantos caracteres o usuário está digitando. Mas no caso do PDF isso não é tão simples visto que depende-se de eventos para capturar informações. E nesse caso o evento mais próximo seria o exit.

É, eu ainda não descobri como pegar caracter por caracter. Se alguém conseguir me fala!

Mas vou mostrar o que fiz para que se saiba quando o usuário atingiu o final do campo.

Use o evento full. Pronto.

Veja abaixo:

//form1.page1.TextField1::enter - (JavaScript, client)
form1.page1.boxMessage.rawValue = "";
//form1.page1.TextField1::exit - (JavaScript, client)
var myString = form1.page1.TextField1.rawValue.toString();
var myStringLength = myString.length;
if(myStringLength >= 30)
   form1.page1.boxMessage.rawValue = "Information: You can continue typing by using the Address field.";
//form1.page1.TextField1::full - (JavaScript, client)
xfa.host.setFocus(form1.page1.Subform1.TextField2);

Pra você entender o código acima, faça o download desse formulário.

E se tiver dúvida, comenta ae!

Ah, e sabem qual a relação entre o coelho e formulários PDF?

Nenhuma.

O ano novo chinês é comemorado no próximo dia 3 e 4 de Fevereiro e pra eles esse é o ano do Coelho.

Lembrei disso porque tem um enfeite de ano novo bem na minha frente. Agora.



%d blogueiros gostam disto: