askill
pdf4me

pdf4meSafety 100Repository

Comprehensive PDF processing API for conversion, merge, split, compress, OCR, and more

45 stars
1.2k downloads
Updated 3/16/2026

Package Files

Loading files...
SKILL.md

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"

Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'

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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/ConvertToPdf" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/ConvertHtmlToPdf" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/ConvertUrlToPdf" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/Merge" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/Split" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/Compress" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/PdfToWord" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/CreateThumbnail" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/TextStamp" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/PdfOcr" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/ProtectDocument" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/ExtractPages" --header "Authorization: ${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:

bash -c 'curl -s -X POST "https://api.pdf4me.com/api/v2/{endpoint}" --header "Authorization: ${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

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

92/100Analyzed 2/23/2026

High-quality reference skill for pdf4me PDF processing API with 12 detailed operations, clear curl command examples, API endpoints table, and comprehensive guidelines. Well-structured with When to Use section, prerequisites, and external resources. Includes helpful environment variable workaround. Highly actionable and reusable for external API integration."

100
90
90
88
90

Metadata

Licenseunknown
Version-
Updated3/16/2026
Publishervm0-ai

Tags

apigithubllmsecuritytesting