Skip to content
pdfconversionapi

DOT to PDF API

Send a Word 97-2003 template to POST /v2/convert/dot/to/pdf and get the blank form as a PDF, laid out by an office suite on our side. The sample minutes template came back as a 66,911-byte, 2-page Letter PDF with its placeholders, tables and page-numbered footer.

Endpoint
POST /v2/convert/dot/to/pdf
Accepts
dot
Sample timing
0.546 s median of 5 runsHow we measure
Request size
Up to 10 MB on the Free plan or 100 MB on paid plans, all files together

Request and response

Every sample below ran against the API before this page was published. Set PDFCONVERSIONAPI_KEY to your key and run it as is.

curl -sS -X POST \
  https://api.pdfconversionapi.com/v2/convert/dot/to/pdf \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@meeting-minutes.dot \
  -o response.json

# FileData is base64. Save the first file in converted/,
# or print the JSON error.
if jq -e '.Files' response.json > /dev/null; then
  mkdir -p converted
  name=$(jq -r '.Files[0].FileName' response.json)
  jq -r '.Files[0].FileData' response.json \
    | base64 --decode > "converted/$name"
else
  cat response.json
fi
200 OK0.546 s median1 file, 65 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.546,
  "Files": [
    {
      "FileName": "meeting-minutes.pdf",
      "FileExt": "pdf",
      "FileSize": 66911,
      "FileData": "JVBERi0xLjcKJcOkw7zDtsOf…"
    }
  ]
}

Response from our test run on 2026-11-03. ConversionTime shows the median of 5 runs. FileData is shortened here; the real response carries the whole file as base64.

The sample, converted

The same file the code sends. Download the input and the output and compare them yourself.

First page of meeting-minutes.pdf, rendered by the API
Input
meeting-minutes.dot (29 KB)
Output
meeting-minutes.pdf (65 KB)
Source
A two-page meeting minutes template for a fictional neighborhood association, written for this site and saved as a Word 97-2003 template, with fill-in tables and bracketed placeholders. (CC0-1.0). How it was made
Made by
2026-11-04, API build 9eeeb0640aba

Parameters

Send these as form fields next to the file. Names are case-insensitive. If you set one of the documented options below that we don't support yet, the request fails with a 400 that names it instead of returning a file made without it.

ParameterWhat it does
PageRangestringKeep only these pages, for example 1 for the first page of the form. 2- returns just page 2. A page past the end returns 400 with the page count, and abc returns 400 with an example.Values: e.g. 1, 2-, 1-3,5
Pdfaboolean, default falseWrite PDF/A-1b. The sample then comes back as a PDF 1.4 file marked part 1, conformance B.
PdfaVersionenum, default nonePick PDF/A-1b, 2b or 3b instead. It wins over Pdfa=true: sent together with PdfaVersion=pdfA3b, Pdfa=true gave a PDF/A-3b file.Values: none, pdfA1b, pdfA2b, pdfA3b
PasswordstringOpens a password-protected Word 97-2003 file. Our protected test file converted with its password and returned 422 "the input file is password-protected" without it.
FileNamestringBase name of the PDF: FileName=minutes-blank gives minutes-blank.pdf.
StoreFileboolean, default falseAnswer with a link to the PDF, valid for 3 hours.

Not supported yet

Setting one of these to anything but its default returns 400.

OptionWhat to do instead
IncludeMarkuptrue returns 400 "IncludeMarkup is not supported yet for DOT files".
UpdateTableOfContentstrue returns 400.
BookmarkModeBookmarks always follow the headings; another mode returns 400.
IncludeMetadataTitle and author are always copied from the template; false returns 400.
IncludeStructureTagstrue returns 400, although the PDF is tagged anyway (see below).
SubsetFontstrue returns 400 and false is accepted, but fonts are embedded as subsets either way.
PdfTitleSet the title in the template's document properties instead; the same goes for PdfAuthor, PdfSubject and PdfKeywords.

What carries over, and what doesn't

Kept

  • Both Letter pages (612 × 792 points), with the header and the footer fields filled in: "Minutes template, page 1 of 2"
  • Placeholders as they look in the template: "[Date of meeting]" and "[Name]" in gray italic
  • Empty table rows with their borders, and the orange-red header rows with white text
  • A bookmark per heading: Attendance, Agenda, Decisions, Action items
  • Title and author from the template's properties, and a structure tree (the PDF is tagged, language en-US)
  • Text you can select and search, in fonts embedded as subsets

Lost or not yet supported

  • Arial and Calibri themselves: the PDF embeds Liberation Sans and Carlito, which have the same character widths.
  • Template behavior. The PDF is a static copy of the blank form; fields and placeholders can't be filled in.
  • With PageRange, the bookmarks, the tags and the language setting. A page subset keeps the title and author but drops those three.

Limits

  • Requests up to 10 MB on the Free plan or 100 MB on paid plans, all files and fields together.
  • 120 seconds per conversion, then 504.
  • A PageRange that leaves pages out can't be combined with PDF/A yet; the pair returns 400.
  • Macros in the template are never run: each conversion uses a new office profile with macro execution switched off.

Where teams use it

Printable blank forms from a template library

Offices that keep their forms as .dot files can publish a PDF of each one for people who fill them in by hand, such as the minutes sheet with its empty attendance and action tables.

Checking templates before they are rolled out

Render every template in a folder to PDF and review the pages, or compare them with last month's PDFs, before the templates go to users.

Archiving old templates as PDF/A

Before retiring Word 97 templates, keep a PDF/A-2b copy of each for the record with PdfaVersion=pdfA2b.

Questions

Do macros in the .dot run during conversion?

No. Templates are a common home for macros, so every conversion starts the office suite with a new profile in which macro execution is disabled, whatever the file asks for.

Can I get PDF/A?

Yes: Pdfa=true gives PDF/A-1b, and PdfaVersion=pdfA2b or pdfA3b give the later parts. If you send both, PdfaVersion decides. Leave out PageRange, which can't be combined with PDF/A yet. pdfA2u and other versions return 400.

What does PageRange leave out of the PDF?

Selecting pages writes a new PDF from the chosen pages. With PageRange=2-, the one-page result kept the template's title and author, but had no bookmarks, no tags and no language setting. Convert the whole template if you need those; splitting that PDF afterwards with /v2/convert/pdf/to/split keeps the title and author too, but not those three.

Is a .dot handled differently from a .doc?

Both are the Word 97-2003 binary format, but this route opens the file as a template with its own import filter, through the office suite, while /v2/convert/doc/to/pdf uses a different converter. A .doc sent to this route also converted in our test.

Convert your first DOT file in a minute.