Salvar informações do formulário PDF

Salvar informações do formulário PDF

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 actionparâ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 exportAsTexto exemplo acima para um dos seguintes:

informação relacionada