Thank you all for confirming the issue with macOS' Preview.
My version is the same as Thad's: 10.1 (944.6.16.1).

Just to be sure, I've also downloaded:
- PDFpen 11.2.1
- PDFelement Version 7.5.9.2925.5262(20200214)

and the issue is only reproducible in macOS' Preview.

All the other PDF viewers treat the flattened PDF document as flat,
where you can't check the checkboxes after flattening.

Should this issue be raised somewhere? (With Apple maybe?)
Does it need to be documented somewhere, like in the FAQ, so that others
don't stumble on it?
Because I implemented this functionality a while back, when .flatten became
available as part of PDFBox,
but I only tested the PDFs with Preview and assumed that maybe I'm doing
something wrong, because I
could still modify the checkboxes.

Thank you all for your help
Aleksandar


On Sat, Feb 22, 2020 at 8:41 PM Thad Humphries <thad.humphr...@gmail.com>
wrote:

> I'll take some of that back--I can add new checkboxes, but I can't remove
> checks placed before flattening.
>
> On Sat, Feb 22, 2020 at 3:28 PM Thad Humphries <thad.humphr...@gmail.com>
> wrote:
>
> > I am seeing the same behavior that Dick is seeing with Tillman's file in
> > Preview (Version 10.1 (944.6.16.1)), but not with a file of my own.
> >
> > In the past two weeks I was asked to write program to fill in a PDF form
> > from a file of name:value pairs, and flatten it. I
> > used ((PDCheckBox)pdField).check() and ((PDCheckBox)pdField).unCheck()
> for
> > the checkboxes and pdField.setValue(value) for others of field type "Btn"
> > and for "Tx", then flattened and saved the result with
> >
> > acroForm.flatten();
> > pdfDocument.save(outpdf);
> > pdfDocument.close();
> >
> > The resulting file in truly flat. I cannot alter the checkboxes or any
> > other field in Preview.
> >
> > The original form was created on a Mac with PDFpenPro, but I don't know
> > the version. I can post my code if desired, but I can't release the PDF
> > without permission, and the person responsible for it is out of the
> office
> > all next week.
> >
> >
> >
> > On Sat, Feb 22, 2020 at 2:33 PM Dick Martin <rtmar...@nycap.rr.com>
> wrote:
> >
> >> Aleksandar and Tilman,
> >> I was curious as I use MacOS. I opened Tilman's result file in
> Preview.  I
> >> was indeed able to place a checkmark in the checkboxes.  Interestingly,
> I
> >> could also drag the checkmark around out of the box.  I opened the file
> >> (saved in Preview with 2 checkboxes checked) with Adobe Reader (Mac),
> >> Acrobat X (Win7), and PDFCreator(from Nuance; Win7).  I all 3 of those,
> >> the
> >> checkboxes were disabled (couldn't set a checkmark) but, interestingly,
> I
> >> still could drag the checkmark out of the box.  So, it does look like
> >> idiosyncratic behavior of Mac Preview app.
> >> Dick
> >>
> >> On Sat, Feb 22, 2020 at 1:16 PM Tilman Hausherr <thaush...@t-online.de>
> >> wrote:
> >>
> >> > Am 22.02.2020 um 18:33 schrieb Aleksandar Simic:
> >> > > Hello Tilman
> >> > >
> >> > > On Sat, Feb 22, 2020 at 4:08 PM Tilman Hausherr <
> >> thaush...@t-online.de>
> >> > > wrote:
> >> > >
> >> > >> What PDFBox version are you using?
> >> > >>
> >> > > I was using 2.0.16
> >> > >
> >> https://github.com/dotemacs/pdfboxing/blob/flatten-form/project.clj#L7
> >> > >
> >> > > I tested it with the trunk and it works fine.
> >> > > Here is my Java code:
> >> > > https://gist.github.com/ff9fb8ccf11abeb2ac6c1c461f2c1eb9
> >> > >
> >> > > Compiled it with PDFBox 2.0.18 and commons-logging 1.1.2.
> >> > >
> >> > > Opening it in macOS' Preview PDF viewer, I can still check the
> >> > checkboxes.
> >> > > But *not* in Adobe's Acrobat Reader DC version 2020.006.20034.
> >> > >
> >> > > The upgraded the Clojure project and the behaviour is the same:
> >> > > - I can check the checkboxes in Preview
> >> > > - I can't check the checkboxes in Acrobat Reader DC
> >> > >
> >> > > What PDF viewer did you use to verify the flattening ?
> >> >
> >> >
> >> > Adobe Reader DC.
> >> >
> >> > Here's my result file:
> >> >
> >> > http://www.filedropper.com/interactiveform-saved
> >> >
> >> > I looked with PDFDebugger, there are no more checkbox fields.
> >> >
> >> > Please try with that file.
> >> >
> >> > If my file brings the same effect, then I'd say this is a weird
> behavior
> >> > of MacOS Preview. Maybe it transforms anything that looks like a
> >> > checkbox into a field?
> >> >
> >> >
> >> > >
> >> > > Btw using getFields() is not correct (see javadoc why)
> >> > > Looking at:
> >> > >
> >> > >
> >> >
> >>
> https://pdfbox.apache.org/docs/2.0.13/javadocs/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.html#getFields--
> >> > >
> >> > > (Note: 2.0.13 is the latest documentation linked from
> >> > > https://pdfbox.apache.org/ )
> >> > >
> >> > > Is the reason that .getFields returns only the top level fields and
> >> not
> >> > the
> >> > > nested ones?
> >> > > So I'll have to loop through them to flatten all the child fields?
> >> >
> >> >
> >> > No, this is more a general observation. I don't think you have to set
> >> > then readonly at all.
> >> >
> >> > Tilman
> >> >
> >> >
> >> >
> >> >
> >> > >
> >> > > Thank you for your time
> >> > > Aleksandar
> >> > >
> >> > >
> >> > > Am 22.02.2020 um 16:45 schrieb Aleksandar Simic:
> >> > >>> Hello PDFBox users
> >> > >>>
> >> > >>> I'm trying to flatten a PDF form so that it's no longer editable.
> >> > >>>
> >> > >>> I can flatten the text fields, but the checkboxes are still
> editable
> >> > >>> (you're able to check them).
> >> > >>>
> >> > >>> I am doing this in Clojure, but that should not (I hope) do
> anything
> >> > >> special
> >> > >>> I get a PDF, get its forms and then I set them to read only.
> >> > >>>
> >> > >>> Is there a step that I'm missing?
> >> > >>>
> >> > >>> The code in question is here:
> >> > >>>
> >> > >>>
> >> > >>
> >> >
> >>
> https://github.com/dotemacs/pdfboxing/commit/d62a3da18de258a5ca596b22cfa42d4552de9d60
> >> > >>> The form I'm trying to edit is here:
> >> > >>>
> >> > >>>
> >> > >>
> >> >
> >>
> https://github.com/dotemacs/pdfboxing/blob/flatten-form/test/pdfs/interactiveform.pdf
>
>

Reply via email to