feat: Add VitePress docs, EPUB to PDF tool, Phosphor icons, and licensing updates
- Set up VitePress documentation site (docs:dev, docs:build, docs:preview) - Added Getting Started, Tools Reference, Contributing, and Commercial License pages - Created self-hosting guides for Docker, Vercel, Netlify, Cloudflare, AWS, Hostinger, Nginx, Apache - Updated README with documentation link, sponsors section, and docs contribution guide - Added EPUB to PDF converter using LibreOffice WASM - Migrated to Phosphor Icons for consistent iconography - Added donation ribbon banner on landing page - Removed 'Like My Work?' section (replaced by ribbon) - Updated licensing.html with delivery model, AGPL notice, invoicing, and no-refund policy - Added Commercial License documentation page - Updated translations table (Chinese added, marked non-English as In Progress) - Added sponsors.yml workflow for auto-generating sponsor avatars
This commit is contained in:
@@ -6,68 +6,68 @@ export const categories = [
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-multi-tool.html',
|
||||
name: 'PDF Multi Tool',
|
||||
icon: 'pencil-ruler',
|
||||
icon: 'ph-pencil-ruler',
|
||||
subtitle: 'Merge, Split, Organize, Delete, Rotate, Add Blank Pages, Extract and Duplicate in an unified interface.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'merge-pdf.html',
|
||||
name: 'Merge PDF',
|
||||
icon: 'combine',
|
||||
icon: 'ph-browsers',
|
||||
subtitle: 'Combine multiple PDFs into one file. Preserves Bookmarks.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'split-pdf.html',
|
||||
name: 'Split PDF',
|
||||
icon: 'scissors',
|
||||
icon: 'ph-scissors',
|
||||
subtitle: 'Extract a range of pages into a new PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'compress-pdf.html',
|
||||
name: 'Compress PDF',
|
||||
icon: 'zap',
|
||||
icon: 'ph-lightning',
|
||||
subtitle: 'Reduce the file size of your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'edit-pdf.html',
|
||||
name: 'PDF Editor',
|
||||
icon: 'pocket-knife',
|
||||
icon: 'ph-pencil-simple',
|
||||
subtitle:
|
||||
'Annotate, highlight, redact, comment, add shapes/images, search, and view PDFs',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'jpg-to-pdf.html',
|
||||
name: 'JPG to PDF',
|
||||
icon: 'image-up',
|
||||
icon: 'ph-file-jpg',
|
||||
subtitle: 'Create a PDF from one or more JPG images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'sign-pdf.html',
|
||||
name: 'Sign PDF',
|
||||
icon: 'pen-tool',
|
||||
icon: 'ph-pen-nib',
|
||||
subtitle: 'Draw, type, or upload your signature.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'crop-pdf.html',
|
||||
name: 'Crop PDF',
|
||||
icon: 'crop',
|
||||
icon: 'ph-crop',
|
||||
subtitle: 'Trim the margins of every page in your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'extract-pages.html',
|
||||
name: 'Extract Pages',
|
||||
icon: 'ungroup',
|
||||
icon: 'ph-squares-four',
|
||||
subtitle: 'Save a selection of pages as new files.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'organize-pdf.html',
|
||||
name: 'Duplicate & Organize',
|
||||
icon: 'files',
|
||||
icon: 'ph-files',
|
||||
subtitle: 'Duplicate, reorder, and delete pages.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'delete-pages.html',
|
||||
name: 'Delete Pages',
|
||||
icon: 'trash-2',
|
||||
icon: 'ph-trash',
|
||||
subtitle: 'Remove specific pages from your document.',
|
||||
},
|
||||
],
|
||||
@@ -78,98 +78,98 @@ export const categories = [
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'edit-pdf.html',
|
||||
name: 'PDF Editor',
|
||||
icon: 'pocket-knife',
|
||||
icon: 'ph-pencil-simple',
|
||||
subtitle:
|
||||
'Annotate, highlight, redact, comment, add shapes/images, search, and view PDFs.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'bookmark.html',
|
||||
name: 'Edit Bookmarks',
|
||||
icon: 'bookmark',
|
||||
icon: 'ph-bookmark',
|
||||
subtitle: 'Add, edit, import, delete and extract PDF bookmarks.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'table-of-contents.html',
|
||||
name: 'Table of Contents',
|
||||
icon: 'list',
|
||||
icon: 'ph-list',
|
||||
subtitle: 'Generate a table of contents page from PDF bookmarks.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'page-numbers.html',
|
||||
name: 'Page Numbers',
|
||||
icon: 'list-ordered',
|
||||
icon: 'ph-list-numbers',
|
||||
subtitle: 'Insert page numbers into your document.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'add-watermark.html',
|
||||
name: 'Add Watermark',
|
||||
icon: 'droplets',
|
||||
icon: 'ph-drop',
|
||||
subtitle: 'Stamp text or an image over your PDF pages.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'header-footer.html',
|
||||
name: 'Header & Footer',
|
||||
icon: 'pilcrow',
|
||||
icon: 'ph-paragraph',
|
||||
subtitle: 'Add text to the top and bottom of pages.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'invert-colors.html',
|
||||
name: 'Invert Colors',
|
||||
icon: 'contrast',
|
||||
icon: 'ph-circle-half',
|
||||
subtitle: 'Create a "dark mode" version of your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'background-color.html',
|
||||
name: 'Background Color',
|
||||
icon: 'palette',
|
||||
icon: 'ph-palette',
|
||||
subtitle: 'Change the background color of your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'text-color.html',
|
||||
name: 'Change Text Color',
|
||||
icon: 'type',
|
||||
icon: 'ph-eyedropper',
|
||||
subtitle: 'Change the color of text in your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'sign-pdf.html',
|
||||
name: 'Sign PDF',
|
||||
icon: 'pen-tool',
|
||||
icon: 'ph-pen-nib',
|
||||
subtitle: 'Draw, type, or upload your signature.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'add-stamps.html',
|
||||
name: 'Add Stamps',
|
||||
icon: 'stamp',
|
||||
icon: 'ph-stamp',
|
||||
subtitle: 'Add image stamps to your PDF using the annotation toolbar.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'remove-annotations.html',
|
||||
name: 'Remove Annotations',
|
||||
icon: 'eraser',
|
||||
icon: 'ph-eraser',
|
||||
subtitle: 'Strip comments, highlights, and links.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'crop-pdf.html',
|
||||
name: 'Crop PDF',
|
||||
icon: 'crop',
|
||||
icon: 'ph-crop',
|
||||
subtitle: 'Trim the margins of every page in your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'form-filler.html',
|
||||
name: 'PDF Form Filler',
|
||||
icon: 'square-pen',
|
||||
icon: 'ph-pencil-line',
|
||||
subtitle: 'Fill in forms directly in the browser. Also supports XFA forms.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'form-creator.html',
|
||||
name: 'Create PDF Form',
|
||||
icon: 'file-input',
|
||||
icon: 'ph-file-plus',
|
||||
subtitle: 'Create fillable PDF forms with drag-and-drop text fields.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'remove-blank-pages.html',
|
||||
name: 'Remove Blank Pages',
|
||||
icon: 'file-minus-2',
|
||||
icon: 'ph-file-minus',
|
||||
subtitle: 'Automatically detect and delete blank pages.',
|
||||
},
|
||||
],
|
||||
@@ -179,64 +179,196 @@ export const categories = [
|
||||
tools: [
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'image-to-pdf.html',
|
||||
name: 'Image to PDF',
|
||||
icon: 'images',
|
||||
subtitle: 'Convert JPG, PNG, WebP, BMP, TIFF, SVG, HEIC to PDF.',
|
||||
name: 'Images to PDF',
|
||||
icon: 'ph-images',
|
||||
subtitle: 'Convert JPG, PNG, BMP, GIF, TIFF, PNM, PGM, PBM, PPM, PAM, JXR, JPX, JP2, PSD, SVG, HEIC, WebP to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'jpg-to-pdf.html',
|
||||
name: 'JPG to PDF',
|
||||
icon: 'image-up',
|
||||
icon: 'ph-file-jpg',
|
||||
subtitle: 'Create a PDF from one or more JPG images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'png-to-pdf.html',
|
||||
name: 'PNG to PDF',
|
||||
icon: 'image-up',
|
||||
icon: 'ph-file-png',
|
||||
subtitle: 'Create a PDF from one or more PNG images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'webp-to-pdf.html',
|
||||
name: 'WebP to PDF',
|
||||
icon: 'image-up',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Create a PDF from one or more WebP images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'svg-to-pdf.html',
|
||||
name: 'SVG to PDF',
|
||||
icon: 'pen-tool',
|
||||
icon: 'ph-file-svg',
|
||||
subtitle: 'Create a PDF from one or more SVG images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'bmp-to-pdf.html',
|
||||
name: 'BMP to PDF',
|
||||
icon: 'image',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Create a PDF from one or more BMP images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'heic-to-pdf.html',
|
||||
name: 'HEIC to PDF',
|
||||
icon: 'smartphone',
|
||||
icon: 'ph-device-mobile',
|
||||
subtitle: 'Create a PDF from one or more HEIC images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'tiff-to-pdf.html',
|
||||
name: 'TIFF to PDF',
|
||||
icon: 'layers',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Create a PDF from one or more TIFF images.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'txt-to-pdf.html',
|
||||
name: 'Text to PDF',
|
||||
icon: 'file-pen',
|
||||
icon: 'ph-text-t',
|
||||
subtitle: 'Convert a plain text file into a PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'markdown-to-pdf.html',
|
||||
name: 'Markdown to PDF',
|
||||
icon: 'ph-markdown-logo',
|
||||
subtitle: 'Convert Markdown to PDF with live preview and syntax highlighting.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'json-to-pdf.html',
|
||||
name: 'JSON to PDF',
|
||||
icon: 'file-code',
|
||||
icon: 'ph-file-code',
|
||||
subtitle: 'Convert JSON files to PDF format.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'odt-to-pdf.html',
|
||||
name: 'ODT to PDF',
|
||||
icon: 'ph-file',
|
||||
subtitle: 'Convert ODT (OpenDocument Text) files to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'csv-to-pdf.html',
|
||||
name: 'CSV to PDF',
|
||||
icon: 'ph-file-csv',
|
||||
subtitle: 'Convert CSV (Comma-Separated Values) spreadsheets to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'rtf-to-pdf.html',
|
||||
name: 'RTF to PDF',
|
||||
icon: 'ph-file-text',
|
||||
subtitle: 'Convert RTF (Rich Text Format) documents to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'word-to-pdf.html',
|
||||
name: 'Word to PDF',
|
||||
icon: 'ph-microsoft-word-logo',
|
||||
subtitle: 'Convert Word documents (DOCX, DOC, ODT) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'excel-to-pdf.html',
|
||||
name: 'Excel to PDF',
|
||||
icon: 'ph-microsoft-excel-logo',
|
||||
subtitle: 'Convert Excel spreadsheets (XLSX, XLS, ODS) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'powerpoint-to-pdf.html',
|
||||
name: 'PowerPoint to PDF',
|
||||
icon: 'ph-microsoft-powerpoint-logo',
|
||||
subtitle: 'Convert PowerPoint presentations (PPTX, PPT, ODP) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'xps-to-pdf.html',
|
||||
name: 'XPS to PDF',
|
||||
icon: 'ph-scan',
|
||||
subtitle: 'Convert XPS/OXPS documents to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'mobi-to-pdf.html',
|
||||
name: 'MOBI to PDF',
|
||||
icon: 'ph-book-open-text',
|
||||
subtitle: 'Convert MOBI e-books to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'epub-to-pdf.html',
|
||||
name: 'EPUB to PDF',
|
||||
icon: 'ph-book-open-text',
|
||||
subtitle: 'Convert EPUB e-books to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'fb2-to-pdf.html',
|
||||
name: 'FB2 to PDF',
|
||||
icon: 'ph-book-bookmark',
|
||||
subtitle: 'Convert FictionBook (FB2) e-books to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'cbz-to-pdf.html',
|
||||
name: 'CBZ to PDF',
|
||||
icon: 'ph-book-open',
|
||||
subtitle: 'Convert comic book archives (CBZ/CBR) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'wpd-to-pdf.html',
|
||||
name: 'WPD to PDF',
|
||||
icon: 'ph-file-text',
|
||||
subtitle: 'Convert WordPerfect documents (WPD) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'wps-to-pdf.html',
|
||||
name: 'WPS to PDF',
|
||||
icon: 'ph-file-text',
|
||||
subtitle: 'Convert WPS Office documents to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'xml-to-pdf.html',
|
||||
name: 'XML to PDF',
|
||||
icon: 'ph-file-code',
|
||||
subtitle: 'Convert XML documents to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pages-to-pdf.html',
|
||||
name: 'Pages to PDF',
|
||||
icon: 'ph-file-text',
|
||||
subtitle: 'Convert Apple Pages documents to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'odg-to-pdf.html',
|
||||
name: 'ODG to PDF',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Convert OpenDocument Graphics (ODG) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'ods-to-pdf.html',
|
||||
name: 'ODS to PDF',
|
||||
icon: 'ph-table',
|
||||
subtitle: 'Convert OpenDocument Spreadsheet (ODS) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'odp-to-pdf.html',
|
||||
name: 'ODP to PDF',
|
||||
icon: 'ph-presentation',
|
||||
subtitle: 'Convert OpenDocument Presentation (ODP) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pub-to-pdf.html',
|
||||
name: 'PUB to PDF',
|
||||
icon: 'ph-book-open',
|
||||
subtitle: 'Convert Microsoft Publisher (PUB) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'vsd-to-pdf.html',
|
||||
name: 'VSD to PDF',
|
||||
icon: 'ph-git-branch',
|
||||
subtitle: 'Convert Microsoft Visio (VSD, VSDX) to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'psd-to-pdf.html',
|
||||
name: 'PSD to PDF',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Convert Adobe Photoshop (PSD) files to PDF. Multiple files supported.',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -245,45 +377,93 @@ export const categories = [
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-jpg.html',
|
||||
name: 'PDF to JPG',
|
||||
icon: 'file-image',
|
||||
icon: 'ph-file-image',
|
||||
subtitle: 'Convert each PDF page into a JPG image.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-png.html',
|
||||
name: 'PDF to PNG',
|
||||
icon: 'file-image',
|
||||
icon: 'ph-file-image',
|
||||
subtitle: 'Convert each PDF page into a PNG image.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-webp.html',
|
||||
name: 'PDF to WebP',
|
||||
icon: 'file-image',
|
||||
icon: 'ph-file-image',
|
||||
subtitle: 'Convert each PDF page into a WebP image.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-bmp.html',
|
||||
name: 'PDF to BMP',
|
||||
icon: 'file-image',
|
||||
icon: 'ph-file-image',
|
||||
subtitle: 'Convert each PDF page into a BMP image.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-tiff.html',
|
||||
name: 'PDF to TIFF',
|
||||
icon: 'file-image',
|
||||
icon: 'ph-file-image',
|
||||
subtitle: 'Convert each PDF page into a TIFF image.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-svg.html',
|
||||
name: 'PDF to SVG',
|
||||
icon: 'ph-file-code',
|
||||
subtitle: 'Convert each PDF page into a scalable vector graphic.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-csv.html',
|
||||
name: 'PDF to CSV',
|
||||
icon: 'ph-file-csv',
|
||||
subtitle: 'Extract tables from PDF and convert to CSV format.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-excel.html',
|
||||
name: 'PDF to Excel',
|
||||
icon: 'ph-microsoft-excel-logo',
|
||||
subtitle: 'Extract tables from PDF and convert to Excel (XLSX).',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-greyscale.html',
|
||||
name: 'PDF to Greyscale',
|
||||
icon: 'palette',
|
||||
icon: 'ph-palette',
|
||||
subtitle: 'Convert all colors to black and white.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-json.html',
|
||||
name: 'PDF to JSON',
|
||||
icon: 'file-code',
|
||||
icon: 'ph-file-code',
|
||||
subtitle: 'Convert PDF files to JSON format.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-docx.html',
|
||||
name: 'PDF to Word',
|
||||
icon: 'ph-microsoft-word-logo',
|
||||
subtitle: 'Convert PDF files to editable Word documents.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'extract-images.html',
|
||||
name: 'Extract Images',
|
||||
icon: 'ph-download-simple',
|
||||
subtitle: 'Extract all embedded images from your PDF files.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-markdown.html',
|
||||
name: 'PDF to Markdown',
|
||||
icon: 'ph-markdown-logo',
|
||||
subtitle: 'Convert PDF text and tables to Markdown format.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'prepare-pdf-for-ai.html',
|
||||
name: 'Prepare PDF for AI',
|
||||
icon: 'ph-sparkle',
|
||||
subtitle: 'Extract PDF content as LlamaIndex JSON for RAG/LLM pipelines.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-text.html',
|
||||
name: 'PDF to Text',
|
||||
icon: 'ph-text-aa',
|
||||
subtitle: 'Extract text from PDF files and save as plain text (.txt).',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -292,133 +472,157 @@ export const categories = [
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'ocr-pdf.html',
|
||||
name: 'OCR PDF',
|
||||
icon: 'scan-text',
|
||||
icon: 'ph-barcode',
|
||||
subtitle: 'Make a PDF searchable and copyable.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'merge-pdf.html',
|
||||
name: 'Merge PDF',
|
||||
icon: 'combine',
|
||||
icon: 'ph-browsers',
|
||||
subtitle: 'Combine multiple PDFs into one file.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'alternate-merge.html',
|
||||
name: 'Alternate & Mix Pages',
|
||||
icon: 'shuffle',
|
||||
icon: 'ph-shuffle',
|
||||
subtitle: 'Merge PDFs by alternating pages from each PDF. Preserves Bookmarks',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'organize-pdf.html',
|
||||
name: 'Organize & Duplicate',
|
||||
icon: 'files',
|
||||
icon: 'ph-files',
|
||||
subtitle: 'Duplicate, reorder, and delete pages.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'add-attachments.html',
|
||||
name: 'Add Attachments',
|
||||
icon: 'paperclip',
|
||||
icon: 'ph-paperclip',
|
||||
subtitle: 'Embed one or more files into your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'extract-attachments.html',
|
||||
name: 'Extract Attachments',
|
||||
icon: 'download',
|
||||
icon: 'ph-download',
|
||||
subtitle: 'Extract all embedded files from PDF(s) as a ZIP.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'edit-attachments.html',
|
||||
name: 'Edit Attachments',
|
||||
icon: 'file-edit',
|
||||
icon: 'ph-paperclip-horizontal',
|
||||
subtitle: 'View or remove attachments in your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-multi-tool.html',
|
||||
name: 'PDF Multi Tool',
|
||||
icon: 'pencil-ruler',
|
||||
icon: 'ph-pencil-ruler',
|
||||
subtitle: 'Full-featured PDF editor with page management.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-layers.html',
|
||||
name: 'PDF OCG',
|
||||
icon: 'ph-stack-simple',
|
||||
subtitle: 'View, toggle, add, and delete OCG layers in your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'extract-tables.html',
|
||||
name: 'Extract Tables',
|
||||
icon: 'ph-table',
|
||||
subtitle: 'Extract tables from PDFs as CSV, JSON, or Markdown.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'split-pdf.html',
|
||||
name: 'Split PDF',
|
||||
icon: 'scissors',
|
||||
icon: 'ph-scissors',
|
||||
subtitle: 'Extract a range of pages into a new PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'divide-pages.html',
|
||||
name: 'Divide Pages',
|
||||
icon: 'table-columns-split',
|
||||
icon: 'ph-columns',
|
||||
subtitle: 'Divide pages horizontally or vertically.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'extract-pages.html',
|
||||
name: 'Extract Pages',
|
||||
icon: 'ungroup',
|
||||
icon: 'ph-squares-four',
|
||||
subtitle: 'Save a selection of pages as new files.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'delete-pages.html',
|
||||
name: 'Delete Pages',
|
||||
icon: 'trash-2',
|
||||
icon: 'ph-trash',
|
||||
subtitle: 'Remove specific pages from your document.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'add-blank-page.html',
|
||||
name: 'Add Blank Page',
|
||||
icon: 'file-plus-2',
|
||||
icon: 'ph-file-plus',
|
||||
subtitle: 'Insert an empty page anywhere in your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'reverse-pages.html',
|
||||
name: 'Reverse Pages',
|
||||
icon: 'arrow-down-z-a',
|
||||
icon: 'ph-sort-descending',
|
||||
subtitle: 'Flip the order of all pages in your document.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'rotate-pdf.html',
|
||||
name: 'Rotate PDF',
|
||||
icon: 'rotate-cw',
|
||||
icon: 'ph-arrow-clockwise',
|
||||
subtitle: 'Turn pages in 90-degree increments.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'rotate-custom.html',
|
||||
name: 'Rotate by Custom Degrees',
|
||||
icon: 'ph-arrows-clockwise',
|
||||
subtitle: 'Rotate pages by any custom angle.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'n-up-pdf.html',
|
||||
name: 'N-Up PDF',
|
||||
icon: 'layout-grid',
|
||||
icon: 'ph-squares-four',
|
||||
subtitle: 'Arrange multiple pages onto a single sheet.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-booklet.html',
|
||||
name: 'PDF Booklet',
|
||||
icon: 'ph-book-open',
|
||||
subtitle: 'Rearrange pages for double-sided booklet printing.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'combine-single-page.html',
|
||||
name: 'Combine to Single Page',
|
||||
icon: 'unfold-vertical',
|
||||
icon: 'ph-arrows-out-line-vertical',
|
||||
subtitle: 'Stitch all pages into one continuous scroll.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'view-metadata.html',
|
||||
name: 'View Metadata',
|
||||
icon: 'info',
|
||||
icon: 'ph-info',
|
||||
subtitle: 'Inspect the hidden properties of your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'edit-metadata.html',
|
||||
name: 'Edit Metadata',
|
||||
icon: 'file-cog',
|
||||
icon: 'ph-file-code',
|
||||
subtitle: 'Change the author, title, and other properties.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-zip.html',
|
||||
name: 'PDFs to ZIP',
|
||||
icon: 'stretch-horizontal',
|
||||
icon: 'ph-file-zip',
|
||||
subtitle: 'Package multiple PDF files into a ZIP archive.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'compare-pdfs.html',
|
||||
name: 'Compare PDFs',
|
||||
icon: 'git-compare',
|
||||
icon: 'ph-git-diff',
|
||||
subtitle: 'Compare two PDFs side by side.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'posterize-pdf.html',
|
||||
name: 'Posterize PDF',
|
||||
icon: 'notepad-text-dashed',
|
||||
icon: 'ph-notepad',
|
||||
subtitle: 'Split a large page into multiple smaller pages.',
|
||||
},
|
||||
],
|
||||
@@ -429,40 +633,52 @@ export const categories = [
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'compress-pdf.html',
|
||||
name: 'Compress PDF',
|
||||
icon: 'zap',
|
||||
icon: 'ph-lightning',
|
||||
subtitle: 'Reduce the file size of your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-pdfa.html',
|
||||
name: 'PDF to PDF/A',
|
||||
icon: 'ph-archive',
|
||||
subtitle: 'Convert PDF to PDF/A for long-term archiving.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'fix-page-size.html',
|
||||
name: 'Fix Page Size',
|
||||
icon: 'ruler-dimension-line',
|
||||
icon: 'ph-ruler',
|
||||
subtitle: 'Standardize all pages to a uniform size.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'linearize-pdf.html',
|
||||
name: 'Linearize PDF',
|
||||
icon: 'gauge',
|
||||
icon: 'ph-gauge',
|
||||
subtitle: 'Optimize PDF for fast web viewing.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'page-dimensions.html',
|
||||
name: 'Page Dimensions',
|
||||
icon: 'ruler',
|
||||
icon: 'ph-ruler',
|
||||
subtitle: 'Analyze page size, orientation, and units.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'remove-restrictions.html',
|
||||
name: 'Remove Restrictions',
|
||||
icon: 'unlink',
|
||||
icon: 'ph-link-break',
|
||||
subtitle:
|
||||
'Remove password protection and security restrictions associated with digitally signed PDF files.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'repair-pdf.html',
|
||||
name: 'Repair PDF',
|
||||
icon: 'wrench',
|
||||
icon: 'ph-wrench',
|
||||
subtitle: 'Recover data from corrupted or damaged PDF files.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'rasterize-pdf.html',
|
||||
name: 'Rasterize PDF',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Convert PDF to image-based PDF. Flatten layers and remove selectable text.',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -471,37 +687,37 @@ export const categories = [
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'encrypt-pdf.html',
|
||||
name: 'Encrypt PDF',
|
||||
icon: 'lock',
|
||||
icon: 'ph-lock',
|
||||
subtitle: 'Lock your PDF by adding a password.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'sanitize-pdf.html',
|
||||
name: 'Sanitize PDF',
|
||||
icon: 'brush-cleaning',
|
||||
icon: 'ph-broom',
|
||||
subtitle: 'Remove metadata, annotations, scripts, and more.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'decrypt-pdf.html',
|
||||
name: 'Decrypt PDF',
|
||||
icon: 'unlock',
|
||||
icon: 'ph-lock-open',
|
||||
subtitle: 'Unlock PDF by removing password protection.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'flatten-pdf.html',
|
||||
name: 'Flatten PDF',
|
||||
icon: 'layers',
|
||||
icon: 'ph-stack',
|
||||
subtitle: 'Make form fields and annotations non-editable.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'remove-metadata.html',
|
||||
name: 'Remove Metadata',
|
||||
icon: 'file-x',
|
||||
icon: 'ph-file-x',
|
||||
subtitle: 'Strip hidden data from your PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'change-permissions.html',
|
||||
name: 'Change Permissions',
|
||||
icon: 'shield-check',
|
||||
icon: 'ph-shield-check',
|
||||
subtitle: 'Set or change user permissions on a PDF.',
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user