pdftk flatten은 채울 수 있는 필드 데이터를 잃습니다.

pdftk flatten은 채울 수 있는 필드 데이터를 잃습니다.

Linux 명령줄에서 이미 채워진 필드가 있는 PDF를 병합하는 솔루션을 찾으려고 노력 중입니다. 처음에는 GhostScript를 사용했지만 모든 필드 데이터를 가비지 문자로 변환하는 경향이 있다는 것을 알았습니다.

이 명령을 실행할 때

pdftk foo.pdf output bar.pdf flatten

PDF 리더에서 열면 bar.pdf병합되지만 필드에 있던 데이터는 존재하지 않습니다. PDF는 작성 가능한 필드를 제외하면 작성되지 않은 것과 동일합니다.

여기에 제가 놓친 것이 있나요?

Google에서 찾은 모든 솔루션은 빈 양식을 .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가 처음에 이와 같은 작업을 수행하지 않는 이유는 저를 넘어서는 것입니다.

관련 정보