pdftk flatten perde dados de campo preenchíveis

pdftk flatten perde dados de campo preenchíveis

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.pdfem 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 .fdfarquivos, 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.

informação relacionada