pdftk 展平遺失可填入欄位數據

pdftk 展平遺失可填入欄位數據

我正在嘗試制定一個解決方案,以在 Linux 命令列上壓平具有已填寫欄位的 PDF。一開始我在擺弄 GhostScript,但我發現它往往會將所有欄位資料轉換為垃圾字元。

當我運行這個命令時

pdftk foo.pdf output bar.pdf flatten

在 PDF 閱讀器中開啟它bar.pdf,它會被展平,但欄位中的資料根本不存在。 PDF 與未填寫的 PDF 一樣,只是減去了可填寫的欄位。

我在這裡缺少什麼嗎?

我在谷歌上找到的所有解決方案都是關於用.fdf文件填充空白表單,這並不真正適合我的情況。

答案1

我能夠拼湊出這個解決方案。

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}
}

它使用 pdftk 從填充的 pdf 產生 fdf 文件,然後在第二次運行中使用該文件來壓平它。為什麼 pdftk 一開始不做這樣的事情就超出了我的範圍。

相關內容