Cách tách PDF và trích xuất trang
Tách PDF là sao chép những trang bạn chọn sang các tệp PDF mới, còn tệp gốc vẫn giữ nguyên. Hướng dẫn này trình bày hai chế độ của công cụ LeedyBox, cách viết phạm vi trang, lý do tổng dung lượng các tệp tách ra có thể lớn hơn bản gốc và những điều cần kiểm tra trước khi gửi tệp đi.
Khi nào nên tách PDF
- Chỉ gửi phần cần thiết, chẳng hạn hai trang cần ký trong một hợp đồng dài 48 trang.
- Biểu mẫu tải lên giới hạn dung lượng tệp hoặc số trang.
- Tách một lượt quét hàng loạt: 30 biên lai đưa qua máy quét trong một lần sẽ nằm chung một tệp. Nếu mỗi biên lai là một trang, chế độ Trích xuất tất cả trang sẽ cho mỗi biên lai một tệp riêng.
- Chuẩn bị trang cho công cụ khác: công cụ PDF sang JPG chuyển mọi trang vào một tệp ZIP hoặc lưu từng trang qua mỗi lần nhấp, nên nếu trích xuất trước các trang 5–12 của một báo cáo 80 trang, bạn sẽ nhận được tệp ZIP gồm 8 ảnh thay vì 80 (xem Cách chuyển trang PDF sang JPG hoặc PNG).
Nếu bạn muốn sửa thứ tự trang hoặc xóa vài trang, hãy xem Cách sắp xếp lại, xoay và xóa trang PDF.
Hai chế độ, ba kiểu kết quả
Tệp bạn tải về phụ thuộc vào thẻ đang chọn và số trang được chọn. Ví dụ với report.pdf:
| Chế độ | Kết quả | Tên tệp |
|---|---|---|
| Trích xuất phạm vi tùy chỉnh, một trang | Một PDF chỉ có một trang | report_page_7.pdf |
| Trích xuất phạm vi tùy chỉnh, nhiều trang | Một PDF chứa tất cả các trang đã chọn, theo thứ tự gốc | report_extracted.pdf |
| Trích xuất tất cả trang | Mỗi trang một PDF, đóng gói trong một tệp ZIP | report_all_pages.zip chứa report_page_1.pdf, report_page_2.pdf … |
Như vậy, 1-3, 5, 8-10 cho ra một tệp 7 trang chứ không phải ba tệp. Nếu cần các phần riêng biệt, hãy trích xuất lần lượt từng phần: tài liệu vẫn được mở sẵn sau khi tải xuống, nên bạn chỉ cần nhập 1-3, tải xuống, rồi nhập 5 và tải xuống lần nữa. Mọi lần trích xuất nhiều trang đều có tên report_extracted.pdf, và trình duyệt thường thêm số vào các tên bị trùng, vì vậy hãy đổi tên tệp ngay sau mỗi lần tải.
Các bước thực hiện
- Mở Tách PDF và chọn một tệp PDF trong ô Chọn tệp PDF hoặc kéo và thả vào đây. Nếu bạn thả nhiều tệp cùng lúc, chỉ tệp đầu tiên được dùng.
- Chờ trong lúc hình thu nhỏ của tất cả các trang được tạo. Sau đó, tên tệp, kích thước và số trang hiện phía trên các thẻ, và mọi trang đều được chọn sẵn.
- Ở thẻ Trích xuất phạm vi tùy chỉnh, nhập vào ô Phạm vi trang (ví dụ: 1-3, 5, 8-10) hoặc nhấp vào các hình thu nhỏ. Ban đầu ô này chứa toàn bộ phạm vi, chẳng hạn
1-40, nên hãy xóa nội dung đó hoặc nhấp Bỏ chọn tất cả trước. Chọn tất cả chọn lại mọi trang, và bộ đếm cho biết số trang đã chọn, ví dụ “Đã chọn 7 / 40 trang”. - Hoặc chuyển sang thẻ Trích xuất tất cả trang; chế độ này bỏ qua các trang đã chọn.
- Nhấp Tách PDF & tải xuống; nút Đổi tệp cho phép bắt đầu lại từ đầu.
Khi bạn nhấp vào hình thu nhỏ, nội dung ô phạm vi được viết lại ở dạng gọn: các trang 2, 3, 4 và 9 trở thành 2-4, 9. Hình thu nhỏ được tạo ở độ phân giải thấp, vì vậy hãy kiểm tra nội dung trong tệp đã tải về.
Cách viết phạm vi trang
Các số là vị trí của trang trong tệp, bắt đầu từ 1, giống như nhãn “Trang …” bên dưới mỗi hình thu nhỏ.
- Phân tách các mục bằng dấu phẩy và dùng dấu gạch nối cho một phạm vi. Khoảng trắng xung quanh không ảnh hưởng.
- Thứ tự và các mục lặp lại không quan trọng:
8-10, 1-3, 2cho ra các trang 1, 2, 3, 8, 9, 10 theo thứ tự gốc. 10-8được hiểu là từ 8 đến 10, còn38-45trong tệp 40 trang sẽ dừng ở trang 40. Một số đơn lẻ vượt quá trang cuối, hoặc số 0, sẽ bị bỏ qua.- Phạm vi để trống một đầu như
5-hoặc-3sẽ bị bỏ qua; hãy viết đầy đủ, chẳng hạn5-40. - Chỉ dấu gạch nối thông thường (-) mới được nhận. Dấu gạch ngang dài hơn (en dash) dán từ trình soạn thảo văn bản, như trong
1–3, chỉ chọn trang 1;1 3và1;3cũng vậy.
Số in trên trang thường khác với vị trí trong tệp. Nếu một báo cáo có trang bìa và bốn trang phần mở đầu (đánh số i–iv) trước trang 1, thì trang in số 12 là trang 17 trong tệp (1 + 4 + 12). Hãy kiểm tra các hình thu nhỏ được đánh dấu trước khi tải xuống.
Vì sao tổng dung lượng các phần có thể lớn hơn bản gốc
Phông chữ và hình ảnh xuất hiện trên nhiều trang, như một phông chữ được nhúng hay logo ở đầu trang, thường chỉ được lưu một lần trong bản gốc và dùng chung cho mọi trang. Mỗi tệp mới cần bản sao riêng của mọi tài nguyên mà các trang của nó tham chiếu tới. pdf-lib sao chép nguyên trạng các tài nguyên này: thư viện không thu gọn phông chữ về những ký tự có trên trang được sao chép, cũng không bỏ đi những mục mà trang liệt kê nhưng không dùng đến. Vì vậy, một trang đơn lẻ có thể mang theo tập con phông chữ được tạo cho cả tài liệu, và ở những tệp mà mọi trang dùng chung một danh sách tài nguyên, trang đó còn mang theo mọi phông chữ và hình ảnh có trong danh sách ấy.
Trong thử nghiệm, chúng tôi tạo một báo cáo văn bản khổ A4 dài 40 trang bằng ReportLab của Python (hai phông DejaVu được nhúng dạng tập con, một logo JPEG 900 × 240 pixel trên mọi trang), rồi tách tệp này trong Node.js bằng pdf-lib 1.17.1, đúng phiên bản thư viện mà công cụ LeedyBox tải, với cùng các lệnh gọi:
| Đầu ra | Dung lượng |
|---|---|
| Bản gốc, 40 trang | Khoảng 151 KB |
| Mỗi PDF một trang | Khoảng 86 KB |
| Cả 40 trang thành các tệp riêng (ZIP) | Khoảng 3,4 MB, gấp khoảng 23 lần bản gốc |
1-3, 5, 8-10 thành một PDF 7 trang | Khoảng 94 KB |
Một tệp giống bản quét cho kết quả khác hẳn: mười trang A4 tạo bằng Pillow từ ảnh JPEG thang độ xám 1.240 × 1.754 pixel (150 dpi) có dung lượng khoảng 2,6 MB, và tổng của mười tệp một trang cũng vào khoảng 2,6 MB, vì không có gì được dùng chung. Con số của bạn sẽ khác, nhưng tóm lại:
- Với bản quét, càng ít trang thì dung lượng càng giảm gần như tương ứng (bản trích xuất 7 trang từ tệp quét của chúng tôi khoảng 1,8 MB); còn tài liệu văn bản vẫn giữ một mức dung lượng nền cho phông chữ và hình ảnh dùng chung.
- Gom nhiều trang vào một tệp thường tốn ít dung lượng hơn so với để chính các trang đó thành từng tệp riêng.
- Công cụ lưu các PDF vào ZIP mà không nén, nên tệp ZIP có dung lượng xấp xỉ tổng các tệp bên trong.
Nếu tệp vẫn quá lớn, hãy xem Cách nén PDF.
Tệp mới giữ lại và mất đi những gì
Các trang được sao chép chứ không được hiển thị lại: văn bản vẫn chọn được, hình ảnh không bị nén lại, kích thước và hướng xoay của trang được giữ nguyên. Liên kết web trên các trang được sao chép cũng được giữ. Những gì thuộc về toàn bộ tài liệu thì không được sao chép, trong khi một số tính năng của trang lại phụ thuộc vào chúng:
- Dấu trang (bookmark) và nhãn trang (cách đánh số riêng như i, ii, iii).
- Tiêu đề, tác giả và các thuộc tính tài liệu khác. Các tệp mới ghi pdf-lib là phần mềm tạo tệp (producer) và thời điểm tách là ngày tạo.
- Thẻ trợ năng (accessibility tags), tức cấu trúc mà trình đọc màn hình dựa vào để nhận biết tiêu đề và thứ tự đọc: ngay cả khi bản gốc có gắn thẻ, các tệp mới cũng không có.
- Liên kết nội bộ, chẳng hạn các mục trong mục lục, có thể không dẫn đến đâu nếu trang đích không được trích xuất hoặc nếu liên kết dùng đích có tên (named destination), vốn được lưu ở cấp tài liệu. Các trường biểu mẫu có thể không còn điền được, vì biểu mẫu chứa chúng cũng được định nghĩa ở cấp tài liệu.
- Chữ ký số không còn hiệu lực: chữ ký gắn với chính xác từng byte của tệp gốc, nên một chữ ký vẫn hiện trên trang được sao chép không chứng minh được điều gì về tệp mới. Hãy giữ lại bản gốc đã ký.
Tách PDF không phải là cách an toàn để loại bỏ trang nhạy cảm
Trong một thử nghiệm với pdf-lib 1.17.1, chúng tôi trích xuất trang 1 của một PDF sáu trang, trong đó trang 1 có liên kết tới trang 5. Tệp mới chỉ hiển thị một trang và công cụ trích xuất văn bản cũng chỉ tìm thấy chữ của trang 1, nhưng nội dung của trang 5 vẫn được lưu bên trong tệp dưới dạng dữ liệu không dùng đến, và bất kỳ ai xem cấu trúc bên trong tệp đều có thể đọc được. Mục lục và các tham chiếu chéo có thể kéo theo các trang khác theo cách này. Nội dung bị che trên một trang được sao chép, như chữ nằm dưới ô màu đen hoặc nằm ngoài vùng hiển thị, cũng được sao chép theo. Với tài liệu mật, hãy dùng chức năng xóa thông tin nhạy cảm (redaction) hoặc làm sạch tài liệu (sanitize) của trình chỉnh sửa PDF, hoặc gửi ảnh của các trang tạo bằng PDF sang JPG. Ảnh chỉ chứa hình ảnh trang như khi được vẽ ra, không có lớp văn bản hay các đối tượng bị ẩn, nhưng đổi lại văn bản sẽ không còn chọn hoặc tìm kiếm được.
Sự cố thường gặp và cách khắc phục
- “… là tệp PDF không thể đọc bằng trình duyệt hoặc đã bị hỏng.” Tệp có thể bị hỏng hoặc cần mật khẩu để mở; công cụ không có ô nhập mật khẩu. Nếu được phép, hãy lưu một bản không có bảo vệ bằng một ứng dụng cho phép nhập mật khẩu.
- Hình thu nhỏ hiện ra nhưng khi tách lại báo lỗi về mã hóa. PDF này mở được mà không cần mật khẩu nhưng đã được mã hóa, vì đó là cách lưu các thiết lập quyền như hạn chế chỉnh sửa hoặc in. Bản xem trước được tạo bằng PDF.js, còn việc tách do pdf-lib đảm nhận, và với cách công cụ gọi thư viện này, pdf-lib từ chối tệp đã mã hóa. Công cụ không gỡ bỏ hay vượt qua lớp bảo vệ này.
- “Vui lòng chọn ít nhất một trang để trích xuất.” Chưa có trang hợp lệ nào được chọn, chẳng hạn sau khi nhấp Bỏ chọn tất cả hoặc khi nhập phạm vi để trống một đầu.
- Sai trang. Hãy xem có dấu gạch ngang dài (en dash), thiếu dấu phẩy hay đang dùng số trang in trên giấy không.
- Chậm với tệp dài. Tất cả hình thu nhỏ phải được tạo xong thì các nút điều khiển mới hiện ra, và trước đó thanh tiến trình đứng yên ở khoảng một phần năm, nên với tệp dài, công cụ có thể trông như bị treo. Chế độ Trích xuất tất cả trang còn dựng mọi tệp và cả tệp ZIP trong bộ nhớ. Bản thân công cụ không đặt giới hạn dung lượng, nhưng điện thoại có thể không xử lý nổi một tệp rất lớn mà máy tính vẫn xử lý được.
Trước khi gửi tệp
Hãy kiểm tra số trang, trang đầu, trang cuối và dung lượng của từng tệp, rồi đặt cho tệp một tên dễ hiểu như contract_signature_pages.pdf. Hãy giữ lại bản gốc. Để ghép các phần lại với nhau, hãy dùng Gộp PDF. Nếu bản gốc chưa có số trang in sẵn và bạn muốn một phần đã trích xuất bắt đầu từ, chẳng hạn, số 31, hãy xem Cách thêm số trang vào PDF. Trang công cụ tải PDF.js, pdf-lib và JSZip trực tiếp từ leedybox.com, nhưng tệp của bạn được đọc và tách ngay trong trình duyệt và không được gửi đến máy chủ LeedyBox.
Câu hỏi thường gặp
Tôi có thể tự động tách PDF cứ mỗi 30 trang một tệp không?
Không có tùy chọn tự động. Hãy trích xuất từng phần bằng chế độ Trích xuất phạm vi tùy chỉnh: một tệp 120 trang cần 1-30, 31-60, 61-90 và 91-120, tức bốn lần tải xuống.
Tôi có thể lấy trang 1 đến 3 và trang 7 thành hai tệp riêng cùng lúc không?
Không thể làm trong một bước. Chế độ Trích xuất phạm vi tùy chỉnh tạo một tệp cho mỗi lần tải xuống, nên hãy trích xuất 1-3 trước, rồi đến 7. Chế độ Trích xuất tất cả trang thì tách riêng từng trang.
Tôi có thể đổi thứ tự trang trong lúc trích xuất không?
Không. Các trang giữ nguyên thứ tự gốc. Hãy sắp xếp lại tệp kết quả bằng Sắp xếp trang PDF.
Tách PDF có làm giảm chất lượng không?
Không. Các trang được sao chép bằng pdf-lib thay vì hiển thị lại, nên văn bản và hình ảnh vẫn như cũ. Những gì có thể mất là các thành phần cấp tài liệu như dấu trang và nhãn trang; liên kết hoặc trường biểu mẫu cũng có thể không còn hoạt động, như đã nêu ở trên.
Vì sao trình đọc PDF hiển thị trang 1 cho một trang có số in là 23?
Trình đọc đếm theo vị trí trong tệp mới, vốn không có nhãn trang. Số in trên trang là một phần nội dung trang nên không thay đổi. Đánh số trang PDF có thể đóng số mới lên trang, bắt đầu từ số bạn chọn, nhưng công cụ này thêm số đè lên trang chứ không xóa số đã in sẵn, nên phù hợp với những trang chưa có số.