Tiếng Việt

Tài liệu · PDF Bộ công cụ

Cách tab trình duyệt đọc và viết lại PDF mà không cần tải nó lên

· Cách thức hoạt động

pdf quyền riêng tư web-workers

Một tài liệu di chuyển qua bộ nhớ trình duyệt và quay trở lại dưới dạng tải xuống cục bộ
Hình minh họa vector ToolAcre gốc

'Chạy trong trình duyệt của bạn' là tuyên bố mà bạn có thể hiểu và kiểm tra. Bài đăng này theo sau PDF từ bộ chọn tệp vào bộ nhớ, thông qua Web Worker và quay lại dưới dạng bản tải xuống, giải thích từng bước thực hiện và lý do không có máy chủ nào tham gia.

Trình chọn tệp không phải là tải lên - khoảnh khắc bối rối khi chọn tệp giống như gửi tệp đó

Trình chọn tệp giống với điều khiển tải lên vì nhiều trang web gửi tệp đã chọn ngay lập tức. Lựa chọn một mình không yêu cầu chuyển giao đó. Trong bộ công cụ này, trình duyệt cấp quyền truy cập trang vào đối tượng Tệp do người dùng chọn và bộ điều khiển xác thực loại và kích thước của nó trước khi đọc PDF byte vào bộ nhớ tab.

Ranh giới có thể quan sát được: việc chọn một tài liệu sẽ thay đổi trạng thái giao diện cục bộ, hiển thị tên, kích thước và số trang của nó và cho phép thao tác. Nó không đăng tệp lên điểm cuối ứng dụng. Giới hạn PDF là 50 MB và giới hạn hình ảnh là 30 MB, được thực thi trước khi quá trình xử lý tốn kém bắt đầu.

Từ đĩa tới bộ nhớ — cách Tệp API chuyển cho trang một mảng byte mà JavaScript của chính trang web có thể đọc

Đối với các tệp PDF, `arrayBuffer()` cung cấp byte và `Uint8Array` giữ chúng cho các lệnh gọi của nhân viên. Các lô hình ảnh được xử lý khác nhau để tránh lần đọc thứ hai không cần thiết: các đối tượng Tệp thô được giữ lại cho đến khi chuẩn bị hình ảnh trình duyệt. Đây là các hoạt động bộ nhớ bên trong ngữ cảnh trình duyệt hiện tại, không phải lịch sử tài khoản hoặc lưu trữ từ xa.

PDF đầu tiên được kiểm tra thông qua lệnh gọi `info` trong trình chạy để tài liệu lớn không chặn việc vẽ trong khi số trang được xác định. Tab này có thể tạm thời giữ các byte nguồn, trạng thái trình phân tích cú pháp, nội dung đã chuẩn bị và đầu ra cuối cùng cùng nhau. Xóa hoặc đóng vấn đề vì quá trình xử lý cục bộ vẫn tiêu tốn tài nguyên thiết bị thực.

Hầu hết các phép biến đổi PDF đều sử dụng bộ công cụ hoạt động; PDF phân tích cú pháp và mã hóa canvas có sự phân chia riêng

Hợp nhất, phân tách, trích xuất, xóa, sắp xếp lại, xoay, hình mờ và lệnh gọi tập hợp hình ảnh cuối cùng thànhPDF pdf-lib thông qua nhân viên mô-đun chuyên dụng. Thông báo tiến trình và hủy vượt qua ranh giới đó trong khi công việc tính toán tránh xa luồng giao diện chính. Việc xóa tệp sẽ chấm dứt nhân viên thay vì chờ thu gom rác.

PDF-to-image là ngoại lệ quan trọng. pdf.js sử dụng trình xử lý riêng của nó để phân tích cú pháp nhưng mã hóa canvas của trình duyệt phải vẫn nằm trên luồng chính. Trình kết xuất tạo ra giữa các trang để các điều khiển và tiến trình có thể sơn lại. Nói rằng mọi biến đổi chạy hoàn toàn trong một công nhân sẽ mâu thuẫn với việc triển khai được vận chuyển.

Phân tích cú pháp và viết là các giai đoạn cục bộ, nhưng việc chuẩn bị hình ảnh và mã hóa canvas có thể chạy trên luồng chính

Quy trình chung là đọc, giải thích, chuyển đổi và mã hóa, nhưng mỗi hoạt động chọn máy móc cụ thể của riêng mình. Hoạt động sao chép trang yêu cầu pdf-lib xây dựng một tài liệu mới. Xoay thay đổi siêu dữ liệu trang phụ. Hình mờ gắn thêm bản vẽ. PDF-to-image hiển thị các trang, trong khi image-to-PDF chuẩn bị hình ảnh được giải mã trình duyệt trước khi lắp ráp nhân viên.

Những sự khác biệt đó ảnh hưởng đến độ trung thực. Sao chép trang giữ lại nội dung có thể lựa chọn; hiển thị chúng thành PNG hoặc JPEG biến trang thành pixel và mất lớp văn bản của nó. Các hình ảnh không phải PNG/JPEG có thể được giải mã và mã hóa lại thành PNG trước khi tập hợp PDF. “Cục bộ” mô tả chuyển động dữ liệu, không phải một thuật toán chuyển đổi phổ quát.

Nội dung tải xuống là một đối tượng cục bộ — cách Blob và một đối tượng URL cung cấp cho bạn một tệp chưa từng tồn tại trên bất kỳ máy chủ nào

Mỗi thao tác trả về byte hoặc ZIP mà giao diện bao bọc trong Blob với loại phương tiện thích hợp. Hành động kết quả gọi trình trợ giúp `downloadBlob` được chia sẻ, tạo trình tải xuống trình duyệt thay vì điều hướng đến tệp máy chủ. Tạo phẩm được tạo đã tồn tại trong bộ nhớ trước khi người dùng lưu nó vào bộ lưu trữ thiết bị thông thường.

Hình thu nhỏ của tổ chức cũng sử dụng URL đối tượng Blob nhưng vòng đời của chúng rất rõ ràng: các URL cũ bị thu hồi trước khi tải mới và tất cả đều bị thu hồi khi hủy hoặc xóa. Sự khác biệt đó ngăn cản yêu cầu về quyền riêng tư cục bộ che giấu rò rỉ bộ nhớ. Sau khi tải xuống, tệp sẽ tuân theo các quy tắc chia sẻ và sao lưu thiết bị thông thường.

Tại sao giới hạn lại là bộ nhớ thiết bị của bạn — bản gốc, cấu trúc được phân tích cú pháp và bản sao viết lại đều tồn tại trong RAM cùng một lúc

Công việc cục bộ bị giới hạn bởi RAM và các chính sách của trình duyệt cũng như giới hạn đầu vào rõ ràng. PDF có thể tồn tại đồng thời dưới dạng byte nguồn, mô hình đối tượng được phân tích cú pháp, bộ đệm công nhân được chuyển, bản xem trước và đầu ra được tuần tự hóa. Các trang raster thêm các khung vẽ lớn, do đó, trình kết xuất đo lường ngân sách pixel và có thể giảm tỷ lệ trước khi phân bổ.

Điện thoại có thể gặp khó khăn sớm hơn máy tính để bàn thậm chí thấp hơn 50 MB vì kích thước tệp nén nói rất ít về hình ảnh trang được giải mã. Đóng các tab không liên quan, xử lý ít trang hơn hoặc sử dụng thiết bị lớn hơn cho các công việc đòi hỏi khắt khe. Giới hạn cứng vẫn giữ nguyên 50 MB cho mỗi PDF và 30 MB cho mỗi hình ảnh; bộ nhớ không phải là cái cớ để tuyên bố không có giới hạn cố định.

Các sản phẩm ToolAcre khác có thể sử dụng mạng; phân tích sản xuất được đồng ý cũng riêng biệt

Kho lưu trữ cho biết rằng hai sản phẩm ToolAcre khác liên hệ với mạng theo thiết kế, do đó hành vi cục bộ phải được xác minh trên mỗi sản phẩm thay vì khái quát trên toàn bộ trang web. Mã hoạt động PDF không có tài liệu mang điểm cuối và kiểm tra cách ly tự động sẽ kiểm tra tính bất biến đó trong quá trình xử lý.

Phân tích trên toàn trang web chỉ có thể chạy trên máy chủ sản xuất chuẩn sau khi có sự đồng ý. Danh sách cho phép sự kiện ToolAcre của nó không bao gồm tên tệp, nội dung, văn bản được dán, URL và kích thước tệp chính xác, trong khi các tập lệnh của Google vẫn là mã của bên thứ ba được mô tả trong chính sách quyền riêng tư. Yêu cầu phân tích hoặc nội dung tĩnh khác với yêu cầu tải lên tài liệu.

Bài học rút ra — mọi bước đều diễn ra trên thiết bị của bạn và trang của Bộ công cụ PDF cũng như bảng điều khiển Mạng cho phép bạn xác nhận điều đó

Vòng đời hoàn chỉnh được hiển thị: chọn một Tệp, xác thực và đọc nó, chuyển đổi cục bộ bằng trình chạy hoặc đường dẫn hiển thị thích hợp, gói đầu ra trong Blob, tải xuống, sau đó xóa bộ đệm và URL đối tượng. Không có máy chủ ứng dụng nào được yêu cầu để thực hiện các thao tác trang đó.

Hãy coi “trong trình duyệt” như một kiến ​​trúc mà bạn có thể kiểm tra hơn là một khẩu hiệu. Xem các yêu cầu, đọc ghi chú dành riêng cho thao tác và sử dụng Xóa tệp và giải phóng bộ nhớ khi hoàn tất. Kiểm soát đó sẽ giải phóng các hình ảnh sắp xếp, loại bỏ các tham chiếu và chấm dứt trình chạy, giảm cả áp lực bộ nhớ và thời gian tồn tại của tài liệu tài liệu nhạy cảm trong tab. Trước tiên hãy tải xuống, xác minh tệp đã lưu và chỉ sau đó xóa; việc xử lý cục bộ có chủ ý không cung cấp dự phòng từ xa cho kết quả bị loại bỏ quá sớm.