Arquivo para a categoria 'Dicas'

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.

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?

Próxima Página »



Seguir

Obtenha todo post novo entregue na sua caixa de entrada.