pdforge

PDForge API for PDF generation. Use when user mentions "PDForge", "generate PDF", "PDF template", or document generation.

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 "pdforge" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-pdforge

PDForge API (PDF Noodle)

Use the PDForge API via direct curl calls to generate PDFs from templates or raw HTML.

Official docs: https://docs.pdforge.com/

Note: PDForge has been rebranded to PDF Noodle. Both api.pdforge.com and api.pdfnoodle.com work.


When to Use

Use this skill when you need to:

  • Generate PDFs from reusable templates with dynamic data
  • Convert HTML to PDF directly
  • Create invoices, reports, or documents programmatically
  • Export PNG images instead of PDFs
  • Batch generate documents using async endpoints with webhooks

Prerequisites

  1. Sign up at PDF Noodle (formerly PDForge)
  2. Go to the API Keys menu in the dashboard
  3. Copy your API key (format: pdfnoodle_api_xxxxx)
  4. Store it in the environment variable PDFORGE_API_KEY
export PDFORGE_API_KEY="pdfnoodle_api_your-key-here"

How to Use

All examples below assume you have PDFORGE_API_KEY set.

Base URL: https://api.pdfnoodle.com/v1


1. Generate PDF from Template (Sync)

Generate a PDF using a pre-built template with dynamic data.

Write to /tmp/pdforge_request.json:

{
  "templateId": "your-template-id",
  "data": {
    "name": "John Doe",
    "date": "2025-01-15",
    "items": [
      {"description": "Item 1", "price": 100},
      {"description": "Item 2", "price": 200}
    ]
  }
}

Then run:

curl -s -X POST "https://api.pdfnoodle.com/v1/pdf/sync" --header "Authorization: Bearer $(printenv PDFORGE_API_KEY)" --header "Content-Type: application/json" -d @/tmp/pdforge_request.json

Response:

{
  "signedUrl": "https://storage.googleapis.com/...",
  "executionTime": 1234
}

The signedUrl is a temporary URL (expires in 1 hour) to download the generated PDF.


2. Generate PDF from Template (Async)

For batch processing, use the async endpoint with a webhook.

Write to /tmp/pdforge_request.json:

{
  "templateId": "your-template-id",
  "webhook": "https://your-server.com/webhook",
  "data": {
    "name": "Jane Doe",
    "amount": 500
  }
}

Then run:

curl -s -X POST "https://api.pdfnoodle.com/v1/pdf/async" --header "Authorization: Bearer $(printenv PDFORGE_API_KEY)" --header "Content-Type: application/json" -d @/tmp/pdforge_request.json

Response:

{
  "requestId": "abc123"
}

The webhook will receive the signedUrl when generation is complete.


3. Convert HTML to PDF (Sync)

Convert raw HTML directly to PDF without a template.

Write to /tmp/pdforge_request.json:

{
  "html": "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"
}

Then run:

curl -s -X POST "https://api.pdfnoodle.com/v1/html-to-pdf/sync" --header "Authorization: Bearer $(printenv PDFORGE_API_KEY)" --header "Content-Type: application/json" -d @/tmp/pdforge_request.json

4. Convert HTML to PDF with Styling

Include CSS for styled PDFs.

Write to /tmp/pdforge_request.json:

{
  "html": "<html><head><style>body { font-family: Arial; } h1 { color: #333; } .invoice { border: 1px solid #ddd; padding: 20px; }</style></head><body><div class=\"invoice\"><h1>Invoice #001</h1><p>Amount: $500</p></div></body></html>"
}

Then run:

curl -s -X POST "https://api.pdfnoodle.com/v1/html-to-pdf/sync" --header "Authorization: Bearer $(printenv PDFORGE_API_KEY)" --header "Content-Type: application/json" -d @/tmp/pdforge_request.json

5. Generate PNG Instead of PDF

Set convertToImage to true to get a PNG.

Write to /tmp/pdforge_request.json:

{
  "html": "<html><body><h1>Image Export</h1></body></html>",
  "convertToImage": true
}

Then run:

curl -s -X POST "https://api.pdfnoodle.com/v1/html-to-pdf/sync" --header "Authorization: Bearer $(printenv PDFORGE_API_KEY)" --header "Content-Type: application/json" -d @/tmp/pdforge_request.json

6. Download Generated PDF

After getting the signedUrl, download the PDF:

Replace <your-signed-url> with the actual signed URL from the previous response:

curl -s -o output.pdf "https://storage.googleapis.com/<your-signed-url>"

Request Parameters

Template Endpoint Parameters

ParameterTypeRequiredDescription
templateIdstringYesTemplate ID from dashboard
dataobjectYesVariables for the template
webhookstringAsync onlyWebhook URL for delivery
convertToImagebooleanNoReturn PNG instead of PDF
metadataobjectNoPDF metadata (title, author, etc.)
hasCoverbooleanNoHide header/footer on first page
debugbooleanNoEnable debug mode

HTML Endpoint Parameters

ParameterTypeRequiredDescription
htmlstringYesHTML content to convert
convertToImagebooleanNoReturn PNG instead of PDF
metadataobjectNoPDF metadata settings
pdfParamsobjectNoPDF generation options

Metadata Object

{
  "metadata": {
  "title": "Invoice #001",
  "author": "Company Name",
  "subject": "Monthly Invoice",
  "keywords": ["invoice", "payment"]
  }
}

Guidelines

  1. Use templates for reusable documents: Create templates in the dashboard for invoices, reports, etc.
  2. Use HTML endpoint for one-off documents: When you don't need a reusable template
  3. Use async for batch processing: Async endpoint is better for generating many PDFs
  4. Download promptly: Signed URLs expire in 1 hour
  5. Include CSS inline: For HTML to PDF, include all styles in the HTML

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
-169
vm0-ai