[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74330":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},74330,"pdfcraft","PDFCraftTool\u002Fpdfcraft","PDFCraftTool","PDFCraft is a free, privacy-focused PDF toolkit that runs entirely in your browser. With 90+ professional tools, you can edit, convert, merge, split, and secure your PDF files without ever uploading them to a server.","https:\u002F\u002Fpdfcraft.devtoolcafe.com",null,"TypeScript",6618,1585,28,17,0,146,280,914,438,115.6,"GNU Affero General Public License v3.0",false,"main",true,[],"2026-06-12 04:01:14","# PDFCraft\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"public\u002Fimages\u002Flogo.png\" alt=\"PDFCraft Logo\" width=\"120\" height=\"120\" \u002F>\n  \u003Ch1>Professional PDF Tools\u003C\u002Fh1>\n  \u003Cp>\n    \u003Cstrong>Free, Private & Browser-Based\u003C\u002Fstrong>\n  \u003C\u002Fp>\n  \u003Cp>\n    Merge, split, compress, convert, and edit PDF files online without uploading to servers.\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fwebsite?url=https%3A%2F%2Fpdfcraft.devtoolcafe.com%2Fen%2F)](https:\u002F\u002Fpdfcraft.devtoolcafe.com\u002Fen\u002F)\n![Next.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNext.js-15-black?style=flat-square&logo=next.js)\n![React](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReact-19-blue?style=flat-square&logo=react)\n![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5-blue?style=flat-square&logo=typescript)\n![Tailwind CSS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTailwind-4-38bdf8?style=flat-square&logo=tailwindcss)\n\n\u003C\u002Fdiv>\n\n## 📖 About\n\n**PDFCraft** is a comprehensive suite of PDF tools designed for privacy and performance. Unlike many online converters, PDFCraft processes your files entirely within your browser using WebAssembly technology. Your documents **never** leave your device, ensuring maximum security for your sensitive data.\n\nThis project is built with modern web technologies to provide a slick, app-like experience directly in the browser.\n\n## ✨ Key Features\n\n- **🔒 100% Private**: All processing happens client-side. No file uploads to external servers.\n- **🚀 Fast & Responsive**: Powered by Next.js and WebAssembly for near-native performance.\n- **🛠️ Comprehensive Toolset**: Over 80+ tools to handle any PDF task.\n- **🎨 Modern UI**: Clean, accessible, and responsive design built with Tailwind CSS.\n- **🌐 Multi-language**: Supports English, Spanish, French, German, Portuguese, Japanese, Korean, and Chinese.\n\n## 🔄 Workflow Editor (Beta)\n\n> ⚠️ **Early Development Notice**: This feature is currently in early development stage. You may encounter bugs or incomplete functionality. We appreciate your feedback and patience!\n\nPDFCraft includes a powerful **visual workflow editor** that allows you to chain multiple PDF operations together, creating automated processing pipelines.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"public\u002Fimages\u002Fworkflow-editor-screenshot.png\" alt=\"Workflow Editor Screenshot\" width=\"800\" \u002F>\n  \u003Cp>\u003Cem>Visual workflow editor with drag-and-drop interface\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n### Key Capabilities\n\n- **🔗 Visual Node-Based Editor**: Drag and drop tools onto a canvas and connect them to create processing pipelines\n- **📋 23+ Pre-built Templates**: Common workflows like \"Merge & Compress\", \"Secure PDF\", \"Document Preparation\", etc.\n- **💾 Save & Reuse**: Save your custom workflows for future use\n- **🎯 Real-time Validation**: Automatic format compatibility checking between connected tools\n- **📁 Batch Processing**: Process multiple files through the same workflow\n- **↔️ Collapsible Panels**: Maximize canvas workspace with collapsible tool and library sidebars\n\n### Available Templates\n\n| Category | Templates |\n|----------|-----------|\n| **Common** | Merge & Compress, Document Preparation, Split & Watermark, Batch Watermark, Report Assembly, Invoice Processing |\n| **Conversion** | Images to PDF, PDF to Images, Office to PDF, eBook to PDF, Photo Album Creator |\n| **Optimization** | Optimize for Web, Full Optimization, Grayscale & Compress, Archive Preparation |\n| **Security** | Create Secure PDF, Confidential Document, Unlock & Edit |\n\n### How to Access\n\nNavigate to `\u002Fworkflow` or click on \"Workflow Editor\" in the navigation menu.\n\n## 🧰 Complete Tool List (90+ Tools)\n\n### 📁 Organize & Manage (27 tools)\n| Tool | Description |\n|------|-------------|\n| **PDF Multi Tool** | All-in-one PDF editor for merge, split, organize, delete, rotate, and extract |\n| **Merge PDF** | Combine multiple PDFs into one document |\n| **Split PDF** | Separate specific pages or divide by page ranges |\n| **Extract Pages** | Extract specific pages to a new file |\n| **Organize PDF** | Reorder, duplicate, and delete pages with drag-and-drop |\n| **Delete Pages** | Remove unwanted pages from PDF files |\n| **Rotate PDF** | Rotate pages by 90°, 180°, or 270° |\n| **Rotate by Custom Degrees** | Rotate pages by any angle for straightening scans |\n| **Reverse Pages** | Reverse the page order of a PDF |\n| **Add Blank Page** | Insert blank pages at any position |\n| **Divide Pages** | Split pages horizontally or vertically |\n| **N-up PDF** | Combine multiple pages on a single sheet (2-up, 4-up, etc.) |\n| **Combine to Single Page** | Stitch all pages into one continuous page |\n| **Alternate Merge** | Interleave pages from multiple PDFs |\n| **OCR PDF** | Make scanned PDFs searchable with text recognition |\n| **Add Attachments** | Embed files into PDF documents |\n| **Extract Attachments** | Download embedded files from PDFs |\n| **Edit Attachments** | View, rename, or remove embedded files |\n| **View Metadata** | View PDF properties, author, dates, and keywords |\n| **Edit Metadata** | Modify PDF title, author, subject, and keywords |\n| **PDF to ZIP** | Package multiple PDFs into a ZIP archive |\n| **Compare PDFs** | Compare two PDFs side-by-side with difference highlighting |\n| **Posterize PDF** | Split large pages into multiple printable sheets |\n| **Grid Combine** | Combine multiple PDFs into a grid layout with custom spacing |\n| **PDF Booklet** | Arrange pages for booklet printing (saddle stitch) |\n| **PDF Reader** | Read and view PDF documents in a clean interface |\n\n### ✏️ Edit & Annotate (19 tools)\n| Tool | Description |\n|------|-------------|\n| **Edit PDF** | Add text, images, annotations, highlights, and shapes |\n| **Sign PDF** | Draw, type, or upload electronic signatures |\n| **Crop PDF** | Trim margins and remove unwanted areas |\n| **Edit Bookmarks** | Add, edit, and manage PDF navigation bookmarks |\n| **Table of Contents** | Generate clickable table of contents from bookmarks |\n| **Page Numbers** | Add customizable page numbering |\n| **Add Watermark** | Apply text or image watermarks |\n| **Header & Footer** | Add headers and footers with page numbers and dates |\n| **Invert Colors** | Create dark mode versions of documents |\n| **Background Color** | Change or add page background colors |\n| **Change Text Color** | Modify the color of all text content |\n| **Add Stamps** | Apply preset or custom stamps (Approved, Rejected, etc.) |\n| **Remove Annotations** | Strip comments, highlights, and markup |\n| **Form Filler** | Complete interactive PDF forms |\n| **Form Creator** | Add text fields, checkboxes, and dropdowns to create forms |\n| **Remove Blank Pages** | Auto-detect and remove empty pages |\n| **Deskew PDF** | Automatically straighten skewed scanned pages |\n| **OCG Manager** | Manage Optional Content Groups (layers) in PDFs |\n\n### 📤 Convert to PDF (22 tools)\n| Tool | Description |\n|------|-------------|\n| **Image to PDF** | Convert any image format to PDF |\n| **JPG to PDF** | Convert JPEG images to PDF |\n| **PNG to PDF** | Convert PNG images with transparency support |\n| **WebP to PDF** | Convert modern WebP images to PDF |\n| **SVG to PDF** | Convert vector graphics to PDF |\n| **BMP to PDF** | Convert bitmap images to PDF |\n| **HEIC to PDF** | Convert iPhone\u002FiPad photos to PDF |\n| **TIFF to PDF** | Convert multi-page TIFF to PDF |\n| **TXT to PDF** | Convert plain text files to PDF |\n| **JSON to PDF** | Convert JSON data with syntax highlighting |\n| **PSD to PDF** | Convert Photoshop files to PDF |\n| **Word to PDF** | Convert Microsoft Word documents to PDF |\n| **Excel to PDF** | Convert Excel spreadsheets to PDF |\n| **PowerPoint to PDF** | Convert PowerPoint presentations to PDF |\n| **XPS to PDF** | Convert XPS documents to PDF |\n| **RTF to PDF** | Convert Rich Text Format files to PDF |\n| **EPUB to PDF** | Convert EPUB ebooks to PDF |\n| **MOBI to PDF** | Convert MOBI ebooks to PDF |\n| **Markdown to PDF** | Convert Markdown files to PDF with styling |\n| **Email to PDF** | Convert email files (EML\u002FMSG) to PDF |\n| **CBZ to PDF** | Convert comic book archives to PDF |\n| **DjVu to PDF** | Convert DjVu documents to PDF |\n\n### 📥 Convert from PDF (13 tools)\n| Tool | Description |\n|------|-------------|\n| **PDF to JPG** | Extract pages as JPEG images |\n| **PDF to PNG** | Export pages as PNG with transparency |\n| **PDF to WebP** | Convert to modern WebP format |\n| **PDF to BMP** | Export as bitmap images |\n| **PDF to TIFF** | Convert to high-quality TIFF |\n| **PDF to Greyscale** | Convert colorful PDFs to black and white |\n| **PDF to JSON** | Extract text and metadata as JSON |\n| **PDF to DOCX** | Convert PDF to editable Word document |\n| **PDF to PowerPoint** | Convert PDF to editable slides |\n| **PDF to Excel** | Extract tables to spreadsheet format |\n| **Extract Images** | Extract all images embedded in a PDF file |\n| **PDF to PDF\u002FA** | Convert PDF to archival PDF\u002FA format |\n| **Extract Tables** | Extract tables from PDF as structured data |\n\n### ⚡ Optimize & Repair (8 tools)\n| Tool | Description |\n|------|-------------|\n| **Compress PDF** | Reduce file size while maintaining quality |\n| **Fix Page Size** | Standardize page dimensions |\n| **Page Dimensions** | Analyze and view page sizes |\n| **Linearize PDF** | Optimize for fast web viewing |\n| **Repair PDF** | Fix corrupted or damaged PDF files |\n| **Remove Restrictions** | Remove editing\u002Fprinting restrictions |\n| **Rasterize PDF** | Convert vector elements to images for compatibility |\n| **Font to Outline** | Convert text fonts to vector outlines |\n\n### 🔒 Secure PDF (6 tools)\n| Tool | Description |\n|------|-------------|\n| **Encrypt PDF** | Add password protection and encryption |\n| **Decrypt PDF** | Remove password from PDFs |\n| **Sanitize PDF** | Remove metadata, scripts, and hidden data |\n| **Flatten PDF** | Merge annotations and form fields into content |\n| **Remove Metadata** | Strip author, dates, and other metadata |\n| **Change Permissions** | Set print, copy, and edit permissions |\n\n## 💻 Tech Stack\n\n- **Framework**: [Next.js 15](https:\u002F\u002Fnextjs.org\u002F) (App Router)\n- **Language**: [TypeScript](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n- **Styling**: [Tailwind CSS 4](https:\u002F\u002Ftailwindcss.com\u002F)\n- **PDF Processing**:\n  - [PDF.js](https:\u002F\u002Fgithub.com\u002Fmozilla\u002Fpdf.js)\n  - [pdf-lib](https:\u002F\u002Fgithub.com\u002FHopding\u002Fpdf-lib)\n  - [PyMuPDF (WASM)](https:\u002F\u002Fpymupdf.readthedocs.io\u002F)\n- **State Management**: [Zustand](https:\u002F\u002Fgithub.com\u002Fpmndrs\u002Fzustand)\n\n## 🚀 Getting Started\n\nTo run this project locally, follow these steps:\n\n### Prerequisites\n\n- Node.js 18.17 or later\n- npm, yarn, or pnpm\n\n### Installation\n\n1.  **Clone the repository**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FPDFCraftTool\u002Fpdfcraft.git\n    cd pdfcraft\n    ```\n\n2.  **Install dependencies**\n    ```bash\n    npm install\n    # or\n    yarn install\n    # or\n    pnpm install\n    ```\n\n3.  **Start the development server**\n    ```bash\n    npm run dev\n    # or\n    yarn dev\n    # or\n    pnpm dev\n    ```\n\n4.  **Open your browser**\n    Navigate to [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000) to see the application running.\n\n### 🐳 Docker\n\nPDFCraft provides both pre-built Docker images and Docker Compose for flexible deployment options.\n\n#### Option 1: Use Pre-built Image (Recommended)\n\nThe easiest way to run PDFCraft is using our pre-built image from GitHub Container Registry:\n\n```bash\n# Pull the latest image\ndocker pull ghcr.io\u002Fpdfcrafttool\u002Fpdfcraft:latest\n\n# Run the container\ndocker run -d -p 8080:80 --name pdfcraft ghcr.io\u002Fpdfcrafttool\u002Fpdfcraft:latest\n```\n\nOpen [http:\u002F\u002Flocalhost:8080](http:\u002F\u002Flocalhost:8080) to access PDFCraft.\n\n**Available tags:**\n| Tag | Description |\n|-----|-------------|\n| `latest` | Latest stable release from main branch |\n| `v1.0.0` | Specific version (semantic versioning) |\n| `sha-abc1234` | Specific commit |\n\n#### Option 2: Build from Source with Docker Compose\n\nIf you want to build from source or need to modify the code:\n\n> ⚠️ **Note**: This method requires cloning the repository first.\n\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002FPDFCraftTool\u002Fpdfcraft.git\ncd pdfcraft\n\n# Development mode (with hot reload)\ndocker compose --profile dev up\n\n# Production mode (static build + Nginx)\ndocker compose --profile prod up --build\n```\n\n- Development: [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000)\n- Production: [http:\u002F\u002Flocalhost:8080](http:\u002F\u002Flocalhost:8080)\n\nTo stop containers:\n\n```bash\ndocker compose down\n```\n\n#### 🌐 Subpath Deployment (basePath Support)\n\nPDFCraft supports deployment under a subpath (e.g., `https:\u002F\u002Fyour-domain.com\u002Fpdfcraft\u002F`). To enable this, you must specify the base path during the build process.\n\n**Using Docker Build:**\n```bash\ndocker build --build-arg BASE_PATH=\u002Fpdfcraft -t pdfcraft .\n```\n\n**Using Docker Compose:**\n```yaml\nservices:\n  pdfcraft:\n    build:\n      context: .\n      args:\n        - BASE_PATH=\u002Fpdfcraft\n    environment:\n      - BASE_PATH=\u002Fpdfcraft\n```\n\n*Note: Since the app is statically exported, the `BASE_PATH` must be provided during the build stage.*\n\n## 📜 Scripts\n\n- `npm run dev`: Starts the development server with Turbopack. Automatically runs `predev` to decompress LibreOffice WASM files.\n- `npm run build`: Builds the application for production. Automatically runs `postbuild` to decompress WASM files in `out\u002F`.\n- `npm run start`: Starts the production server.\n- `npm run lint`: Lints the code using ESLint.\n- `npm run test`: Runs tests using Vitest.\n\n## 🚀 Production Deployment Guide\n\nPDFCraft is configured for static export (`output: 'export'`), which means it can be deployed to any service that supports static website hosting without requiring a Node.js server.\n\n> 📖 **For comprehensive deployment instructions, see [DEPLOYMENT.md](DEPLOYMENT.md)**\n\n### Quick Start\n\n1. **Build the project:**\n   ```bash\n   npm run build\n   ```\n   All static files will be generated in the `out` directory.\n\n2. **Deploy to your preferred platform:**\n   - **Vercel** (Recommended): `vercel --prod`\n   - **Netlify**: `netlify deploy --prod --dir=out`\n   - **GitHub Pages**: Push to `main` branch (uses GitHub Actions)\n   - **Cloudflare Pages**: `wrangler pages deploy out`\n   - **Docker + Nginx**: `docker compose --profile prod up --build`\n\n### Deployment Files Included\n\n| File | Platform |\n|------|----------|\n| `vercel.json` | Vercel |\n| `netlify.toml` | Netlify |\n| `.github\u002Fworkflows\u002Fdeploy.yml` | GitHub Pages |\n| `public\u002F_headers` | Cloudflare Pages \u002F Netlify |\n| `docker-compose.yml` + `nginx.conf` | Docker \u002F Self-hosted |\n| `.htaccess` | Apache |\n\n### Important Notes\n- **Headers Configuration**: Security and caching headers are pre-configured in all deployment files.\n- **Image Optimization**: Static export uses `images: { unoptimized: true }`.\n- **WASM Support**: All deployment configs include proper MIME types for WebAssembly.\n- **Subpath Support**: Set `BASE_PATH` environment variable during build to deploy under a subdirectory.\n\n### Verify Deployment\nAfter deployment, please check the following features to ensure everything is working correctly:\n- Multi-language routing (e.g., `\u002Fen`, `\u002Fzh`)\n- Tool page loading\n- WebAssembly (PDF processing) functionality\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1.  Fork the project\n2.  Create your feature branch (`git checkout -b feature\u002FAmazingFeature`)\n3.  Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4.  Push to the branch (`git push origin feature\u002FAmazingFeature`)\n5.  Open a Pull Request\n\n## 🤝 Acknowledgements\n\nPDFCraft stands on the shoulders of giants. We gratefully acknowledge [BentoPDF](https:\u002F\u002Fgithub.com\u002Falam00000\u002Fbentopdf) for their pioneering work in privacy-first, client-side PDF tools.\n\nTheir project served as a significant inspiration and reference for our core logic. While PDFCraft has been re-engineered for the Next.js ecosystem and extends functionality with unique features like the *Workflow Editor*, we deeply respect the foundation laid by the BentoPDF team.\n\n## 📄 License\n\nThis project is licensed under the AGPL-3.0 License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003Cdiv align=\"center\">\n  Built with ❤️ by the PDFCraft Team\n\u003C\u002Fdiv>\n","PDFCraft 是一个免费且注重隐私的 PDF 工具套件，完全在浏览器中运行。项目提供了超过 90 种专业工具，支持编辑、转换、合并、拆分和保护 PDF 文件，所有处理都在客户端完成，无需上传文件到服务器，确保了数据的安全性。它基于现代 Web 技术如 Next.js 和 WebAssembly 构建，提供接近原生应用的性能体验，并采用 Tailwind CSS 设计了简洁美观的用户界面。此外，PDFCraft 还具备多语言支持以及实验性的可视化工作流编辑器功能，适用于需要高效处理 PDF 文档且对隐私有高要求的个人或企业场景。",2,"2026-06-11 03:49:56","high_star"]