Tempos atrás eu vi um código que pretendia justificar um texto dentro de um TextBox num relatório e muita gente tentou adaptar o código para criar contratos e preenchê-los com dados de tabelas do Access.
A partir da versão 2007, o Office permitiu a criação de arquivos PDF o que deixou essa tarefa muito mais interessante, pois deixamos de depender de ferramentas de terceiros para gerar o contrato em PDF.
Eu mesmo usei durante muito tempo o PDF Creator, ferramenta muito boa e Open Source.
A dica para facilitar a tarefa é juntar recursos do pacote Office (que eu sempre digo que é uma suíte voltada a produtividade) e usar o melhor de cada um deles de forma integrada:
- Criar o contrato no Word utilizando todos os recursos de justificação de texto, tabelas para posicionar os campos e bookmarks (indicadores) para receber os campos da(s) tabela(s);
- A parte de programação pode ser feita tanto no Access quanto no Word.
Juntando tudo, basta preencher o contrato pelo VBA e gerar a saída no formato PDF.
Detalhes importantes que devem ser de conhecimento para utilizar esta técnica:
- Indicadores do Word;
- Modelos de documento (*.dot ou *.dotx);
- Criação de formulários no Word utilizando-se tabelas;
- Acesso à dados no Access (DAO ou ADO);
- Automação de aplicativos do Office (Access controlando o Word ou vice-versa) e
- Late Binding ou Early Binding.
Sobre este último item eu já devo ter escrito em algum post anterior, mas basicamente o Early Binding vai facilitar muito a programação porém exigirá que o programador saiba para qual versão do Office estará programando. O Late Binding não terá o problema da versão porém a programação será um pouco mais complexa.
;-)