← Back to all apps

Adobe Acrobat

Business

Edit and organize PDFs easily

22ChatGPT Tools
BusinessCategory

Available Tools

Acrobat Proxy

acrobat_proxy
Full Description

**TOOL

  • NEVER INVOKE THIS DIRECTLY.**

This tool is strictly reserved for internal application workflows and backend processing only. GPT/LLM must NEVER call this tool in any user workflow or conversation.

Handles internal Adobe Acrobat service proxy operations for write/modify operations. This is not for user-facing operations.

DO NOT USE this tool for any user-facing operations or general document processing workflows.

Parameters (1 required, 4 optional)
Required
urlstring
Optional
bodyobject
Default: null
headersobject
Default: null
methodstring
Default: POST
query_paramsobject
Default: null

Acrobat Read-Only Proxy

acrobat_readonly_proxy
Full Description

**TOOL

  • NEVER INVOKE THIS DIRECTLY.**

This tool is strictly reserved for internal application workflows and backend processing only. GPT/LLM must NEVER call this tool in any user workflow or conversation.

Handles internal Adobe Acrobat service proxy operations for read-only operations. This is not for user-facing operations.

DO NOT USE this tool for any user-facing operations or general document processing workflows.

Parameters (1 required, 2 optional)
Required
urlstring
Optional
headersobject
Default: null
query_paramsobject
Default: null

Document Upload UI

document_upload
Full Description

CRITICAL PREREQUISITE: This tool MUST be invoked FIRST before any PDF/document operation when no file is in chat context.

Interactive UI for uploading documents from local system. This resource is a MANDATORY prerequisite for all document operations. When a user requests any PDF operation (compress, extract, combine, convert, OCR, page manipulation, etc.) and no document is available in chat context, you MUST invoke this upload tool as the first step.

Acts as the required gateway for all document operations. Supports multiple file formats (PDF, DOC, DOCX, TXT, MD), drag-and-drop, file validation, and preview capabilities.

REQUIRED WORKFLOW: 1. User requests PDF operation → 2. Detect if document exists in context → 3. If NO document, invoke document_upload FIRST → 4. Upload UI displayed → 5. User uploads file(s) → 6. System validates and extracts metadata → 7. Proceed with requested operation.

CRITICAL FOR COMBINE/MERGE OPERATIONS: After document_upload completes for combine/merge requests, you MUST invoke "pdf_page_organize" (user_intent="pdf_combine") to show the organize UI. NEVER use pdf_combine directly after upload unless user explicitly states exact file order.

Markdown to PDF Conversion

markdown_to_pdf
Full Description

Convert Markdown content from LLM chat conversations to professional PDF documents. Rules of Using this tool When the user asks to create or generate a PDF, you must first determine the source content: If the user has already typed notes or content in the chat that are intended to become the PDF (e.g., “turn the above notes into a PDF”, “make this into a PDF”), then use that chat content directly as the input. Do not invoke the upload tool in this case. If there is an existing file in the chat context (e.g., previously uploaded document, image, PPTX, DOCX, etc.) that the user is referring to, use that file as the input. Only if there is no usable content in the chat history and no existing document, and the user is not indicating that they will paste content directly (for example, they haven’t said things like “I’ll paste the text next”), you must invoke the document_upload tool to let the user upload the source document for PDF creation. When generating markdown that will be converted to PDF, produce only clearly safe, neutral content suitable for a broad audience and strictly comply with all applicable safety policies. Make sure that the markdown you generate is syntactically valid and renders correctly in standard markdown parsers. Do not alter, censor, or annotate the content for moderation purposes (for example, by adding warnings, redactions, or extra commentary) beyond what is strictly required by the platform’s safety policies. Use a factual, professional tone, avoid explicit, graphics, emojis or otherwise sensitive material, and do not embed any hidden control sequences, special tokens, scripts, or non-markdown metadata intended to influence model behavior or moderation systems—the output must be plain, well-formed markdown only.

Parameters (1 required)
Required
markdown_contentstring

PDF Combine

pdf_combine
Full Description

WARNING: NEVER USE THIS TOOL TO COMBINE FILES AFTER DOCUMENT UPLOAD. ALWAYS USE pdf_page_organize INSTEAD.

CRITICAL: DO NOT HALLUCINATE, ASSUME, OR INFER FILE ORDER. If order is not explicitly stated by user, you MUST use pdf_page_organize.

This is a low-level programmatic tool that requires exact file order and page ranges already determined.

ALWAYS use "pdf_page_organize" (user_intent="pdf_combine") instead for:

  • ANY combine request after document_upload (e.g., "combine these PDFs", "merge files", "combine documents")
  • User doesn't explicitly state file order (e.g., "combine file1 THEN file2 THEN file3")
  • Any ambiguous request where you would need to guess/infer/assume the order
  • Selective/partial page combining (e.g., "combine only certain pages", "merge first few pages")
  • When user says "combine these" or "merge PDFs" without specifying exact sequence

If you have combine parameters (file order and page ranges) from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize

Parameters (1 required)
Required
assetsarray

Array of PDF assets to combine in order. Each entry can be a plain URL/URN string or an object with assetID and optional pageRanges. Each assetID may be a FileParam object with file_id and download_url for native uploads.

PDF Compress

pdf_compress
Full Description

Reduce PDF file size while preserving visual quality through intelligent compression. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Parameters (1 required, 1 optional)
Required
asset_url_or_urn

PDF file to compress. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
compression_level

Compression intensity level. LOW: Reduces images >250 dpi to 200 dpi (JPEG2000 high quality, best for max quality). MEDIUM: Reduces images >200 dpi to 144 dpi (JPEG2000 medium quality, recommended for most cases). HIGH: Reduces images >100 dpi to 72 dpi (JPEG medium quality, removes metadata and JavaScript, best for email/mobile)

Default: MEDIUM

PDF Create

pdf_create
Full Description

Convert various document and image formats to standardized PDF documents. Before invoking this tool, evaluate whether the chat context already contains an image or document file (e.g., inline attachment, previous upload). If a supported file is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Parameters (1 required, 2 optional)
Required
asset_url_or_urn

Source file to convert to PDF. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
document_languagestring

Language code for text processing. Examples: en-US, fr-FR, ja-JP

Default: en-US
file_formatstring

Format of the source file. Supported: bmp, doc, docx, gif, jpeg, jpg, png, ppt, pptx, rtf, tif, tiff, txt, xls, xlsx

Default: docx

PDF Delete Pages

pdf_delete_pages
Full Description

Remove specific pages from PDF with exact page numbers/ranges. Check chat context for documents first. If none, invoke "document_upload" before proceeding. IMPORTANT: When a user requests page deletion, you must first invoke "pdf_page_organize" with user_intent="pdf_delete_pages" to show the interactive UI. If you have page ranges from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_delete_pages) with the page ranges after the user makes their selections.

  • Note: This tool is typically called by the UI after user interaction, not directly by the LLM
Parameters (2 required)
Required
asset_url_or_urn

PDF file to delete pages from. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

page_rangesstring

Comma-separated list of page numbers or inclusive ranges (e.g., "1,3-5,10").

PDF Edit UI

pdf_edit_ui
Full Description

Interactive UI tool for editing PDF documents. This tool renders an editing interface that displays the specified PDF document with editing and annotation capabilities.

Provides an editing experience for PDF files already uploaded or available in the chat context. Before invoking this tool, first evaluate whether the current chat context contains an existing PDF document. If there is no PDF in the chat context, you must first invoke the "document_upload" tool to request the file from the user. After the PDF is available in context, proceed with this edit UI tool.

WORKFLOW: User requests PDF edit → Verify PDF in context (if not, invoke document_upload) → Client invokes edit UI with asset_url_or_urn → Edit UI displayed → User can interact with and edit the PDF.

Parameters (1 required)
Required
asset_url_or_urn

PDF file to edit. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

PDF Export

pdf_export
Full Description

Export PDF documents to editable office formats with OCR support. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Parameters (1 required, 2 optional)
Required
asset_url_or_urn

PDF file to export. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
ocr_languagestring

Language code for OCR operation. Example: "en-US", "fr-FR", "ja-JP"

Default: null
target_formatstring

Format to export to. Supported formats: doc, docx, pptx, xlsx, rtf

Default: docx

PDF OCR

pdf_ocr
Full Description

Make PDF documents searchable through Adobe's OCR service. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Parameters (1 required, 2 optional)
Required
asset_url_or_urn

PDF file to apply OCR to. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
ocr_localestring

Language code for OCR operation. Supported: en-US, en-GB, fr-FR, de-DE, it-IT, es-ES, nl-NL, sv-SE, da-DK, fi-FI, nb-NO, pt-BR, pt-PT, ja-JP, zh-CN, zh-Hant, ko-KR

Default: en-US
ocr_typestring

OCR processing type. searchable_image: maintains original quality (recommended). searchable_image_exact: preserves exact positioning (larger file)

Default: searchable_image

PDF Operation Status

pdf_operation_status
Full Description

Check the status of asynchronous PDF operations and retrieve results.

Parameters (1 required, 1 optional)
Required
tracking_idstring
Optional
operation_namestring
Default: null

PDF Page Organize UI

pdf_page_organize
Full Description

Interactive UI for PDF page operations: delete, reorder, rotate, combine, and split with visual page selection.

Input rule:

  • Provide input_assets as an array. Each item can be a FileParam object ({file_id, download_url}) or a URN/HTTPS URL string.
  • Do NOT pass local paths like /mnt/data.

When the user attached PDFs via the ChatGPT native picker, pass the FileParam objects in the input_assets array (openai/fileParams points to input_assets).

Check chat context for existing PDFs first. If none, invoke "document_upload" before proceeding. Before invoking this tool for any organize operation, you must determine whether PDF properties are required to correctly work on the active query, such as page count, page ranges, file size, or any other structural information that affects how pages should be organized, rendered, or transformed. If any part of the operation depends on such properties, you must first call the "pdf_properties" tool. After invoking "pdf_properties", you must carefully inspect and evaluate the returned metadata (e.g., total pages, page dimensions, file size, rotation, page labels, etc.).Based on this evaluated metadata, you must construct the exact and validated arguments for this pdf_page_organize tool specifically the right user_intent and organize_params. Use this tool when:

  • User needs VISUAL/INTERACTIVE page selection for any operation
  • Requests lack specific parameters (e.g., "delete some pages", "organize my PDF", "merge PDFs")
  • Delete: User wants to remove pages but doesn't specify which ones (e.g., "delete blank pages", "remove unnecessary pages")
  • Reorder: User wants to rearrange pages without exact sequence (e.g., "reorganize pages", "change page order")
  • Rotate: User wants to rotate pages without specifying exact pages/angles (e.g., "fix orientation", "rotate some pages")
  • Combine: ALWAYS DEFAULT for ALL combine requests after document_upload. Use this unless user explicitly states exact file order like "combine file1 THEN file2 THEN file3, all pages" (e.g., "combine PDFs", "merge files", "combine these documents", "merge uploaded files", or ANY case where file order is not explicitly specified by user)
  • Split: Request is vague without specific split method (e.g., "split this PDF", "divide into parts")

Use direct tools instead when:

  • pdf_delete_pages: Exact page numbers provided (e.g., "delete pages 1,3,5")
  • pdf_reorder_pages: Exact sequence specified (e.g., "reorder as 3,1,2")
  • pdf_rotate_pages: Exact pages and angles given (e.g., "rotate page 1 by 90 degrees")
  • pdf_combine: EXTREMELY RARE
  • ONLY when user explicitly states exact file sequence like "combine file1.pdf THEN file2.pdf THEN file3.pdf, all pages from each". NEVER use if you would need to guess, assume, or infer the order
  • pdf_split: Specific split options given (file_count, page_count, or page_ranges)
Parameters (2 required, 3 optional)
Required
input_assetsarray

List of PDF assets. Each entry can be a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

user_intentstring

Operation user wants: pdf_delete_pages, pdf_reorder_pages, pdf_rotate_pages, pdf_combine, pdf_split, pdf_redact

Options:pdf_delete_pagespdf_reorder_pagespdf_rotate_pagespdf_combinepdf_splitpdf_redact
Optional
assetsstring
Default: null
organize_paramsobject

Optional parameters for the specific operation (validated only in `input_assets` mode).

Default: null
redactable_stringsarray

List of words/phrases to search and highlight (only for pdf_redact intent)

Default: null

PDF Properties Extraction

pdf_properties
Full Description

Extract comprehensive document properties such as page count, version, encryption status and metadata of a PDF file. This tool must be invoked when the user has asked to work on a PDF file, and you need to know the properties of the file before proceeding with the operation. Use this tool to disambiguate the user's intent and determine the properties of the file before proceeding with that operation. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Parameters (1 required, 1 optional)
Required
asset_url_or_urn

PDF file to extract properties from. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
include_page_level_propertiesboolean

Whether to include detailed page-level properties. True: returns info about each page. False: returns only document-level properties

Default: False

PDF Redact

pdf_redact
Full Description

Permanently redact specified areas in a PDF using precise bounding box coordinates. This tool is invoked only by the UI after the user confirms redaction regions. The LLM must not call this tool directly when the user provides text to remove.

REDACTION WORKFLOW RULES FOR THE LLM

1. If the user provides exact words or phrases to redact:

  • Do not call pdf_to_markdown.
  • Call pdf_page_organize with:

user_intent = "pdf_redact" redactable_strings = [user-provided strings]

  • The UI highlights matches and, after user confirmation, calls this tool.

2. If the user requests general redaction or PII discovery (e.g., "redact sensitive info", "remove all PII"):

  • Call pdf_to_markdown to extract text.
  • Detect PII or sensitive strings from the markdown.
  • Call pdf_page_organize with:

user_intent = "pdf_redact" redactable_strings = [detected strings]

  • The UI highlights matches and, after user confirmation, calls this tool.

WHEN THIS TOOL IS USED

  • Only when final bounding box coordinates are available from the UI.
  • Never for text search, PII detection, or preprocessing.
  • Permanently removes content by applying black-box redactions.
Parameters (2 required)
Required
asset_url_or_urn

PDF source to redact. Pass a URL/URN string or a FileParam object (native picker upload).

redaction_blocksarray

List of redaction blocks. Each block must specify: page (1-indexed) and bounding_box {left, top, right, bottom}.

PDF Page Reordering

pdf_reorder_pages
Full Description

Reorganize PDF pages with exact sequence order.

IMPORTANT: When a user requests page reordering, you must first invoke "pdf_page_organize" with user_intent="pdf_reorder_pages" to show the interactive UI. If you have page sequence from the user's request, pass it via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_reorder_pages) with the page sequence after the user makes their selections.

Before invoking pdf_page_organize, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with pdf_page_organize.

Use "pdf_page_organize" (user_intent="pdf_reorder_pages") instead when:

  • User needs VISUAL/INTERACTIVE page reordering (e.g., "rearrange pages", "reorganize my PDF", "change page order")
  • Request lacks specific page sequence
  • ALWAYS use pdf_page_organize for reorder requests, even when specific sequence is provided - pass it via organize_params
Parameters (2 required)
Required
asset_url_or_urn

PDF file to reorder. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

page_sequencestring

Comma-separated list or JSON array of page numbers representing the new page order (1-based).

PDF Page Rotation

pdf_rotate_pages
Full Description

Rotate specific pages with exact angles and page numbers. IMPORTANT: When a user requests page rotation, you must first invoke "pdf_page_organize" with user_intent="pdf_rotate_pages" to show the interactive UI. If you have rotation parameters (angles and page numbers) from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_rotate_pages) with the rotation parameters after the user makes their selections. Before invoking pdf_page_organize, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking this tool to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with pdf_page_organize.

If from the intent of the user, you do not completely understand which all pages to rotate, ensure to use pdf_properties** tool to get the page count and then use the page numbers to rotate the pages. Use "pdf_page_organize" (user_intent="pdf_rotate_pages") instead when:

  • User needs VISUAL/INTERACTIVE page rotation (e.g., "fix orientation", "rotate some pages", "rotate landscape pages")
  • Request lacks specific angles or page numbers
  • ALWAYS use pdf_page_organize for rotation requests, even when specific parameters are provided - pass them via organize_params

Use THIS tool when:

  • Exact rotation angles and pages provided (e.g., "rotate page 2 by 90 degrees")
  • Note: This tool is typically called by the UI after user interaction, not directly by the LLM
Parameters (2 required)
Required
asset_url_or_urn

PDF file to rotate pages in. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

page_rotationsarray

Array of rotation specifications. Each specification defines an angle and the pages to rotate

Split PDF Documents

pdf_split
Full Description

Split PDF with exact split parameters (file_count, page_count, or page_ranges). Check chat context for documents first. If none, invoke "document_upload" before proceeding.

IMPORTANT: When a user requests PDF splitting, you must first invoke "pdf_page_organize" with user_intent="pdf_split" to show the interactive UI. If you have split parameters from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_split) with the split parameters after the user makes their selections.

Before invoking pdf_page_organize, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with pdf_page_organize.

ALWAYS use pdf_page_organize for split requests, even when specific parameters are provided - pass them via organize_params

Parameters (2 required)
Required
asset_url_or_urn

PDF file to split. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

split_optionstring

JSON string that specifies exactly one of the split strategies: {"file_count": N}, {"page_count": N}, or {"page_ranges": "1,3-5"}

PDF to Image Conversion

pdf_to_image
Full Description

Convert PDF pages to JPEG or PNG image files. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Parameters (1 required, 2 optional)
Required
asset_url_or_urn

PDF file to convert to images. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
output_typestring

Type of output. ZIP_OF_PAGE_IMAGES: single ZIP file. LIST_OF_PAGE_IMAGES: individual files

Options:ZIP_OF_PAGE_IMAGESLIST_OF_PAGE_IMAGES
Default: ZIP_OF_PAGE_IMAGES
target_formatstring

Image format for output. Supported values: JPEG, PNG

Options:JPEGPNG
Default: JPEG

PDF to Markdown Conversion

pdf_to_markdown
Full Description

Convert multiple PDF documents to Markdown format concurrently. This the sole tool for high-quality PDF content extraction and semantic understanding of PDF documents. Whenever there is a need to understand, read, extract, summarize, classify, or otherwise “do something” with the content of the PDF , or need for you to get information using which a collection of PDFs can be sorted, grouped, or otherwise organized, you must first use this tool to convert the file into clean, well-structured Markdown that preserves logical reading order, headings, lists, tables, and captions, and then have all downstream tools operate only on that extracted Markdown rather than parsing PDF bytes directly. RULE Before invoking this tool, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking this tool to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with this tool.

Parameters (1 required, 1 optional)
Required
assetsarray

List of PDF assets to convert. Each entry can be a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
include_figuresboolean

Enable detailed extraction with figures, images, and charts. Set to true for comprehensive extraction including visual elements. Set to false for faster text-only extraction (recommended for simple text documents)

Default: False

PDF Viewer UI

pdf_viewer
Full Description

Interactive UI tool for previewing and viewing PDF documents. This tool renders a viewer interface that displays the specified PDF document with navigation and viewing capabilities.

Provides a seamless viewing experience for PDF files already uploaded or available in the chat context. It is highly preferable to use this tool when working with rendering PDF documents due to the advanced PDF rendering technologies being utilized. WORKFLOW: User requests to preview/view a PDF → Client invokes viewer with asset_url_or_urn → Viewer UI displayed → User can navigate and interact with the PDF.

Parameters (1 required)
Required
asset_url_or_urn

PDF file to preview. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Upload Proxy

upload_proxy
Full Description

**TOOL

  • NEVER INVOKE THIS DIRECTLY.**

This tool is strictly reserved for internal application workflows and backend processing only. GPT/LLM must NEVER call this tool in any user workflow or conversation. This is not for user-initiated uploads.

For user document uploads, use the 'document_upload' resource instead. This upload_proxy handles low-level storage operations: (1) direct base64 file ingestion for small files, returning Adobe asset IDs, and (2) presigned URL generation for large file transfers to Adobe Cloud Platform storage.

DO NOT USE this tool for any user-facing operations, file uploads requested by users, or general document processing workflows.

Parameters (2 required, 3 optional)
Required
mimetypestring
sizeinteger
Optional
asset_idstring
Default: null
base64_contentstring
Default: null
file_namestring
Default: null