mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(tools): 2.0 phase 5 wave 2 - pdf depth (21 tools) (#220)
This commit is contained in:
@@ -756,6 +756,238 @@ export const TOOLS: Tool[] = [
|
||||
acceptedInputs: [".docx", ".doc", ".odt", ".rtf", ".txt"],
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
id: "extract-pages",
|
||||
name: "Extract Pages",
|
||||
description: "Pull selected pages into a new PDF",
|
||||
category: "documents",
|
||||
icon: "FileOutput",
|
||||
route: "/extract-pages",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "remove-pages",
|
||||
name: "Remove Pages",
|
||||
description: "Delete specific pages from a PDF",
|
||||
category: "documents",
|
||||
icon: "FileX",
|
||||
route: "/remove-pages",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "organize-pdf",
|
||||
name: "Organize PDF",
|
||||
description: "Reorder pages with an explicit page order",
|
||||
category: "documents",
|
||||
icon: "ListOrdered",
|
||||
route: "/organize-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "protect-pdf",
|
||||
name: "Protect PDF",
|
||||
description: "Add password protection (AES-256 encryption)",
|
||||
category: "documents",
|
||||
icon: "Lock",
|
||||
route: "/protect-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "unlock-pdf",
|
||||
name: "Unlock PDF",
|
||||
description: "Remove password protection from a PDF",
|
||||
category: "documents",
|
||||
icon: "LockOpen",
|
||||
route: "/unlock-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "repair-pdf",
|
||||
name: "Repair PDF",
|
||||
description: "Attempt to repair a damaged or corrupted PDF",
|
||||
category: "documents",
|
||||
icon: "Wrench",
|
||||
route: "/repair-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "linearize-pdf",
|
||||
name: "Web-Optimize PDF",
|
||||
description: "Linearize a PDF for fast web viewing",
|
||||
category: "documents",
|
||||
icon: "Zap",
|
||||
route: "/linearize-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "grayscale-pdf",
|
||||
name: "Grayscale PDF",
|
||||
description: "Convert all colors to grayscale",
|
||||
category: "documents",
|
||||
icon: "Contrast",
|
||||
route: "/grayscale-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "pdfa-convert",
|
||||
name: "PDF/A Convert",
|
||||
description: "Convert to archival PDF/A-2",
|
||||
category: "documents",
|
||||
icon: "Archive",
|
||||
route: "/pdfa-convert",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "crop-pdf",
|
||||
name: "Crop PDF",
|
||||
description: "Crop all pages with a uniform margin",
|
||||
category: "documents",
|
||||
icon: "Crop",
|
||||
route: "/crop-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "nup-pdf",
|
||||
name: "N-up PDF",
|
||||
description: "Arrange multiple pages per sheet",
|
||||
category: "documents",
|
||||
icon: "LayoutGrid",
|
||||
route: "/nup-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "booklet-pdf",
|
||||
name: "Booklet PDF",
|
||||
description: "Arrange pages for folding into a booklet",
|
||||
category: "documents",
|
||||
icon: "BookOpen",
|
||||
route: "/booklet-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "watermark-pdf",
|
||||
name: "Watermark PDF",
|
||||
description: "Add a text watermark to every page",
|
||||
category: "documents",
|
||||
icon: "Stamp",
|
||||
route: "/watermark-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "pdf-page-numbers",
|
||||
name: "PDF Page Numbers",
|
||||
description: "Add page numbers to every page",
|
||||
category: "documents",
|
||||
icon: "Hash",
|
||||
route: "/pdf-page-numbers",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "flatten-pdf",
|
||||
name: "Flatten PDF",
|
||||
description: "Bake forms and annotations into page content",
|
||||
category: "documents",
|
||||
icon: "Layers2",
|
||||
route: "/flatten-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "redact-pdf",
|
||||
name: "Redact PDF",
|
||||
description: "Permanently remove text occurrences (verified true redaction)",
|
||||
category: "documents",
|
||||
icon: "EyeOff",
|
||||
route: "/redact-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "pdf-to-text",
|
||||
name: "PDF to Text",
|
||||
description: "Extract plain text from a PDF",
|
||||
category: "documents",
|
||||
icon: "FileText",
|
||||
route: "/pdf-to-text",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "pdf-to-word",
|
||||
name: "PDF to Word",
|
||||
description: "Best for text-based PDFs; scanned pages need OCR",
|
||||
category: "documents",
|
||||
icon: "FileType",
|
||||
route: "/pdf-to-word",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
id: "pdf-metadata",
|
||||
name: "PDF Metadata",
|
||||
description: "Read and write PDF document metadata",
|
||||
category: "documents",
|
||||
icon: "Tags",
|
||||
route: "/pdf-metadata",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
id: "html-to-pdf",
|
||||
name: "HTML to PDF",
|
||||
description: "Convert an HTML file to PDF. Remote resources are disabled for privacy.",
|
||||
category: "documents",
|
||||
icon: "FileCode",
|
||||
route: "/html-to-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".html", ".htm"],
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
id: "markdown-to-pdf",
|
||||
name: "Markdown to PDF",
|
||||
description:
|
||||
"Convert a Markdown file to a styled PDF. Remote resources are disabled for privacy.",
|
||||
category: "documents",
|
||||
icon: "FileCode2",
|
||||
route: "/markdown-to-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".md", ".markdown"],
|
||||
executionHint: "long",
|
||||
},
|
||||
// Data Files
|
||||
{
|
||||
id: "csv-excel",
|
||||
|
||||
Reference in New Issue
Block a user