desertbit / fillpdf

FillPDF - Fill PDF forms
Apache License 2.0
82 stars 29 forks source link

Multi-step flattening to massively improve the quality of the generated PDF's. #4

Open bkakadiya42 opened 4 years ago

bkakadiya42 commented 4 years ago

PDF viewing software such as preview and acrobat reader auto positions the unflattened form fields when the user views the PDF file in it. But the pdftk library doesn't auto position fields before flattening. The pdftk does support the ability to create better-positioned fields without flattening using its need_appearances option.

ref. https://www.pdflabs.com/docs/pdftk-man-page/#dest-output-need-appearances

So, we are using a multi-step approach to get the same quality from the pdftk, which does the following:

  1. fill-up the form with the need_appearances flag and without the flatten flag
  2. regenerating the flattened file out of the non-flattened PDF file, which has better positioning.

Empirical results have shown massive improvements in the quality of the generated PDF's: left is before, right is after.

Screen Shot 2020-05-25 at 3 59 12 PM