No connection required; this utility connector works out of the box.
Tools
create-pdf: Create a PDF report
create-pdf: Create a PDF report
Builds a PDF from text you write in simple Markdown, rows from an earlier step, or both, laid out top to bottom. The content comes first, then the rows as a table, then any At least one of This prints a heading, a label and value list for the order details, a paragraph, a table with the quantity and price columns right-aligned, a numbered list and a bulleted list. To print the line items from a step instead of typing the table, leave the table out and set Example response:
blocks. Text wraps, tables continue onto new pages with their header repeated, and every page can carry a footer and a page number. Text uses Noto Sans, which covers Latin, Greek, Cyrillic and Vietnamese; Chinese, Japanese and Korean characters are not supported yet and print as ? (they are listed in unsupportedCharacters).string
The document text in simple Markdown. Insert
{{ variables }} from earlier steps anywhere in it.# Heading,## Heading,### Heading(deeper levels print as###)- Plain lines become paragraphs; a blank line starts a new one
**Label:** valuelines become a label and value list, for invoice or order headers- itemlines become a bulleted list, and1. itemlines a numbered one- A
| a | b |table with a|---|---|line under the header;---:right-aligns a column
object[] | array[]
Rows from an earlier step, such as
{{ my_query.rows }} or {{ csv_tools_1.items }}, drawn as a table after the content. For a list of objects, the keys become the column headers (on_hand prints as “On hand”); number columns are right-aligned. A list of lists, a JSON string of rows, or an output that wraps its rows in rows, data, items, results or records also works.string[]
Which fields of
rows to show, in order (default: every field). For a list of lists, the column headers.object[]
Advanced: exact layout blocks, added after the content and rows. Use these for images or page breaks. Each block has a
type:heading:text, optionallevel1 to 3paragraph:text(blank lines start new paragraphs)keyValue:items, a list of{ "label", "value" }, for invoice or order headerslist:items, a list of strings shown as bullet points, or numbered with"ordered": truetable:columns(each{ "header", "width"?, "align"? },widthis a relative weight,alignisleftorright) androws(one array of cells per row)image:data(base64 PNG or JPEG), optionalwidthin points andalignspacer: optionalheightin pointspageBreak
string
Title printed at the top and set as the PDF title.
string
A4 (default) or Letter.string
portrait (default) or landscape.number
Page margin in points, 18 to 144 (default 48).
Text printed at the bottom of every page.
boolean
Print “Page N of M” on every page (default true).
string
PDF author metadata.
content, rows or blocks is required. Images must be passed as base64 data; the tool never fetches anything from a URL. A document is limited to 500 pages, 20,000 rows and 20 columns per table, 5 MB per image and 20 MB of input. Fonts are embedded in full, so a PDF is around 500 KB at minimum.Example content (Markdown): an order confirmation typed into the Content box, using values from an earlier shopify_1 step.rows to {{ shopify_1.order.line_items }}, with columns listing the fields to show. A rows table always prints after all of the content, so put anything that would follow it, such as the total, in the content above it instead.Example request (content and rows together):extract-text: Extract text from PDF
extract-text: Extract text from PDF
get-info: Get PDF metadata
get-info: Get PDF metadata
Returns page count, title, author, and other metadata.Example request:Example response:
string
required
Base64-encoded PDF.
merge: Merge multiple PDFs
merge: Merge multiple PDFs
Combine multiple PDFs into a single document.Example request:Example response:
string[]
required
Array of base64-encoded PDFs.
extract-pages: Extract specific pages
extract-pages: Extract specific pages
split: Split into single-page PDFs
split: Split into single-page PDFs
Split a PDF into individual single-page PDFs.Example request:Example response:
string
required
Base64-encoded PDF.
rotate: Rotate pages
rotate: Rotate pages