mirror of
https://github.com/alam00000/bentopdf.git
synced 2026-11-08 16:57:14 +01:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b09f476b26 | ||
|
|
f78cc54cc0 | ||
|
|
ad481f4c1c | ||
|
|
a44449aba7 | ||
|
|
4b9d740d29 | ||
|
|
05e8f6cfde | ||
|
|
ab651a5970 | ||
|
|
9ee8225114 | ||
|
|
95bfda0e99 | ||
|
|
d19e8ad10b | ||
|
|
d4de963bf2 | ||
|
|
54770ea16f | ||
|
|
75000e1dcf | ||
|
|
bdb85b013c | ||
|
|
ae8bd3a004 | ||
|
|
c31704eb0e | ||
|
|
ba669a8952 | ||
|
|
68561b28b7 | ||
|
|
f70265136f | ||
|
|
cb53370a26 | ||
|
|
18ecaf4228 | ||
|
|
fe10335fde | ||
|
|
503c5972eb | ||
|
|
6bf5fad275 | ||
|
|
842d940801 | ||
|
|
85ce0c97b5 | ||
|
|
4125302d01 | ||
|
|
9704e8ab96 | ||
|
|
875f552881 | ||
|
|
eacee28853 | ||
|
|
7e14c83ab8 | ||
|
|
0634600073 | ||
|
|
4b5b29bf9a |
No files matched your search
@@ -1,10 +1,17 @@
|
|||||||
# BentoPDF
|
<p align="center"><img src="public/images/favicon.svg" width="80"></p>
|
||||||
|
<h1 align="center">BentoPDF</h1>
|
||||||
|
|
||||||
**BentoPDF** is a powerful, privacy-first, client-side PDF toolkit that allows you to manipulate, edit, merge, and process PDF files directly in your browser. No server-side processing is required, ensuring your files remain secure and private.
|
<hr>
|
||||||
|
|
||||||
|
**BentoPDF** is a powerful, privacy-first, client-side PDF toolkit that is self hostable and allows you to manipulate, edit, merge, and process PDF files directly in your browser. No server-side processing is required, ensuring your files remain secure and private.
|
||||||
|
|
||||||
 [](https://ko-fi.com/alio0) 
|
 [](https://ko-fi.com/alio0) 
|
||||||
[](https://github.com/sponsors/alam00000)
|
[](https://github.com/sponsors/alam00000)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
## ⭐ Stargazers over time
|
## ⭐ Stargazers over time
|
||||||
|
|
||||||
[](https://star-history.com/#alam00000/bentopdf&Date)
|
[](https://star-history.com/#alam00000/bentopdf&Date)
|
||||||
@@ -38,6 +45,17 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs.
|
|||||||
| **View PDF** | A powerful, integrated PDF viewer. |
|
| **View PDF** | A powerful, integrated PDF viewer. |
|
||||||
| **Alternate & Mix pages** | Merge pages by alternating pages from each PDF. |
|
| **Alternate & Mix pages** | Merge pages by alternating pages from each PDF. |
|
||||||
| **Posterize PDF** | Split a PDF into multiple smaller pages for print. |
|
| **Posterize PDF** | Split a PDF into multiple smaller pages for print. |
|
||||||
|
| **PDF Multi Tool** | Merge, Split, Organize, Delete, Rotate, Add Blank Pages, Extract and Duplicate in an unified interface. |
|
||||||
|
| **Add Attachments** | Embed one or more files into your PDF. |
|
||||||
|
| **Extract Attachments** | Extract all embedded files from PDF(s) as a ZIP. |
|
||||||
|
| **Edit Attachments** | View or remove attachments in your PDF. |
|
||||||
|
| **Divide Pages** | Divide pages horizontally or vertically. |
|
||||||
|
| **Combine to Single Page**| Stitch all pages into one continuous scroll. |
|
||||||
|
| **Add Blank Page** | Insert an empty page anywhere in your PDF. |
|
||||||
|
| **Reverse Pages** | Flip the order of all pages in your document. |
|
||||||
|
| **View Metadata** | Inspect the hidden properties of your PDF. |
|
||||||
|
| **PDFs to ZIP** | Package multiple PDF files into a ZIP archive. |
|
||||||
|
| **Compare PDFs** | Compare two PDFs side by side. |
|
||||||
|
|
||||||
### Edit & Modify PDFs
|
### Edit & Modify PDFs
|
||||||
|
|
||||||
@@ -56,24 +74,39 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs.
|
|||||||
| **Remove Annotations** | Remove comments, highlights, and other annotations. |
|
| **Remove Annotations** | Remove comments, highlights, and other annotations. |
|
||||||
| **Remove Blank Pages** | Auto detect and remove blank pages in a PDF. |
|
| **Remove Blank Pages** | Auto detect and remove blank pages in a PDF. |
|
||||||
| **Edit Bookmarks** | Add, Edit, Create, Import and Export PDF Bookmarks. |
|
| **Edit Bookmarks** | Add, Edit, Create, Import and Export PDF Bookmarks. |
|
||||||
|
| **Add Stamps** | Add image stamps to your PDF using the annotation toolbar. |
|
||||||
|
| **Table of Contents** | Generate a table of contents page from PDF bookmarks. |
|
||||||
|
| **Redact Content** | Permanently remove sensitive content from your PDFs. |
|
||||||
|
|
||||||
### Convert to PDF
|
### Convert to PDF
|
||||||
|
|
||||||
| Tool Name | Description |
|
| Tool Name | Description |
|
||||||
| :------------------ | :-------------------------------------------------------------- |
|
| :------------------ | :-------------------------------------------------------------- |
|
||||||
| **Image to PDF** | Convert JPG, PNG, WebP, SVG, BMP, HEIC, and TIFF images to PDF. |
|
| **Image to PDF** | Convert JPG, PNG, WebP, SVG, BMP, HEIC, and TIFF images to PDF. |
|
||||||
|
| **JPG to PDF** | Convert JPG images to PDF. |
|
||||||
|
| **PNG to PDF** | Convert PNG images to PDF. |
|
||||||
|
| **WebP to PDF** | Convert WebP images to PDF. |
|
||||||
|
| **SVG to PDF** | Convert SVG images to PDF. |
|
||||||
|
| **BMP to PDF** | Convert BMP images to PDF. |
|
||||||
|
| **HEIC to PDF** | Convert HEIC images to PDF. |
|
||||||
|
| **TIFF to PDF** | Convert TIFF images to PDF. |
|
||||||
| **Markdown to PDF** | Convert `.md` files into professional PDF documents. |
|
| **Markdown to PDF** | Convert `.md` files into professional PDF documents. |
|
||||||
| **Text to PDF** | Convert plain text files into a PDF. |
|
| **Text to PDF** | Convert plain text files into a PDF. |
|
||||||
| **JSON to PDF** | Convert JSON to PDF. |
|
| **JSON to PDF** | Convert JSON to PDF. |
|
||||||
|
|
||||||
### Convert from PDF
|
### Convert from PDF
|
||||||
|
|
||||||
| Tool Name | Description |
|
| Tool Name | Description |
|
||||||
| :------------------- | :----------------------------------------------------------------------------- |
|
| :------------------- | :----------------------------------------------------------------------------- |
|
||||||
| **PDF to Image** | Convert PDF pages to JPG, PNG, WebP, BMP, or TIFF formats. |
|
| **PDF to Image** | Convert PDF pages to JPG, PNG, WebP, BMP, or TIFF formats. |
|
||||||
|
| **PDF to JPG** | Convert each PDF page into a JPG image. |
|
||||||
|
| **PDF to PNG** | Convert each PDF page into a PNG image. |
|
||||||
|
| **PDF to WebP** | Convert each PDF page into a WebP image. |
|
||||||
|
| **PDF to BMP** | Convert each PDF page into a BMP image. |
|
||||||
|
| **PDF to TIFF** | Convert each PDF page into a TIFF image. |
|
||||||
| **PDF to Greyscale** | Convert a color PDF into a black-and-white version. |
|
| **PDF to Greyscale** | Convert a color PDF into a black-and-white version. |
|
||||||
| **OCR PDF** | Make scanned PDFs searchable and copyable using Optical Character Recognition. |
|
| **OCR PDF** | Make scanned PDFs searchable and copyable using Optical Character Recognition. |
|
||||||
| **PDF to JSON** | Convert JSON to PDFs. |
|
| **PDF to JSON** | Convert PDF files to JSON format. |
|
||||||
|
|
||||||
### Secure & Optimize PDFs
|
### Secure & Optimize PDFs
|
||||||
|
|
||||||
@@ -90,6 +123,9 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs.
|
|||||||
| **Remove Metadata** | Strip all metadata from your PDF for privacy. |
|
| **Remove Metadata** | Strip all metadata from your PDF for privacy. |
|
||||||
| **Linearize PDF** | Optimize PDF for fast web view. |
|
| **Linearize PDF** | Optimize PDF for fast web view. |
|
||||||
| **Sanitize PDF** | Remove potentially unwanted or malicous files from PDF. |
|
| **Sanitize PDF** | Remove potentially unwanted or malicous files from PDF. |
|
||||||
|
| **Fix Page Size** | Standardize all pages to a uniform size. |
|
||||||
|
| **Page Dimensions** | Analyze page size, orientation, and units. |
|
||||||
|
| **Remove Restrictions**| Remove password protection and security restrictions associated with digitally signed PDF files. |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -105,7 +141,7 @@ You can run BentoPDF locally for development or personal use.
|
|||||||
|
|
||||||
### 🚀 Quick Start with Docker
|
### 🚀 Quick Start with Docker
|
||||||
|
|
||||||
[](https://zeabur.com/templates/LWO8I0?referralCode=LokiSalmonNeko)
|
[](https://zeabur.com/templates/K4AU2B)
|
||||||
|
|
||||||
You can run BentoPDF directly from Docker Hub or GitHub Container Registry without cloning the repository:
|
You can run BentoPDF directly from Docker Hub or GitHub Container Registry without cloning the repository:
|
||||||
|
|
||||||
@@ -128,6 +164,87 @@ Open your browser at: http://localhost:3000
|
|||||||
|
|
||||||
This is the fastest way to try BentoPDF without setting up a development environment.
|
This is the fastest way to try BentoPDF without setting up a development environment.
|
||||||
|
|
||||||
|
### 🏠 Self-Hosting
|
||||||
|
|
||||||
|
Since BentoPDF is fully client-side, all processing happens in the user's browser and no server-side processing is required. This means you can host BentoPDF as simple static files on any web server or hosting platform.
|
||||||
|
|
||||||
|
**Download from Releases (Recommended):**
|
||||||
|
|
||||||
|
The easiest way to self-host is to download the pre-built distribution file from our [GitHub releases](https://github.com/alam00000/bentopdf/releases). Each release includes a `dist-{version}.zip` file that contains all necessary files for self-hosting.
|
||||||
|
|
||||||
|
1. Go to [BentoPDF Releases](https://github.com/alam00000/bentopdf/releases)
|
||||||
|
2. Download the latest `dist-{version}.zip` file
|
||||||
|
3. Extract the zip file
|
||||||
|
4. Serve the extracted folder with your preferred web server
|
||||||
|
|
||||||
|
**Navigate to the extracted Folder:**
|
||||||
|
```bash
|
||||||
|
# Navigate to the extracted folder
|
||||||
|
cd dist-1.6.2 # Replace with your version
|
||||||
|
```
|
||||||
|
|
||||||
|
**Serve with Python:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# For Python 3
|
||||||
|
python -m http.server 8000
|
||||||
|
```
|
||||||
|
|
||||||
|
The website can be accessible at: ```http://[::1]:8000/```
|
||||||
|
|
||||||
|
**Serve with Node.js:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install a simple server
|
||||||
|
npx serve .
|
||||||
|
|
||||||
|
# Or if you have serve installed globally
|
||||||
|
npm install -g serve
|
||||||
|
serve .
|
||||||
|
```
|
||||||
|
|
||||||
|
The website can be accessible at: ```http://localhost:3000/```
|
||||||
|
|
||||||
|
**Serve with other tools:**
|
||||||
|
|
||||||
|
You can also use other static file servers like:
|
||||||
|
- Go: `go run main.go` with a simple Go server
|
||||||
|
- PHP: `php -S localhost:8000`
|
||||||
|
- Ruby: `ruby -run -e httpd . -p 8000`
|
||||||
|
|
||||||
|
The website can be accessible at:
|
||||||
|
- Go: ```http://localhost:8080/``` (default) or as specified
|
||||||
|
- PHP: ```http://localhost:8000/```
|
||||||
|
- Ruby: ```http://localhost:8000/``` (default port can be changed)
|
||||||
|
|
||||||
|
Simply serve the extracted folder using any static file server, and BentoPDF will work completely client-side without any server-side dependencies.
|
||||||
|
|
||||||
|
**Build from Source (Advanced):**
|
||||||
|
|
||||||
|
If you prefer to build from source:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clone the repository
|
||||||
|
git clone https://github.com/alam00000/bentopdf.git
|
||||||
|
cd bentopdf
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# Build the project
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
# Package the distribution for hosting (optional)
|
||||||
|
npm run package
|
||||||
|
|
||||||
|
# Serve the dist folder
|
||||||
|
npx serve dist
|
||||||
|
```
|
||||||
|
|
||||||
|
The website can be accessible at: ```http://localhost:3000/```
|
||||||
|
|
||||||
|
The `npm run package` command creates a `dist-{version}.zip` file that you can use for self-hosting.
|
||||||
|
|
||||||
### 🚀 Run with Docker Compose (Recommended)
|
### 🚀 Run with Docker Compose (Recommended)
|
||||||
|
|
||||||
For a more robust setup with auto-restart capabilities:
|
For a more robust setup with auto-restart capabilities:
|
||||||
|
|||||||
+31
-40
@@ -251,38 +251,31 @@
|
|||||||
|
|
||||||
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
||||||
<div class="container mx-auto px-4">
|
<div class="container mx-auto px-4">
|
||||||
<div
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left">
|
||||||
class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left"
|
|
||||||
>
|
|
||||||
<div class="mb-8 md:mb-0">
|
<div class="mb-8 md:mb-0">
|
||||||
<div class="flex items-center justify-center md:justify-start mb-4">
|
<div class="flex items-center justify-center md:justify-start mb-4">
|
||||||
<img
|
<img src="images/favicon.svg" alt="Bento PDF Logo" class="h-10 w-10 mr-3" />
|
||||||
src="images/favicon.svg"
|
|
||||||
alt="Bentopdf Logo"
|
|
||||||
class="h-10 w-10 mr-3"
|
|
||||||
/>
|
|
||||||
<span class="text-xl font-bold text-white">BentoPDF</span>
|
<span class="text-xl font-bold text-white">BentoPDF</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-gray-400 text-sm">
|
<p class="text-gray-400 text-sm">
|
||||||
© 2025 BentoPDF. All rights reserved.
|
© 2025 BentoPDF. All rights reserved.
|
||||||
</p>
|
</p>
|
||||||
|
<p class="text-gray-500 text-xs mt-2">
|
||||||
|
Version <span id="app-version">1.6.2</span>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Company</h3>
|
<h3 class="font-bold text-white mb-4">Company</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="./about.html" class="hover:text-indigo-400"
|
<a href="./about.html" class="hover:text-indigo-400">About Us</a>
|
||||||
>About Us</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="./faq.html" class="hover:text-indigo-400">FAQ</a>
|
<a href="./faq.html" class="hover:text-indigo-400">FAQ</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="./contact.html" class="hover:text-indigo-400"
|
<a href="./contact.html" class="hover:text-indigo-400">Contact Us</a>
|
||||||
>Contact Us</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -291,14 +284,10 @@
|
|||||||
<h3 class="font-bold text-white mb-4">Legal</h3>
|
<h3 class="font-bold text-white mb-4">Legal</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="./terms.html" class="hover:text-indigo-400"
|
<a href="./terms.html" class="hover:text-indigo-400">Terms and Conditions</a>
|
||||||
>Terms and Conditions</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="./privacy.html" class="hover:text-indigo-400"
|
<a href="./privacy.html" class="hover:text-indigo-400">Privacy Policy</a>
|
||||||
>Privacy Policy</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -306,31 +295,33 @@
|
|||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
||||||
<div class="flex justify-center md:justify-start space-x-4">
|
<div class="flex justify-center md:justify-start space-x-4">
|
||||||
<a
|
<a href="https://github.com/alam00000/bentopdf" target="_blank" rel="noopener noreferrer"
|
||||||
href="https://www.instagram.com/thebentopdf/"
|
class="text-gray-400 hover:text-indigo-400" title="GitHub">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
>
|
<path fill-rule="evenodd"
|
||||||
|
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
|
||||||
|
clip-rule="evenodd" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://discord.gg/q42xWQmJ" target="_blank" rel="noopener noreferrer"
|
||||||
|
class="text-gray-400 hover:text-indigo-400" title="Discord">
|
||||||
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
|
<path
|
||||||
|
d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.instagram.com/thebentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
|
title="Instagram">
|
||||||
<i data-lucide="instagram"></i>
|
<i data-lucide="instagram"></i>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a href="https://www.linkedin.com/company/bentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
href="https://www.linkedin.com/company/bentopdf/"
|
title="LinkedIn">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
|
||||||
>
|
|
||||||
<i data-lucide="linkedin"></i>
|
<i data-lucide="linkedin"></i>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a href="https://x.com/BentoPDF" class="text-gray-400 hover:text-indigo-400" title="X (Twitter)">
|
||||||
href="https://x.com/BentoPDF"
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
class="w-6 h-6"
|
|
||||||
fill="currentColor"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
<path
|
<path
|
||||||
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"
|
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" />
|
||||||
/>
|
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+48
-52
@@ -123,83 +123,79 @@
|
|||||||
|
|
||||||
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
||||||
<div class="container mx-auto px-4">
|
<div class="container mx-auto px-4">
|
||||||
<div
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left">
|
||||||
class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left"
|
|
||||||
>
|
|
||||||
<div class="mb-8 md:mb-0">
|
<div class="mb-8 md:mb-0">
|
||||||
<div class="flex items-center justify-center md:justify-start mb-4">
|
<div class="flex items-center justify-center md:justify-start mb-4">
|
||||||
<img
|
<img src="images/favicon.svg" alt="Bento PDF Logo" class="h-10 w-10 mr-3" />
|
||||||
src="images/favicon.svg"
|
<span class="text-xl font-bold text-white">BentoPDF</span>
|
||||||
alt="Bento PDF Logo"
|
|
||||||
class="h-10 w-10 mr-3"
|
|
||||||
/>
|
|
||||||
<span class="text-xl font-bold text-white">Bentopdf</span>
|
|
||||||
</div>
|
</div>
|
||||||
<p class="text-gray-400 text-sm">
|
<p class="text-gray-400 text-sm">
|
||||||
© 2025 Bentopdf. All rights reserved.
|
© 2025 BentoPDF. All rights reserved.
|
||||||
|
</p>
|
||||||
|
<p class="text-gray-500 text-xs mt-2">
|
||||||
|
Version <span id="app-version">1.6.2</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Company</h3>
|
<h3 class="font-bold text-white mb-4">Company</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="about.html" class="hover:text-indigo-400">About Us</a>
|
<a href="./about.html" class="hover:text-indigo-400">About Us</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="faq.html" class="hover:text-indigo-400">FAQ</a></li>
|
|
||||||
<li>
|
<li>
|
||||||
<a href="contact.html" class="hover:text-indigo-400"
|
<a href="./faq.html" class="hover:text-indigo-400">FAQ</a>
|
||||||
>Contact Us</a
|
</li>
|
||||||
>
|
<li>
|
||||||
|
<a href="./contact.html" class="hover:text-indigo-400">Contact Us</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Legal</h3>
|
<h3 class="font-bold text-white mb-4">Legal</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="./terms.html" class="hover:text-indigo-400"
|
<a href="./terms.html" class="hover:text-indigo-400">Terms and Conditions</a>
|
||||||
>Terms and Conditions</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="./privacy.html" class="hover:text-indigo-400"
|
<a href="./privacy.html" class="hover:text-indigo-400">Privacy Policy</a>
|
||||||
>Privacy Policy</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
||||||
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
<div class="flex justify-center md:justify-start space-x-4">
|
||||||
<div class="flex justify-center md:justify-start space-x-4">
|
<a href="https://github.com/alam00000/bentopdf" target="_blank" rel="noopener noreferrer"
|
||||||
<a
|
class="text-gray-400 hover:text-indigo-400" title="GitHub">
|
||||||
href="https://www.instagram.com/thebentopdf/"
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
<path fill-rule="evenodd"
|
||||||
>
|
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
|
||||||
<i data-lucide="instagram"></i>
|
clip-rule="evenodd" />
|
||||||
</a>
|
</svg>
|
||||||
<a
|
</a>
|
||||||
href="https://www.linkedin.com/company/bentopdf/"
|
<a href="https://discord.gg/q42xWQmJ" target="_blank" rel="noopener noreferrer"
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
class="text-gray-400 hover:text-indigo-400" title="Discord">
|
||||||
>
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
<i data-lucide="linkedin"></i>
|
<path
|
||||||
</a>
|
d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z" />
|
||||||
<a
|
</svg>
|
||||||
href="https://x.com/BentoPDF"
|
</a>
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
<a href="https://www.instagram.com/thebentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
>
|
title="Instagram">
|
||||||
<svg
|
<i data-lucide="instagram"></i>
|
||||||
class="w-6 h-6"
|
</a>
|
||||||
fill="currentColor"
|
<a href="https://www.linkedin.com/company/bentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
viewBox="0 0 24 24"
|
title="LinkedIn">
|
||||||
aria-hidden="true"
|
<i data-lucide="linkedin"></i>
|
||||||
>
|
</a>
|
||||||
<path
|
<a href="https://x.com/BentoPDF" class="text-gray-400 hover:text-indigo-400" title="X (Twitter)">
|
||||||
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
/>
|
<path
|
||||||
</svg>
|
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" />
|
||||||
</a>
|
</svg>
|
||||||
</div>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -309,20 +309,17 @@
|
|||||||
|
|
||||||
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
||||||
<div class="container mx-auto px-4">
|
<div class="container mx-auto px-4">
|
||||||
<div
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left">
|
||||||
class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left"
|
|
||||||
>
|
|
||||||
<div class="mb-8 md:mb-0">
|
<div class="mb-8 md:mb-0">
|
||||||
<div class="flex items-center justify-center md:justify-start mb-4">
|
<div class="flex items-center justify-center md:justify-start mb-4">
|
||||||
<img
|
<img src="images/favicon.svg" alt="Bento PDF Logo" class="h-10 w-10 mr-3" />
|
||||||
src="images/favicon.svg"
|
<span class="text-xl font-bold text-white">BentoPDF</span>
|
||||||
alt="Bento PDF Logo"
|
|
||||||
class="h-10 w-10 mr-3"
|
|
||||||
/>
|
|
||||||
<span class="text-xl font-bold text-white">Bento PDF</span>
|
|
||||||
</div>
|
</div>
|
||||||
<p class="text-gray-400 text-sm">
|
<p class="text-gray-400 text-sm">
|
||||||
© 2025 Bento PDF. All rights reserved.
|
© 2025 BentoPDF. All rights reserved.
|
||||||
|
</p>
|
||||||
|
<p class="text-gray-500 text-xs mt-2">
|
||||||
|
Version <span id="app-version">1.6.2</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -330,13 +327,13 @@
|
|||||||
<h3 class="font-bold text-white mb-4">Company</h3>
|
<h3 class="font-bold text-white mb-4">Company</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="about.html" class="hover:text-indigo-400">About Us</a>
|
<a href="./about.html" class="hover:text-indigo-400">About Us</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="faq.html" class="hover:text-indigo-400">FAQ</a></li>
|
|
||||||
<li>
|
<li>
|
||||||
<a href="contact.html" class="hover:text-indigo-400"
|
<a href="./faq.html" class="hover:text-indigo-400">FAQ</a>
|
||||||
>Contact Us</a
|
</li>
|
||||||
>
|
<li>
|
||||||
|
<a href="./contact.html" class="hover:text-indigo-400">Contact Us</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -345,14 +342,10 @@
|
|||||||
<h3 class="font-bold text-white mb-4">Legal</h3>
|
<h3 class="font-bold text-white mb-4">Legal</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="./terms.html" class="hover:text-indigo-400"
|
<a href="./terms.html" class="hover:text-indigo-400">Terms and Conditions</a>
|
||||||
>Terms and Conditions</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="./privacy.html" class="hover:text-indigo-400"
|
<a href="./privacy.html" class="hover:text-indigo-400">Privacy Policy</a>
|
||||||
>Privacy Policy</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -360,29 +353,33 @@
|
|||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
||||||
<div class="flex justify-center md:justify-start space-x-4">
|
<div class="flex justify-center md:justify-start space-x-4">
|
||||||
<a
|
<a href="https://github.com/alam00000/bentopdf" target="_blank" rel="noopener noreferrer"
|
||||||
href="https://www.instagram.com/thebentopdf/"
|
class="text-gray-400 hover:text-indigo-400" title="GitHub">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
><i data-lucide="instagram"></i
|
<path fill-rule="evenodd"
|
||||||
></a>
|
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
|
||||||
<a
|
clip-rule="evenodd" />
|
||||||
href="https://www.linkedin.com/company/bentopdf/"
|
</svg>
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
</a>
|
||||||
><i data-lucide="linkedin"></i
|
<a href="https://discord.gg/q42xWQmJ" target="_blank" rel="noopener noreferrer"
|
||||||
></a>
|
class="text-gray-400 hover:text-indigo-400" title="Discord">
|
||||||
<a
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
href="https://x.com/BentoPDF"
|
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
class="w-6 h-6"
|
|
||||||
fill="currentColor"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
<path
|
<path
|
||||||
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"
|
d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z" />
|
||||||
/>
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.instagram.com/thebentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
|
title="Instagram">
|
||||||
|
<i data-lucide="instagram"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.linkedin.com/company/bentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
|
title="LinkedIn">
|
||||||
|
<i data-lucide="linkedin"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://x.com/BentoPDF" class="text-gray-400 hover:text-indigo-400" title="X (Twitter)">
|
||||||
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
|
<path
|
||||||
|
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" />
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+652
-903
File diff suppressed because it is too large.
Load diff
Generated
+662
-34
File diff suppressed because it is too large.
Load diff
+4
-2
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "bento-pdf",
|
"name": "bento-pdf",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.3.2",
|
"version": "1.7.0",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -19,7 +19,8 @@
|
|||||||
"release": "node scripts/release.js patch",
|
"release": "node scripts/release.js patch",
|
||||||
"release:minor": "node scripts/release.js minor",
|
"release:minor": "node scripts/release.js minor",
|
||||||
"release:major": "node scripts/release.js major",
|
"release:major": "node scripts/release.js major",
|
||||||
"serve:simple": "SIMPLE_MODE=true npm run build && npx serve dist -p 3000"
|
"serve:simple": "SIMPLE_MODE=true npm run build && npx serve dist -p 3000",
|
||||||
|
"package": "node scripts/package-dist.js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@testing-library/dom": "^10.4.1",
|
"@testing-library/dom": "^10.4.1",
|
||||||
@@ -48,6 +49,7 @@
|
|||||||
"@fontsource/merriweather": "^5.2.11",
|
"@fontsource/merriweather": "^5.2.11",
|
||||||
"@neslinesli93/qpdf-wasm": "^0.3.0",
|
"@neslinesli93/qpdf-wasm": "^0.3.0",
|
||||||
"@tailwindcss/vite": "^4.1.15",
|
"@tailwindcss/vite": "^4.1.15",
|
||||||
|
"archiver": "^7.0.1",
|
||||||
"blob-stream": "^0.1.3",
|
"blob-stream": "^0.1.3",
|
||||||
"cropperjs": "^1.6.1",
|
"cropperjs": "^1.6.1",
|
||||||
"heic2any": "^0.0.4",
|
"heic2any": "^0.0.4",
|
||||||
|
|||||||
+37
-39
@@ -234,79 +234,77 @@
|
|||||||
|
|
||||||
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
<footer class="mt-16 border-t-2 border-gray-700 py-8">
|
||||||
<div class="container mx-auto px-4">
|
<div class="container mx-auto px-4">
|
||||||
<div
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left">
|
||||||
class="grid grid-cols-1 md:grid-cols-4 gap-8 text-center md:text-left"
|
|
||||||
>
|
|
||||||
<div class="mb-8 md:mb-0">
|
<div class="mb-8 md:mb-0">
|
||||||
<div class="flex items-center justify-center md:justify-start mb-4">
|
<div class="flex items-center justify-center md:justify-start mb-4">
|
||||||
<img
|
<img src="images/favicon.svg" alt="Bento PDF Logo" class="h-10 w-10 mr-3" />
|
||||||
src="images/favicon.svg"
|
|
||||||
alt="BentoPDF Logo"
|
|
||||||
class="h-10 w-10 mr-3"
|
|
||||||
/>
|
|
||||||
<span class="text-xl font-bold text-white">BentoPDF</span>
|
<span class="text-xl font-bold text-white">BentoPDF</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-gray-400 text-sm">
|
<p class="text-gray-400 text-sm">
|
||||||
© 2025 BentoPDF. All rights reserved.
|
© 2025 BentoPDF. All rights reserved.
|
||||||
</p>
|
</p>
|
||||||
|
<p class="text-gray-500 text-xs mt-2">
|
||||||
|
Version <span id="app-version">1.6.2</span>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Company</h3>
|
<h3 class="font-bold text-white mb-4">Company</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="about.html" class="hover:text-indigo-400">About Us</a>
|
<a href="./about.html" class="hover:text-indigo-400">About Us</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="faq.html" class="hover:text-indigo-400">FAQ</a></li>
|
|
||||||
<li>
|
<li>
|
||||||
<a href="contact.html" class="hover:text-indigo-400"
|
<a href="./faq.html" class="hover:text-indigo-400">FAQ</a>
|
||||||
>Contact Us</a
|
</li>
|
||||||
>
|
<li>
|
||||||
|
<a href="./contact.html" class="hover:text-indigo-400">Contact Us</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Legal</h3>
|
<h3 class="font-bold text-white mb-4">Legal</h3>
|
||||||
<ul class="space-y-2 text-gray-400">
|
<ul class="space-y-2 text-gray-400">
|
||||||
<li>
|
<li>
|
||||||
<a href="terms.html" class="hover:text-indigo-400"
|
<a href="./terms.html" class="hover:text-indigo-400">Terms and Conditions</a>
|
||||||
>Terms and Conditions</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="privacy.html" class="hover:text-indigo-400"
|
<a href="./privacy.html" class="hover:text-indigo-400">Privacy Policy</a>
|
||||||
>Privacy Policy</a
|
|
||||||
>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
<h3 class="font-bold text-white mb-4">Follow Us</h3>
|
||||||
<div class="flex justify-center md:justify-start space-x-4">
|
<div class="flex justify-center md:justify-start space-x-4">
|
||||||
<a
|
<a href="https://github.com/alam00000/bentopdf" target="_blank" rel="noopener noreferrer"
|
||||||
href="https://www.instagram.com/thebentopdf/"
|
class="text-gray-400 hover:text-indigo-400" title="GitHub">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
>
|
<path fill-rule="evenodd"
|
||||||
|
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
|
||||||
|
clip-rule="evenodd" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://discord.gg/q42xWQmJ" target="_blank" rel="noopener noreferrer"
|
||||||
|
class="text-gray-400 hover:text-indigo-400" title="Discord">
|
||||||
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
|
<path
|
||||||
|
d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.instagram.com/thebentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
|
title="Instagram">
|
||||||
<i data-lucide="instagram"></i>
|
<i data-lucide="instagram"></i>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a href="https://www.linkedin.com/company/bentopdf/" class="text-gray-400 hover:text-indigo-400"
|
||||||
href="https://www.linkedin.com/company/bentopdf/"
|
title="LinkedIn">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
|
||||||
>
|
|
||||||
<i data-lucide="linkedin"></i>
|
<i data-lucide="linkedin"></i>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a href="https://x.com/BentoPDF" class="text-gray-400 hover:text-indigo-400" title="X (Twitter)">
|
||||||
href="https://x.com/BentoPDF"
|
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||||
class="text-gray-400 hover:text-indigo-400"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
class="w-6 h-6"
|
|
||||||
fill="currentColor"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
<path
|
<path
|
||||||
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"
|
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" />
|
||||||
/>
|
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 114 KiB |
@@ -0,0 +1,177 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"pdf.mjs","mappings":"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 truncated
|
||||||
@@ -0,0 +1,239 @@
|
|||||||
|
/**
|
||||||
|
* @licstart The following is the entire license notice for the
|
||||||
|
* JavaScript code in this page
|
||||||
|
*
|
||||||
|
* Copyright 2023 Mozilla Foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* @licend The above is the entire license notice for the
|
||||||
|
* JavaScript code in this page
|
||||||
|
*/
|
||||||
|
|
||||||
|
/******/ // The require scope
|
||||||
|
/******/ var __webpack_require__ = {};
|
||||||
|
/******/
|
||||||
|
/************************************************************************/
|
||||||
|
/******/ /* webpack/runtime/define property getters */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ // define getter functions for harmony exports
|
||||||
|
/******/ __webpack_require__.d = (exports, definition) => {
|
||||||
|
/******/ for(var key in definition) {
|
||||||
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||||||
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||||||
|
/******/ }
|
||||||
|
/******/ }
|
||||||
|
/******/ };
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
|
/************************************************************************/
|
||||||
|
var __webpack_exports__ = globalThis.pdfjsSandbox = {};
|
||||||
|
|
||||||
|
// EXPORTS
|
||||||
|
__webpack_require__.d(__webpack_exports__, {
|
||||||
|
QuickJSSandbox: () => (/* binding */ QuickJSSandbox)
|
||||||
|
});
|
||||||
|
|
||||||
|
;// CONCATENATED MODULE: ./external/quickjs/quickjs-eval.js
|
||||||
|
var Module=(()=>{var _scriptDir=typeof document!=='undefined'&&document.currentScript?document.currentScript.src:undefined;return function(moduleArg={}){var d=moduleArg,k,n;d.ready=new Promise((a,b)=>{k=a;n=b;});var p=Object.assign({},d),q="";"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src);_scriptDir&&(q=_scriptDir);q.startsWith("blob:")?q="":q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1);var aa=d.print||console.log.bind(console),u=d.printErr||console.error.bind(console);Object.assign(d,p);p=null;var v;d.wasmBinary&&(v=d.wasmBinary);"object"!=typeof WebAssembly&&w("no native wasm support detected");var x,y=!1,z,A,B,C;function D(){var a=x.buffer;d.HEAP8=z=new Int8Array(a);d.HEAP16=new Int16Array(a);d.HEAPU8=A=new Uint8Array(a);d.HEAPU16=new Uint16Array(a);d.HEAP32=B=new Int32Array(a);d.HEAPU32=C=new Uint32Array(a);d.HEAPF32=new Float32Array(a);d.HEAPF64=new Float64Array(a);}var E=[],F=[],G=[];function ba(){var a=d.preRun.shift();E.unshift(a);}var H=0,I=null,J=null;function w(a){d.onAbort?.(a);a="Aborted("+a+")";u(a);y=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");n(a);throw a;}var K=a=>a.startsWith("data:application/octet-stream;base64,"),L;L="data:application/octet-stream;base64,AGFzbQEAAAABzgZtYAJ/fwBgA39/fwF/YAR/fn9/AX5gAn9/AX9gBX9+f39/AX5gAX8Bf2ADf39/AGAEf39/fwF/YAJ/fgF+YAF/AGABfAF8YAV/f39/fwF/YAJ/fgBgAn9+AX9gAn9/AX5gA39/fgF/YAN/fn8BfmAGf35/f39/AX5gA39+fwBgA39+fwF/YAZ/f39/f38Bf2AEf39/fwBgBn9+fn9/fwF+YAR/f35/AX9gA39+fgF+YAN/f38BfmADf35+AX9gBH9/f38BfmAFf35+fn4AYAJ8fAF8YAF/AX5gBH9/f34Bf2AFf35+f38BfmAFf39/f38AYAd/fn9+fn5/AX9gBX9/f35+AX9gB39/f39/f38Bf2AAAGAFf35/fn8Bf2AEf35+fwBgBH9+fn8BfmAFf35+fn8Bf2AFf39/f38BfmAEf39+fgF/YAF+AX9gBH9+f34BfmAEf35/fwBgBH9+fn8Bf2AJf39/f39/f39/AX9gCH9/f39/f39/AX9gA39+fgBgBH9+f38Bf2AGf35/fn5/AX9gBX9+fn9/AGABfgF+YAd/fn9/f39/AX5gAX8BfGADf39+AGAEf35/fgF/YAV/f35/fwF/YAR/fn5+AX9gBn9/f39/fwF+YAN+f38Bf2AHf39/f39/fwBgAnx/AXxgA39/fgF+YAJ+fwF/YAN8fH8BfGAEf39+fwBgBH9+fn4BfmAAAX9gBn98f39/fwF/YAABfGAFf35/fn8BfmAGf39+fn5+AX9gAn5/AGACf3wAYAV/f39/fgF+YAR/f35/AX5gBH9+f34AYAd/fn5+f39/AX5gBH5+fn4Bf2AKf39/f39/f39/fwF/YAd/f39/f39+AX5gBX9+f39/AGAHfH9/f39/fwBgBX98f39/AX5gAXwBf2AFf39+f38AYAZ/fn5+fn8Bf2AGf35/f39/AX9gBH98f38Bf2AGf39/f39/AGAEf39/fgF+YAV/fn9/fwF/YAV/fn5+fgF/YAJ/fwF8YAV/fn5/fwF/YAV/f35+fgF+YAV/f35+fwF/YAJ8fwF/YAJ8fAF/YAh/fn5+fn9+fgF+YAN/fnwBfmAAAX5gB39/f35+fn8Bf2ACfn4BfGADfn5+AX9gA39/fAACSQwBYQFhABUBYQFiACUBYQFjAAcBYQFkAAYBYQFlAEgBYQFmAAABYQFn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 truncated
|
||||||
|
;// CONCATENATED MODULE: ./src/pdf.sandbox.external.js
|
||||||
|
class SandboxSupportBase {
|
||||||
|
constructor(win) {
|
||||||
|
this.win = win;
|
||||||
|
this.timeoutIds = new Map();
|
||||||
|
this.commFun = null;
|
||||||
|
}
|
||||||
|
destroy() {
|
||||||
|
this.commFun = null;
|
||||||
|
for (const id of this.timeoutIds.values()) {
|
||||||
|
this.win.clearTimeout(id);
|
||||||
|
}
|
||||||
|
this.timeoutIds = null;
|
||||||
|
}
|
||||||
|
exportValueToSandbox(val) {
|
||||||
|
throw new Error("Not implemented");
|
||||||
|
}
|
||||||
|
importValueFromSandbox(val) {
|
||||||
|
throw new Error("Not implemented");
|
||||||
|
}
|
||||||
|
createErrorForSandbox(errorMessage) {
|
||||||
|
throw new Error("Not implemented");
|
||||||
|
}
|
||||||
|
callSandboxFunction(name, args) {
|
||||||
|
try {
|
||||||
|
args = this.exportValueToSandbox(args);
|
||||||
|
this.commFun(name, args);
|
||||||
|
} catch (e) {
|
||||||
|
this.win.console.error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
createSandboxExternals() {
|
||||||
|
const externals = {
|
||||||
|
setTimeout: (callbackId, nMilliseconds) => {
|
||||||
|
if (typeof callbackId !== "number" || typeof nMilliseconds !== "number") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (callbackId === 0) {
|
||||||
|
this.win.clearTimeout(this.timeoutIds.get(callbackId));
|
||||||
|
}
|
||||||
|
const id = this.win.setTimeout(() => {
|
||||||
|
this.timeoutIds.delete(callbackId);
|
||||||
|
this.callSandboxFunction("timeoutCb", {
|
||||||
|
callbackId,
|
||||||
|
interval: false
|
||||||
|
});
|
||||||
|
}, nMilliseconds);
|
||||||
|
this.timeoutIds.set(callbackId, id);
|
||||||
|
},
|
||||||
|
clearTimeout: callbackId => {
|
||||||
|
this.win.clearTimeout(this.timeoutIds.get(callbackId));
|
||||||
|
this.timeoutIds.delete(callbackId);
|
||||||
|
},
|
||||||
|
setInterval: (callbackId, nMilliseconds) => {
|
||||||
|
if (typeof callbackId !== "number" || typeof nMilliseconds !== "number") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const id = this.win.setInterval(() => {
|
||||||
|
this.callSandboxFunction("timeoutCb", {
|
||||||
|
callbackId,
|
||||||
|
interval: true
|
||||||
|
});
|
||||||
|
}, nMilliseconds);
|
||||||
|
this.timeoutIds.set(callbackId, id);
|
||||||
|
},
|
||||||
|
clearInterval: callbackId => {
|
||||||
|
this.win.clearInterval(this.timeoutIds.get(callbackId));
|
||||||
|
this.timeoutIds.delete(callbackId);
|
||||||
|
},
|
||||||
|
alert: cMsg => {
|
||||||
|
if (typeof cMsg !== "string") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.win.alert(cMsg);
|
||||||
|
},
|
||||||
|
confirm: cMsg => {
|
||||||
|
if (typeof cMsg !== "string") {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return this.win.confirm(cMsg);
|
||||||
|
},
|
||||||
|
prompt: (cQuestion, cDefault) => {
|
||||||
|
if (typeof cQuestion !== "string" || typeof cDefault !== "string") {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return this.win.prompt(cQuestion, cDefault);
|
||||||
|
},
|
||||||
|
parseURL: cUrl => {
|
||||||
|
const url = new this.win.URL(cUrl);
|
||||||
|
const props = ["hash", "host", "hostname", "href", "origin", "password", "pathname", "port", "protocol", "search", "searchParams", "username"];
|
||||||
|
return Object.fromEntries(props.map(name => [name, url[name].toString()]));
|
||||||
|
},
|
||||||
|
send: data => {
|
||||||
|
if (!data) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const event = new this.win.CustomEvent("updatefromsandbox", {
|
||||||
|
detail: this.importValueFromSandbox(data)
|
||||||
|
});
|
||||||
|
this.win.dispatchEvent(event);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Object.setPrototypeOf(externals, null);
|
||||||
|
return (name, args) => {
|
||||||
|
try {
|
||||||
|
const result = externals[name](...args);
|
||||||
|
return this.exportValueToSandbox(result);
|
||||||
|
} catch (error) {
|
||||||
|
throw this.createErrorForSandbox(error?.toString() ?? "");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
;// CONCATENATED MODULE: ./src/pdf.sandbox.js
|
||||||
|
|
||||||
|
|
||||||
|
const pdfjsVersion = "4.3.136";
|
||||||
|
const pdfjsBuild = "0cec64437";
|
||||||
|
class SandboxSupport extends SandboxSupportBase {
|
||||||
|
exportValueToSandbox(val) {
|
||||||
|
return JSON.stringify(val);
|
||||||
|
}
|
||||||
|
importValueFromSandbox(val) {
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
createErrorForSandbox(errorMessage) {
|
||||||
|
return new Error(errorMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class Sandbox {
|
||||||
|
constructor(win, module) {
|
||||||
|
this.support = new SandboxSupport(win, this);
|
||||||
|
module.externalCall = this.support.createSandboxExternals();
|
||||||
|
this._module = module;
|
||||||
|
this._alertOnError = 0;
|
||||||
|
}
|
||||||
|
create(data) {
|
||||||
|
const code = ["var __webpack_exports__ = globalThis.pdfjsSandbox = {};\n\n;// CONCATENATED MODULE: ./src/scripting_api/constants.js\nconst Border = Object.freeze({\n s: \"solid\",\n d: \"dashed\",\n b: \"beveled\",\n i: \"inset\",\n u: \"underline\"\n});\nconst Cursor = Object.freeze({\n visible: 0,\n hidden: 1,\n delay: 2\n});\nconst Display = Object.freeze({\n visible: 0,\n hidden: 1,\n noPrint: 2,\n noView: 3\n});\nconst Font = Object.freeze({\n Times: \"Times-Roman\",\n TimesB: \"Times-Bold\",\n TimesI: \"Times-Italic\",\n TimesBI: \"Times-BoldItalic\",\n Helv: \"Helvetica\",\n HelvB: \"Helvetica-Bold\",\n HelvI: \"Helvetica-Oblique\",\n HelvBI: \"Helvetica-BoldOblique\",\n Cour: \"Courier\",\n CourB: \"Courier-Bold\",\n CourI: \"Courier-Oblique\",\n CourBI: \"Courier-BoldOblique\",\n Symbol: \"Symbol\",\n ZapfD: \"ZapfDingbats\",\n KaGo: \"HeiseiKakuGo-W5-UniJIS-UCS2-H\",\n KaMi: \"HeiseiMin-W3-UniJIS-UCS2-H\"\n});\nconst Highlight = Object.freeze({\n n: \"none\",\n i: \"invert\",\n p: \"push\",\n o: \"outline\"\n});\nconst Position = Object.freeze({\n textOnly: 0,\n iconOnly: 1,\n iconTextV: 2,\n textIconV: 3,\n iconTextH: 4,\n textIconH: 5,\n overlay: 6\n});\nconst ScaleHow = Object.freeze({\n proportional: 0,\n anamorphic: 1\n});\nconst ScaleWhen = Object.freeze({\n always: 0,\n never: 1,\n tooBig: 2,\n tooSmall: 3\n});\nconst Style = Object.freeze({\n ch: \"check\",\n cr: \"cross\",\n di: \"diamond\",\n ci: \"circle\",\n st: \"star\",\n sq: \"square\"\n});\nconst Trans = Object.freeze({\n blindsH: \"BlindsHorizontal\",\n blindsV: \"BlindsVertical\",\n boxI: \"BoxIn\",\n boxO: \"BoxOut\",\n dissolve: \"Dissolve\",\n glitterD: \"GlitterDown\",\n glitterR: \"GlitterRight\",\n glitterRD: \"GlitterRightDown\",\n random: \"Random\",\n replace: \"Replace\",\n splitHI: \"SplitHorizontalIn\",\n splitHO: \"SplitHorizontalOut\",\n splitVI: \"SplitVerticalIn\",\n splitVO: \"SplitVerticalOut\",\n wipeD: \"WipeDown\",\n wipeL: \"WipeLeft\",\n wipeR: \"WipeRight\",\n wipeU: \"WipeUp\"\n});\nconst ZoomType = Object.freeze({\n none: \"NoVary\",\n fitP: \"FitPage\",\n fitW: \"FitWidth\",\n fitH: \"FitHeight\",\n fitV: \"FitVisibleWidth\",\n pref: \"Preferred\",\n refW: \"ReflowWidth\"\n});\nconst GlobalConstants = Object.freeze({\n IDS_GREATER_THAN: \"Invalid value: must be greater than or equal to % s.\",\n IDS_GT_AND_LT: \"Invalid value: must be greater than or equal to % s \" + \"and less than or equal to % s.\",\n IDS_LESS_THAN: \"Invalid value: must be less than or equal to % s.\",\n IDS_INVALID_MONTH: \"** Invalid **\",\n IDS_INVALID_DATE: \"Invalid date / time: please ensure that the date / time exists. Field\",\n IDS_INVALID_DATE2: \" should match format \",\n IDS_INVALID_VALUE: \"The value entered does not match the format of the field\",\n IDS_AM: \"am\",\n IDS_PM: \"pm\",\n IDS_MONTH_INFO: \"January[1] February[2] March[3] April[4] May[5] \" + \"June[6] July[7] August[8] September[9] October[10] \" + \"November[11] December[12] Sept[9] Jan[1] Feb[2] Mar[3] \" + \"Apr[4] Jun[6] Jul[7] Aug[8] Sep[9] Oct[10] Nov[11] Dec[12]\",\n IDS_STARTUP_CONSOLE_MSG: \"** ^ _ ^ **\",\n RE_NUMBER_ENTRY_DOT_SEP: [\"[+-]?\\\\d*\\\\.?\\\\d*\"],\n RE_NUMBER_COMMIT_DOT_SEP: [\"[+-]?\\\\d+(\\\\.\\\\d+)?\", \"[+-]?\\\\.\\\\d+\", \"[+-]?\\\\d+\\\\.\"],\n RE_NUMBER_ENTRY_COMMA_SEP: [\"[+-]?\\\\d*,?\\\\d*\"],\n RE_NUMBER_COMMIT_COMMA_SEP: [\"[+-]?\\\\d+([.,]\\\\d+)?\", \"[+-]?[.,]\\\\d+\", \"[+-]?\\\\d+[.,]\"],\n RE_ZIP_ENTRY: [\"\\\\d{0,5}\"],\n RE_ZIP_COMMIT: [\"\\\\d{5}\"],\n RE_ZIP4_ENTRY: [\"\\\\d{0,5}(\\\\.|[- ])?\\\\d{0,4}\"],\n RE_ZIP4_COMMIT: [\"\\\\d{5}(\\\\.|[- ])?\\\\d{4}\"],\n RE_PHONE_ENTRY: [\"\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}\", \"\\\\(\\\\d{0,3}\", \"\\\\(\\\\d{0,3}\\\\)(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}\", \"\\\\(\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}\", \"\\\\d{0,3}\\\\)(\\\\.|[- ])?\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,4}\", \"011(\\\\.|[- \\\\d])*\"],\n RE_PHONE_COMMIT: [\"\\\\d{3}(\\\\.|[- ])?\\\\d{4}\", \"\\\\d{3}(\\\\.|[- ])?\\\\d{3}(\\\\.|[- ])?\\\\d{4}\", \"\\\\(\\\\d{3}\\\\)(\\\\.|[- ])?\\\\d{3}(\\\\.|[- ])?\\\\d{4}\", \"011(\\\\.|[- \\\\d])*\"],\n RE_SSN_ENTRY: [\"\\\\d{0,3}(\\\\.|[- ])?\\\\d{0,2}(\\\\.|[- ])?\\\\d{0,4}\"],\n RE_SSN_COMMIT: [\"\\\\d{3}(\\\\.|[- ])?\\\\d{2}(\\\\.|[- ])?\\\\d{4}\"]\n});\n\n;// CONCATENATED MODULE: ./src/scripting_api/common.js\nconst FieldType = {\n none: 0,\n number: 1,\n percent: 2,\n date: 3,\n time: 4\n};\nfunction createActionsMap(actions) {\n const actionsMap = new Map();\n if (actions) {\n for (const [eventType, actionsForEvent] of Object.entries(actions)) {\n actionsMap.set(eventType, actionsForEvent);\n }\n }\n return actionsMap;\n}\nfunction getFieldType(actions) {\n let format = actions.get(\"Format\");\n if (!format) {\n return FieldType.none;\n }\n format = format[0];\n format = format.Line truncated
|
||||||
|
code.push("delete dump;");
|
||||||
|
let success = false;
|
||||||
|
let buf = 0;
|
||||||
|
try {
|
||||||
|
const sandboxData = JSON.stringify(data);
|
||||||
|
code.push(`pdfjsScripting.initSandbox({ data: ${sandboxData} })`);
|
||||||
|
buf = this._module.stringToNewUTF8(code.join("\n"));
|
||||||
|
success = !!this._module.ccall("init", "number", ["number", "number"], [buf, this._alertOnError]);
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
} finally {
|
||||||
|
if (buf) {
|
||||||
|
this._module.ccall("free", "number", ["number"], [buf]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (success) {
|
||||||
|
this.support.commFun = this._module.cwrap("commFun", null, ["string", "string"]);
|
||||||
|
} else {
|
||||||
|
this.nukeSandbox();
|
||||||
|
throw new Error("Cannot start sandbox");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dispatchEvent(event) {
|
||||||
|
this.support?.callSandboxFunction("dispatchEvent", event);
|
||||||
|
}
|
||||||
|
dumpMemoryUse() {
|
||||||
|
this._module?.ccall("dumpMemoryUse", null, []);
|
||||||
|
}
|
||||||
|
nukeSandbox() {
|
||||||
|
if (this._module !== null) {
|
||||||
|
this.support.destroy();
|
||||||
|
this.support = null;
|
||||||
|
this._module.ccall("nukeSandbox", null, []);
|
||||||
|
this._module = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
evalForTesting(code, key) {
|
||||||
|
throw new Error("Not implemented: evalForTesting");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function QuickJSSandbox() {
|
||||||
|
return quickjs_eval().then(module => new Sandbox(window, module));
|
||||||
|
}
|
||||||
|
|
||||||
|
var __webpack_exports__QuickJSSandbox = __webpack_exports__.QuickJSSandbox;
|
||||||
|
export { __webpack_exports__QuickJSSandbox as QuickJSSandbox };
|
||||||
|
|
||||||
|
//# sourceMappingURL=pdf.sandbox.mjs.map
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"pdf.sandbox.mjs","mappings":"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 truncated
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"pdf.worker.mjs","mappings":"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 truncated
|
||||||
@@ -0,0 +1,226 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "iPDnx-jvqNFookcstk8i7",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"iPDnx-jvqNFookcstk8i7\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":90.48336181640626,\"y\":73.49062500000001,\"width\":208.22937011718753,\"height\":25.200000000000003,\"opacity\":0.5,\"fill\":\"#ffff00\"},\"className\":\"Rect\"}]}",
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 90.48336181640626,
|
||||||
|
"y": 73.49062500000001,
|
||||||
|
"width": 208.2293701171875,
|
||||||
|
"height": 25.200000000000003
|
||||||
|
},
|
||||||
|
"title": "老麦",
|
||||||
|
"type": 1,
|
||||||
|
"pdfjsType": 9,
|
||||||
|
"pdfjsEditorType": 9,
|
||||||
|
"subtype": "Highlight",
|
||||||
|
"color": "#ffff00",
|
||||||
|
"date": "D:20250622143820+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": "race-based Just-in-Time T"
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": false,
|
||||||
|
"draggable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "eRT_dqO2zuyu42LvRzqN5",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"eRT_dqO2zuyu42LvRzqN5\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":111.81756591796876,\"y\":365.04375000000005,\"width\":181.42694091796878,\"stroke\":\"#ff0000\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":53.971875000000004,\"y\":375.02812500000005,\"width\":239.26977539062503,\"stroke\":\"#ff0000\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":53.971875000000004,\"y\":385.00312500000007,\"width\":239.27263183593752,\"stroke\":\"#ff0000\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":53.971875000000004,\"y\":394.98750000000007,\"width\":239.2713134765625,\"stroke\":\"#ff0000\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":53.971875000000004,\"y\":404.96250000000003,\"width\":239.27519531250002,\"stroke\":\"#ff0000\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":53.971875000000004,\"y\":414.86250000000007,\"width\":239.26922607421878,\"stroke\":\"#ff0000\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":53.971875000000004,\"y\":424.84687500000007,\"width\":160.1025146484375,\"stroke\":\"#ff0000\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"}]}",
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 53.471875000000004,
|
||||||
|
"y": 364.54375000000005,
|
||||||
|
"width": 240.2751953125,
|
||||||
|
"height": 61.80312500000002
|
||||||
|
},
|
||||||
|
"title": "不具名用户",
|
||||||
|
"type": 2,
|
||||||
|
"pdfjsType": 12,
|
||||||
|
"pdfjsEditorType": 9,
|
||||||
|
"subtype": "StrikeOut",
|
||||||
|
"color": "#ff0000",
|
||||||
|
"date": "D:20250622143823+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": "lly typed ones. Since no concrete type informationis available, traditional compilers need to emit generic code that canhandle all possible type combinations at runtime. We present an al-ternative compilation technique for dynamically-typed languagesthat identifies frequently executed loop traces at run-time and thengenerates machine code on the fly that is specialized for the ac-tual dynamic types occurring on each path "
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": false,
|
||||||
|
"draggable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7bZ9kZilDjdrnsdsPHamI",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"7bZ9kZilDjdrnsdsPHamI\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":372.32878417968755,\"y\":455.04062500000003,\"width\":183.96401367187502,\"stroke\":\"#1677ff\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":317.015625,\"y\":465.0250000000001,\"width\":239.275341796875,\"stroke\":\"#1677ff\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":317.015625,\"y\":475.00000000000006,\"width\":239.27475585937503,\"stroke\":\"#1677ff\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":317.015625,\"y\":484.9750000000001,\"width\":239.27373046875002,\"stroke\":\"#1677ff\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"},{\"attrs\":{\"x\":317.015625,\"y\":494.87500000000006,\"width\":161.2676513671875,\"stroke\":\"#1677ff\",\"strokeWidth\":1,\"hitStrokeWidth\":10,\"height\":1},\"className\":\"Rect\"}]}",
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 316.515625,
|
||||||
|
"y": 454.54062500000003,
|
||||||
|
"width": 240.27717285156257,
|
||||||
|
"height": 41.83437500000002
|
||||||
|
},
|
||||||
|
"title": "不具名用户",
|
||||||
|
"type": 3,
|
||||||
|
"pdfjsType": 10,
|
||||||
|
"pdfjsEditorType": 9,
|
||||||
|
"subtype": "Underline",
|
||||||
|
"color": "#1677ff",
|
||||||
|
"date": "D:20250622143825+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": "er generalized machine code that can deal with allpotential type combinations. While compile-time static type infer-ence might be able to gather type information to generate opti-mized machine code, traditional static analysis is very expensiveand hence not well suited for the highly inter"
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": false,
|
||||||
|
"draggable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "QpRXx_3UrRhLp8COmuZu3",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"QpRXx_3UrRhLp8COmuZu3\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":114.00000000000001,\"y\":143.40000000000003,\"width\":220.20000000000005,\"height\":42,\"strokeScaleEnabled\":false,\"stroke\":\"#ff0000\"},\"className\":\"Rect\"}]}",
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 113.00000000000001,
|
||||||
|
"y": 142.40000000000003,
|
||||||
|
"width": 222.20000000000005,
|
||||||
|
"height": 44
|
||||||
|
},
|
||||||
|
"title": "不具名用户",
|
||||||
|
"type": 5,
|
||||||
|
"pdfjsType": 5,
|
||||||
|
"pdfjsEditorType": 15,
|
||||||
|
"subtype": "Square",
|
||||||
|
"color": "#ff0000",
|
||||||
|
"date": "D:20250622143828+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": ""
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": true,
|
||||||
|
"draggable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "haDJTxXE3SzQZnYyNHeBs",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"draggable\":true,\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"haDJTxXE3SzQZnYyNHeBs\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"data\":\"M 391.20000000000005 237.60000000000002 Q 392.6087987926405 223.8979824127301 403.6 232.20000000000002 Q 405.00879879264056 218.49798241273007 416.00000000000006 226.8 Q 417.40879879264054 213.0979824127301 428.4000000000001 221.40000000000003 Q 429.8087987926406 207.6979824127301 440.80000000000007 216.00000000000003 Q 442.20879879264055 202.29798241273008 453.20000000000005 210.60000000000002 Q 454.6087987926406 196.8979824127301 465.6000000000001 205.20000000000002 Q 467.00879879264056 191.49798241273007 478.0000000000001 199.8 Q 479.4087987926406 186.0979824127301 490.4000000000001 194.40000000000003 Q 491.8087987926406 180.69798241273008 502.80000000000007 189 Q 504.20879879264055 175.29798241273008 515.2 183.60000000000002 Q 516.6087987926406 169.8979824127301 527.6000000000001 178.20000000000002 Q 529.0087987926407 164.49798241273007 540.0000000000001 172.8 Q 553.4931387400671 175.38219033793058 544.2000000000002 185.5 Q 557.6931387400672 188.0821903379306 548.4000000000001 198.20000000000002 Q 561.8931387400671 200.7821903379306 552.6000000000001 210.90000000000003 Q 566.093138740067 213.4821903379306 556.8000000000001 223.60000000000002 Q 570.2931387400671 226.1821903379306 561.0000000000001 236.3 Q 574.4931387400671 238.8821903379306 565.2 249.00000000000003 Q 578.6931387400671 251.5821903379306 569.4000000000001 261.70000000000005 Q 582.8931387400671 264.2821903379307 573.6000000000001 274.40000000000003 Q 587.093138740067 276.9821903379306 577.8000000000001 287.1 Q 591.2931387400671 289.68219033793065 582.0000000000001 299.80000000000007 Q 595.4931387400671 302.38219033793064 586.2 312.5 Q 599.6931387400671 315.0821903379306 590.4000000000001 325.20000000000005 Q 587.634252148756 338.8289678194403 577.1000000000001 329.75000000000006 Q 574.3342521487559 343.3789678194404 563.8000000000001 334.30000000000007 Q 561.034252148756 347.92896781944035 550.5000000000001 338.85 Q 547.734252148756 352.4789678194403 537.2 343.40000000000003 Q 534.434252148756 357.02896781944037 523.9000000000001 347.95000000000005 Q 521.134252148756 361.5789678194403 510.6000000000001 352.50000000000006 Q 507.8342521487559 366.1289678194404 497.30000000000007 357.05000000000007 Q 494.53425214875597 370.67896781944035 484.0000000000001 361.6000000000001 Q 481.23425214875596 375.2289678194404 470.70000000000005 366.1500000000001 Q 467.93425214875595 379.77896781944037 457.4000000000001 370.70000000000005 Q 454.634252148756 384.3289678194403 444.1000000000001 375.25000000000006 Q 441.3342521487559 388.8789678194404 430.80000000000007 379.80000000000007 Q 417.6356788005848 374.7341243266127 428.05714285714294 365.2285714285715 Q 414.89282165772767 360.1626957551841 425.3142857142858 350.6571428571429 Q 412.14996451487053 345.5912671837555 422.57142857142867 336.08571428571435 Q 409.40710737201334 331.01983861232696 419.8285714285715 321.5142857142858 Q 406.6642502291562 316.4484100408984 417.08571428571435 306.9428571428572 Q 403.9213930862991 301.8769814694698 414.3428571428572 292.3714285714286 Q 401.17853594344194 287.30555289804124 411.6000000000001 277.80000000000007 Q 397.4990071071501 276.5303546023418 404.80000000000007 264.40000000000003 Q 390.6990071071501 263.1303546023418 398.00000000000006 251.00000000000003 Q 383.89900710715006 249.73035460234178 391.20000000000005 237.60000000000002 Q 391.20000000000005 225.60000000000002 391.20000000000005 237.60000000000002 Q 391.20000000000005 225.60000000000002 391.20000000000005 237.60000000000002 \",\"stroke\":\"#83d33c\",\"fillEnabled\":false,\"lineJoin\":\"round\",\"lineCap\":\"round\",\"hitStrokeWidth\":20},\"className\":\"Path\"}]}",
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 382.89900710715006,
|
||||||
|
"y": 163.49798241273007,
|
||||||
|
"width": 217.79413163291701,
|
||||||
|
"height": 226.38098540671032
|
||||||
|
},
|
||||||
|
"title": "不具名用户",
|
||||||
|
"type": 13,
|
||||||
|
"pdfjsType": 8,
|
||||||
|
"pdfjsEditorType": 15,
|
||||||
|
"subtype": "PolyLine",
|
||||||
|
"color": "#83d33c",
|
||||||
|
"date": "D:20250622143837+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": ""
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": true,
|
||||||
|
"draggable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "DLCK62zxdu1ge6Iuo7vtk",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"DLCK62zxdu1ge6Iuo7vtk\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":89.00000000000001,\"y\":280.6,\"base64\":\"data:image/png;base64,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 truncated
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 0,
|
||||||
|
"height": 0
|
||||||
|
},
|
||||||
|
"title": "laomai",
|
||||||
|
"type": 9,
|
||||||
|
"pdfjsType": 13,
|
||||||
|
"pdfjsEditorType": 13,
|
||||||
|
"subtype": "Caret",
|
||||||
|
"date": "D:20250622143847+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": "",
|
||||||
|
"image": "data:image/png;base64,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 truncated
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": true,
|
||||||
|
"draggable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1_-tBdUhEvYCgdrAkCMD1",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"1_-tBdUhEvYCgdrAkCMD1\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":157.80000000000004,\"y\":537.3619489559165,\"width\":120,\"height\":71.27610208816705,\"base64\":\"data:image/png;base64,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 truncated
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 157.80000000000004,
|
||||||
|
"y": 537.3619489559165,
|
||||||
|
"width": 120.00000000000003,
|
||||||
|
"height": 71.27610208816702
|
||||||
|
},
|
||||||
|
"title": "不具名用户",
|
||||||
|
"type": 10,
|
||||||
|
"pdfjsType": 13,
|
||||||
|
"pdfjsEditorType": 13,
|
||||||
|
"subtype": "Stamp",
|
||||||
|
"date": "D:20250622143856+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": "",
|
||||||
|
"image": "data:image/png;base64,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 truncated
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": true,
|
||||||
|
"draggable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2DVI8wT4istGVODnpnT1q",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"2DVI8wT4istGVODnpnT1q\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":511.2000000000001,\"y\":57.60000000000001,\"width\":16,\"height\":16,\"fillLinearGradientEndPointY\":16,\"fillLinearGradientColorStops\":[0,\"rgb(255, 222, 33)\",1,\"#fff\"],\"stroke\":\"#000\",\"cornerRadius\":[0,3,0,0],\"strokeWidth\":1,\"shadowColor\":\"rgba(0,0,0,0.2)\",\"shadowBlur\":2,\"shadowOffsetX\":1,\"shadowOffsetY\":1,\"shadowOpacity\":0.3},\"className\":\"Rect\"},{\"attrs\":{\"points\":[514.2,63.20000000000001,521.2,63.20000000000001],\"stroke\":\"#555\",\"strokeWidth\":0.6,\"lineCap\":\"round\"},\"className\":\"Line\"},{\"attrs\":{\"points\":[514.2,64.80000000000001,524.2,64.80000000000001],\"stroke\":\"#555\",\"strokeWidth\":0.6,\"lineCap\":\"round\"},\"className\":\"Line\"},{\"attrs\":{\"points\":[514.2,66.4,524.2,66.4],\"stroke\":\"#555\",\"strokeWidth\":0.6,\"lineCap\":\"round\"},\"className\":\"Line\"},{\"attrs\":{\"points\":[514.2,68.00000000000001,524.2,68.00000000000001],\"stroke\":\"#555\",\"strokeWidth\":0.6,\"lineCap\":\"round\"},\"className\":\"Line\"}]}",
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 508.7000000000001,
|
||||||
|
"y": 55.10000000000001,
|
||||||
|
"width": 21.999999999999943,
|
||||||
|
"height": 22
|
||||||
|
},
|
||||||
|
"title": "不具名用户",
|
||||||
|
"type": 11,
|
||||||
|
"pdfjsType": 1,
|
||||||
|
"pdfjsEditorType": 15,
|
||||||
|
"subtype": "Text",
|
||||||
|
"color": "rgb(255, 222, 33)",
|
||||||
|
"date": "D:20250622143901+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": ""
|
||||||
|
},
|
||||||
|
"comments": [],
|
||||||
|
"resizable": false,
|
||||||
|
"draggable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Z9PaV2G4yohUue9Jh6vZy",
|
||||||
|
"pageNumber": 1,
|
||||||
|
"konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"Z9PaV2G4yohUue9Jh6vZy\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"points\":[375.00000000000006,44.400000000000006,497.4000000000001,117.00000000000001],\"stroke\":\"#ff0000\",\"fill\":\"#ff0000\",\"hitStrokeWidth\":20,\"lineCap\":\"round\",\"lineJoin\":\"round\",\"strokeScaleEnabled\":false},\"className\":\"Arrow\"}]}",
|
||||||
|
"konvaClientRect": {
|
||||||
|
"x": 374.00000000000006,
|
||||||
|
"y": 38.400000000000006,
|
||||||
|
"width": 124.40000000000003,
|
||||||
|
"height": 84.60000000000001
|
||||||
|
},
|
||||||
|
"title": "不具名用户",
|
||||||
|
"type": 12,
|
||||||
|
"pdfjsType": 4,
|
||||||
|
"pdfjsEditorType": 15,
|
||||||
|
"subtype": "Arrow",
|
||||||
|
"color": "#ff0000",
|
||||||
|
"date": "D:20250622143915+08'00'",
|
||||||
|
"contentsObj": {
|
||||||
|
"text": "这里需要改进"
|
||||||
|
},
|
||||||
|
"comments": [
|
||||||
|
{
|
||||||
|
"id": "QjyUH39ZaIc7YpeQU6ll5",
|
||||||
|
"title": "不具名用户",
|
||||||
|
"date": "D:20250622143915+08'00'",
|
||||||
|
"content": "将状态设置为 “拒绝”",
|
||||||
|
"status": "Rejected"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resizable": true,
|
||||||
|
"draggable": true
|
||||||
|
}
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSEáCNS2-H
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSEá ETen-B5-H` ^
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
|||||||
|
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||||
|
All rights reserved.
|
||||||
|
See ./LICENSE!!�º]aX!!]`�21�> �p�z�$]‚�"R‚d�-Uƒ7�*„␍4„%�+ „Z „{�/…%…<�9K…b�1]†.�"‡‰`]‡,�"]ˆ
|
||||||
|
�"]ˆh�"]‰F�"]Š$�"]‹�"]‹`�"]Œ>�"]��"]�z�"]ŽX�"]�6�"]��"]�r�"]‘P�"]’.�"]“�"]“j�"]”H�"]•&�"]–�"]–b�"]—@�"]˜�"]˜|�"]™Z�"]š8�"]›�"]›t�"]œR�"]�0�"]ž�"]žl�"]ŸJ�"] (�"]¡�"]¡d�"]¢B�"]£ �"X£~�']¤W�"]¥5�"]¦�"]¦q�"]§O�"]¨-�"]©�"]©i�"]ªG�"]«%�"]¬�"]¬a�"]?�"]®�"]®{�"]¯Y�"]°7�"]±�"]±s�"]²Q�"]³/�"]´␍�"]´k�"]µI�"]¶'�"]·�"]·c�"]¸A�"]¹�"]¹}�"]º[�"]»9
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loaded 100 of 821 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user