Quick start
- Add files (Ctrl+O), a folder (Ctrl+Shift+O) or drag them to the list.
- Choose the standard: PDF/UA-2 (PDF 2.0, recommended) or PDF/UA-1. For archiving, also choose a PDF/A level.
- Press Export to accessible PDF (Ctrl+E or F5).
- Add alternative texts of images if the program asks for them, and read the accessibility report.
The original file is never changed. The result is saved as a new file with the suffix _pristupne,
together with an accessibility report. The F1 key opens the chapter of this guide for the control that has the
focus; a short help is also in the Help menu (Quick start, Keyboard shortcuts, Terms and abbreviations,
Requirements, Privacy, License, About).
Requirements
Required
- Windows 10 or 11, 64-bit. The program can be downloaded from
GitHub Releases in two forms: an installer
(
AccessiblePDF-…-win64-setup.exe; adds the program to the Start menu, no administrator rights needed) and a portable version (AccessiblePDF-…-win64-portable.zip; just unzip it and runAccessiblePDF.exe; it stores its settings in theDatafolder next to the program, so it also runs from a USB drive). It needs no internet connection. There is no 32-bit version: the pikepdf library is no longer released for 32-bit Windows and Windows 11 has no 32-bit edition. - Nothing else is needed for PDF files.
- To convert documents (Word, Excel, PowerPoint, LibreOffice, Markdown, HTML, TXT, CSV), at least one
of these programs:
- LibreOffice 7.4 or later, free at libreoffice.org. PDF/UA-2 and PDF/A-4 (PDF 2.0) require version 25.8 or later.
- Microsoft Office 2016 or later, or Microsoft 365 (Word, Excel, PowerPoint). Visio files require an activated Microsoft Visio.
Recommended
- veraPDF 1.26 or later for independent validation of PDF/UA, PDF/A and WTPDF (verapdf.org; the installer includes Java). The program looks for it in the usual folders; you can enter the path in Preferences.
- PAC 2026 for manual checking and a screen reader (NVDA, JAWS, Narrator) to verify the result.
What is installed on your computer is shown in Help > Requirements or by the command
ppdf env.
Supported formats
| Kind | Formats | Conversion |
|---|---|---|
| Text documents | .docx, .docm, .dotx, .dotm, .doc, .dot, .rtf, .odt, .ott, .fodt, .odm, .oth, .sxw, .stw, .sxg, .sdw, .vor, .wpd, .wps, .txt | LibreOffice; Word except .ott, .fodt, .odm, .oth, .sx*, .sdw, .vor, .wpd, .wps |
| Spreadsheets | .xlsx, .xlsm, .xltx, .xltm, .xlsb, .xls, .xlt, .ods, .ots, .fods, .sxc, .stc, .sdc, .csv, .dif, .slk, .dbf | LibreOffice; Excel except .ots, .fods, .sxc, .stc, .sdc, .dbf |
| Presentations | .pptx, .pptm, .potx, .potm, .ppsx, .ppsm, .ppt, .pot, .pps, .odp, .otp, .fodp, .sxi, .sti, .sdd, .sdp | LibreOffice; PowerPoint except .otp, .fodp, .sxi, .sti, .sdd, .sdp |
| Drawings | .odg, .otg, .fodg, .sxd, .std, .sda, Visio .vsd, .vsdx, .vsdm, .vstx, .vstm, .vst, .vdx, .vsx, .vtx, Publisher .pub | LibreOffice; Visio files also Visio |
| Formulas | .odf, .sxm, .smf, .mml | LibreOffice |
| Web and Markdown | .htm, .html, .xhtml, .md, .markdown, .mht, .mhtml | LibreOffice or Word; .mht only Word |
| .pdf with or without tags (with text) | the program itself |
Macro-enabled formats are supported too (.docm, .dotm, .xlsm, .xltm, .xlsb, .pptm, .potm, .ppsm, .vsdm, .vstm and older binary formats). Macros never run during the export and are not transferred to the PDF. The Uniform Office Format (.uot, .uos, .uop) is not supported: LibreOffice 26.8 saves it but cannot open it again.
Export steps
- Add files with Add files, a whole folder with Add folder (including subfolders) or drag files to the list.
- For an individual file you can enter the title, author, subject, keywords and language in File properties (see Custom document metadata).
- In Output, choose the standard, PDF/A level, PDF version and where to save the result; in Document conversion, which program converts the documents.
- Press Export to accessible PDF. The progress is shown in the status line and announced by the screen reader; cancel the export with Esc.
- If some images lack alternative text, the program opens the Alternative texts window.
- When finished, the focus moves to the file list (this can be turned off in Preferences). The result of the selected file is in Result details; the buttons below open the PDF, the report and the folder.
The result has the name of the original file with a suffix (by default _pristupne). An existing file is
never overwritten; a new one gets a sequence number, for example report_pristupne (2).pdf.
Options
- Compliance standard
- PDF/UA-2 (PDF 2.0) or PDF/UA-1 (PDF 1.7, 1.6, 1.5; PDF 1.4 with PDF/A-1).
- PDF/A archiving
- PDF/A level; the list contains only levels compatible with the chosen standard (PDF/A archiving).
- Also declare Well-Tagged PDF
- With PDF/UA-2, adds the WTPDF 1.0 declaration (Well-Tagged PDF).
- Attach the original document
- Embeds the original file in the PDF as an attachment with the relationship “source”. Allowed only without PDF/A, with PDF/A-3 and PDF/A-4f. Note: the attachment contains the whole original file, including comments, tracked changes and macros.
- Save beside the original file or into another folder
- Where the PDF and the report are saved.
- Output file name suffix
- Text added to the original file name. Characters not allowed in file names are replaced with an underscore, so the result is always saved in the chosen folder.
- Default document language
- Used when the document has no language and the program cannot detect it from the text. If the document language differs from the language of its text, the program corrects it and warns you.
- Convert documents using
- Automatic, LibreOffice or Microsoft Office (Conversion).
- Verify with veraPDF
- Independent validation of PDF/UA, the chosen PDF/A level and WTPDF.
- Check text contrast
- Compares the colour of each text run with the background of the rendered page: level AA (4.5:1, large text 3:1) and AAA (7:1, large text 4.5:1).
- Create bookmarks from headings
- A document without bookmarks gets bookmarks from its headings.
- Mark the language of foreign-language paragraphs
- A paragraph whose language the program reliably detects and which differs from the document language gets its own language (WCAG 3.1.2).
- Re-tag PDF files with existing tags
- Discards the original tags and creates new ones from the page layout.
- Remove JavaScript and program launching
- On by default. Actions that launch programs or load files are always removed. With PDF/A, JavaScript is always removed because PDF/A does not allow it.
- Ask for missing alternative texts
- After the export, opens the window for adding alternative texts.
- Save the accessibility report
- Saves an HTML report next to the PDF (PDF name +
_sprava.html).
PDF/UA-1 or PDF/UA-2
PDF/UA-2 (ISO 14289-2:2024) is the newer standard based on PDF 2.0. PDF/UA-1 (ISO 14289-1) is based on PDF 1.7 and is supported by more tools. The PAC 2026 checker evaluates PDF/UA-1 and PDF/UA-2 only partly so far; if the result must pass a PAC test, choose PDF/UA-1. The program validates both in veraPDF.
PDF/A archiving
PDF/A (ISO 19005) is the standard for long-term archiving: the document contains everything it needs to be displayed (fonts, colour profile) and nothing that could change or stop working over time (scripts, external content).
| Level | Standard | Goes with | Meaning |
|---|---|---|---|
| PDF/A-1a, 1b | ISO 19005-1, PDF 1.4 | PDF/UA-1 | no transparency, layers or attachments |
| PDF/A-2a, 2b, 2u | ISO 19005-2 | PDF/UA-1 | attachments only in PDF/A format |
| PDF/A-3a, 3b, 3u | ISO 19005-3 | PDF/UA-1 | attachments of any type |
| PDF/A-4 | ISO 19005-4, PDF 2.0 | PDF/UA-2 | base level |
| PDF/A-4e | ISO 19005-4, PDF 2.0 | PDF/UA-2 | engineering documents (3D) |
| PDF/A-4f | ISO 19005-4, PDF 2.0 | PDF/UA-2 | attachments of any type; at least one attachment is required |
The level letter: a means full conformance including structure and Unicode text, u appearance and Unicode, b appearance only. The program's result is always tagged and in Unicode (PDF/UA), so with level b or u it is equally accessible; the level only determines what is declared.
For PDF/A the program adds an output intent with an sRGB profile (generated by the program), adds a profile to CMYK colours, embeds or replaces missing fonts, removes JavaScript and forbidden actions and annotations, adjusts the metadata (declaration, consistency with the Info dictionary, description of the PDF/UA schema) and for PDF/A-1 removes transparency (blends semi-transparent areas and text with the white background, merges soft masks of images), re-encodes JPEG 2000 images and adds font character sets. Attachments not allowed by the chosen level are removed with a warning. For Office and LibreOffice documents, the converter's own PDF/A export is used as well.
Well-Tagged PDF
Well-Tagged PDF (WTPDF 1.0) is the PDF Association specification for well-tagged PDF 2.0. It has two levels: accessibility and reuse of content. The option Also declare Well-Tagged PDF (PDF/UA-2 only) writes declarations of both levels to the metadata; veraPDF validates them with the WTPDF profiles.
Conversion via LibreOffice or Microsoft Office
In Document conversion you choose which program converts the document to a tagged PDF:
- Automatic: LibreOffice if it is installed and supports the chosen PDF version, otherwise Microsoft Office.
- LibreOffice: runs without a window with its own temporary profile; it does not matter if you have LibreOffice open. It also creates fillable forms from document fields.
- Microsoft Office: Word, Excel, PowerPoint and Visio. The page layout is the same as in Office. Word cannot export fillable form fields to PDF (the program warns you) and only Word converts the MHT web archive.
Microsoft Office runs in its own hidden instance, so documents you have open are not closed; a PowerPoint that is already running is never closed. Macros do not run, the document is opened read-only, without updating links and recalculating formulas. If Office shows a window (for example product activation or document repair) it would wait for, the program closes its instance and tells you.
Custom document metadata
In the File properties window (select a file and press Alt+Enter or Enter) you can enter the title, author, subject, keywords and language for each file. An empty field means the value from the source document; the window shows it in Properties in the source document. Separate several authors with semicolons and keywords with commas. The values are written to the PDF (XMP and the Info dictionary) and to the report; the program does not remember them.
Title, author and opening view
Unless you enter them in File properties, the title, author, subject and keywords are taken from the source document
(Word: File, Info, Properties; LibreOffice: File, Properties; Markdown: YAML header title,
author; web page: title and meta). If the document has no title, the program
suggests one from the title on the first page or the first heading and warns you. An author that is only a program name
or a default name (for example Windows User) is not written to the PDF.
The resulting PDF opens with the document title in the window title (WCAG 2.4.2), with the bookmarks panel open (if the document has bookmarks) and with the first page fitted in the window.
Alternative texts of images
An alternative text describes what an image shows and why it is in the document; for a chart, the main finding is enough. It is best entered in the source document. If it is missing, after the export the program opens the Alternative texts window: select an image in Images (a preview and the page are shown), Text found in the image shows the text of the image (chart labels), type a description into Alternative text or check Decorative image, and press Save to PDF. You can open the window later with Alternative texts of images. The program also warns about texts generated by artificial intelligence and texts that are only a file name.
Charts
- A Word, Excel, PowerPoint or LibreOffice chart without alternative text gets a text built from its data (chart type, title, axes, series values). Check the text; state the main finding in the document text too.
- The program warns about charts that distinguish series by colour only (WCAG 1.4.1) and colours with contrast below 3:1 (WCAG 1.4.11).
- A chart that Calc splits over several pages is a single image in the PDF.
- In a PDF without tags, the program detects a vector chart, scheme or diagram and tags it as an image.
Mathematical formulas
Following the PDF Association “Best Practice Guide: Math in PDF”: a formula is a Formula element with an alternative text and, in PDF/UA-2, also MathML as an associated file that screen readers can read.
- Word (Microsoft 365) adds the alternative text (English speech of the formula) and MathML itself; the program marks the text as English if the document is in another language.
- LibreOffice does not give formulas an alternative text: the program builds it from the document's formulas as a linear notation, for example “a² + b² = c²” or “x = (−b ± √(b² − 4ac))/(2a)”, and with PDF/UA-2 attaches MathML.
- A standalone LibreOffice Math formula (.odf, .mml) is tagged as a single Formula element.
- PDF/A-1, 2, 4 and 4e do not allow attachments that are not PDF/A; MathML is then not attached (the alternative text remains).
Forms
Fillable fields come from Word content controls and LibreOffice fields (with LibreOffice conversion) and from the AcroForm of an input PDF. The program gives each field a description from its label, a group description to radio button groups, the word “required” to required fields, places the field after its label, adds the widget description (PDF/UA-2), replaces non-embedded field fonts and removes dynamic XFA forms. Legacy Word form fields are converted to text only.
Markdown, web pages and text
- Markdown (.md) is converted to HTML by the program itself: headings, paragraphs, lists including nested ones, tables with headers, quotes, code, links and images with alternative text; the title and author come from the YAML header.
- Web pages (.html) are cleaned before conversion: scripts, frames and images or styles from the internet are removed (a remote image is replaced by its alternative text), local images from the page folder are used.
- Only Microsoft Word converts the web archive (.mht).
- TXT and CSV: the program detects the encoding (UTF-8, UTF-16) and the CSV separator (semicolon, comma).
PDF processing
A tagged PDF is repaired and converted to the chosen standard. A PDF without tags is tagged automatically from the page layout; check the result, especially the reading order and tables. The program does not do OCR: pages that are only an image are not converted. A protected (encrypted) PDF must first be unlocked in the program that created it.
Accessibility report
The report (HTML) contains a summary in plain sentences, document information, a list of what to fix (with a suggested fix), the result for each WCAG 2.2 criterion with the EN 301 549 V4.1.1 clause, the veraPDF result, the changes made and an explanation of the abbreviations used. Results: Passed, Failed, Likely problem, Check manually and Not applicable. The report itself meets WCAG 2.2 level AAA and EN 301 549 V4.1.1.
EN 301 549 V4.1.1 requires WCAG 2.2 level A and AA criteria for documents (clause 10) and clause 10.7. Level AAA criteria are an addition in the report; conformance with them is confirmed only by manually assessing the “Check manually” items.
Security
The program processes documents that anyone could have prepared, so a document cannot run code, read other files or communicate over the network:
- No network. The program sends nothing, does not check for updates and collects no usage data.
- The original is not changed. All changes are made to a copy in a temporary folder that is deleted.
- Macros do not run in LibreOffice (macros, Java, OLE automation, links and formula recalculation are off) or in Microsoft Office (macros forcibly disabled, no link updates or data connection refresh).
- External resources are not loaded. Images, objects, templates and fields (INCLUDEPICTURE, INCLUDETEXT, LINK, DDE) linked to the internet, a network folder or another file are removed from the copy (also in RTF), as are scripts and remote resources of web pages and refreshing of Excel data connections. This prevents leaking Windows credentials (NTLM) and tracking that the document was opened.
- Safe XML and ZIP reading (protection against XXE, “billion laughs” and “ZIP bombs”).
- Active PDF content: Launch and ImportData actions are always removed, JavaScript by default; the program warns about dangerous attachments.
- No command interpreter; programs are called by full path and never looked up in the current folder.
- The MCP server for AI assistants reads and writes only in allowed folders, does not allow network paths, devices or alternate data streams, and never overwrites an existing file.
- The report and this guide have a Content-Security-Policy that forbids scripts.
- Checksums. The report shows the SHA-256 of the resulting PDF; the program comes with
SHA256SUMS.txt(check:Get-FileHash AccessiblePDF.exe).
Recommendations: keep the program, LibreOffice and Office up to date, run the program under a normal user account from a folder others cannot write to, and open the resulting PDFs in an up-to-date PDF viewer.
Privacy
- The program does not collect, store or send personal data. It does not communicate over the network, has no account or registration and sends no usage statistics.
- Documents and resulting PDFs are not stored or sent anywhere else. The program works with a temporary copy of the document in the Windows temporary folder and deletes it after processing; copies left after a crash are deleted at the next start. The resulting PDF and report are saved only where you decide.
- Word, Excel and Visio open the copy without adding it to the recently opened files; LibreOffice uses a temporary profile that is deleted when the program ends.
- Metadata entered in File properties are written only to the resulting PDF and report; the program does not remember them.
- The computer stores only the settings (
%APPDATA%\AccessiblePDF\settings.json: options, language, keyboard shortcuts, window size, program paths, the recently used and output folder) and an error log (%LOCALAPPDATA%\AccessiblePDF\accessible-pdf.log: date, file names and error messages, not document content). Delete the log and the recently used folder in Help > Privacy; you can also delete both files manually at any time. - If you use the program through an AI assistant (MCP server), the data the tool gives to it (findings, texts and image previews from the document) are processed by that assistant under its own terms; the program itself sends nothing.
- The portable version (file
PORTABLE.txtnext to the program) stores the settings and the log in theDatafolder next to the program and leaves nothing in the user profile. - The Report a bug and Source code on GitHub items in the Help menu open the page in your browser; the program itself does not connect to the internet. An issue on GitHub is public: if you attach a document or the error log, first remove personal and sensitive data from it.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Ctrl+O | Add files |
| Ctrl+Shift+O | Add folder |
| Alt+Enter; Enter in the list | File properties |
| Ctrl+E, F5 | Export |
| Esc | Cancel the running export |
| Ctrl+, | Preferences |
| Ctrl+Shift+L | Switch the interface language (Slovak, English) |
| F1 | User guide chapter for the control that has the focus |
| Delete in the list | Remove the selected files from the list |
| Shift+F10 or the menu key in the list | Menu for the selected file |
| Alt + underlined letter | Move to the field or button |
Change or turn off shortcuts in Settings > Keyboard shortcuts: type a shortcut into the field of an
action (for example Ctrl+Shift+E or F6); an empty field turns it off. A shortcut must contain
Ctrl or Alt, or be a function key, so that it does not interfere with typing. Restore default
shortcuts returns the original settings. The current shortcuts are listed in Help > Keyboard
shortcuts.
Preferences
- Path to LibreOffice and veraPDF folder
- An empty field means automatic search.
- Open the accessibility report in the browser after the export
- For a single file, opens the report automatically.
- Announce the start of each file to screen readers
- Turn off if announcements during the export disturb you; the export result is always announced.
- After the export, move the focus to the list of results
- Turn off if you want the focus to stay where it is.
- Interface language
- Slovak or English; changes immediately. You can also switch the language in the Settings menu or with Ctrl+Shift+L.
Command line (ppdf.exe)
The console program ppdf.exe is in the same folder as AccessiblePDF.exe. It waits until it
finishes and prints the result to the console; the --json option prints machine-readable JSON. The older
form AccessiblePDF.exe --cli … still works.
ppdf export FILE or FOLDER… [options] ("export" can be omitted)
ppdf check FILE.pdf [--ua 1|2] [--pdfa …] check a PDF without changes
ppdf images FILE.pdf [--all] [--previews FOLDER]
ppdf alt FILE.pdf TEXTS.json [-o NEW.pdf] alternative texts to a new copy
ppdf env programs found and paths
ppdf formats supported formats
ppdf mcp [--root FOLDER]… MCP server for AI assistants
ppdf ai [--config TOOL] [--save-skill] guide for AI assistants
Export options: --ua 1|2, --pdfa 1a|1b|2a|2b|2u|3a|3b|3u|4|4e|4f (with PDF/A-1 to 3,
PDF/UA-1 is chosen automatically), --wtpdf, --pdf-version,
--converter auto|libreoffice|office, -o FOLDER, --suffix, --title,
--author, --subject, --keywords, --lang, --default-lang,
--attach-source, --retag, --no-verapdf, --no-contrast,
--no-bookmarks, --no-passage-lang, --no-report, --keep-javascript,
--overwrite, --json, --json-file FILE.json, --quiet,
--ui-language sk|en. Slovak names of commands and options work too (kontrola,
obrazky, --nazov …). Help: ppdf --help and ppdf COMMAND --help.
Alternative texts file: {"12 0": "Bar chart …", "15 0": null} (null = decorative image); the image ids are
listed by ppdf images. Exit code: 0 no errors, 1 accessibility errors or veraPDF nonconformance, 2 failure
or invalid options.
AI assistants and the MCP server
AI assistants with MCP support (for example OpenAI Codex CLI, Gemini CLI, GitHub Copilot in VS Code or Cursor) can use the program in two ways:
- Command line with JSON: the assistant runs
ppdf … --json.ppdf aiprints a guide for the assistant;ppdf ai --save-skill FOLDERsaves it as a skill (SKILL.md) into the skills folder of your assistant (an existing file is not overwritten). - MCP server (Model Context Protocol):
ppdf mcp --root FOLDERprovides the toolsexport_accessible_pdf,check_pdf,list_images(including image previews so the assistant can suggest alternative texts),set_alt_texts,get_environmentandlist_formats.
The configuration for each tool is printed by ppdf ai --config codex (or gemini,
vscode, cursor); ppdf ai --config json prints the general configuration used by
most MCP clients:
{
"mcpServers": {
"accessible-pdf": {
"command": "C:\\Programs\\AccessiblePDF\\ppdf.exe",
"args": ["mcp", "--root", "C:\\Users\\name\\Documents"]
}
}
}
Server security: it reads and writes only in allowed folders (--root, can be repeated; without it the
current folder unless it is a system folder), does not allow network paths (--allow-network-paths allows
them), devices or alternate data streams, never overwrites an existing file and always removes JavaScript from PDFs. It
passes text from documents as data, not instructions. Check alternative texts suggested by AI.
Accessibility of this program
The program is designed in accordance with WCAG 2.2 level AAA and EN 301 549 V4.1.1 (clause 11 for software including 11.8 for authoring tools, and clause 12 for documentation):
- native Windows controls known to the NVDA, JAWS and Narrator screen readers; every field has a label (11.5 Interoperability with assistive technology),
- full keyboard operation without exception; keyboard shortcuts can be changed and turned off (WCAG 2.1.3, 2.1.4),
- status messages are announced by the screen reader without moving the focus (4.1.3); announcements during the export and moving the focus after the export can be turned off (2.2.4 Interruptions, 3.2.5 Change on request),
- system colours including high contrast, the system font, text size and display scaling (11.7 User preferences); the window can be made smaller and larger, text wraps and the content scrolls vertically,
- buttons are at least 44 × 44 points (2.5.5 Target size),
- context help with F1 and help in the menu including an explanation of terms and abbreviations (3.3.5 Help, 3.1.3, 3.1.4),
- no time limits and no flashing; the export can be cancelled and nothing is overwritten (3.3.6 Error prevention),
- as an authoring tool, the program creates accessible PDFs, preserves accessibility information from the source and gives a suggested fix for every problem (11.8.2, 11.8.3, 11.8.4),
- the accessibility report and this guide meet WCAG 2.2 level AAA (12.1.2 Accessible documentation); this chapter describes the accessibility features (12.1.1).
Known limitations: the image preview in the Alternative texts window is visual only (the screen reader announces its number and page; text in the image is in a separate field); automatic tagging of PDFs without tags needs a manual check. Please report any accessibility problem of the program to the author.
Terms and abbreviations
- Portable Document Format – a document format (ISO 32000) that looks the same on every device.
- PDF/UA-1, PDF/UA-2
- PDF Universal Accessibility – standards for accessible PDF (ISO 14289-1, ISO 14289-2:2024).
- PDF/A
- PDF Archive – standards for long-term archiving (ISO 19005); levels a, b, u, e, f.
- WTPDF
- Well-Tagged PDF – the PDF Association specification for well-tagged PDF 2.0.
- WCAG 2.2
- Web Content Accessibility Guidelines from the W3C; levels A, AA, AAA.
- EN 301 549
- the European standard of accessibility requirements for ICT products and services (V4.1.1).
- MIRRI
- the Slovak Ministry of Investments, Regional Development and Informatization; its methodological guideline contains the Slovak names of WCAG criteria.
- Tags
- the structure of a PDF that tells a screen reader what is a heading, paragraph, list, table or image.
- Alternative text
- a short description of an image or formula that a screen reader reads instead of the image.
- Artifact
- content without meaning (a line, page number, header) that a screen reader skips.
- Screen reader
- a program that reads the screen by voice or on a braille display (NVDA, JAWS, Narrator).
- veraPDF
- an independent validator of PDF/A, PDF/UA and WTPDF.
- PAC
- PDF Accessibility Checker – a tool for manual checking of PDF accessibility.
- OOXML, ODF
- the Office Open XML (.docx, .xlsx, .pptx) and OpenDocument (.odt, .ods, .odp) formats.
- HTML, MHT, Markdown
- a web page, a web archive and a plain-text document notation with markup.
- RTF, TXT, CSV
- Rich Text Format, plain text and a table with values separated by commas or semicolons.
- XMP
- Extensible Metadata Platform – document metadata.
- ICC, sRGB, CMYK
- colour profiles and models (sRGB for screens, CMYK for print).
- MathML
- Mathematical Markup Language – a notation of formulas that screen readers can read.
- OCR
- optical character recognition; the program does not do it.
- Macro, VBA
- a program in a document (Visual Basic for Applications); it does not run during the export.
- JavaScript
- a programming language a PDF can use to run scripts.
- NTLM, UNC
- Windows authentication and a network path
\\server\share; a planted network path could leak credentials, so the program does not use them. - XXE
- an attack through XML external entities; the program reads XML without them.
- SHA-256
- a checksum of a file.
- CLI
- command-line interface (ppdf.exe).
- JSON
- a machine-readable text format of results.
- MCP
- Model Context Protocol – the interface through which AI assistants use the tools of the program.
- AI
- artificial intelligence.
- AGPL
- GNU Affero General Public License – the license of the program.
Troubleshooting
- Neither LibreOffice nor Microsoft Office was found
- Install one of them or enter the path to
soffice.exein Preferences. PDF files are processed without them. - Microsoft Office showed a window and the export stopped
- Office waited for an answer (product activation, document repair). Open the document in Office manually, resolve the window and export again, or choose LibreOffice.
- The layout differs from Word
- LibreOffice may break lines and pages differently; choose Microsoft Office.
- An image linked to the internet is missing
- Linked images are not loaded for security reasons; insert them into the document directly.
- PDF/A-4f reports a missing attachment
- Turn on Attach the original document or choose PDF/A-4.
- The form is not fillable
- Use LibreOffice conversion and content controls instead of legacy fields.
- A font is not embedded
- Standard fonts are replaced by the program; other non-embedded fonts must be embedded in the program that created the PDF.
- veraPDF reports an error
- The rules and their description are in the report; most often an image lacks alternative text.
- Program log
- Error details are in
%LOCALAPPDATA%\AccessiblePDF\accessible-pdf.log(in the portable version in theDatafolder next to the program). - Found a bug or have a suggestion?
- Open an issue on GitHub or use Help > Report a bug. Include the program version, the steps that lead to the problem and what you expected; if you can, attach a sample document without personal data.
License and author
Author of the program: Radoslav Ďurač. © 2026 Radoslav Ďurač.
The program is free and open-source software under the GNU Affero General Public License version 3 or
later (AGPL-3.0-or-later). You can use, distribute and modify it. Additional term (section 7(b)
and (c) of the license): every copy and modified version must preserve the author attribution “Radoslav Ďurač” in the
program information, documentation, file properties of the program and copyright notices in the source code; a modified
version must be marked as modified. When distributing, the source code must be made available. The full text is in the
LICENSE and NOTICE.md files and in Help > License.
The source code is on GitHub (rraddatch/accessible-pdf), the author at
github.com/rraddatch. Fixes and improvements are welcome as pull requests;
see CONTRIBUTING.md in the repository.
The whole program is licensed under the AGPL because it uses the PyMuPDF library (GNU AGPL 3.0, Artifex). Other components: pikepdf (MPL 2.0) with qpdf (Apache 2.0), wxPython (wxWindows Library Licence), lxml (BSD), pywin32 and Python (PSF). LibreOffice (MPL 2.0), Microsoft Office and veraPDF (GPL 3 / MPL 2.0) are installed separately. Windows replacement fonts are embedded only if their license allows it.