Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
vm0-ai avatar

Pdf4me

  • 138 installs
  • 76 repo stars
  • Updated August 4, 2026
  • vm0-ai/vm0-skills

Use pdf4me for development tasks

About

pdf4me: A skill skill for development. This skill provides functionality for development workflows.

  • pdf4me

Pdf4me by the numbers

  • 138 all-time installs (skills.sh)
  • Ranked #2,664 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vm0-ai/vm0-skills --skill pdf4me

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs138
repo stars76
Last updatedAugust 4, 2026
Repositoryvm0-ai/vm0-skills

What it does

Use pdf4me for development tasks

Files

SKILL.mdMarkdownGitHub ↗

Troubleshooting

If requests fail, run zero doctor check-connector --env-name PDF4ME_TOKEN or zero doctor check-connector --url https://api.pdf4me.com/api/v2/ConvertToPdf --method POST

How to Use

1. Convert to PDF

Convert Word, Excel, PowerPoint, images to PDF:

# Convert a text file to PDF
echo "Hello, PDF4ME!" > /tmp/test.txt
BASE64_CONTENT=$(base64 < /tmp/test.txt)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${BASE64_CONTENT}",
  "docName": "test.txt"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/ConvertToPdf" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > /tmp/output.pdf

2. HTML to PDF

Convert HTML content to PDF:

HTML_CONTENT=$(echo '<html><body><h1>Hello World</h1><p>This is a test.</p></body></html>' | base64)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${HTML_CONTENT}",
  "docName": "test.html",
  "layout": "Portrait",
  "format": "A4"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/ConvertHtmlToPdf" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json --output /tmp/from-html.pdf

3. URL to PDF

Convert a webpage to PDF:

Write to /tmp/pdf4me_request.json:

{
  "webUrl": "https://example.com"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/ConvertUrlToPdf" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json > /tmp/webpage.pdf

4. Merge PDFs

Combine multiple PDFs into one:

PDF1_BASE64=$(base64 < file1.pdf)
PDF2_BASE64=$(base64 < file2.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": ["${PDF1_BASE64}", "${PDF2_BASE64}"],
  "docName": "merged.pdf"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/Merge" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > merged.pdf

5. Split PDF

Split PDF by page ranges:

PDF_BASE64=$(base64 < input.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "input.pdf",
  "splitAction": "splitAfterPage",
  "splitAfterPage": 2
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/Split" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json

6. Compress PDF

Reduce PDF file size:

PDF_BASE64=$(base64 < large.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "large.pdf"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/Compress" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > compressed.pdf

7. PDF to Word

Convert PDF to editable Word document:

PDF_BASE64=$(base64 < input.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "input.pdf"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/PdfToWord" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > output.docx

8. PDF to Images

Create thumbnails/images from PDF pages:

PDF_BASE64=$(base64 < input.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "input.pdf",
  "imageFormat": "png",
  "width": 800
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/CreateThumbnail" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json

9. Add Text Stamp/Watermark

Add text watermark to PDF:

PDF_BASE64=$(base64 < input.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "input.pdf",
  "stampText": "CONFIDENTIAL",
  "pages": "all",
  "alignX": "center",
  "alignY": "middle",
  "alpha": 0.3
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/TextStamp" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > stamped.pdf

10. OCR - Extract Text from Scanned PDF

Make scanned PDFs searchable:

PDF_BASE64=$(base64 < scanned.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "scanned.pdf",
  "ocrLanguage": "eng"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/PdfOcr" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > searchable.pdf

11. Protect PDF with Password

PDF_BASE64=$(base64 < input.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "input.pdf",
  "password": "secret123"
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/ProtectDocument" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > protected.pdf

12. Extract Pages

Extract specific pages from PDF:

PDF_BASE64=$(base64 < input.pdf)

Write to /tmp/pdf4me_request.json:

{
  "docContent": "${PDF_BASE64}",
  "docName": "input.pdf",
  "pageNrs": [1, 3, 5]
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/ExtractPages" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json | jq -r '.docContent' | base64 -d > extracted.pdf

API Endpoints

CategoryEndpointDescription
Convert/api/v2/ConvertToPdfWord/Excel/PPT/Image → PDF
/api/v2/ConvertHtmlToPdfHTML → PDF
/api/v2/UrlToPdfURL → PDF
/api/v2/MarkdownToPdfMarkdown → PDF
/api/v2/PdfToWordPDF → Word
/api/v2/PdfToExcelPDF → Excel
/api/v2/PdfToPowerpointPDF → PowerPoint
Merge/Split/api/v2/MergeMerge multiple PDFs
/api/v2/SplitSplit PDF
/api/v2/ExtractPagesExtract specific pages
Optimize/api/v2/CompressCompress PDF
/api/v2/LinearizeOptimize for web
Edit/api/v2/TextStampAdd text watermark
/api/v2/ImageStampAdd image watermark
/api/v2/AddPageNumberAdd page numbers
/api/v2/RotateRotate pages
Extract/api/v2/CreateThumbnailPDF → Images
/api/v2/ExtractResourcesExtract images/fonts
/api/v2/ExtractTableExtract tables
OCR/api/v2/PdfOcrOCR scanned PDFs
Security/api/v2/ProtectDocumentPassword protect
/api/v2/UnlockPdfRemove password
Forms/api/v2/FillPdfFormFill form fields
/api/v2/ExtractFormDataExtract form data
Barcode/api/v2/CreateBarcodeGenerate barcode
/api/v2/AddBarcodeToPdfAdd barcode to PDF
/api/v2/ReadBarcodeFromPdfRead barcode from PDF

Request Format

All endpoints use POST with JSON body:

Write to /tmp/pdf4me_request.json:

{
  "docContent": "base64-encoded-file",
  "docName": "filename.ext",
  "...other parameters": "..."
}

Then run:

curl -s -X POST "https://api.pdf4me.com/api/v2/{endpoint}" --header "Authorization: $PDF4ME_TOKEN" --header "Content-Type: application/json" -d @/tmp/pdf4me_request.json

Response Format

{
  "docContent": "base64-encoded-result",
  "docName": "output.pdf",
  "pageCount": 5
}

Guidelines

1. File Size: Max 20MB per file (varies by plan) 2. Base64: All file content must be base64 encoded 3. Formats: Supports PDF, Word, Excel, PowerPoint, HTML, images 4. OCR Languages: eng, deu, fra, spa, ita, por, etc. 5. Rate Limits: Check your plan at https://dev.pdf4me.com/pricing/ 6. Free Tier: 50 API calls/month 7. Postman: Import from https://dev.pdf4me.com/apiv2/documentation/postman/

Resources

  • API Docs: https://dev.pdf4me.com/apiv2/documentation/
  • Code Samples: https://github.com/pdf4me/pdf4me-api-samples
  • Postman Collection: https://dev.pdf4me.com/apiv2/documentation/postman/
  • Dashboard: https://dev.pdf4me.com/dashboard/

Related skills

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.