-
Notifications
You must be signed in to change notification settings - Fork 395
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PDF Tags (accessibility) #1234
Comments
I asked the same question a few years ago. PDFs generated for authorities MUST support this in the EU. But nobody is willing to pay for it. Where are the big companies, where are the states, where is the EU? From a technical point of view: BIRT uses OpenPDF for PDF creation. The BIRT community can only start developing PDF/UA support for BIRT after OpenPDF added support for it. At least one tiny bit of preparation is included in BIRT: I don't know: Did the commercial BIRT product support creating tagged PDFs? |
It seems like JasperReports supports creating PDF/UA. So, in contrast to what I said in my previous comment: It would certainly be possible to create PDF/UA with in BIRT. It's just that the OpenPDF community itself is not focused on this and doesn't provide examples. Still, this is certainly a lot of work. |
It looks like OpenPDF might already support PDF/A-1a and PDF/A-1b See lines 1738 and 1740 of https://github.com/LibrePDF/OpenPDF/blob/3b38ad8588669d24fd1f772ec10bb516e996e3c1/openpdf/src/main/java/com/lowagie/text/pdf/PdfWriter.java Do we just need to create a new |
Any updates on implementing tagged PDF functionality? Has anyone made progress on this? |
I'm on vacation this week and spent some time investigating yesterday. I was able to create a valid PDF/UA 1 document using the rather low-level functions of OpenPDF (validation done with the PAC 2021 validator). |
Reminder to myself: ATM the example is saved to a private GH repo. |
@hvbargen may I ask you to share your experimental code, please, if possible? I'm doing some similar attempts to integrate PDF/A tags to the custom PDF emitter, and this will be really helpful. |
OK, here it is: https://github.com/hvbargen/openpdf-ua As I said, I'm convinced that it is possible to add PDF/UA (and PDF/A) support to BIRT. |
Thank you @hvbtup, this is really helpful! I can see that my approach is similar to yours, I'm trying to do with BIRT PDF emitter - first I'm adding the tag structure in similar way, but the most tricky part is to tag content itself (every text entry, image etc). Currently we're using Birt 4.9.0 as far is the latest pom-based version we can integrate in our application. This issue is blocking us from moving to newest versions: #625 |
Is this solved with the latest PDF patches? |
I started working on a proof of concept during my vacation with my hobby account. I copied this to our companies fork today, so this is available at https://github.com/triestram-partner/birt/tree/tagged-pdf, in a very, very early stage. I am able to create a PDF/UA file consisting of labels only (without any background colors or lines etc) which PAC 2024 accepts. Currently I'm trying to add support for images, but PAC 2024 still reports one error for the resulting file. The POC is demonstrating that it is in fact possible to generate PDF/UA with a modified version of BIRT and OpenPDF as the backend. But there are lots of open issues. This is definitely not something I (or anyone else) can develop all alone as a a hobby project, so I'm asking other developers for help. For this, I think it would make sense to create a branch tagged-pdf in the official repository. @wimjongman: Any objections? |
No objections from me, I'm fine with a shared branch. |
OK, folks, help is welcome. The branch is https://github.com/eclipse-birt/birt/tree/tagged-pdf To test the branch, create a report with the following properties: Report properties:
Not sure, there may more settings necessary (regarding fonts), I'll upload an example report later when I'm at home. For the layout elements, be sure to add appropriate PDF tags like Choose run report ... as PDF from the menu in the all-in-one-designer, download the PDF from your browser. |
This is copied from the commit... I would really much prefer that you push changes to your own fork and create pull requests to kick off builds rather than push branches into the main repository. The workflow for how to do that is described here: https://github.com/orgs/eclipse-simrel/discussions/3 I.e., I don't expect to see a bunch of "personal" branches being built: but rather PR builds: Via the PRs there is a place to review and discuss changes. You can easily amend your commits and force push to your fork to kick off new builds. That's also described in the discuss above as well. Your build is failing because it isn't based on master and hence has an older target platform referring to a p2 repository that no longer exists. Before starting a PR effort, always pull master and create your branch off master... |
This is an example report which only produces one error when checked with PAC 2024: |
I just want to inform you that I made some good progress in the past few days. See the branch pdf-tag-page-break in the fork for my hobby account. I can now create tables and lists that are longer than one page including a valid tag structure. However, there is still very much to test and to code:
|
Thanks for the update, Henning. It sounds like you are making great progress. Wonderful! |
I found this discussion regarding iText tags and accessibility in a forum from 2012.
https://forums.opentext.com/forums/developer/discussion/52337/how-do-you-create-an-accessible-pdf-report-with-birt
I couldn't find anything regarding PDF accessibility in the BIRT Docs.
https://eclipse.github.io/birt-website/docs/t_brief-editor-tour
Has PDF Emitter accessibility (tags) been implemented into BIRT? If not, is it on the roadmap?
The text was updated successfully, but these errors were encountered: