Office Docs Generator: Markdown to Word, PDF, PPTX, XLSX avatar

Office Docs Generator: Markdown to Word, PDF, PPTX, XLSX

Pricing

from $10.00 / 1,000 document generateds

Go to Apify Store
Office Docs Generator: Markdown to Word, PDF, PPTX, XLSX

Office Docs Generator: Markdown to Word, PDF, PPTX, XLSX

Turn Markdown or HTML into Word and accessible PDF files, slide outlines with charts into PowerPoint decks, and JSON tables into Excel workbooks with tables, formulas and charts. Built for AI agents and automations: one call, one file URL.

Pricing

from $10.00 / 1,000 document generateds

Rating

0.0

(0)

Developer

Sherif Elsayed

Sherif Elsayed

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Security

Limited permissions

Share

Turn text and data into real office files with one call:

  • Markdown or HTML → Word (DOCX) or PDF: headings, bold/italic, links, nested and numbered lists, quotes, tables and code blocks become proper Word styles. PDFs get a title, a primary language and structure-ordered tabs, so they pass more accessibility checks. Right-to-left languages (Arabic, Hebrew, Persian, Urdu...) get right-to-left paragraphs, lists and tables.
  • Slides → PowerPoint (PPTX) or PDF: a title slide, bullet slides, speaker notes and native, editable charts (column, bar, line, pie, doughnut, area, scatter), with 8 themes.
  • Tables → Excel (XLSX): one or more sheets, styled tables, formulas (with computed values), number formats, frozen header rows and native charts. CSV works too.

The result is a download URL, so an AI agent or an automation (Make, n8n, Zapier, your own code) can hand the file straight to a user.

Why use it

  • Made for agents. One flat input, one output row with the file's URL. Works as an MCP tool.
  • Real files. Native Word styles, editable PowerPoint charts, Excel formulas with cached results, all in the standard Office Open XML formats (checked with independent readers: python-docx, python-pptx and openpyxl).
  • Pay per document. You are charged only when a file is produced. Invalid input fails before any charge.
  • Private. Everything runs inside the Actor run; no third-party document API is called.

Input examples

A PDF report from Markdown:

{
"format": "pdf",
"fileName": "q3-report",
"markdown": "# Q3 report\n\nRevenue grew **18%**.\n\n| Region | Q3 |\n|---|---:|\n| North | 1,850 |",
"paperSize": "A4",
"language": "en-US"
}

A PowerPoint deck with a chart:

{
"format": "pptx",
"title": "Board update",
"subtitle": "October",
"theme": "Harbor",
"slides": [
{"title": "Agenda", "bullets": ["Results", "Plans"], "notes": "Keep it short."},
{"title": "Revenue", "chart": {"type": "column", "title": "Revenue by quarter",
"categories": ["Q1", "Q2", "Q3"], "series": [{"name": "2026", "values": [12, 18, 15]}]}}
]
}

An Excel workbook:

{
"format": "xlsx",
"sheets": [{
"name": "Sales",
"rows": [["Region", "Q1", "Q2", "Total"], ["North", 1200, 1850, "=B2+C2"], ["South", 980, 1430, "=B3+C3"]],
"numberFormats": [{"range": "B2:D3", "code": "#,##0"}],
"chart": {"type": "column", "title": "Sales", "range": "A1:C3"}
}]
}

Output

One dataset row per run (also saved as the OUTPUT record):

{
"fileName": "q3-report.pdf",
"format": "pdf",
"url": "https://api.apify.com/v2/key-value-stores/.../records/q3-report.pdf",
"contentType": "application/pdf",
"bytes": 29831,
"title": "Q3 report",
"pages": 1
}

Files are kept in the run's key-value store (unnamed stores are deleted after 7 days; download or copy what you need).

Use with AI agents (MCP)

Add this Actor to any MCP client through Apify's MCP server:

https://mcp.apify.com?tools=shatrix/office-docs-generator

The agent sees one tool with the input fields above and gets the file URL back.

Use from code

curl -X POST "https://api.apify.com/v2/acts/shatrix~office-docs-generator/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"format": "docx", "markdown": "# Hello\n\nGenerated by the API."}'

Pricing

Pay per event: you pay for each generated document (see the Pricing tab). Runs that fail because of invalid input are not charged. Set a maximum cost per run to cap spending.

Limits

  • One document per run; up to 200 slides, 50 sheets and 200,000 cells.
  • Images in Markdown or HTML are left out: the document engine doesn't import them yet.
  • Markdown links are kept (clickable in DOCX and PDF) but not styled in a link colour.
  • Fonts: the image adds Noto (most of the world's scripts) and metric-compatible stand-ins for Calibri, Cambria, Arial, Times New Roman and Courier New to the engines' bundled fonts. Checked: Latin, Greek, Cyrillic, Hebrew, Arabic, Devanagari, Bengali, Tamil, Thai, Georgian, Armenian, Chinese, Japanese and Korean all render.
  • Right-to-left layout follows language (for example ar or he-IL) and covers Word and PDF documents from Markdown or HTML; slides and spreadsheets stay left to right.
  • Tested with long real-world Markdown: a 320 KB README with 53 tables became a 205-page PDF.
  • The document engines are young, actively developed open-source projects; check important documents before sending them on.

Credits

Built on open-source engines from the ArtCraft project (WordCraft, DeckCraft, GridCraft and PdfCraft, MIT OR Apache-2.0). Their license texts ship in the Actor's image under /opt/engines/licenses/. This Actor is not affiliated with or endorsed by the ArtCraft project.