[ 
https://issues.apache.org/jira/browse/PDFBOX-5583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17714714#comment-17714714
 ] 

Chris Newhouse commented on PDFBOX-5583:
----------------------------------------

Perhaps I should have stated this, but the code in the gist is not 
comprehensive and does not show the creation of new (or updating of existing) 
fields. There is other code for that, and we also call `refreshAppearances()` 
at the end of all the creation and updates.

 

I guess to re-frame the reason I included the code, it would be: "To be 
evaluated solely for its sufficiency around marking the necessary things with 
`setNeedtoBeUpdate(true)` when we (1) add or update a Font subset or (2) add or 
update a field in the form. The code to actually update the Font and Fields is 
separate."

 

Given that re-statement, do you think I'm missing anything when it comes to 
marking things during a `saveIncremental` scenario?

> Adding font (or changing font subset) not coming through in saveIncremental
> ---------------------------------------------------------------------------
>
>                 Key: PDFBOX-5583
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5583
>             Project: PDFBox
>          Issue Type: Bug
>          Components: AcroForm, PDModel, Signing
>    Affects Versions: 2.0.24
>            Reporter: Chris Newhouse
>            Priority: Major
>         Attachments: image-2023-03-31-17-40-48-710.png, 
> update-after-signature-includes-font-change.pdf, 
> update-after-signature-that-changes-font-two.pdf
>
>
> In an effort to keep file sizes small, we leverage Font Subsets in our PDFs.
> Also, we already have "incremental change and signing" (where fields are 
> changed _after_ a signature, without voiding the prior signature thanks to 
> using `saveIncremental` and signing the changes) working just fine in most 
> cases.
> However, when the Font on a field is changed or a new Font Subset must be 
> added to the document because the characters used in a field with a 
> tightly-subsetted Font, things don't work correctly:
>  * The signatures stay valid, which is great
>  * But the new Font information does not appear to get written to new version 
> appendix, so you get nonsense rendering in a PDF viewer since the field still 
> points to a Font resource that is either not there or is a subset that does 
> not contain all the necessary characters. I'm not super proficient in this so 
> I don't know exactly what's going on.
>  
> I have ensured that the fields we update are getting marked as 
> `setNeedToBeUpdated(true)` (this is, I believe, why the fields changes _do_ 
> end up in the version changes), it just seems that the Font resources are not 
> getting updated in the version.
> I have also tried to mark the document's PDResource as 
> `setNeedToBeUpdated(true)` but to no avail.
>  
> Is this behavior possible/allowed? Is it a bug or am I doing something wrong?
>  
> I have included an example file where the field named 
> `incrementalChangeField` goes from `NotoSans-Regular` to 
> `NotoSansCJK-Regular` during the incremental change, but the font resource 
> does not get added.
> Thanks for your time!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to