sumatrapdfreader / sumatrapdf

SumatraPDF reader
http://www.sumatrapdfreader.org
GNU General Public License v3.0
13.54k stars 1.72k forks source link

Support AcroForm forms #2141

Closed sebma closed 7 months ago

sebma commented 3 years ago

Hi,

Can you please add AcroForm form support to sumatrapdf ?

GitHubRulesOK commented 3 years ago

There are in effect three type of Acrobat Form methods.

Legacy JavaScript driven AcroForms, please supply a sample of the type you are requesting.

Some Forms with XFA Static form features like IRS f1040 that also require JavaScript to drive some features. that is covered by issue https://github.com/sumatrapdfreader/sumatrapdf/issues/1249

Depreciated XFA Dynamic Forms (Unsupported by MuPDF = CLOSED ISSUES)

sebma commented 3 years ago

@GitHubRulesOK Hi, On Linux pdfinfo formulaire_s3711_demande_de_complementaire_solidaire_0.pdf only says it's an AcroForm but I don't how to get more information :

$ wget https://www.ameli.fr/sites/default/files/formulaires/596542/formulaire_s3711_demande_de_complementaire_solidaire_0.pdf
--2021-08-26 13:46:48--  https://www.ameli.fr/sites/default/files/formulaires/596542/formulaire_s3711_demande_de_complementaire_solidaire_0.pdf
Resolving www.ameli.fr (www.ameli.fr)... 31.15.27.86
Connecting to www.ameli.fr (www.ameli.fr)|31.15.27.86|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 900367 (879K) [application/pdf]
Saving to: ‘formulaire_s3711_demande_de_complementaire_solidaire_0.pdf’

formulaire_s3711_demande_de_complementa 100%[============================================================================>] 879.26K  5.72MB/s    in 0.2s    

2021-08-26 13:46:48 (5.72 MB/s) - ‘formulaire_s3711_demande_de_complementaire_solidaire_0.pdf’ saved [900367/900367]

$ pdfinfo formulaire_s3711_demande_de_complementaire_solidaire_0.pdf 
Producer:       Enfocus PitStop Pro 18
CreationDate:   Fri Jul 19 17:04:59 2019 CEST
ModDate:        Wed Oct 30 17:28:37 2019 CET
Tagged:         no
UserProperties: no
Suspects:       no
Form:           AcroForm
JavaScript:     no
Pages:          6
Encrypted:      no
Page size:      595.276 x 841.89 pts (A4)
Page rot:       0
File size:      900367 bytes
Optimized:      no
PDF version:    1.6

Do you know a command line tool that can show more information ?

sebma commented 3 years ago

@GitHubRulesOK BTW : With mupdf-gl.exe on Windows is able to fill in the forms in this pdf file : https://www.ameli.fr/sites/default/files/formulaires/596542/formulaire_s3711_demande_de_complementaire_solidaire_0.pdf

GitHubRulesOK commented 3 years ago

ok thanks for the sample, that is a fairly complex form with the ability to save the entries in a companion FDF file for transmission (or embedding) of data only without the need to save edits to the pdf. That can be done in editor apps like X-Change.

image

MuPDF has the very basic ability to insert unchecked entries into those fields but then needs the whole file to be saved with those entries, The output with imbedding from MuPDF is noticeably different than that from X-Change so unknown if it may be borderline acceptable.

Thus SumatraPDF currently with Print As Image would not be acceptable to some organisations as the resulting data would be "flattened" to an image and require OCR. In many cases the data handlers are likely to insist Acrobat Forms Data or equivalent editor be used

sebma commented 3 years ago

That can be done in editor apps like X-Change.

Is X-Change free software ? Where can I find it ?

MuPDF has the very basic ability to insert unchecked entries into those fields but then needs the whole file to be saved with those entries,

Isn't it what other non-open source software do : don't they save the whole file with those entries ? Is this wrong ?

GitHubRulesOK commented 3 years ago

Is this wrong ? No it is up to the form provider. If they want the pdf to "phone home" with just the personal data,and not the heavier form, I would add Java Code in the past to do just that, but then have to insist the user only used Acrobat as the script depended on it. Tracker X-Change is "Freemium" and works well with SumatraPDF, see here where SumatraPDF can pass the page number with form across to PDF-Xchange for edits, and PDF-XChange can be also set to open PDF in SumatraPDF for faster viewing. image

open that form in XChange go to forms and you will see "email data" then send yourself the data only by email that's what a forms script would do image

GitHubRulesOK commented 3 years ago

To compare how different pdf readers handle pdf REACTIONs try loading https://github.com/Hopding/pdf-lib/files/5541429/out.pdf Consider how some AcroForms have a submit my application button at the end after signing.

NOTE SumatraPDF (Action not allowed), MuPDF (button clicks but no visible effect), PDF Xchange (button works without warning to show Mozilla JavaScript Engine is initialized (ES2017+) Hello World!) Acrobat set to secure no warning until button is clicked image

GitHubRulesOK commented 7 months ago

closing as duplicate of https://github.com/sumatrapdfreader/sumatrapdf/issues/1249

related #4140