Cách LeedyBox hoạt động
LeedyBox xử lý ảnh, tệp PDF, dữ liệu và văn bản trong trình duyệt của bạn như thế nào, công cụ dựa vào những thư viện và tính năng trình duyệt nào, và phần nào của trang vẫn dùng mạng.
Xử lý tệp trên trình duyệt
Công cụ LeedyBox chạy dưới dạng JavaScript trong trình duyệt web của bạn. Khi bạn chọn tệp hoặc nhập văn bản, trình duyệt đọc dữ liệu đó trên thiết bị và việc xử lý diễn ra trên máy tính hoặc điện thoại của bạn. Tệp và văn bản không được tải lên máy chủ LeedyBox để xử lý. Nhiều công cụ dùng các tính năng chuẩn của trình duyệt: Canvas API cho ảnh, Web Crypto API cho hash, mật khẩu và UUID, Intl.Segmenter để đếm từ và các API ngày giờ của Intl cho múi giờ. Tính năng OCR trong PDF sang văn bản và Ảnh sang văn bản dùng Tesseract.js, chạy mã WebAssembly ngay trong trình duyệt.
Tệp của bạn được xử lý ra sao?
- Bạn chọn hoặc kéo thả một tệp từ thiết bị, hoặc nhập hay dán văn bản vào công cụ.
- Trình duyệt đọc tệp vào bộ nhớ của trang hiện tại.
- Công cụ chuyển đổi, chỉnh sửa, gộp, tách hoặc đọc tệp bằng các thư viện JavaScript chạy trên thiết bị của bạn.
- Kết quả được tạo trong trình duyệt và hiển thị trên trang hoặc được cung cấp để tải xuống. Thời gian phụ thuộc vào dữ liệu đầu vào và thiết bị của bạn.
- Nút sao chép chỉ ghi kết quả vào bộ nhớ tạm khi bạn nhấn vào nó.
- Đóng hoặc tải lại trang sẽ loại bỏ các tệp, văn bản và giá trị đã tạo đang nằm trong bộ nhớ của trang đó.
Thư viện mà từng công cụ sử dụng
Một số công cụ được xây dựng trên thư viện mã nguồn mở; các công cụ khác chỉ dùng tập lệnh riêng của LeedyBox và các tính năng có sẵn trong trình duyệt. Mọi thư viện cùng dữ liệu chúng cần (bảng phông chữ, dữ liệu ngôn ngữ OCR, mô hình) đều được phục vụ từ chính leedybox.com với phiên bản cố định; các trang công cụ không tải mã từ các mạng phân phối nội dung (CDN) công cộng. Chỉ mã và dữ liệu của thư viện được yêu cầu; tệp và văn bản bạn xử lý không nằm trong các yêu cầu đó.
| Công cụ | Thư viện | Tải từ |
|---|---|---|
| Chuyển đổi ảnh | Canvas API của trình duyệt, bộ mã hóa BMP/ICO của LeedyBox, JSZip (để tải hàng loạt) | leedybox.com |
| Đổi kích thước ảnh, Xoay & lật ảnh | Canvas API của trình duyệt, JSZip (để tải hàng loạt) | leedybox.com |
| Cắt ảnh | Canvas API của trình duyệt (không dùng thư viện bên thứ ba) | leedybox.com |
| Nén ảnh | Canvas API của trình duyệt, UPNG.js 2.1.0 và pako 1.0.11 (Giấy phép MIT, giảm số màu PNG), JSZip (để tải hàng loạt) | leedybox.com |
| Xóa dữ liệu EXIF | Bộ đọc và làm sạch siêu dữ liệu của LeedyBox (dữ liệu ảnh được sao chép mà không mã hóa lại), JSZip (để tải hàng loạt) | leedybox.com |
| Ảnh sang văn bản (OCR) | Tesseract.js (bộ máy OCR và dữ liệu ngôn ngữ) | leedybox.com |
| Tạo favicon | Canvas API của trình duyệt, bộ mã hóa ICO của LeedyBox, JSZip (cho gói ZIP) | leedybox.com |
| Làm ảnh thẻ | MediaPipe Tasks Vision 0.10.35 (giấy phép Apache 2.0) cùng mô hình Face Landmarker và Selfie Segmenter, Canvas API của trình duyệt | leedybox.com (tự lưu trữ) |
| Tạo mã QR & mã vạch | qrcode-generator 1.4.4, JsBarcode 3.11.6 (Giấy phép MIT) | leedybox.com (tự lưu trữ) |
| PDF sang JPG | PDF.js, JSZip | leedybox.com |
| JPG sang PDF | jsPDF, SortableJS | leedybox.com |
| PDF sang văn bản | PDF.js, Tesseract.js (bộ máy OCR và dữ liệu ngôn ngữ) | leedybox.com |
| Gộp, tách và nén PDF | PDF.js, pdf-lib, JSZip (tách PDF) | leedybox.com |
| Sắp xếp trang PDF, Xoay PDF | PDF.js (hình thu nhỏ của trang), pdf-lib, SortableJS (Sắp xếp trang PDF) | leedybox.com |
| Thêm hình mờ vào PDF, Đánh số trang PDF | PDF.js (xem trước), pdf-lib; chữ thuộc hệ chữ viết mà phông chữ PDF tiêu chuẩn không hiển thị được sẽ được vẽ bằng phông chữ trên thiết bị của bạn và thêm vào dưới dạng hình ảnh | leedybox.com |
| Chuyển đổi dữ liệu | js-yaml, PapaParse, tập lệnh công cụ dữ liệu của LeedyBox | leedybox.com |
| Base64 / URL / JWT, Phân tích cron, Kiểm tra RegEx | Tập lệnh công cụ dữ liệu của LeedyBox và tính năng có sẵn của trình duyệt (không dùng thư viện bên thứ ba) | leedybox.com |
| Tạo mã hash | MD5 trong tập lệnh riêng của trang; SHA-1, SHA-256, SHA-384, SHA-512 và HMAC qua Web Crypto API của trình duyệt | leedybox.com |
| Tạo mật khẩu & UUID | Web Crypto API (crypto.getRandomValues và crypto.randomUUID) | leedybox.com |
| Chuyển đổi Unix timestamp | Các API ngày giờ và múi giờ Intl của trình duyệt và BigInt (không dùng thư viện bên thứ ba) | leedybox.com |
| Kiểm tra DNI, NIE, NIF, Kiểm tra TC Kimlik, Kiểm tra INN, SNILS, Kiểm tra CPF và CNPJ, Kiểm tra IBAN, Tính codice fiscale Ý | Các mô-đun kiểm tra số của LeedyBox (không dùng thư viện bên thứ ba); số thử nghiệm tạo bằng crypto.getRandomValues của trình duyệt; định dạng IBAN theo sổ đăng ký IBAN của SWIFT, trong tệp dữ liệu do LeedyBox cung cấp; mã địa danh của codice fiscale lấy từ bảng ANPR của Bộ Nội vụ Ý, trong tệp dữ liệu chỉ tải khi công cụ đó cần |
leedybox.com |
| Đếm từ & ký tự | Intl.Segmenter của trình duyệt | leedybox.com |
| Chuyển kiểu đặt tên, So sánh văn bản, Tạo Lorem Ipsum | Tập lệnh công cụ dữ liệu của LeedyBox (không dùng thư viện bên thứ ba) | leedybox.com |
| Đọc số tiền bằng chữ | Mô-đun viết số bằng chữ của LeedyBox (không dùng thư viện bên thứ ba); Intl.NumberFormat và Intl.DisplayNames của trình duyệt |
leedybox.com |
| Đổi toàn độ ↔ bán độ | Mô-đun xử lý văn bản của LeedyBox (không dùng thư viện bên thứ ba); String.prototype.normalize() của trình duyệt |
leedybox.com |
| Bỏ dấu tiếng Việt | Mô-đun xử lý văn bản của LeedyBox (không dùng thư viện bên thứ ba); String.prototype.normalize() của trình duyệt |
leedybox.com |
| Tạo slug URL | Mô-đun xử lý văn bản của LeedyBox (không dùng thư viện bên thứ ba); String.prototype.normalize() của trình duyệt |
leedybox.com |
| Phiên âm tên tiếng Hàn | Mô-đun văn bản của LeedyBox (không dùng thư viện bên thứ ba) | leedybox.com |
| Chữ Kirin sang chữ Latin | Mô-đun văn bản của LeedyBox (không dùng thư viện bên thứ ba) | leedybox.com |
| Chữ Hán giản thể ↔ phồn thể | opencc-js 1.4.2 (giấy phép MIT) với từ điển OpenCC (Apache License 2.0) | leedybox.com |
| Chuyển giọng nói thành văn bản | Transformers.js 4.3.1 (Apache License 2.0), ONNX Runtime Web (giấy phép MIT) và mô hình Whisper base, small, large-v3-turbo (giấy phép MIT) | leedybox.com |
| Đổi niên hiệu Nhật Bản | Mô-đun ngày tháng của LeedyBox (không dùng thư viện bên thứ ba); ngày hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
| Đổi Phật lịch Thái Lan | Mô-đun ngày tháng của LeedyBox (không dùng thư viện bên thứ ba); ngày hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
| Đổi ngày âm lịch dương lịch | Mô-đun ngày tháng của LeedyBox cùng bảng âm lịch từ dữ liệu KASI và Đài Thiên văn Hồng Kông (không dùng thư viện bên thứ ba); ngày hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
| Tính tuổi Hàn Quốc | Mô-đun ngày tháng của LeedyBox với bảng tháng âm lịch Hàn Quốc từ dữ liệu KASI (không dùng thư viện bên thứ ba); ngày và số nhiều hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
| Tính thuế GTGT (VAT) | Mô-đun VAT của LeedyBox (không dùng thư viện bên thứ ba): tính chính xác bằng BigInt của trình duyệt, hiển thị số tiền và tiền tệ bằng Intl.NumberFormat; bảng thuế suất (vat-rates.json, khoảng 35 KB) được tải khi mở trang | leedybox.com |
| Tính phần trăm | Mô-đun tính toán của LeedyBox (không dùng thư viện bên thứ ba); số, tiền tệ và ngày hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
| Tính lãi vay | Mô-đun tính toán của LeedyBox (không dùng thư viện bên thứ ba); số, tiền tệ và ngày hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
| Tính lãi kép | Mô-đun tính toán của LeedyBox (không dùng thư viện bên thứ ba); số, tiền tệ và ngày hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
| Tính BMI | Mô-đun tính toán của LeedyBox (không dùng thư viện bên thứ ba); bảng chuẩn (bmi-standards.json, khoảng 7 KB) được tải khi mở trang | leedybox.com |
| Tính calo | Mô-đun tính toán của LeedyBox (không dùng thư viện bên thứ ba); công thức (energy-equations.json, khoảng 8 KB) được tải khi mở trang | leedybox.com |
| Tính tuổi | Mô-đun tính toán của LeedyBox (không dùng thư viện bên thứ ba); số, tiền tệ và ngày hiển thị bằng định dạng Intl của trình duyệt | leedybox.com |
Các trang công cụ cũng tải tập lệnh Tailwind CSS (phiên bản 3.4.17) từ leedybox.com để tạo kiểu. Văn bản giấy phép của các thư viện nằm trong LICENSES.txt.
Vì sao xử lý cục bộ quan trọng
Xử lý trên thiết bị nghĩa là tệp không phải gửi tới máy chủ chuyển đổi và chờ trong hàng đợi, và LeedyBox không bao giờ nhận bản sao của tệp. Điều đó cũng có nghĩa kết quả phụ thuộc vào thiết bị của bạn: máy tính nhiều bộ nhớ có thể xử lý tệp lớn hơn một chiếc điện thoại cũ.
Giới hạn của trình duyệt
Vì việc xử lý dựa vào tài nguyên của thiết bị, hiệu năng phụ thuộc vào bộ nhớ khả dụng, khả năng của trình duyệt, tốc độ CPU và độ phức tạp của tệp. Tệp rất lớn hoặc phức tạp cần nhiều bộ nhớ và thời gian hơn. Nếu một thẻ hết bộ nhớ, trình duyệt có thể dừng trang; chia công việc thành các tệp nhỏ hơn thường giúp ích. Một số định dạng đầu ra còn phụ thuộc vào việc trình duyệt có mã hóa được hay không.
Quyền riêng tư và yêu cầu mạng
Xử lý cục bộ giữ tệp trên thiết bị của bạn, nhưng bản thân trang web vẫn dùng mạng: trang tải HTML, kiểu, tập lệnh của chính nó và các thư viện liệt kê ở trên, tất cả từ leedybox.com, đồng thời tải Google Analytics và Google AdSense, hai dịch vụ chỉ lưu cookie nếu bạn chấp nhận. Cloudflare, nơi lưu trữ trang web, cũng đo tốc độ tải trang (Cloudflare Web Analytics, không dùng cookie). Không yêu cầu nào trong số này chứa nội dung của tệp hoặc văn bản bạn xử lý, hay mật khẩu, UUID, hash và mã mà bạn tạo.
PDF sang văn bản và Ảnh sang văn bản tải bộ máy OCR và dữ liệu ngôn ngữ từ leedybox.com vào lần đầu cần đến. Tesseract.js giữ dữ liệu ngôn ngữ đã tải trong bộ nhớ IndexedDB của trình duyệt để không phải tải lại; bạn có thể xóa dữ liệu này bằng cách xóa dữ liệu của trang web này trong trình duyệt.
Công cụ Làm ảnh thẻ tải thư viện MediaPipe, môi trường WebAssembly của nó và một mô hình nhận diện khuôn mặt từ leedybox.com khi bạn chọn ảnh đầu tiên: khoảng 7 MB tải xuống (khoảng 15 MB sau khi giải nén). Một mô hình thứ hai, nhỏ (0,25 MB), chỉ được tải khi bạn thay nền. Chúng chỉ nằm trong bộ nhớ đệm thông thường của trình duyệt; ảnh của bạn không được gửi đi đâu.
Công cụ chuyển chữ Hán giản thể ↔ phồn thể tải opencc-js và từ điển của kiểu chuyển đã chọn từ leedybox.com khi bạn bắt đầu dùng: tối đa khoảng 100 KB khi chuyển từ phồn thể, khoảng 1,1 MB khi chuyển sang phồn thể. Văn bản của bạn không được gửi đi đâu.
Công cụ chuyển giọng nói thành văn bản tải Transformers.js, bộ máy WebAssembly của ONNX Runtime và mô hình Whisper bạn chọn từ leedybox.com khi bạn bắt đầu lần chuyển đầu tiên: khoảng 90 MB với base, 250 MB với small hoặc 750 MB với large-v3-turbo, mô hình chạy trên card đồ họa qua WebGPU. Chúng được lưu trong Cache Storage của trình duyệt để không phải tải lại; công cụ hiển thị dung lượng và có thể xóa chúng. Phần trang chạy mô hình không được kết nối tới trang web nào khác, và bản ghi của bạn không được gửi đi đâu.
Liên quan: Đọc chính sách quyền riêng tư · Đọc chính sách cookie
Câu hỏi thường gặp
Xử lý cục bộ có nghĩa là không có dữ liệu nào được gửi đi?
Tệp và văn bản của bạn không được tải lên LeedyBox để xử lý. Tuy vậy, trang vẫn gửi các yêu cầu web thông thường: tải tệp của chính nó và các thư viện cần thiết từ leedybox.com, gửi yêu cầu tới Google Analytics và AdSense (việc chúng có được lưu cookie hay không tùy vào lựa chọn đồng ý của bạn), và Cloudflare đo thời gian tải trang. Các yêu cầu này không chứa nội dung tệp hoặc văn bản của bạn.
Vì sao cùng một tệp PDF có thể hoạt động khác nhau trên các thiết bị?
Xử lý phía máy khách phụ thuộc vào bộ nhớ khả dụng, bộ máy kết xuất của trình duyệt, tốc độ CPU và phông chữ hệ thống đã cài. Khác biệt về phần cứng hoặc phiên bản trình duyệt có thể làm thay đổi tốc độ xử lý và đôi khi cả cách trang được hiển thị.
Công cụ có hoạt động ngoại tuyến không?
Không ổn định. Trang và các thư viện cần được tải trước, và PDF sang văn bản cũng như Ảnh sang văn bản sẽ tải dữ liệu ngôn ngữ OCR vào lần đầu cần đến.