What it does
Inserts a table from an Excel worksheet or CSV file into an existing PDF document. The table can be placed before a specified page, and you can set the sheet name, header row, and limits for rows and columns.
Inputs and limits
- **PDF PDF‑ ** required, any PDF document.
- Spreadsheet file – optional, XLSX or CSV. If omitted, only a blank page is inserted.
- Insert page before – integer, page number where the table will be inserted (default appends to the last page).
- Sheet name – string, name of the worksheet to read – defaults to the first sheet.
- First row is header – boolean, treat the first row as a header.
- Maximum rows / columns – integers, 0 means “all” (defaults are 1000 rows and 50 columns).
Web app
The page /app-prod/add-table-to-pdf asks you to upload a PDF, optionally specify an Excel/CSV source, choose the page before which to insert the table, set sheet name, indicate if the first row contains headers, and limit the number of rows or columns. After processing, you can download the updated PDF.
Command line (CLI)
The Documentize AddTable CLI plugin inserts a table into a PDF using a task‑folder workflow. Provide a task ID, place the PDF (and optional spreadsheet) in the input folder, and run the plugin with the desired options.
# Linux / macOS (needs the .NET 10 runtime and documentize.lic next to the DLL)
export PLUGIN_INPUT_DIR=./work/input
export PLUGIN_OUTPUT_DIR=./work/output
mkdir -p "$PLUGIN_INPUT_DIR/job1"
cp sample.pdf "$PLUGIN_INPUT_DIR/job1/"
dotnet Documentize.AddTable.dll --task-id job1 --insert-page-before 1
ls "$PLUGIN_OUTPUT_DIR/job1"
# Windows PowerShell
$env:PLUGIN_INPUT_DIR = "$PWD\work\input"
$env:PLUGIN_OUTPUT_DIR = "$PWD\work\output"
New-Item -ItemType Directory -Force "$env:PLUGIN_INPUT_DIR\job1" | Out-Null
Copy-Item sample.pdf "$env:PLUGIN_INPUT_DIR\job1\"
dotnet Documentize.AddTable.dll --task-id job1 --insert-page-before 1
Get-ChildItem "$env:PLUGIN_OUTPUT_DIR\job1"
Verified
Every code sample on this page was run on 2026-11-03 and its result was checked:
- Add a table via CLI with page count check (CLI plugin): passed in 4 s