Outdated iText example in documentation
Ron Friedman <[email protected]> Tue, 5 Sep 2023 17:26:58 +0000
| Newsgroups | gmane.text.xml.fop.user |
|---|---|
| Message-ID | <VI1PR04MB5421C7CE018E9E5450A66EDAFAE8A@VI1PR04MB5421.eurprd04.prod.outlook.com> |
--_002_VI1PR04MB5421C7CE018E9E5450A66EDAFAE8AVI1PR04MB5421eurp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hello,=A0=0A= =A0=0A= The sample code for encrypting a PDF on the output formats [1] page is usin= g an outdated version of iText.=A0=0A= I have attached an updated snippet that achieves the same behavior using iT= ext 7.=A0=0A= =A0=0A= Also, the warning that iText =93may swallow PDF bookmarks=94 does not appea= r to be relevant anymore.=A0=0A= From my testing, opening, editing, and saving a PdfDocument [2] preserves e= xisting bookmarks.=A0=0A= =A0=0A= The recommended fix (FOP-1100 [3]) is no longer relevant since PdfStamper d= oesn=92t exist in modern versions of iText.=A0=0A= Instead, creating a PdfDocument with both an input PdfReader and an output = PdfWriter (as in the new sample code) opens the document in =93stamping mod= e=94, which does not destroy bookmarks.=A0=0A= =A0=0A= An update to the website reflecting these changes would be much appreciated= .=A0=0A= =A0=0A= Sincerely,=A0=0A= Ron Friedman =0A= =0A= [1] https://xmlgraphics.apache.org/fop/trunk/output.html=0A= [2] https://api.itextpdf.com/iText/java/8.0.0/com/itextpdf/kernel/pdf/PdfDo= cument.html=0A= [3] https://issues.apache.org/jira/browse/FOP-1100= --_002_VI1PR04MB5421C7CE018E9E5450A66EDAFAE8AVI1PR04MB5421eurp_ Content-Type: application/octet-stream; name="updated_itext_example.java" Content-Description: updated_itext_example.java Content-Disposition: attachment; filename="updated_itext_example.java"; size=1070; creation-date="Tue, 05 Sep 2023 17:16:08 GMT"; modification-date="Tue, 05 Sep 2023 17:18:17 GMT" Content-Transfer-Encoding: base64 cHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgdHJ5IHsKICAgICAg ICBCeXRlQXJyYXlPdXRwdXRTdHJlYW0gZm9wb3V0ID0gbmV3IEJ5dGVBcnJheU91dHB1dFN0cmVh bSgpOwogICAgICAgIEZvcEZhY3RvcnkgZm9wRmFjdG9yeSA9IEZvcEZhY3RvcnkubmV3SW5zdGFu Y2UobmV3IEZpbGUoIi4iKS50b1VSSSgpKTsKICAgICAgICBGb3AgZm9wID0gZm9wRmFjdG9yeS5u ZXdGb3AoTWltZUNvbnN0YW50cy5NSU1FX1BERiwgZm9wb3V0KTsKCiAgICAgICAgVHJhbnNmb3Jt ZXIgdHJhbnNmb3JtZXIgPSBUcmFuc2Zvcm1lckZhY3RvcnkubmV3SW5zdGFuY2UoKS5uZXdUcmFu c2Zvcm1lcigKICAgICAgICAgICAgICAgIG5ldyBTdHJlYW1Tb3VyY2UobmV3IEZpbGUoYXJnc1sx XSkpKTsKICAgICAgICB0cmFuc2Zvcm1lci50cmFuc2Zvcm0obmV3IFN0cmVhbVNvdXJjZShuZXcg RmlsZShhcmdzWzBdKSksCiAgICAgICAgICAgICAgICBuZXcgU0FYUmVzdWx0KGZvcC5nZXREZWZh dWx0SGFuZGxlcigpKSk7CgogICAgICAgIFN0cmluZyB1c2VyUGFzc3dvcmQgPSAicGRmIjsKICAg ICAgICBQZGZSZWFkZXIgcmVhZGVyID0gbmV3IFBkZlJlYWRlcihuZXcgQnl0ZUFycmF5SW5wdXRT dHJlYW0oZm9wb3V0LnRvQnl0ZUFycmF5KCkpKTsKICAgICAgICBQZGZXcml0ZXIgd3JpdGVyID0g bmV3IFBkZldyaXRlcihhcmdzWzJdLCBuZXcgV3JpdGVyUHJvcGVydGllcygpLnNldFN0YW5kYXJk RW5jcnlwdGlvbigKICAgICAgICAgICAgICAgIHVzZXJQYXNzd29yZC5nZXRCeXRlcygpLAogICAg ICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgICAgIEVuY3J5cHRpb25Db25zdGFudHMuQUxM T1dfQ09QWSwKICAgICAgICAgICAgICAgIEVuY3J5cHRpb25Db25zdGFudHMuU1RBTkRBUkRfRU5D UllQVElPTl80MCkpOwogICAgICAgIFBkZkRvY3VtZW50IGRvYyA9IG5ldyBQZGZEb2N1bWVudChy ZWFkZXIsIHdyaXRlcik7CiAgICAgICAgZG9jLmNsb3NlKCk7CiAgICB9IGNhdGNoIChFeGNlcHRp b24gZSkgewogICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CiAgICB9Cn0= --_002_VI1PR04MB5421C7CE018E9E5450A66EDAFAE8AVI1PR04MB5421eurp_ Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --_002_VI1PR04MB5421C7CE018E9E5450A66EDAFAE8AVI1PR04MB5421eurp_--