← Back to all apps

Foxit PDF Editor

Productivityby Foxit Software Inc.
Launched Mar 6, 2026 on ChatGPT

Foxit PDF Editor for ChatGPT helps you manage and transform PDFs seamlessly. Upload, delete, or compare documents; create shareable links; edit, reorder, rotate, split, or merge pages; convert files to and from various formats; and compress or linearize PDFs—all within ChatGPT. Build organized packets in seconds — ready for students, professionals, or anyone needing fast PDF solutions without leaving the chat.

31ChatGPT Tools
Foxit Software Inc.Developer
ProductivityCategory

Available Tools

Create Share Link

create_share_link
Full Description

Create a time-limited public download link for an existing uploaded document.

Required dependency:

  • document_id must be the uploaded document identifier returned by the PDF Tools widget

or another prior document-upload step. This tool cannot create a share link without it.

Optional parameters:

  • expiration_minutes: 10-1440 minutes (API default: 30 minutes)
  • filename: custom filename for download

Returns: JSON string with:

  • success, message
  • shareUrl: public download URL
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 2 optional)
Required
document_idstring
Optional
expiration_minutesinteger
Default: null
filenamestring
Default: null

Delete Document

delete_document
Full Description

Delete a document from Foxit.

This will permanently delete the document from the cloud storage. Use this to clean up temporary documents after processing.

Required dependency:

  • document_id must be the identifier of the uploaded document to delete

Returns: JSON string with:

  • success, message
Parameters (1 required)
Required
document_idstring

Get Pdf Properties

get_pdf_properties
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Extract comprehensive properties and metadata from a PDF document.

IMPORTANT: This tool returns JSON data directly, not a file documentId.

Information returned:

  • Page count and dimensions
  • PDF version and file size
  • Encryption and security status
  • Digital signatures
  • Embedded files and fonts
  • Document metadata (title, author, creation date, etc.)
  • User permissions analysis
  • Page-level information (rotation, dimensions, scan detection)

Configuration options:

  • includeExtendedInfo: Get detailed metadata (fonts, signatures, encryption details)
  • includePageInfo: Include per-page information (dimensions, rotation, scan detection)

Use cases:

  • Verify PDF structure before processing
  • Check if PDF is password-protected
  • Analyze PDF compatibility
  • Extract document metadata
  • Detect scanned pages

Workflow: 1. Upload PDF using upload_document tool 2. Call this tool with documentId 3. Receive JSON data with all properties 4. No download needed - data is returned directly

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the PDF to analyze include_extended_info: Include detailed metadata (fonts, signatures, encryption, etc.). Default: True include_page_info: Include per-page information (dimensions, rotation, scan detection). Default: True password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • properties: PDF properties and metadata returned directly as JSON data
Parameters (1 required, 3 optional)
Required
document_idstring
Optional
include_extended_infoboolean
Default: True
include_page_infoboolean
Default: True
passwordstring
Default: null

Pdf Compare

pdf_compare
Full Description

Compare two PDF documents and generate a visual-diff PDF.

Compares:

  • Text content differences
  • Visual layout changes
  • Added/removed content
  • Modified sections

The result is a PDF report highlighting differences with:

  • Red annotations for deletions
  • Green annotations for additions
  • Yellow highlights for modifications

Use cases:

  • Document version control
  • Contract review
  • Quality assurance
  • Change tracking

Workflow: 1. Call show_pdf_tools to display the upload widget 2. Upload both PDFs using the widget 3. Call this tool with both documentIds 4. The tool automatically creates a share link and returns it

Required dependencies:

  • document_id1 and document_id2 must be valid uploaded PDF document identifiers
  • password1 and password2 are only required when the corresponding PDFs are protected

Returns: JSON string with:

  • success, message
  • shareUrl: public download URL for the generated diff PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
  • resultDocumentId: returned only when a share link could not be created and the

generated result identifier is needed for follow-up retrieval

Parameters (2 required, 2 optional)
Required
document_id1string
document_id2string
Optional
password1string
Default: null
password2string
Default: null

Pdf Compress

pdf_compress
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget. Compress a PDF document to reduce file size.

Do not offer compression level options. Only one default compression level is currently supported.

Features:

  • Attempts to reduce file size; compression ratio and quality impact vary by document
  • Optimizes embedded resources (e.g., images) and removes redundant data where possible
  • Output fidelity and file size depend on the input document

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the PDF to compress password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the compressed PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the compressed PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idstring
Optional
passwordstring
Default: null

Pdf Delete Pages

pdf_delete_pages
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget. Remove specific pages from a PDF using exact page numbers/ranges.

Input uses 1-based page numbers (page 1 is the first page).

Examples:

  • "1" (delete first page)
  • "1,3,5" (delete pages 1, 3, 5)
  • "5-10" (delete pages 5 through 10)
  • "1,3,5-10" (mix)

Behavior:

  • Invalid tokens are ignored and reported in the message/resultData.
  • Out-of-range pages are ignored (based on PDF pageCount) and reported.
  • Deletions are executed in descending page order to avoid index shifting issues.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the updated PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the updated PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (2 required, 1 optional)
Required
document_idstring
page_rangestring
Optional
passwordstring
Default: null

Pdf Extract Pages

pdf_extract_pages
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Extract selected pages into a new PDF document.

Features:

  • Extract any pages or page ranges into a new PDF
  • Preserves page content and formatting

Maximum file size: 100MB

Args: document_id: Document ID of the PDF page_range: Pages to extract. Uses 1-based page numbers (page 1 is the first page). Supports ranges like "1,3,5-10" and special values "all", "even", "odd". password: Password if the PDF is password-protected

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the extracted-page PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the extracted-page PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (2 required, 1 optional)
Required
document_idstring
page_rangestring
Optional
passwordstring
Default: null

Pdf Extract Text

pdf_extract_text
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Extract plain text content from selected pages.

  • returns plain text and a generated .txt document.
  • pageRange controls which pages are processed (1-based) and also supports "all", "even", "odd".

Args: document_id: Document ID of the PDF page_range: Pages to extract text from. Uses 1-based page numbers (page 1 is the first page). Supports ranges like "1,3,5-10" and special values "all", "even", "odd". password: Password if the PDF is password-protected max_chars: Max characters to include inline in the response (download link is still provided)

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the generated .txt document, returned for

follow-up operations on the generated file

  • text: extracted text preview or full extracted text, depending on size
  • textTruncated: whether the inline text preview was truncated
  • fullTextRequiresDownload: returned when the full text must be downloaded from

the generated result document

  • shareUrl: public download URL for the generated .txt document, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (2 required, 2 optional)
Required
document_idstring
page_rangestring
Optional
max_charsinteger
Default: 120000
passwordstring
Default: null

Pdf Flatten

pdf_flatten
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget. Flatten a PDF document (merge all layers and form fields).

Features:

  • Converts form fields to static content
  • Flattens annotations and markup
  • Merges all layers
  • Prevents further editing of forms

Use cases:

  • Finalize forms before archiving
  • Prevent form tampering
  • Reduce file complexity

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the PDF to flatten password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the flattened PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the flattened PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idstring
Optional
passwordstring
Default: null

Pdf From Excel

pdf_from_excel
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert a Microsoft Excel spreadsheet to PDF format.

Supported formats: .xls, .xlsx, .xlsm, .xlsb

Features:

  • Preserves cell formatting and formulas
  • Maintains charts and graphs
  • Keeps multiple sheets (each as separate page)
  • Preserves print settings

Maximum file size: 100MB

Args: document_id: Document ID of the uploaded Excel file

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required)
Required
document_idstring

Pdf From Html

pdf_from_html
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert an HTML file to PDF format.

When to use this vs pdf_from_url (LLM: choose the right tool):

  • Use pdf_from_html when you already have the page content as an HTML file

(e.g., “Save page as…”), or when the page is private/behind login/VPN/intranet and cannot be fetched directly by the Foxit service.

  • Use pdf_from_url when the target page is publicly accessible and you want

Foxit to fetch + render it directly from the URL (no upload).

Features:

  • Renders HTML with CSS styling
  • Supports embedded images
  • Preserves hyperlinks
  • Automatic page breaks

Maximum file size: 100MB

Args: document_id: Document ID of the uploaded HTML file page_width: Page width in points (optional, default: 595 for A4) page_height: Page height in points (optional, default: 842 for A4)

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 2 optional)
Required
document_idstring
Optional
page_heightinteger
Default: null
page_widthinteger
Default: null

Pdf From Image

pdf_from_image
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert an image to PDF format.

Supported formats: .jpg, .jpeg, .png, .gif, .bmp, .tiff

Features:

  • Preserves image quality
  • Automatic page sizing to fit image
  • Supports multiple images (one per page)
  • Maintains aspect ratio

Maximum file size: 100MB

Args: document_id: Document ID of the uploaded image file

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required)
Required
document_idstring

Pdf From Ppt

pdf_from_ppt
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert a Microsoft PowerPoint presentation to PDF format.

Supported formats: .ppt, .pptx, .pptm, .ppsx

Features:

  • Preserves slide layouts and formatting
  • Maintains animations (as static images)
  • Keeps notes and comments
  • One slide per PDF page

Maximum file size: 100MB

Args: document_id: Document ID of the uploaded PowerPoint file

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required)
Required
document_idstring

Pdf From Text

pdf_from_text
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert a plain text file to PDF format.

Supported formats: .txt

Features:

  • Preserves text content
  • Uses standard font and formatting
  • Automatic page breaks
  • UTF-8 encoding support

Maximum file size: 100MB

Args: document_id: Document ID of the uploaded text file

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required)
Required
document_idstring

Pdf From Url

pdf_from_url
Full Description

Convert a live web page (URL) directly to a PDF.

No upload needed: This tool takes a URL and asks the Foxit Cloud PDF API to render that page server-side.

Important limitations (LLM: read before choosing this tool):

  • The URL must be publicly reachable by the Foxit service.
  • Pages requiring login, cookies, VPN/intranet access, or complex anti-bot

protections may fail or render incomplete.

  • JavaScript is supported but with time/feature limits (dynamic sites may differ

from what you see in your browser).

If the target page is NOT publicly accessible, use one of these instead:

  • Save the page as HTML/PDF locally, upload it, then call pdf_from_html (HTML)

or just keep the uploaded PDF.

Features:

  • Renders live web pages into PDF
  • Includes CSS styling and images
  • Preserves hyperlinks
  • Automatic page breaks

Workflow: 1. Call this tool with url (and optional page size) 2. Wait for async task completion (handled internally) 3. Returns resultDocumentId plus a share link (when share creation succeeds)

Args: url: Publicly accessible URL of the web page to convert page_width: Page width in points (optional; default A4 width is 595) page_height: Page height in points (optional; default A4 height is 842)

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 2 optional)
Required
urlstring
Optional
page_heightinteger
Default: null
page_widthinteger
Default: null

Pdf From Word

pdf_from_word
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert a Microsoft Word document to PDF format.

Supported formats: .doc, .docx, .rtf, .dot, .dotx, .docm, .dotm, .wpd

Features:

  • Preserves text formatting and styles
  • Maintains tables and images
  • Keeps headers and footers
  • Preserves page breaks and sections

Maximum file size: 100MB

Workflow: 1. Upload Word document using upload_document tool 2. Call this tool with the documentId 3. Wait for conversion to complete 4. The tool automatically creates a share link and returns it

Args: document_id: Document ID of the uploaded Word file

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required)
Required
document_idstring

Pdf Linearize

pdf_linearize
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget. Linearize a PDF document for fast web viewing.

Features:

  • Optimizes PDF for progressive download
  • Enables page-at-a-time display in web browsers
  • Improves user experience for large PDFs
  • No visual changes to content

Use cases:

  • Web-based PDF viewing
  • Streaming large documents
  • Improving load times

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the PDF to linearize password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the linearized PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the linearized PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idstring
Optional
passwordstring
Default: null

Pdf Manipulate

pdf_manipulate
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget. Reorganize, rotate, and delete pages in a PDF.

Operations (PPOOperation):

  • MOVE_PAGES: Move pages to a target position
  • pages: list of page numbers (1-based)
  • targetPosition: insert position (1-based)
  • DELETE_PAGES: Remove pages
  • pages: list of page numbers (1-based)
  • ROTATE_PAGES: Rotate pages
  • pages: list of page numbers (1-based)
  • rotation: one of ROTATE_0, ROTATE_CLOCKWISE_90, ROTATE_180, ROTATE_COUNTERCLOCKWISE_90

Example operations:

  • Rotate pages 4-6 by 90° clockwise:

{"type": "ROTATE_PAGES", "pages": [4, 5, 6], "rotation": "ROTATE_CLOCKWISE_90"}

  • Delete pages 8-9:

{"type": "DELETE_PAGES", "pages": [8, 9]}

  • Move pages 1-3 to position 5:

{"type": "MOVE_PAGES", "pages": [1, 2, 3], "targetPosition": 5}

Workflow: 1. Upload PDF using upload_document tool 2. Call this tool with array of operations 3. The tool automatically creates a share link and returns it

Args: document_id: Document ID of the PDF to manipulate operations: Array of page manipulation operations (OpenAPI PPOOperation). Pages are 1-based. password: Password if PDF is password-protected

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the manipulated PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the manipulated PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (2 required, 1 optional)
Required
document_idstring
operationsarray
Optional
passwordstring
Default: null

Pdf Merge

pdf_merge
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Merge multiple PDF documents into a single PDF.

Features:

  • Combines PDFs in the specified order
  • Attempts to preserve bookmarks/links where supported (results may vary)
  • Output metadata/properties may differ from inputs

Maximum file size: 100MB per document

Password-protected PDFs:

  • If any PDFs are password-protected, provide passwords via the passwords parameter
  • passwords list must match the length of document_ids
  • Use None for documents without passwords
  • Example: passwords=[None, "password123", None] for 3 documents where only the 2nd is protected

Args: document_ids: List of document IDs to merge (in order) passwords: Optional list of passwords (one per document). Use None for unprotected documents.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the merged PDF, returned for follow-up

operations on the generated file

  • shareUrl: public download URL for the merged PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idsarray
Optional
passwordsarray
Default: null

Pdf Reorder Pages

pdf_reorder_pages
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Move specified pages to a target position.

Input uses 1-based page numbers (page 1 is the first page).

Args: document_id: Document ID of the PDF page_range: Pages to move (e.g., "1,3,5-10") target_position: 1-based target position to insert the moved pages at password: Password if the PDF is password-protected

Behavior:

  • Invalid tokens are ignored and reported in the message/resultData.
  • Out-of-range pages are ignored (based on PDF pageCount) and reported.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the updated PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the updated PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (3 required, 1 optional)
Required
document_idstring
page_rangestring
target_position
Optional
passwordstring
Default: null

Pdf Rotate Pages

pdf_rotate_pages
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget. Rotate specific pages in a PDF using exact page numbers/ranges.

Input uses 1-based page numbers (page 1 is the first page).

Rotation can be provided as:

  • 0 / 90 / 180 / 270 (number)
  • "0" / "90" / "180" / "270" (string)
  • One of the API enum strings:

ROTATE_0, ROTATE_CLOCKWISE_90, ROTATE_180, ROTATE_COUNTERCLOCKWISE_90.

Example operation sent to pdf-manipulate: { "type": "ROTATE_PAGES", "pages": [4, 5, 6], "rotation": "ROTATE_CLOCKWISE_90" }

Behavior:

  • Invalid tokens are ignored and reported in the message/resultData.
  • Out-of-range pages are ignored (based on PDF pageCount) and reported.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the updated PDF, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the updated PDF, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (3 required, 1 optional)
Required
document_idstring
page_rangestring
rotation
Optional
passwordstring
Default: null

Pdf Split

pdf_split
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Split a PDF document into multiple files by fixed page count.

  • The API requires pageCount (pages per output file).
  • The output is a ZIP document containing the split PDFs.

Example:

  • page_count=10 splits the PDF into files of 10 pages each (last file may have fewer pages).

Maximum file size: 100MB

Args: document_id: Document ID of the PDF to split page_count: Number of pages per output file (must be >= 1) password: Password if the PDF is password-protected

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the ZIP file containing the split PDFs,

returned for follow-up operations on the generated file

  • shareUrl: public download URL for the split-PDF ZIP, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (2 required, 1 optional)
Required
document_idstring
page_countinteger
Optional
passwordstring
Default: null

Pdf To Excel

pdf_to_excel
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert PDF to Microsoft Excel format.

Output format: .xlsx

Features:

  • Extracts tables and data
  • Preserves cell formatting
  • Multiple sheets for multi-page PDFs
  • Editable spreadsheet

Best for: PDFs containing tabular data

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the uploaded PDF file password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted Excel file, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idstring
Optional
passwordstring
Default: null

Pdf To Html

pdf_to_html
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert PDF to HTML format.

Output format: .html

Features:

  • Preserves text and formatting
  • Maintains hyperlinks
  • Includes images
  • Responsive HTML output

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the uploaded PDF file password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted HTML file, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idstring
Optional
passwordstring
Default: null

Pdf To Image

pdf_to_image
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert PDF pages to images.

Output formats: .jpg, .png, .tiff (returned as .zip for multiple pages)

Features:

  • High-quality image rendering
  • Optional page range selection
  • Configurable DPI/resolution
  • Multiple format support

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the uploaded PDF file page_range: Optional page range (e.g., "1,3,5-10", "all", "even", "odd") image_format: Output format ("jpg", "png", "tiff", default: "jpg") dpi: Resolution in DPI (default: 150, max: 300) password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for follow-up operations on the generated file
  • shareUrl: public download URL for the converted image output, when available
  • expiresAt: link expiration timestamp, if provided by the API

Note: Result is a ZIP file containing the images

Parameters (1 required, 4 optional)
Required
document_idstring
Optional
dpiinteger
Default: null
image_formatstring
Default: null
page_rangestring
Default: null
passwordstring
Default: null

Pdf To Ppt

pdf_to_ppt
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert PDF to Microsoft PowerPoint format.

Output format: .pptx

Features:

  • One slide per PDF page
  • Preserves images and graphics
  • Maintains basic layout
  • Editable presentation

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the uploaded PDF file password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted PowerPoint file, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idstring
Optional
passwordstring
Default: null

Pdf To Text

pdf_to_text
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget.

Convert PDF to plain text format.

Output format: .txt

Features:

  • Extracts all text content
  • Preserves text order
  • UTF-8 encoding
  • Optional page range selection

Maximum file size: 100MB

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the uploaded PDF file page_range: Optional page range (e.g., "1,3,5-10", "all", "even", "odd") password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted text file, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 2 optional)
Required
document_idstring
Optional
page_rangestring
Default: null
passwordstring
Default: null

Pdf To Word

pdf_to_word
Full Description

⚠️ CRITICAL PREREQUISITE: You MUST call show_pdf_tools first to display the upload widget. The document_id parameter comes from the upload response in the widget. Convert PDF to Microsoft Word format.

Output format: .docx

Features:

  • Preserves text formatting
  • Maintains tables and images
  • Keeps page layout structure
  • Editable Word document

Maximum file size: 100MB

Workflow: 1. Upload PDF using upload_document tool 2. Call this tool with the documentId 3. Wait for conversion to complete 4. The tool automatically creates a share link and returns it

Password-protected PDFs:

  • If the PDF is password-protected, provide the password via the password parameter
  • Without a valid password, the operation will fail with an authentication error

Args: document_id: Document ID of the uploaded PDF file password: Password for password-protected PDFs. Optional. Provide only if the PDF requires a password.

Returns: JSON string with:

  • success, message
  • resultDocumentId: identifier of the converted result document, returned for

follow-up operations on the generated file

  • shareUrl: public download URL for the converted Word file, when available
  • expiresAt: link expiration timestamp, if provided by the API
Parameters (1 required, 1 optional)
Required
document_idstring
Optional
passwordstring
Default: null

Show Pdf Tools

show_pdf_tools
Full Description

⚠️ This is the ENTRY POINT for all file operations. You MUST call this tool first before performing any file processing operations to allow users to upload documents.

Display the PDF tools widget for uploading and managing PDF documents.

Features:

  • 📤 Upload PDF documents (drag-and-drop or browse)
  • 📋 View uploaded documents list
  • 🗑️ Delete unwanted documents
  • 🔄 Real-time status updates

Usage scenarios:

  • User mentions "upload PDF", "process document", "convert file", etc.
  • Before executing any operation that requires a document_id
  • User wants to view uploaded documents

Supported file formats:

  • PDF documents
  • Microsoft Office documents (Word, Excel, PowerPoint)
  • Images (PNG, JPEG, TIFF, BMP, GIF)
  • Text files
  • HTML files

Maximum file size: 100MB

Args: message: Optional custom message to display at the top of the widget user_intent: The user's intent or reason for using the PDF tools.

Returns: JSON string with widget display status and instructions. Includes resultData.request: { message } when provided.

Parameters (1 required, 1 optional)
Required
user_intentstring
Optional
messagestring
Default: null

Show Pdf Viewer

show_pdf_viewer
Full Description

Display the PDF viewer widget for viewing a specific PDF document by document ID. When you get a share link or have a document ID, use this tool to show the PDF viewer. Or user want to open a PDF document in viewer mode, call this tool with tdocument_id.

Optional parameters: document_id: The document ID of the PDF document to view. Returns: JSON string with widget display status and document ID

Parameters (1 required)
Required
document_idstring

Upload Document

upload_document
Full Description

INTERNAL ONLY — DO NOT CALL FROM GPT/LLM. Upload a document and return the document identifier for later tool calls. This tool is intended for the PDF Tools widget / backend workflow. In user conversations, GPT/LLM must NOT invoke this tool directly.

To upload a document, you MUST call show_pdf_tools to display the upload widget. The widget will handle uploading and will return a document_id (resultDocumentId) for follow-up tools.

Required dependencies:

  • file_content must be the base64-encoded file bytes
  • file_name must be the original file name

Returns: JSON string with:

  • success, message
  • resultDocumentId: required by follow-up tools that operate on the uploaded document

Privacy behavior: This tool returns only the uploaded document identifier required for later document operations. It does not echo file content, file name, share links, tokens, or request debug data.

Parameters (0 required, 2 optional)
Optional
file_contentstring
Default: null
file_namestring
Default: null