
Estou construindo um formulário usando o pacote Hyperref. Gostaria de poder salvar as informações preenchidas no formulário.
Atualmente, posso fazer com que ele abra automaticamente um cliente de e-mail com informações anexadas:
\documentclass{article}
\RequirePackage{hyperref}
\begin{document}
\begin{Form}[action=mailto:[email protected],encoding=html, method=post]
\TextField[charsize={10pt},multiline=true,height={5mm},width={5cm},name={text_info},bordercolor={0.2 0.2 0.7},default={}]{}
\Submit{Submit}
\end{Form}
\end{document}
De acordo comesse, devo conseguir salvar um formulário localmente usando:
\documentclass{article}
\RequirePackage{hyperref}
\begin{document}
\begin{Form}[action=my_form_response.doc,encoding=html, method=get]
\TextField[charsize={10pt},multiline=true,height={5mm},width={5cm},name={text_info},bordercolor={0.2 0.2 0.7},default={}]{}
\Submit{Submit}
\end{Form}
\end{document}
No entanto, quando clico no botão enviar, recebo o erro "Erro ao abrir URL para enviar formulário".
Pergunta: Posso salvar os dados do formulário localmente? Como?
Responder1
O action
parâmetro só pode ser utilizado para enviar o formulário preenchido para um servidor (especificando a URL para um script CGI) ou por email (especificando o email prefixado com mailto:
, conforme demonstrado em seu primeiro exemplo). Para salvar os dados em um arquivo, você precisa usar um botão com uma ação JavaScript personalizada:
\documentclass{article}
\RequirePackage{hyperref}
\begin{document}
\begin{Form}
\TextField[charsize={10pt},multiline=true,height={5mm},width={5cm},name={text_info},bordercolor={0.2 0.2 0.7},default={}]{}
\PushButton[onclick={this.exportAsText()}]{Submit}
\end{Form}
\end{document}
Desta forma, os dados do formulário serão convertidos paraFormato CSVe o usuário será solicitado a salvar o arquivo resultante no disco. Observe que isso requer a versão paga do Adobe Acrobat, o Adobe Reader gratuito não tem essa funcionalidade habilitada (a menos que seja ativado usandoFormulários do Adobe Experience Manager).
Outros formatos de saída possíveis podem ser obtidos alterando exportAsText
o exemplo acima para um dos seguintes:
exportAsFDF
salva os dados emFormato de dados do Adobe Forms, uma versão mais simples do formato PDF. Isso pode ser útil se você quiser processar os dados posteriormente usando o software Adobe.exportAsXFDF
usa oFormato de dados de formulários Adobe XML, que pode ser processado posteriormente pelo software Adobe, bem como por todos os analisadores XML.