pdf4me

PDF4me API for PDF operations. Use when user mentions "PDF4me", "convert PDF", "PDF tools", or document conversion.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pdf4me" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-pdf4me

PDF4ME

Comprehensive PDF processing API with 60+ operations: convert, merge, split, compress, OCR, watermark, form filling, digital signatures, and more.

Official docs: https://dev.pdf4me.com/apiv2/documentation/


When to Use

Use this skill when you need to:

  • Convert documents to/from PDF (Word, Excel, PowerPoint, HTML, images)
  • Merge multiple PDFs into one
  • Split PDF into multiple files
  • Compress PDF to reduce file size
  • Add watermarks, stamps, page numbers
  • Extract text, tables, or images from PDF
  • Fill PDF forms programmatically
  • OCR scanned documents
  • Protect/unlock PDF with password
  • Create barcodes and QR codes

Prerequisites

  1. Create an account at https://dev.pdf4me.com/
  2. Get your API key from https://dev.pdf4me.com/dashboard/#/api-keys/

Set environment variable:

export PDF4ME_API_KEY="your-api-key-here"

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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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: $(printenv PDF4ME_API_KEY)" --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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

google-sheets

No summary provided by upstream source.

Repository SourceNeeds Review
246-vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
214-vm0-ai
General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
171-vm0-ai
General

serpapi

No summary provided by upstream source.

Repository SourceNeeds Review
164-vm0-ai