Archive for the 'Dicas' Category

Imprimir formulários em PDF?

Pois é, mesmo tendo essa tecnologia por trás do PDF em que é possível instruir o preenchimento de um formulário e até envia-lo por email, as vezes ainda se faz necessário a impressão desses documentos.

Imagine o seguinte, você fez um formulário bem bacana, dinâmico e com regras de validações. Mas se a pessoa que for preencher clicar no menu File->Print, pronto. Ela vai imprimir mesmo se tiver erros de preenchimento.

Para evitar isso você precisa usar o evento prePrint para validar o formulário, e só depois fazer a impressão. Caso o formulário não esteja preenchido corretamente, use a instrução cancelAction para cancelar a impressão.

Vamos lá?

Em todos os campos que são obrigatórios de preenchimento, deverá ser feito a seguinte ação: Selecione o campo e depois vá na aba Object->Value->Type. Deve estar como Required. Coloque também uma mensagem de aviso. Também é possível controlar os níveis de validação e das mensagens de aviso, quando um campo não for preenchido. Para isso clique logo abaixo, em Form Level Validation Settings.

Validar PDF antes da Impressão

Validar PDF antes da Impressão

Depois só seguir a imagem abaixo, sacou?

Validar PDF antes da Impressão

Validar PDF antes da Impressão

O que eu fiz:

Coloquei dois campos no meu formulário + um botão de impressão. Configurei o primeiro campo como sendo obrigatório e o segundo deixei opcional. No evento prePrint do botão eu coloquei a seguinte instrução:

if(!xfa.form.form1.execValidate()){

       xfa.event.cancelAction = 1;

}

Pronto. Quando clicar no botão, antes de tentar a impressão o Reader irá executar essa instrução, que dispara o evento validate do formulário e, caso retorne FALSO (existem campos a serem preenchidos), a impressão é cancelada.

Clique aqui para fazer download do PDF que fiz nesse post.

É isso.

Anúncios

Manual para criação de arquivos digitais no padrão PDF/A

Erba!

Pra quem não conhece essa é uma gíria do pessoal do interior, muito usada pra quando você quer cumprimentar alguém. O mesmo que dizer OI ou OLÁ.

Mas não comecei esse post por causa disso, só me passou pela cabeça ;)

Hoje de manhã eu participei do evento de lançamento do Manual para Criação de arquivos digitais no padrão PDF/A. Eu fiz parte  da comissão que elaborou esse manual e contribuí especificamente para a área de segurança de documentos nesse padrão. Olha o link do evento aqui.

Mas um manual pra criar PDF’s? E o que é esse padrão PDF/A?

Vamos lá desce o princípio… no início Deus criou o homem e a mulher e milhares e milhares de anos depois a Adobe criou o PDF.
Mas em 2005 a especificação PDF foi tornada um padrão ISO, ou seja, não mais proprietária da Adobe.
O que acontece é que agora, qualquer um que entenda de desenvolvimento de software pode pegar a norma ISO 19005 e construir um leitor ou criador de PDF’s. Ok… não tão fácil assim, você precisa ser um programador.

Só que esse padrão de 2005 foi especificamente para arquivos de longa duração. Em 2008 foi que realmente a especificação PDF 1.7 se tornou padrão internacional: ISO 32000.

Voltando ao assunto do PDF imortal de longa duração, o que quer dizer quando um PDF é um PDF/A ? Quer dizer que, se daqui a 50 anos você pegar aquele pen-drive mofado e ainda funcionar em uma porta USB, e se a Adobe tiver falido, e se os Sistemas Operacionais não existirem mais, qualquer outra empresa pode ou poderá escrever um software para ler o seu arquivo.
É verdade que daqui a 50 anos não conseguimos imaginar muita coisa nesse mundo de tecnologia, pois tudo acontece numa velocidade enorme.

Enfim, pra quê um manual?

Ele servirá pra nos ajudar a criar nossos PDF/A’s usando as ferramentas disponíveis hoje, como Acrobat, por exemplo. Existem algumas configurações nesses softwares para criarem o PDF de acordo com o padrão. Ainda não tenho a versão digital, mas assim que sai colocarei aqui pra vocês.

Agora fiquei pensando… imagine grandes empresas com salas imensas cheias de documentos impressos e que precisam ser digitalizados no padrão PDF/A? Você se viu nesse cenário e quer uma solução? Me envia um email que eu tenho a resposta.

Pessoal por enquanto é isso, erba!

Action Builder

Fala galera!

Com o Action Builder ficou muito mais fácil de fazer um exemplo pra postar no blog. Gastei 45 segundos!

Brincadeiras à parte, vamos a explicação. Esse exemplo fiz para demonstrar como copiar as informações de campos de uma página e jogar em uma segunda página, ocultar e deixar só a segunda visível.

Mas pra quê isso? Recebi essa dúvida por email e resolvi colocar aqui.

Sugestões podem me enviar por email.

Exemplo usando o action builder

Aqui tá o PDF  de exemplo: Download

Margens em formulário dinâmico

Fala galera!

Fui perguntado como se faz isso, então vai uma dica rápida. Quando você faz um formulário dinâmico que pula pra outra página, como fazer para que ele respeite uma margem superior nessa segunda página?

Selecione o subform, clique na aba layout e defina a margem Top, pronto.

Mudando de assunto, hoje estou indo mais além dos formulários. Alguém já desenvolveu um componente para o LiveCycle, integração com o PDF Generator ou Rights Management ou ou desenvolvimento de processos no Workbench?

Galera, vamos compartilhar conhecimento, entrem em contato!

Aliás, estou com uma thread no fórum da Adobe sobre Rights Management, ainda não consegui resolver: http://forums.adobe.com/message/2811627

Abraço!

Como aumentar um campo texto em um formulário PDF

Fala galera!

Como fazer com que um campo texto se ajuste ao conteúdo dentro do formulário? Cenário: você precisa que, conforme o usuário for preenchendo o campo aumente de tamanho e vá para a outra página se necessário.

Simples! Você só vai precisar de 4.232.435 linhas de um script básico que vou passar aqui.

Brincadeira.

Vamos os passos:

Crie um formulário novo

Na paleta Hierarchy, do lado esquerdo, mude o nome do primeiro subform – (Untitled Subform) (page1) – para pagina1.

Arraste um TextField para o subform e marque a caixa de seleção como indicado abaixo.

Configure TextField

Na aba Layout marque a opção Expand to fit da propriedade Height.

Na paleta Hierarchy selecione pagina1 e marque a opção Allow Page Breaks within Content.

Pronto.

Se tiver alguma dúvida, faça o download desse arquivo e veja como eu fiz.

Té mais!

Aliás, aproveita pra responder minha enquete?

Preenchimento automático

Você terminou um formulário de 10 páginas, inúmeros campos e 2D barcodes e agora precisa testar, o que faz? Clica na aba preview e sai preenchendo um campo de cada vez? Bom, você não foi o único! Eu já fiz isso também. Mas existe duas outras formas de se preencher um formulário automaticamente com dados aleatórios para teste.

A primeira é possível clicando no menu “File > Form properties” e depois na aba Preview. Depois clique em “Generate Preview data” para gerar um XML com dados de exemplo. A imagem abaixo dá uma dica.

Generate Preview data

Generate Preview data

A segunda é uma funçåo em javascript em um botão qualquer. Essa função percorre todo o formulário (xfa.form) encontrando cada campo (meuNo.nodes.item(0).className) e preenchendo seus respectivos “values”. Faça o download abaixo de um PDF exemplo.

Preenchimento Automatico

É isso!

Enviar o formulário em PDF por e-mail

Você pode adicionar em seu formulário PDF um botão SUBMIT (Email Submit Button) que irá enviar os dados que foram preenchidos como anexo para o e-mail especificado. O problema é que por padrão os dados são enviados em formado XML (XDP data).

Uma dica simples é ao invés de Email Submit Button, utilize um Button normal e mude o Control Type para Submit. Então na aba Submit coloque o e-mail do destinatário no campo Submit to URL: mailto:bla@bla.com. Logo abaixo configure o Submit As: PDF.

Pronto! Quando clicar no botão Enviar irá abrir seu cliente de e-mail com o PDF já anexo.

PDF como anexo no e-mail

PDF como anexo no e-mail

Aqui tem um exemplo: PDF como anexo no e-mail
Este arquivo foi criado no Livecycle Designer e Usage Rights aplicanos no Acrobat Pro.



%d blogueiros gostam disto: