Endpoints Customisation
You can selectively disable and remove endpoints and functionalities from Stirling PDF as per your requirements. There are many use-cases for this such as
- Avoid confusion for users for functionality you/your business don't use.
- Running a reduced version of Stirling PDF that doesn't have the necessary server power to support the more advanced features.
- Cleanup interface for features you don't use
You have two ways to disable endpoints:
-
Environment Variables (
ENDPOINTS_TOREMOVEandENDPOINTS_GROUPSTOREMOVE):- Example:
ENDPOINTS_TOREMOVE=merge-pdfs,remove-pagesdisables merge and remove page tools - Example:
ENDPOINTS_GROUPSTOREMOVE=LibreOfficedisables all LibreOffice-dependent tools
- Example:
-
Settings File (
settings.ymlunderendpoints.toRemoveandendpoints.groupsToRemove):- Example:
toRemove: [merge-pdfs, remove-pages] - Example:
groupsToRemove: [LibreOffice]
- Example:
Available Endpoint Groups
You can disable entire groups of related endpoints using ENDPOINTS_GROUPSTOREMOVE:
| Group Name | What It Disables | Example |
|---|---|---|
LibreOffice | All office document conversions (DOCX, XLSX, PPTX to/from PDF) | ENDPOINTS_GROUPSTOREMOVE=LibreOffice |
Python | Python-based image processing features | ENDPOINTS_GROUPSTOREMOVE=Python |
OpenCV | Advanced image processing operations | ENDPOINTS_GROUPSTOREMOVE=OpenCV |
OCRmyPDF | OCR (Optical Character Recognition) features | ENDPOINTS_GROUPSTOREMOVE=OCRmyPDF |
Weasyprint | HTML to PDF conversion | ENDPOINTS_GROUPSTOREMOVE=Weasyprint |
Calibre | E-book format conversions | ENDPOINTS_GROUPSTOREMOVE=Calibre |
QPDF | Various PDF operations powered by QPDF | ENDPOINTS_GROUPSTOREMOVE=QPDF |
Ghostscript | PDF/A conversion and compression operations | ENDPOINTS_GROUPSTOREMOVE=Ghostscript |
Example - Disable multiple groups:
ENDPOINTS_GROUPSTOREMOVE=LibreOffice,Calibre,Weasyprint
Usage Examples
Environment Variables
Disable specific tools:
# Docker Run
docker run -e ENDPOINTS_TOREMOVE=sign,add-watermark,add-stamp stirlingtools/stirling-pdf:latest
# Docker Compose
environment:
- ENDPOINTS_TOREMOVE=sign,add-watermark,add-stamp
Disable entire groups:
# Disable all office conversions and OCR
ENDPOINTS_GROUPSTOREMOVE=LibreOffice,OCRmyPDF
Combine both methods:
# Disable groups AND specific tools
ENDPOINTS_GROUPSTOREMOVE=LibreOffice,Calibre
ENDPOINTS_TOREMOVE=sign,compare,multi-tool
Settings File (settings.yml)
If you're editing settings.yml directly, use the kebab-case endpoint IDs:
Disable specific tools:
endpoints:
toRemove:
- sign
- add-watermark
- add-stamp
- compare
- merge-pdfs
Disable entire groups:
endpoints:
groupsToRemove:
- LibreOffice
- OCRmyPDF
Combine both methods:
endpoints:
toRemove:
- sign
- compare
- multi-tool
- merge-pdfs
groupsToRemove:
- LibreOffice
- Calibre
Complete Endpoint Reference for settings.yml
Use these exact kebab-case IDs with endpoints.toRemove in settings.yml.
Page Operations
merge-pdfs- Merge PDFssplit-pages- Split PDFsextract-pages- Extract Pagesremove-pages- Remove Pagesrearrange-pages- Rearrange Pagesrotate-pdf- Rotate PDFscrop- Crop Pagesscale-pages- Scale Pagesadd-page-numbers- Add Page Numberspdf-to-single-page- PDF to Single Pagemulti-page-layout- Multi-Page Layoutbooklet-imposition- Booklet Impositionoverlay-pdf- Overlay PDFssplit-pdf-by-sections- Split by Sectionssplit-pdf-by-chapters- Split by Chaptersauto-split-pdf- Auto Split PDFsplit-by-size-or-count- Split by Size/Countadd-attachments- Add Attachments
Conversion
pdf-to-img- PDF to Imageimg-to-pdf- Image to PDFfile-to-pdf- File to PDFpdf-to-word- PDF to Wordpdf-to-presentation- PDF to Presentationpdf-to-text- PDF to Textpdf-to-html- PDF to HTMLpdf-to-xml- PDF to XMLpdf-to-markdown- PDF to Markdownpdf-to-csv- PDF to CSVpdf-to-epub- PDF to EPUBpdf-to-vector- PDF to Vectorpdf-to-video- PDF to Videopdf-to-json- PDF to JSONpdf-to-rtf- PDF to RTFpdf-to-cbz- PDF to CBZpdf-to-cbr- PDF to CBRpdf-to-pdfa- PDF to PDF/Ahtml-to-pdf- HTML to PDFurl-to-pdf- URL to PDFmarkdown-to-pdf- Markdown to PDFeml-to-pdf- Email to PDFcbz-to-pdf- CBZ to PDFjson-to-pdf- JSON to PDFvector-to-pdf- Vector to PDF
Security & Signing
add-password- Add Password Protectionremove-password- Remove Passwordchange-permissions- Change Permissionsadd-watermark- Add Watermarkadd-stamp- Add Stampsanitize-pdf- Sanitize PDFflatten- Flatten Form Fieldsunlock-pdf-forms- Unlock PDF Formscert-sign- Certificate Signsign- Draw/Text/Image Signatureremove-cert-sign- Remove Certificate Signaturevalidate-signature- Validate Signatureverify-pdf- Verify PDFredact- Redact Informationauto-redact- Auto Redact
Content Extraction & Removal
extract-images- Extract Imagesextract-image-scans- Extract Image Scansremove-image-pdf- Remove Imagesremove-annotations- Remove Annotationsremove-blanks- Remove Blank Pagesocr-pdf- OCR
Document Editing & Analysis
text-editor-pdf- Text Editoredit-table-of-contents- Edit Table of Contentsupdate-metadata- Change Metadataget-info-on-pdf- Get PDF Infocompare- Compare PDFsadjust-contrast- Adjust Contrastreplace-invert-pdf- Replace/Invert Colorsscanner-effect- Scanner Effectrepair- Repair PDFadd-image- Add Image to PDF
Form Fields
fields- Form Fieldsfill- Fill Form Fieldsmodify-fields- Modify Form Fieldsdelete-fields- Delete Form Fields
Multi-Tool & Automation
multi-tool- Multi-Tool Workbenchcompare- Compare PDFscompress-pdf- Compress PDFsautomate- Automation/Pipelinepipeline- Pipelineauto-rename- Auto Rename
Viewing & Display
view-pdf- PDF Viewershow-javascript- Show JavaScript in PDF
Developer Tools
dev-api-docs- API Documentationdev-folder-scanning-docs- Folder Scanning Guidedev-sso-guide-docs- SSO Guidedev-airgapped-docs- Air-gapped Setup Guide
Internal
handleData- Handle Data
Notes
- Tool IDs are case-sensitive (use exact names from the reference above)
- Disabling a tool removes it completely from the UI and API
- Some tools may depend on others - test your configuration
- Changes require container restart to take effect