Bôi đen văn bản trong PDF
trong trình duyệt.
Gõ những từ cần bôi đen — mọi lần xuất hiện trên mọi trang đều được che. Không tải lên, không rò rỉ. (Bôi đen trực quan, không phải cấp pháp y — xem FAQ.)
Tự xác minh: mở DevTools → tab Network → thả một tệp vào. Quan sát không có lượt tải lên nào diễn ra.
Ba bước. Tệp của bạn không bao giờ rời khỏi tab này.
Thả PDF
Chọn tệp cần bôi đen. Tệp được nạp vào bộ nhớ trình duyệt, không lên máy chủ.
Gõ các mẫu
Tên, email, số điện thoại — mỗi dòng một mẫu hoặc cách nhau bằng dấu phẩy. Chúng tôi sẽ tìm mọi khớp.
Tải bản đã bôi đen
Mỗi khớp sẽ được che bằng một hình chữ nhật đen mờ trên mọi trang. Tệp gốc giữ nguyên.
Che chữ mà bạn không muốn chia sẻ
Lý do chỉnh kín (redact) PDF thường là để giấu các phần của tài liệu mà vẫn giữ phần còn lại đọc được. Hợp đồng có địa chỉ nhà của đối tác đi qua người đánh giá thứ ba, người không nên thấy địa chỉ đó. Phiếu chuyển y tế được chia sẻ với công ty bảo hiểm, nơi định danh bệnh nhân phải được che. Báo cáo tài chính đính kèm gói cho hội đồng nhưng số tài khoản cấp đơn vị phải bị che. Đề xuất dự án trình bày cho các nhà cung cấp ứng viên với dòng ngân sách bôi đen, để họ chào giá mà không neo vào con số. Việc ở đây nhỏ và đoán được: gõ các từ hoặc cụm từ cần giấu, công cụ vẽ một hình chữ nhật đen mờ trên mỗi lần xuất hiện trên mọi trang.
Đọc kỹ trước khi che bất cứ thứ gì nhạy cảm: đây là che hình ảnh, không phải pháp y. Hình chữ nhật đen che chữ trên màn hình và khi in, nhưng văn bản bên dưới vẫn còn trong tệp. Bất kỳ ai có công cụ PDF cũng rút ra được qua copy-paste, tìm kiếm, hoặc kiểm tra content-stream. Phù hợp khi người đọc tình cờ không nên thấy chữ — gửi bản nháp, giấu số tài khoản không công khai khỏi đồng nghiệp, che số điện thoại của bạn trên ảnh chụp. Không phù hợp cho việc công bố theo luật minh bạch, tài liệu tòa án, hay bất cứ nơi đâu đối thủ sẽ nhìn kỹ.
Cách so khớp hoạt động
Bạn nhập một hoặc nhiều mẫu. Mỗi mẫu được tìm như so khớp whole-substring không phân biệt hoa thường với các đoạn văn bản trong PDF. Khi một đoạn chứa mẫu của bạn, một hình chữ nhật đen được vẽ lên toàn bộ bounding-rect của đoạn.
Hệ quả thực tế:
- Khớp chuỗi con, không phải từ trọn. Mẫu
artche «art», «artist», «smart», «martin». Hãy làm mẫu đủ cụ thể — họ tên đầy đủ, số tài khoản đầy đủ, e-mail đầy đủ. - Không phân biệt hoa thường. Mẫu
Annache «Anna», «anna», «ANNA». - Không regex, không ký tự đại diện. Cái bạn gõ là chuỗi nguyên văn để khớp.
- Phủ theo đoạn. PDF lưu chữ thành đoạn; bounding rect được vẽ phủ cả một đoạn. Nếu mẫu trúng một từ trong đoạn có thêm chữ, chữ xung quanh cũng bị che. Thường là cái bạn muốn; đôi khi sẽ thấy nhiều hơn dự kiến bị che.
- Mẫu vượt qua biên đoạn bị bỏ qua. «Nguyễn Văn A» là một đoạn trong vài PDF và hai đoạn trong PDF khác. Nếu bị tách, mẫu sẽ không khớp trên chuỗi đã ghép. Thêm các phần như mẫu riêng:
Nguyễn Văn A,Nguyễn,Văn A.
Hình chữ nhật đen có 1 điểm padding quanh bounding box phát hiện — vì vị trí glyph theo subpixel, để các sọc của chữ gốc không thò ra ở mép.
Cái bị giấu vs. cái còn ở trong tệp
Phần này quan trọng hơn bất kỳ phần nào. Hình chữ nhật đen là chỉ thị vẽ trong content-stream của trang. Chữ gốc cũng ở trong content-stream, bên dưới. Trình đọc PDF hiển thị theo thứ tự: chữ trước, rồi hình chữ nhật bên trên, nên hình chữ nhật thắng về thị giác. Nhưng bản thân chữ không bị xoá.
Cụ thể nghĩa là:
- Copy-paste lấy lại chữ gốc. Chọn vùng đã che trong Adobe Reader rồi copy đem lại các từ bạn cố giấu. Hình chữ nhật đen không chọn được; chữ bên dưới chọn được.
- Công cụ tìm kiếm thấy chữ. Nếu PDF đã che được tải lên website, tìm theo tên đã che sẽ đưa tài liệu lên.
- Lưu lại trong công cụ PDF khác có thể giữ cả hai lớp. Một số công cụ dựng lại content-stream và có thể bỏ rơi các chỉnh kín; số khác giữ.
- Công cụ pháp y rút ra chữ gốc dễ dàng. Bất cứ trình phân tích PDF nào cũng có thể liệt kê tất cả content-stream chữ. Hình chữ nhật chỉ là một bản vẽ riêng.
Cho các tình huống mà chữ bên dưới thực sự phải đi — công bố theo luật minh bạch, bằng chứng tại tòa, mọi thứ đến tay đối thủ — bạn cần workflow khác: xuất lại tài liệu nguồn với chữ nhạy cảm đã xoá, hoặc chuyển trang sang ảnh và OCR lại (xoá vĩnh viễn lớp chữ).
Cái sống sót và cái không
- Nội dung nhìn thấy của trang giữ nguyên. Mọi thứ không khớp giữ y như cũ — cùng phông, cùng dàn trang, cùng ảnh.
- Bookmark, chú thích, liên kết, ô biểu mẫu — tất cả sống sót. Các hình chữ nhật là phần thêm vào; không có gì khác bị dựng lại.
- Chữ gốc được giữ ở dưới. Xem phần trên. Đây là giới hạn trung tâm.
- Chữ ký số bị vô hiệu. Mọi sửa đổi tài liệu, kể cả thêm hình chữ nhật, phá vỡ ràng buộc chữ ký.
- PDF mã hoá phải mở khoá trước. Cho qua unlock-pdf với mật khẩu trước khi che.
Nếu thấy có gì lệch lạc
- «At least one redaction pattern required». Danh sách mẫu rỗng. Gõ ít nhất một từ hoặc cụm từ.
- Mẫu khớp nhưng che nhiều hơn dự kiến. PDF lưu dòng đó như một đoạn duy nhất, và hình chữ nhật theo đoạn. Thường chấp nhận được; nếu là vấn đề, nguồn cần được xuất lại với chữ đã xoá đúng cách.
- Mẫu không khớp như tôi mong đợi. Ba nguyên nhân thường gặp: (1) chữ ở trong ảnh quét, không ở lớp chữ — công cụ không thấy chữ trong ảnh; OCR trước qua pdf-to-txt hoặc công cụ chuyên dụng. (2) Mẫu trải qua nhiều đoạn — chia thành ngắn hơn. (3) PDF dùng ký tự ngoài Latin với mã hoá hỏng; copy từ trình xem để thấy thực chất ở đó là gì là chẩn đoán nhanh nhất.
- Tôi đã che nhưng đồng nghiệp lấy chữ ra qua copy-paste. Hoạt động đúng tài liệu — chỉ che hình ảnh. Để xoá thật xuất lại từ nguồn.
Ghi chú thực hành
- Dùng để giấu hình ảnh, không cho kịch bản đối kháng. Giấu một cái tên trong bản nháp gửi cho bạn không cố trích xuất: ổn. Giấu một cái tên trong tài liệu tòa án nơi bên đối lập sẽ chạy công cụ pháp y: không ổn.
- Mẫu cụ thể hơn mẫu chung. Che
+84-24-555-0123, không phải0123. Che[email protected], không phảijane. Mẫu cụ thể ít trùm dư và vẫn giấu cái bạn muốn như nhau. - Xác minh bằng cách copy. Sau khi che, mở kết quả trong trình xem, chọn vùng đã che, copy. Nếu chữ gốc hiện ra, bạn đã xác nhận giới hạn — chỉ tiếp tục nếu giấu hình ảnh là đủ.
- Để xoá lâu dài, dùng nguồn. Nếu tài liệu từ Word, sửa Word và xuất lại. Từ CSDL, truy vấn lại không có trường nhạy cảm. Công cụ che PDF dành cho các trường hợp không có nguồn.
- Tệp gốc còn nguyên. Cái bạn tải về là PDF đã che mới; nguồn trên đĩa không đổi.
Tệp của bạn xảy ra chuyện gì
Việc che chạy trong trình duyệt của bạn. Các mẫu đã gõ và nội dung tệp không bao giờ rời tab này. Mở DevTools và theo dõi tab Network khi vận hành — không có yêu cầu đi ra mang theo nội dung tệp hoặc mẫu. PDF nằm yên trên đĩa; bản đã che là một lượt tải mới bên cạnh.
Câu hỏi thường gặp
Mọi lần xuất hiện đều bị bôi đen?
Có — chúng tôi quét mọi trang và che mọi khớp của mọi mẫu bạn gõ. Không có chế độ \"chỉ lần đầu\"; việc bôi đen là toàn cục theo thiết kế.
Đây có phải bôi đen cấp pháp y?
Không. MVP của chúng tôi vẽ các hình chữ nhật mờ chồng lên mỗi khớp — về thị giác đã bôi đen nhưng văn bản gốc vẫn nằm trong dòng PDF. Để bôi đen cấp pháp y (xoá hẳn văn bản khỏi tệp) hãy dùng công cụ máy bàn như Adobe Acrobat Pro. Chúng tôi minh bạch về điều này.
Vậy tại sao lại bôi đen trực quan?
Với phần lớn trường hợp — chia sẻ hợp đồng mẫu, che số điện thoại trong ảnh chụp màn hình, xoá tên trong portfolio — bôi đen trực quan là đủ và nhanh hơn nhiều so với mở Acrobat. Chỉ đừng dùng cho tài liệu mà đối phương sẽ trích xuất văn bản.
Có thể bôi đen một vùng cụ thể thay vì văn bản?
Bôi đen theo vùng (kéo hình chữ nhật trên trang) đang trong lộ trình. Bản hiện tại là gõ-để-tìm, phù hợp cho email, tên, số điện thoại và mọi mẫu chuỗi.
Tệp của tôi đi đâu?
Không đi đâu cả. Việc bôi đen diễn ra hoàn toàn trong tab này. Kiểm tra ở DevTools → Network: không có lượt tải lên.