3

We're generating a report in a VF Page which is being shown as a PDF file using renderAs="pdf".

Our Client wants the PDF to be readable by screen readers and OCR tools. We tried to create a couple of VF pages and downloaded the PDF in Adobe Acrobat tool to check if the tags were generated, but they weren't.

Problem statement:

Is there any way we can have tagged PDFs so that they are compliant with screen reader and OCR tools?

Note: We also tried `renderAs="advanced_pdf" (added in summer 2017) but the result is the same. They are not readable by screen readers.

1
  • 1
    Is the source report compatible with screen readers before being saved as a PDF? advanced_pdf is based on Chromium, as it should give you the same results as saving or printing the HTML page as a PDF from Chrome. For reference - PDF Techniques for WCAG 2.0 Jul 4 '17 at 19:54
2

To use renderAs="advanced_pdf", you have to be part of the pilot program. It's not GA in SU17. Instead it's only in Pilot. Unless you're part of the Pilot, that tag won't apply to you. See Use Advanced PDF to Render Visualforce Pages as PDF Files (Pilot).

Salesforce uses the open sourceFlying-Saucer Render Engine to render PDFs. It's functionality is somewhat limited in that it only supports HTML 4.1 & CSS 2.1. Using it, you don't have the ability to generate PDF properties in the same way you would if using Adobe Acrobat Pro.

I'm not part of the Pilot, so can't tell you how or to what extent Salesforce is extending the render engine's functionality. I can only say that to the best of my knowledge, what you're asking isn't possible using RenderAs="PDF" and the render engine configuration that's existed on the platform for years.

4
  • Thanks @crmprogdev. I was just trying to check if anyone else have found other ways to make a pdf accessibility compatible. Our client is very strict with this so , we have to find a way around this problem.
    – RedDevil
    Jul 10 '17 at 8:28
  • As someone who is visually impaired (I'm blind in my left eye), I think accessibility is very important and am pleased that Salesforce generally supports it so well. Other than using a 3rd party service to render your PDFs, I don't know of a way to create this functionality. Check out spurdoc.com and itextpdf.com if you want to try building your own engine or sending to a 3rd party.
    – crmprogdev
    Jul 10 '17 at 16:56
  • @crmprogdev Salesforce's documentation on advanced_pdf says the rendering is based on Chromium, there's no mention of Flying-Saucer render engine. Did you mean to say renderAs PDF is based on Flying Saucer? Jul 19 '17 at 11:40
  • @ChiragBhatia-chirag64 No. They're talking about using a feature of Chrome to display the advanced_pdf. They still use Flying Saucer as their open source render engine. There are numerous commands specific to the Flying Saucer render engine that work with Salesforce such as the following CSS -fs-table-paginate: paginate to cause inside table breaks that paginate properly. Its unclear to me what they're using for the beta since I'm not a part of it and probably wouldn't be allowed to tell you if I were because of NDA's.
    – crmprogdev
    Jul 19 '17 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.