[
https://issues.apache.org/jira/browse/PDFBOX-2580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14312658#comment-14312658
]
John Hewson edited comment on PDFBOX-2580 at 2/9/15 7:09 PM:
-------------------------------------------------------------
{quote}
Some of it is base CSS support for rich text, a formatting capability, XFA if
we want to support XFA based AcroForms, default styles for fields and some
more. CSS and XFA not being part of core PDF and styling being unspecified.
{quote}
XFA rich text strings and their CSS2 styling are part of core PDF and are
needed in pdfbox core for rendering, which would result in a dependency cycle
where the forms module depends on core, and core depends on the forms module,
i.e. this means that such a forms module is really just a part of core, as
neither could be used in isolation.
{quote}
What I do know is all that is added now is only needed for interact forms
filling. It's not needed for rendering (apart from XFA), it's not needed for
merging. That's why I wanted to put in into an extra 'layer' sitting above and
using the PD model.
{quote}
Actually, appearance string generation will be needed for rendering. Any field
which we can generate an appearance for is likewise a field which another PDF
generator may have omitted an appearance for, and we'll need to generate it. So
appearance generation is a core dependency of rendering.
{quote}
Now if some comes by and asks for a smaller PDFBox we can ask a simple question
'Do you need to fill in forms'. Dependent on his answer he can include or
exclude the package from his custom build.
IMHO if we think about modularization we shall also think about layering
PDFBox. We shall also think about package interdependencies.
{quote}
As I've said above, that's not a useful modularisation because it doesn't
reduce any dependencies or help the user achieve a goal which they perviously
could not. There is no advantage to having a seperate forms package which
itself depends upon pdfbox core, especially as core itself will depend upon the
forms package for rendering. All users of pdfbox, whatever their goal will
simply have to redistribute both core and the forms module at all times. A user
wanting to do a custom build of PDFBox is far better served by using ProGuard,
which is free and open source.
{quote}
It's good that we agree that interactive forms support needs to be enhanced. We
have different opinions on where that should go mostly being irrelevant to the
majority of our users. Let's keep that topic open for another two days and see
if there is additional input for one or the other approach giving Andreas,
Tilman and others a little time to add if they want to.
{quote}
Yes, lets do that.
{quote}
If there is no support for .service I'll move everything into o.a.p.pdmodel
later this week.
{quote}
Remember that it's easy for us to move package-private classes in o.a.p.pdmodel
out into a separate public package at a later date, so moving everything back
there doesn't have to be permanent. I think the next step after this is to
discuss what new forms classes are needed for 2.0 (names and responsibilities
of each class), so that we can make any breaking changes ASAP, I'm happy to
help out with this if needed.
was (Author: jahewson):
{quote}
Some of it is base CSS support for rich text, a formatting capability, XFA if
we want to support XFA based AcroForms, default styles for fields and some
more. CSS and XFA not being part of core PDF and styling being unspecified.
{quote}
XFA rich text strings and their CSS2 styling are part of core PDF and are
needed in pdfbox core for rendering, which would result in a dependency cycle
where the forms module depends on core, and core depends on the forms module,
i.e. this means that such a forms module is really just a part of core, as
neither could be used in isolation.
{quote}
What I do know is all that is added now is only needed for interact forms
filling. It's not needed for rendering (apart from XFA), it's not needed for
merging. That's why I wanted to put in into an extra 'layer' sitting above and
using the PD model.
{quote}
Actually, appearance string generation will be needed for rendering. Any field
which we can generate an appearance for is likewise a field which another PDF
generator may have omitted an appearance for, and we'll need to generate it. So
appearance generation is a core dependency of rendering.
{quote}
Now if some comes by and asks for a smaller PDFBox we can ask a simple question
'Do you need to fill in forms'. Dependent on his answer he can include or
exclude the package from his custom build.
IMHO if we think about modularization we shall also think about layering
PDFBox. We shall also think about package interdependencies.
{quote}
As I've said above, that's not a useful modularisation because it doesn't
reduce any dependencies or help the user achieve a goal which they perviously
could not. There is no advantage to having a seperate forms package which
itself depends upon pdfbox core, especially as core itself will depend upon the
forms package for rendering. All users of pdfbox, whatever their goal will
simply have to redistribute both core and the forms module at all times. A user
wanting to do a custom build of PDFBox is far better served by using ProGuard,
which is free and open source, because we can never anticipate what such a
user's custom needs are going to be ahead of time.
{quote}
It's good that we agree that interactive forms support needs to be enhanced. We
have different opinions on where that should go mostly being irrelevant to the
majority of our users. Let's keep that topic open for another two days and see
if there is additional input for one or the other approach giving Andreas,
Tilman and others a little time to add if they want to.
{quote}
Yes, lets do that.
{quote}
If there is no support for .service I'll move everything into o.a.p.pdmodel
later this week.
{quote}
Remember that it's easy for us to move package-private classes in o.a.p.pdmodel
out into a separate public package at a later date, so moving everything back
there doesn't have to be permanent. I think the next step after this is to
discuss what new forms classes are needed for 2.0 (names and responsibilities
of each class), so that we can make any breaking changes ASAP, I'm happy to
help out with this if needed.
> Decouple implementation specific forms handling from interactive.form PD Model
> ------------------------------------------------------------------------------
>
> Key: PDFBOX-2580
> URL: https://issues.apache.org/jira/browse/PDFBOX-2580
> Project: PDFBox
> Issue Type: Improvement
> Components: AcroForm
> Reporter: Maruan Sahyoun
> Assignee: Maruan Sahyoun
> Fix For: 2.0.0
>
> Attachments: sonar.png
>
>
> The interactive.form PD model currently holds classes reflecting the various
> fields intermixed with appearance generation and layout handling.
> In order to separate the PD model from the service of forms filling and
> appearance generation this functionality shall be moved into a new package.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]