Hello PoDoFo developers, users, as previously anticipated, PoDoFo-next (the PoDoFo API rework based on pdfmm) has now been pushed to the project repository, effectively becoming the new PoDoFo's codebase (a PoDoFo 0.9.x branch has also been created). Because of this pdfmm is effectively terminated and its repository has been archived. I discussed several times the objectives that were pursued when working with PoDoFo's code, so I will try to highlight other stuff this time. There's a changelog[1] of new features, reworks, and bug fixes recently introduced. A 0.10 release could be tagged to mark the current progress, but I'll wait few days if it arrives some quick feedback with urgent bugs. There's also a long TODO[2] list which I would like to clear before having a 1.0 release.
There a couple of things that were added recently that I believe are very interesting: 1) I imported some code from pdfium[3] to decode /CCITTFaxDecode filter. Some more code could be imported in similar way for other stuff that require a lot of research; 2) I imported chromium numerics[4] which was used by pdium. This allows for much better overflow checks. This may be of special interest for Mark... There are also 3 things I'm not entirely happy about the current state of PoDoFo-next: 1) PoDoFo-next is not yet a full replacement for PoDoFo, mostly because of tools. As anticipated I just did a mechanical port of tools (this porting operation actually helped improving the API), but they are completely untested and I am not interested in maintaining them, except for a couple (podofosign and podofotextextract). In general I would like tools to be same quality as the library code (it is currently not, in my opinion: too much C style programming left), and have a shared framework with common utilities for parsing of commands, handle of crashes, handle Unicode strings on Windows, etc. If there's an interest in continuing the software distribution in linux distros this should be fixed; 2) A large part of the API is not tested publicly. This is bad; 3) The procedure to sign PDF documents has changed a lot, but there's no publicly available test/example available and podofosign is untested as well. Also still there's no high level signing API yet: this may come later, maybe after 1.0. Also: - I'm sorry because I covered the recent README markdown conversion. Some chapters may be re-integrated later; - Some other things I regressed may required fixes from specialized people (I will specify it later); - I am sorry if I don't answer too much in the ML, especially for topics where I have a direct experience and I could have one thing or two to say. I will try improve this. So far I didn't measure strong interest for pdfmm/PoDoFo-next but this also had advantages: I could work for long time with no disturb. I think this may change a bit with the upload to the official PoDoFo's repository. Because this is a complex project and working on it takes a lot of time, every help is welcome (also in reviewing PRs) and if you have some big work in mind let's talk about it in the ML a bit. I would be glad if the website is revamped, but I have no passion for that. As a last message I would say that I'm personally very proud of this milestone, even if I'm a bit sad that some stuff took way too much than I imagined: while modern C++ can be cool, some peculiarities of the language still make it very slow do design high quality interfaces/utilities. With the work in pdfmm/PoDoFo I could close the circle on stuff I never sorted out with C++, which is great, but achieving all of this had a very big cost in terms of energy and weekends spent on the project. Greetings, Francesco [1] https://github.com/podofo/podofo/blob/master/CHANGELOG.md [2] https://github.com/podofo/podofo/blob/master/TODO.md [3] https://pdfium.googlesource.com/pdfium/ [4] https://chromium.googlesource.com/chromium/src/base/+/master/numerics/ _______________________________________________ Podofo-users mailing list Podofo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/podofo-users