Lợi ích bảo mật của việc hợp nhất và chia PDF trong trình duyệt

Đăng 2026-04-13 8 phút đọc

Tóm tắt (TL;DR)

Tháng trước tôi cần ghép 47 bản scan hợp đồng (tổng 230 MB) thành một file duy nhất. Tôi định kéo thả lên một công cụ PDF trực tuyến quen thuộc rồi dừng lại khi thấy tên thật của đối tác nằm ngay trong tên file. Cuối cùng tôi xử lý trong tab trình duyệt bằng pdf-lib (v1.17.1): khoảng 18 giây trên M2 MacBook Air, quạt không quay. Kể từ đó, với các PDF nhạy cảm tôi luôn thử bên trình duyệt trước.

Hợp nhất và chia PDF không phải là “công việc bắt buộc phải đẩy tài liệu lên máy chủ của ai đó”. Nhờ các chuẩn Web gần đây và các thư viện dựa trên WebAssembly (pdf-lib, bản port PDFium, MuPDF.js, v.v.), tài liệu kích thước vừa và nhỏ có thể được xử lý trong trình duyệt đủ nhanh. Lợi thế lớn nhất của cách tiếp cận này là file không bao giờ rời khỏi mạng nội bộ. Không có upload nghĩa là không có log server, không có file tạm, không có bản sao lưu, không có đường rò rỉ tiềm ẩn — tất cả được giảm tận gốc. Tuy nhiên, với file vài trăm MB trở lên, các công việc tốn CPU như OCR hay nén lại bản scan dựa trên ảnh, và việc giữ chữ ký phức tạp trên một số tài liệu đã mã hoá, các công cụ server vẫn có thể lợi thế hơn. Tóm lại, tài liệu càng nhạy cảm và kích thước hợp lý, phía trình duyệt càng phù hợp; còn nếu cần dung lượng rất lớn, OCR phức hợp hoặc giữ nguyên chữ ký điện tử phức tạp, chọn công cụ server đã được kiểm chứng hoặc ứng dụng desktop cục bộ sẽ an toàn hơn.

Bối cảnh và khái niệm

PDF không phải ảnh đơn giản mà là định dạng tài liệu dựa trên đối tượng. File bao gồm nhiều đối tượng gián tiếp (indirect object), và bảng tham chiếu chéo (XRef table) ở cuối file lập chỉ mục chúng bằng byte offset. PDF hiện đại có thể đóng gói nhiều đối tượng trong object stream kiểu ObjStm, hoặc được phát hành với các vùng cập nhật gia tăng nối thêm. Vì vậy hợp nhất không phải “nối hai file lại với nhau” mà gần với sao chép đồ thị đối tượng của một PDF sang không gian tên của PDF kia rồi viết lại bảng XRef mới.

Chia cũng tương tự. Khi bạn giữ một vài trang nhất định, bạn phải chọn ra các font và ảnh mà trang đó tham chiếu, mang chúng vào tài liệu mới và nối lại các tham chiếu bị đứt thì kết quả mới là PDF hợp lệ. Thư viện cho trình duyệt như pdf-lib thực hiện toàn bộ quá trình này bằng JavaScript thuần kết hợp WebAssembly. Nói cách khác, dù byte tài liệu không hề rời khỏi máy để lên server, ở mức đặc tả vẫn có thể tạo ra kết quả tương đương.

So sánh và dữ liệu

Tiêu chíDựa trên serverDựa trên trình duyệt
Quyền riêng tưFile được upload lên server, có thể lưu tạmFile chỉ xử lý trong thiết bị
Tốc độ với file nhỏ (vài MB)Độ trễ round-trip ảnh hưởng lớnThường cảm giác nhanh hơn
Xử lý file lớn (100 MB+)CPU và RAM chuyên dụng có lợiCó thể chạm giới hạn RAM trình duyệt
Dùng offlineKhông
Rủi ro dữ liệu tồn dưPhải tin vào chính sách và logCấu trúc giảm tận gốc
Tính năng nâng cao (OCR, chữ ký phức tạp)Nhiều công cụ trưởng thànhGiới hạn tuỳ triển khai

Lý do tôi dùng xu hướng thay vì con số chính xác là bởi tốc độ cảm nhận thực tế được quyết định bởi tổ hợp “kích thước file × tốc độ mạng × thời gian xử lý server”. Trong các kịch bản văn phòng cần hợp nhất 20–30 tài liệu cỡ vài MB, phía trình duyệt thường có lợi đơn giản vì tránh được round-trip upload.

Tình huống thực tế

Tình huống 1 — Tạo bộ tài liệu hợp đồng. Khi bạn cần gói hợp đồng, phụ lục và đính kèm vào một file duy nhất để gửi đi, xử lý trong trình duyệt mạnh nhất ở một điểm: file không đi ra ngoài. Tôi từng thấy phòng pháp chế của hai công ty cấm nhân viên dùng công cụ ghép PDF bên ngoài — một công ty sau khi bản nháp bị index bởi công cụ tìm kiếm, công ty kia sau khi phát hiện điều khoản lưu trữ 30 ngày của công cụ miễn phí. Luồng này khớp hoàn hảo với các tài liệu bị phân loại “cấm upload ra ngoài” theo nội quy nội bộ.

Tình huống 2 — Chia cuốn tài liệu nhỏ. Tôi từng chia một bộ giáo trình 100 trang thành 14 chương để phân phối. Chỉ cần reload tab là có thể bắt đầu lại khi nhập sai phạm vi trang, nên việc chỉnh sửa lặp đi lặp lại rất dễ chịu. Một lợi ích phụ là khi chia sai, bản gốc cũng không bị rải rác trên mạng.

Tình huống 3 — Giảm dung lượng tài liệu scan. Bản scan thường nặng vì nội dung dựa trên ảnh. Có lần tôi chỉ đơn giản resample một hợp đồng 48 MB scan ở 650 dpi xuống 200 dpi, file rơi xuống còn 11 MB. Dọn dẹp ảnh trước khi hợp nhất làm giảm dung lượng PDF cuối cùng rất đáng kể. Với người hay làm việc với bản scan, kết hợp thêm JBIG2 hoặc JPEG2000 cho lớp ảnh trong PDF có thể giảm thêm 30–50% dung lượng mà giữ chữ vẫn đọc rõ.

Tình huống 4 — Redact thông tin nhạy cảm. Khi chia sẻ hợp đồng ra ngoài mà cần che số CMND, số tài khoản, thao tác dán hình chữ nhật đen lên bản hiển thị là chưa đủ — văn bản bị che vẫn nằm trong stream của PDF và bất kỳ ai copy-paste cũng thấy. Redact đúng đòi hỏi xoá thực sự các text object và flatten lại. Nhiều công cụ trình duyệt chưa hỗ trợ redact theo chuẩn, nên với tài liệu pháp lý quan trọng, ứng dụng desktop chuyên dụng như Adobe Acrobat Pro hoặc PDF Studio vẫn là lựa chọn an toàn hơn.

Những hiểu lầm thường gặp

“Công cụ trình duyệt thì chậm.” Điều này đúng vào năm 2015, nhưng mọi thứ đã thay đổi kể từ khi WebAssembly SIMD và worker thread xuất hiện. Trên máy tôi, hợp nhất năm file PDF 10 MB mất khoảng 1,3 giây; cùng công việc đó chạy trên công cụ server, tính cả upload và download, mất hơn 10 giây.

“Server luôn nhanh hơn.” Chuỗi upload, xếp hàng, xử lý, download cộng lại, nên khi mạng chậm hoặc server quá tải, xử lý tức thời trong trình duyệt lại có thể nhanh hơn.

“Xử lý trong trình duyệt không phù hợp với quy trình cần bằng chứng và kiểm toán.” Với workflow cần audit trail, hệ thống server chuyên dụng mới phù hợp. Nhưng với công việc cá nhân đơn giản như hợp nhất, chia hay sắp lại trang, không cần coi chúng như tài liệu chịu kiểm toán.

“PDF đã mã hoá thì buộc phải xử lý trên server.” Các tính năng chuẩn như giải mã AES-128/256 được các thư viện trình duyệt hỗ trợ đầy đủ. Chỉ với các file chữ ký và policy phi chuẩn của một số cơ quan cụ thể bạn mới cần kiểm tra trước phạm vi hỗ trợ của công cụ.

Danh sách kiểm tra

  1. Tài liệu có chứa thông tin cá nhân hoặc bí mật không?
    • Có → Ưu tiên số một là xử lý trong trình duyệt.
  2. Tổng dung lượng file là bao nhiêu?
    • Khoảng 50–100 MB trở xuống: trình duyệt đủ xử lý.
    • Vài trăm MB trở lên: ứng dụng desktop cục bộ hoặc công cụ server đã được kiểm chứng.
  3. Có cần OCR, chữ ký nâng cao hay audit trail không?
    • Có → Cân nhắc công cụ chuyên dụng (cục bộ hoặc server doanh nghiệp).
  4. Công việc có lặp lại thường xuyên không?
    • Có → Bookmark trình duyệt và luồng phím tắt có lợi thế.
  5. Có cần chạy được cả khi offline không?
    • Có → Chỉ trình duyệt với web app được cache hoặc ứng dụng desktop mới làm được.
  6. Phương thức chia sẻ kết quả là gì? Nếu cần link chia sẻ, kiểm tra lại xem có theo dõi ngoài ý muốn nào được đính kèm không.

Công cụ liên quan

Các kịch bản hợp nhất được mô tả trong bài có thể thử ngay trên công cụ hợp nhất PDF của Patrache Studio. Nếu bạn muốn giảm dung lượng ảnh trong tài liệu scan trước, hãy đọc Hướng dẫn nén ảnh toàn diện để chỉnh chuẩn định dạng thì kết quả sẽ tốt hơn. Nếu bạn dự định thêm QR định danh sản phẩm hoặc tài liệu vào PDF đã hợp nhất, hãy đọc cùng Bảo mật mã QR — bài viết bàn về rủi ro trong quá trình in và phân phối lại, giúp ra quyết định dễ dàng hơn.

Tài liệu tham khảo