Sắp xếp lại các trang của PDF
Kéo và thả để sắp xếp lại, xóa hoặc nhân bản các trang. Tất cả việc xử lý diễn ra trong trình duyệt của bạn, PDF của bạn không bao giờ rời khỏi thiết bị.
Tải lên PDF
Thả PDF của bạn ở đây hoặc nhấp để tải lên
Kích thước tệp tối đa: 50 MB
Cách hoạt động
- Tải lên PDF của bạn, kéo và thả tệp PDF vào vùng tải lên hoặc nhấp để duyệt thiết bị của bạn.
- Sắp xếp lại, xóa hoặc nhân bản các trang, kéo các hình thu nhỏ để sắp xếp lại chúng. Sử dụng các nút xóa (X) hoặc nhân bản trên mỗi thẻ trang để xóa hoặc sao chép nó.
- Tải xuống PDF đã sắp xếp lại, nhấp « Tải xuống PDF đã sắp xếp lại » để lưu tệp đã sửa đổi vào thiết bị của bạn. PDF gốc không bao giờ bị sửa đổi.
Tại sao sắp xếp lại các trang của PDF?
Đôi khi PDF có các trang theo thứ tự sai, một tài liệu được quét ngược, một báo cáo được hợp nhất với phụ lục đứng trước phần tóm tắt, hoặc một bài thuyết trình được xuất với trang tiêu đề ở cuối. Thay vì xuất lại từ ứng dụng nguồn (thường không có sẵn), bạn có thể sửa thứ tự trang trực tiếp. Công cụ này cũng xử lý các trường hợp phổ biến: xóa một trang trống, nhân bản một trang chữ ký hoặc di chuyển một bản tóm tắt lên đầu. Mọi thứ diễn ra trong trình duyệt của bạn qua PDF-lib và PDF.js, tệp không bao giờ rời khỏi thiết bị của bạn, lý tưởng cho hợp đồng, khai thuế, hồ sơ y tế và bất kỳ điều gì bạn không muốn gửi đến một máy chủ không xác định.
Tính năng
- Sắp xếp lại bằng kéo-thả, chộp lấy bất kỳ hình thu nhỏ nào và thả nó vào một vị trí mới. Hoạt động với chuột và cảm ứng.
- Xóa và nhân bản, mỗi thẻ trang có một nút X để xóa và một nút để nhân bản chỉ với một cú nhấp.
- Hình thu nhỏ trực tiếp, xem bản xem trước được kết xuất của mỗi trang để biết chính xác bạn đang di chuyển gì.
- Đặt lại thứ tự, một cú nhấp khôi phục trình tự gốc nếu bạn thay đổi ý kiến.
- 100% phía máy khách, PDF của bạn được xử lý hoàn toàn trong trình duyệt của bạn. Không có tải lên, không có tài khoản, không có theo dõi nội dung tệp.
Câu hỏi thường gặp
Tệp PDF của tôi có an toàn không?
Có, tất cả việc xử lý diễn ra trong trình duyệt của bạn. Tệp PDF của bạn không bao giờ được gửi đến máy chủ, nó luôn ở lại trên thiết bị của bạn.
Tôi có thể xóa hoặc nhân bản các trang không?
Có, mỗi trang cung cấp một nút xóa (X) và một nút nhân bản (biểu tượng sao chép) để xóa hoặc sao chép các trang theo ý muốn.
Nó có hoạt động trên thiết bị di động không?
Có, công cụ này hoạt động trên thiết bị di động với hỗ trợ cảm ứng và kéo-thả để sắp xếp lại các trang.
Công cụ này có hoạt động với PDF được quét không?
Công cụ này hoạt động với tất cả các tệp PDF tiêu chuẩn. Đối với tài liệu được quét (PDF chỉ bao gồm hình ảnh), các tính năng trích xuất văn bản có thể bị hạn chế vì nội dung được lưu trữ dưới dạng hình ảnh thay vì văn bản có thể chọn được.
Có giới hạn số trang không?
Không có giới hạn cố định về số trang. Tốc độ xử lý phụ thuộc vào khả năng của trình duyệt và thiết bị của bạn. Các tài liệu hàng trăm trang hoạt động nhưng có thể mất nhiều thời gian hơn.
«Sắp xếp lại các trang PDF» thực sự có nghĩa là gì
Ở cấp độ người dùng, sắp xếp lại là thao tác lấy một PDF có các trang theo một thứ tự và tạo ra một PDF có các trang theo thứ tự khác. Giao diện kéo và thả; hình thu nhỏ trên màn hình; thả một hình thu nhỏ vào vị trí mới; tải xuống kết quả. Ở cấp độ định dạng tệp, thao tác là một thao tác trên cây trang. Mọi PDF đều có một đối tượng danh mục gốc trỏ đến một nút /Pages kiểu /Type /Pages. Nút /Pages có một mảng /Kids các tham chiếu đến các con của nó, hoặc là các đối tượng trang lá (/Type /Page) hoặc là các nút /Pages trung gian khác tạo thành một cây. Mục /Count trên mỗi nút mang tổng số lá bên dưới, vì vậy trình đọc có thể tìm trang N trong thời gian O(log N) mà không cần đi qua mọi lá.
Sắp xếp lại, trong biểu diễn này, chỉ là viết lại mảng /Kids của nút /Pages gốc (hoặc tái cấu trúc các nút trung gian nếu cây sâu). Bản thân các đối tượng trang không di chuyển hay thay đổi; chỉ các tham chiếu đến chúng thay đổi. Điều này nghe có vẻ đơn giản và phần lớn là vậy. Sự phức tạp xuất hiện khi các đối tượng trang riêng lẻ chia sẻ tài nguyên (phông chữ, hình ảnh nhúng, luồng nội dung) với các trang khác: việc viết lại cây không được mồ côi các tài nguyên dùng chung đó, và bảng tham chiếu chéo của tệp phải được tạo lại để các offset byte đến mọi đối tượng đều đúng. Một triển khai sắp xếp lại ngây thơ chỉ hoán đổi các mục /Kids mà không viết lại bảng xref sẽ tạo ra một PDF bị hỏng. Các thư viện sắp xếp lại xử lý điều này bằng cách viết một tệp mới từ đầu đến cuối với bảng xref mới, không phải bằng cách vá tệp gốc.
Cách công cụ này hoạt động
Công cụ này sử dụng hai thư viện PDF song song: pdf-lib để xây dựng đầu ra và PDF.js để kết xuất hình thu nhỏ. Chúng xử lý các phần bổ sung của quy trình. Khi bạn chọn một PDF, API File của trình duyệt chuyển các byte thô cho cả hai thư viện. PDF.js phân tích cú pháp lớp hiển thị của tệp, gọi getPage(n) cho mỗi trang và kết xuất mỗi trang lên một canvas nhỏ để tạo ra lưới hình thu nhỏ bạn thấy. Hình thu nhỏ là kết xuất bitmap phía máy khách; không có gì về chúng được truyền đi đâu cả.
Khi bạn kéo một hình thu nhỏ đến vị trí mới, chỉ một mảng JavaScript chỉ số trang trong bộ nhớ thay đổi. Không có thao tác PDF nào xảy ra trong khi kéo. Các byte PDF gốc vẫn còn nguyên vẹn. Khi bạn nhấp vào «Tải xuống PDF đã sắp xếp lại», pdf-lib lấy mảng chỉ số (ví dụ [3, 0, 1, 2, 4] cho một tài liệu 5 trang trong đó trang 4 đã được di chuyển lên trước) và xây dựng một PDF mới: nó tải nguồn vào một PDFDocument, tạo một PDFDocument rỗng mới, gọi copyPages(source, indices) để sao chép các trang được yêu cầu, sau đó addPage() cho mỗi trang đã sao chép theo thứ tự. Kết quả được tuần tự hóa thành Blob, được gói trong URL tải xuống và được cung cấp cho bạn.
copyPages làm công việc nặng nhọc: nó truy tìm mọi đối tượng mà các trang đích phụ thuộc (phông chữ, hình ảnh nhúng, luồng nội dung, chú thích, từ điển hành động) và sao chép chúng vào tài liệu mới, sau đó viết lại bảng tham chiếu chéo để mọi offset byte đều nhất quán. PDF kết quả có cấu trúc sạch sẽ, giống hệt trong đầu ra được kết xuất với bản gốc theo từng trang, chỉ với các trang theo thứ tự mới. Không có yêu cầu mạng nào được kích hoạt trong tất cả điều này. Bạn có thể xác minh: mở công cụ phát triển trình duyệt trên tab Mạng, thực hiện tải lên + sắp xếp lại + tải xuống và quan sát xem có yêu cầu nào với nội dung tệp không. Sẽ không có yêu cầu nào ngoài tải CDN một lần của pdf-lib (~1,1 MB) và PDF.js (~440 KB) mà trình duyệt lưu vào bộ đệm.
Tại sao hai thư viện thay vì một
pdf-lib là một thư viện tập trung vào đầu ra: nó có thể đọc PDF ở cấp độ cấu trúc, sửa đổi cây trang, sao chép các trang giữa các tài liệu, nhúng nội dung mới và viết một PDF sạch. Điều nó không làm là kết xuất các trang thành pixel. Đó là lãnh địa của PDF.js, vốn triển khai toàn bộ đặc tả kết xuất PDF, bố cục văn bản, raster hóa phông chữ, đồ họa vectơ, độ trong suốt, chế độ hòa trộn, tất cả đường đến canvas. Đối với một công cụ sắp xếp lại chúng ta cần cả hai. Sắp xếp lại là một thao tác cấu trúc (lãnh địa của pdf-lib), nhưng UX đòi hỏi hiển thị cho người dùng một bản xem trước trực quan để họ biết trang nào là trang nào (lãnh địa của PDF.js). Một thư viện đơn lẻ làm cả hai sẽ lớn hơn; việc chia thành hai thư viện là lựa chọn thực dụng của nhà phát triển web.
Chi phí là hai lần tải xuống CDN trong lần truy cập đầu tiên (tổng khoảng 1,5 MB nén). Chi phí được trả một lần cho mỗi trình duyệt cho mỗi vòng đời bộ đệm; các lần truy cập tiếp theo tải cả hai thư viện từ bộ đệm tức thì. Không có thành phần máy chủ và không có phần nào của tệp rời khỏi trình duyệt.
Các quy trình làm việc thực tế thúc đẩy việc sắp xếp lại trang
- Tài liệu được quét sai thứ tự. Máy quét đưa các trang ngược, hoặc người dùng đưa nhân đôi hai trang và trang thứ ba được thêm vào cuối, hoặc bộ nạp giấy lấy theo thứ tự ngược. Quét lại thường không thực tế (bản gốc đã mất, máy quét ở văn phòng khác, tài liệu có hàng trăm trang). Sắp xếp lại sửa nó trong vài giây.
- Báo cáo được hợp nhất với các phụ lục ở sai chỗ. Một số tài liệu nguồn đã được kết hợp thành một PDF, và thứ tự không phải là thứ tự biên tập: phụ lục đáp xuống trước phần kết luận, thư xin việc kết thúc ở phía sau, mục lục ở giữa. Phổ biến sau khi sử dụng công cụ hợp nhất nối kết mà không hỏi thứ tự.
- Thực hiện hợp đồng với các trang chữ ký riêng biệt. Một trang chữ ký đã ký trở lại dưới dạng PDF riêng, và nó cần phải là trang cuối cùng của hợp đồng đã lắp ráp (hoặc trang đầu, ở một số khu vực pháp lý). Sắp xếp lại chèn trang đã ký vào vị trí chính xác trong tài liệu chính, không cần in và quét lại.
- Khám phá pháp lý và chuẩn bị kiện tụng. Các sản phẩm tài liệu đến theo thứ tự dấu Bates, hiếm khi là thứ tự hữu ích cho một bản tóm tắt. Sắp xếp lại cho bằng chứng phiên điều trần hoặc cặp xét xử là một nhiệm vụ thông thường trong hỗ trợ kiện tụng, và làm điều đó trong trình duyệt giữ các tài liệu đặc quyền xa khỏi máy chủ bên thứ ba.
- Sắp xếp hồ sơ y tế. PDF lâm sàng (mẫu nhập viện, kết quả xét nghiệm, ghi chú điều trị) đến từ nhiều hệ thống theo thứ tự tùy ý. Điều phối viên chăm sóc sắp xếp chúng theo trình tự thời gian hoặc theo lần khám trước khi chia sẻ với chuyên gia. Nội dung nhạy cảm vẫn ở trong trình duyệt.
- Gửi học thuật và lắp ráp luận văn. Một luận văn có tóm tắt, các chương, tài liệu tham khảo và phụ lục theo thứ tự cụ thể mà ủy ban yêu cầu. Sắp xếp lại cho phép sinh viên sửa thứ tự mà không cần xuất lại từ Word (điều này thường đặt lại định dạng và phá vỡ mục lục).
Các cạm bẫy phổ biến và ý nghĩa của chúng
- Siêu liên kết trỏ đến các trang sai sau khi sắp xếp lại. PDF nguồn có siêu liên kết hoặc chú thích tham chiếu trực tiếp chỉ số trang (ví dụ liên kết mục lục đến «trang 3» thay vì đến một đích có tên). Sau khi sắp xếp lại, những tham chiếu đó vẫn trỏ đến chỉ số trang CŨ. Bản sửa lỗi là làm phẳng PDF nguồn bằng Làm phẳng PDF trực tuyến miễn phí trước khi sắp xếp lại, hoặc chấp nhận rằng các liên kết số trang tuyệt đối sẽ cần sửa chữa thủ công sau đó. Các liên kết đích có tên (cách tiếp cận hiện đại) tồn tại đúng cách.
- Tệp đã tải xuống lớn hơn bản gốc. copyPages của pdf-lib không khử trùng lặp tài nguyên dùng chung mạnh mẽ như PDF nguồn có thể đã làm. Nếu các trang 2 và 5 của bản gốc chia sẻ một tập con phông chữ và bạn tách chúng ra bằng cách sắp xếp lại, tệp mới có thể kết thúc với hai bản sao của phông chữ. Sự khác biệt thường nhỏ (dưới 10 phần trăm). Chạy kết quả qua Nén PDF trực tuyến miễn phí nếu kích thước quan trọng.
- Dấu trang hoặc các mục mục lục bây giờ sai. Sao chép trang của pdf-lib bảo toàn các đích có tên rõ ràng được gắn vào các trang đã sao chép, nhưng dàn ý tài liệu (cây dấu trang) sống ở cấp danh mục gốc và không được tự động viết lại khi các trang di chuyển. Đầu ra đã sắp xếp lại giữ văn bản dấu trang nhưng dấu trang có thể trỏ đến các trang sai. Hạn chế đã biết của cách tiếp cận sao chép trang; cách giải quyết là thêm lại dấu trang sau khi sắp xếp lại với một trình chỉnh sửa dàn ý chuyên dụng (Adobe Acrobat Pro làm điều này một cách tự nhiên).
- Các trường biểu mẫu ngừng hoạt động sau khi sắp xếp lại. Nếu PDF nguồn có các trường AcroForm, các đối tượng trường sống ở cấp tài liệu (trong
/AcroForm /Fields) nhưng các chú thích widget của chúng sống trên các trang. Sau khi sắp xếp lại, các widget di chuyển cùng với các trang, nhưng các liên kết trường-tới-widget có thể không được bảo toàn hoàn hảo. Bản sửa lỗi cho quy trình «cuối cùng, không thể chỉnh sửa» là làm phẳng biểu mẫu trước khi sắp xếp lại; cho «vẫn có thể điền sau khi sắp xếp lại» sử dụng Adobe Acrobat Pro. - Kéo và thả không hoạt động trên màn hình cảm ứng của tôi. Một số trình duyệt di động xử lý các sự kiện kéo không nhất quán. Công cụ này đăng ký cả sự kiện kéo HTML5 (máy tính để bàn) và sự kiện cảm ứng (di động), nhưng các phiên bản trình duyệt Android cụ thể có lỗi đã biết với kéo chạm-và-giữ. Nếu kéo không thành công trên cảm ứng, hãy thử trình duyệt máy tính để bàn; kết quả sắp xếp lại giống nhau bất kể bạn thực hiện kéo ở đâu.
- PDF có bảo vệ bằng mật khẩu. Công cụ này không thể đọc cây trang của PDF được mã hóa: pdf-lib cần phân tích cú pháp cấu trúc, và phân tích cú pháp bị chặn bởi giải mã. Mở khóa trước với Mở khóa PDF miễn phí trực tuyến, sau đó sắp xếp lại, sau đó bảo vệ lại với Bảo vệ PDF bằng mật khẩu miễn phí trực tuyến nếu cần. Pipeline ba bước là quy trình tiêu chuẩn để chỉnh sửa tài liệu an toàn.
Sắp xếp lại chỉ trình duyệt so với đám mây
Mọi dịch vụ sắp xếp lại PDF đám mây (Smallpdf, ILovePDF, PDF24, Adobe Acrobat Online, Sejda, Lumin, Soda) tải PDF của bạn lên máy chủ của nhà điều hành, kết xuất hình thu nhỏ phía máy chủ, để bạn kéo trong trình duyệt đối với những hình ảnh được kết xuất phía máy chủ đó, sau đó gửi thứ tự cuối cùng của bạn trở lại máy chủ để tạo ra PDF đã sắp xếp lại và phục vụ nó dưới dạng tải xuống. Các tác động về quyền riêng tư khác với việc tải lên tệp bình thường theo một cách nhỏ nhưng thú vị: nhà điều hành nhất thiết phải đọc nội dung của mọi trang (để kết xuất hình thu nhỏ) trước khi bạn đưa ra bất kỳ quyết định sắp xếp lại nào. Ngay cả khi bạn đổi ý và không bao giờ tải xuống kết quả, nhà điều hành đã xử lý nội dung.
Công cụ này không tải PDF lên. pdf-lib và PDF.js đều chạy trong tab trình duyệt. Byte tệp được đọc một lần bởi API File, được cung cấp cho các trình phân tích cú pháp của cả hai thư viện và không bao giờ được tuần tự hóa trở lại mạng. Lưu lượng mạng duy nhất là lần tải xuống CDN một lần của hai thư viện trong lần truy cập đầu tiên; các lần truy cập tiếp theo hoàn toàn có thể sử dụng ngoại tuyến từ bộ đệm. Đánh đổi là phạm vi tính năng. Các dịch vụ đám mây thường kết hợp các thao tác phụ: OCR các trang được quét trước khi sắp xếp lại, chuyển đổi tệp đính kèm thành PDF khi đang sử dụng, ký-và-gửi sau khi sắp xếp lại. Công cụ phía trình duyệt ở đây chỉ thực hiện sắp xếp lại. Đối với quy trình tập trung «Tôi cần sửa thứ tự và tải xuống», trình duyệt nhanh hơn nghiêm ngặt (không chờ tải lên, không giới hạn kích thước tải lên) và riêng tư hơn.
Khi nào công cụ khác là lựa chọn đúng đắn
- PDF trên 200 MB trên thiết bị bộ nhớ hạn chế. Hai thư viện tải toàn bộ tệp vào bộ nhớ; các tệp rất lớn có thể khiến tab bị treo. Sử dụng công cụ máy tính để bàn (Adobe Acrobat, qpdf CLI, PDFsam) cho các tệp lớn.
- Biểu mẫu XFA hoặc mã hóa dựa trên chứng chỉ. pdf-lib không xử lý đáng tin cậy các cấu trúc độc quyền của Adobe. Adobe Acrobat là công cụ chuẩn cho những loại đó.
- Sắp xếp lại cần giữ cấu trúc dấu trang/dàn ý. Nếu tài liệu có dàn ý phức tạp và bạn cần dấu trang đi theo các trang đến vị trí mới của chúng, tính năng Sắp xếp Trang của Adobe Acrobat Pro xử lý điều này một cách tự nhiên; pdf-lib thì không.
- Sắp xếp lại hàng loạt tự động như một phần của pipeline. Để sắp xếp lại phía máy chủ hoặc theo kịch bản, sử dụng pdf-lib trực tiếp từ Node.js (cùng thư viện, không cần tab trình duyệt), pikepdf của Python, hoặc cú pháp phạm vi trang rõ ràng của CLI qpdf.
Câu hỏi thường gặp khác
Tại sao hình thu nhỏ trang nhỏ?
PDF.js kết xuất hình thu nhỏ ở kích thước cố định (~150 px chiều rộng) để giữ việc sử dụng bộ nhớ có thể quản lý được cho các tài liệu có hàng trăm trang. PDF đã xuất sử dụng các trang nguồn ở ĐỘ PHÂN GIẢI ĐẦY ĐỦ: chất lượng kết xuất hình thu nhỏ không có tác động đến chất lượng đầu ra. Nếu hình thu nhỏ quá nhỏ để xem những gì có trên mỗi trang, hãy phóng to trong trình duyệt của bạn; hình thu nhỏ sẽ tỷ lệ tương ứng.
Nó có hoạt động ngoại tuyến không?
Sau lần truy cập đầu tiên, có. pdf-lib và PDF.js được trình duyệt lưu vào bộ đệm khi tải lần đầu (tổng khoảng 1,5 MB nén). Các lần truy cập tiếp theo hoạt động mà không cần kết nối mạng, miễn là bộ đệm trình duyệt chưa bị xóa. Bản thân việc sắp xếp lại PDF ban đầu không bao giờ cần mạng, chỉ cần tải thư viện.
Tôi có thể sắp xếp lại các trang từ nhiều PDF vào một không?
Không trực tiếp trong công cụ này: UI sắp xếp lại giả định một tài liệu nguồn duy nhất. Quy trình hai bước là: sử dụng Ghép PDF Trực Tuyến Miễn Phí để kết hợp các nguồn của bạn thành một PDF, sau đó đưa PDF đã kết hợp đó đến đây để kéo các trang vào thứ tự cuối cùng đúng. Đối với các quy trình giữa các tài liệu phức tạp hơn (kéo trang 3 của tệp A giữa các trang 5 và 6 của tệp B), Sắp xếp Trang của Adobe Acrobat Pro xử lý kéo giữa các tài liệu một cách tự nhiên.
Tôi có nên sắp xếp lại trước hay sau khi ký, làm phẳng, nén?
Thứ tự an toàn là: sắp xếp lại, làm phẳng, ký, nén. Sắp xếp lại trước vì các thao tác tiếp theo có thể phụ thuộc vào trình tự trang cuối cùng. Làm phẳng tiếp theo vì nó nướng các trường biểu mẫu thành nội dung tĩnh để các công cụ phía sau xử lý chúng đồng nhất. Ký sau khi làm phẳng vì chữ ký mật mã cam kết với chuỗi byte cuối cùng của tài liệu và bất kỳ thay đổi nào tiếp theo đều làm cho nó vô hiệu. Nén cuối cùng (tùy chọn) để giảm kích thước cho việc truyền tải. Bỏ qua bất kỳ bước nào bạn không cần.
Lớp văn bản OCR có được bảo toàn không?
Có. Văn bản OCR được lưu trữ dưới dạng văn bản vô hình trên mỗi trang (một luồng nội dung được đánh dấu là vô hình), và luồng nội dung đó là một phần của đối tượng trang. Khi pdf-lib sao chép một trang, nó sao chép toàn bộ đối tượng trang bao gồm các luồng nội dung, phông chữ và bất kỳ lớp OCR vô hình nào của nó. Tìm kiếm-và-chọn vẫn hoạt động trên đầu ra đã sắp xếp lại chính xác như trên bản gốc.
Có một tương đương cho máy tính để bàn hoặc dòng lệnh không?
pdf-lib chạy trong Node.js (npm install pdf-lib) và mã sắp xếp lại giống nhau: copyPages(source, indices) sau đó addPage() cho mỗi cái. Đối với dòng lệnh, qpdf có một cú pháp chọn lọc theo trang: qpdf --pages input.pdf 3,1,2,4 -- input.pdf output.pdf sắp xếp lại các trang trực tiếp. Thư viện pikepdf của Python phản chiếu các thao tác tương tự với cú pháp Pythonic sạch hơn. Sắp xếp Trang của Adobe Acrobat Pro thực hiện nó với GUI và còn bảo toàn dấu trang/dàn ý đúng cách.