Estou tentando encontrar uma solução para nivelar PDFs com campos já preenchidos em uma linha de comando do Linux. Eu estava brincando com o GhostScript no início, mas descobri que ele tendia a converter todos os dados do campo em caracteres inúteis.
Quando executo este comando
pdftk foo.pdf output bar.pdf flatten
e aberto bar.pdf
em um leitor de PDF, fica achatado, mas os dados que estavam nos campos simplesmente não estão presentes. O PDF fica como se não estivesse preenchido, menos os campos preenchíveis.
Há algo que estou perdendo aqui?
Todas as soluções que encontro no Google tratam de preencher formulários vazios com .fdf
arquivos, o que realmente não se aplica à minha situação.
Responder1
Consegui juntar as peças desta solução.
flattenpdf() {
if [[ $# -ne 2 ]]
then
echo "Usage: flattenpdf input.pdf output.pdf"
return 1
fi
temp=$(mktemp)
pdftk "$1" generate_fdf output ${temp}
pdftk "$1" fill_form ${temp} output "$2" flatten
rm ${temp}
}
Ele usa pdftk para gerar um arquivo fdf a partir do pdf preenchido e, em seguida, usa esse arquivo em uma segunda execução para nivelá-lo. Por que o pdftk não faz algo assim está além da minha compreensão.