Bài viết
Bộ công cụ PDF trong trình duyệt: dọn dẹp, dàn trang và sắp xếp cấu trúc
Phần lớn công việc với PDF rơi vào ba nhóm: làm cho tài liệu dễ đọc, sắp xếp các trang trên mặt giấy, và chỉnh sửa dữ liệu gắn kèm theo nó. Trang này cung cấp khoảng mười một công cụ nhỏ bao quát ba nhóm đó, và mỗi công cụ đều xử lý tệp ngay trong thẻ trình duyệt của bạn. Tệp PDF được mở, chỉnh sửa và lưu mà không rời khỏi thiết bị, nên cùng một công cụ có thể phục vụ một phiếu lương cũng tốt như một hợp đồng mật.
Dọn dẹp và chỉnh sửa bản quét
Một trang lấy từ máy quét hay máy ảnh điện thoại thường cần vài chỉnh sửa trước khi đáng giữ lại. Công cụ xoay giúp xoay các trang bị vào nằm ngang hay lộn ngược, theo từng bước 90 độ, và thay cho hướng dẫn xoay PDF quét cũ. Công cụ chỉnh thẳng làm cho dòng chữ hơi nghiêng trở nên ngay ngắn, điều này quan trọng khi bạn dự định chạy nhận dạng văn bản sau đó. Công cụ chuyển sang thang xám bỏ các kênh màu, nhờ vậy thu nhỏ tệp và xóa lớp ám màu nhạt mà máy quét phẳng thêm vào giấy trắng. Công cụ sửa chữa thành thật về giới hạn của nó: nó dựng lại những phần của một PDF hỏng mà pdf-lib có thể phân tích và lưu lại, nên cứu được nhiều tệp mà các trình đọc khác từ chối, nhưng nó không thể tái tạo nội dung chưa bao giờ được ghi vào tệp. Hãy dùng nó như một lần thử đầu tiên với tài liệu không mở được, chứ không phải như một sự bảo đảm.

Dàn trang
Khi tài liệu đã dễ đọc, bạn có thể cần đổi cách các trang nằm trên tờ giấy. Công cụ cắt xén tỉa lề hoặc cắt một trang xuống còn vùng bạn quan tâm. Công cụ đổi kích thước thay đổi kích cỡ trang, ví dụ từ US Letter sang A4, để tài liệu in đúng ở một quốc gia khác. Công cụ n-up đặt nhiều trang cạnh nhau trên một tờ, rất tiện cho tờ phát tay hoặc để tiết kiệm giấy. Công cụ trộn xen kẽ ghép hai tệp theo từng trang, và lý do thường gặp để dùng nó là một bản quét hai mặt thực hiện trên máy quét một mặt: bạn quét các mặt trước vào một tệp, lật chồng giấy rồi quét các mặt sau vào tệp thứ hai, sau đó trộn chúng lại để các trang về đúng thứ tự ban đầu. Không công cụ nào trong số này biến văn bản của bạn thành ảnh điểm, nên một PDF sinh ra từ dạng số vẫn giữ được văn bản chọn được sau khi đổi bố cục.
Siêu dữ liệu và cấu trúc
Nhóm cuối cùng là dữ liệu bao quanh các trang. Công cụ siêu dữ liệu đọc và ghi lại các trường tiêu đề, tác giả, chủ đề và từ khóa, đồng thời cho phép bạn xóa chúng trước khi chia sẻ tài liệu, một bước nhỏ nhưng thật sự về quyền riêng tư. Công cụ dấu trang dựng nên mục lục bấm được mà trình đọc PDF hiển thị ở khung bên, để một báo cáo dài trở nên dễ điều hướng. Công cụ HTML sang PDF đi theo chiều ngược lại và biến đoạn mã dán vào thành PDF, kèm một lưu ý rõ ràng: nó kết xuất kết quả thành ảnh của trang, nên đầu ra không phải là văn bản chọn được. Khi bạn thực sự cần lấy chữ ra khỏi một PDF, có hai con đường khác nhau. Nếu tệp được tạo bằng dạng số, công cụ PDF sang văn bản đọc thẳng và chính xác phần văn bản nhúng trong đó. Nếu tệp là bản quét, không có chữ để đọc, nên bạn cần nhận dạng ký tự quang học, vốn đoán các chữ cái từ hình ảnh và có thể mắc lỗi. Biết mình đang ở trường hợp nào sẽ tránh được rất nhiều bối rối.
Cấu trúc nội bộ PDF và bảng XREF
File PDF không phải tài liệu tuyến tính; đó là cơ sở dữ liệu các đối tượng rời rạc (từ điển, mảng, luồng và giá trị số) được kết nối bởi bảng Cross-Reference (XREF) ở cuối file. Bảng XREF ánh xạ mỗi ID đối tượng đến offset byte chính xác của nó. Một số trình soạn thảo trên máy tính lưu thay đổi dưới dạng cập nhật gia tăng: một phần XREF mới được thêm vào file, chỉ ghi đè các đối tượng đã sửa đổi, giữ nguyên các byte gốc bên dưới. Các công cụ dựa trên trình duyệt xây dựng trên pdf-lib hoạt động khác: chúng phân tích toàn bộ tài liệu thành một đồ thị đối tượng trong bộ nhớ, áp dụng thay đổi được yêu cầu (ví dụ viết lại mục nhập Rotate của một trang từ 0 thành 90), rồi tuần tự hóa lại toàn bộ file từ đầu thành một PDF hoàn toàn mới. Việc viết lại toàn bộ này có nghĩa là cả tài liệu phải vừa trong bộ nhớ trong khi công cụ chạy, đó là lý do mỗi công cụ áp đặt một giới hạn kích thước đầu vào tối đa; nó không bao giờ tải bất kỳ phần nào của tài liệu lên máy chủ.

Nén luồng và cách sửa chữa PDF hoạt động
Nội dung trang trong PDF (lệnh vẽ văn bản, đường vector, ảnh raster) nằm trong các đối tượng Stream, thường được nén với FlateDecode (zlib). Khi PDF bị hỏng, thiệt hại thường là bảng XREF bị sai định dạng hoặc luồng nén bị cắt ngắn. Công cụ sửa chữa bỏ qua hoàn toàn bảng XREF bị hỏng và quét tuyến tính luồng byte thô, tìm kiếm các dấu hiệu obj và endobj giới hạn các đối tượng riêng lẻ. Nó trích xuất các đối tượng đó, cố gắng giải nén các luồng liên quan, và xây dựng bảng XREF mới, đúng định dạng từ đầu. Nếu hư hỏng nằm bên trong luồng nén Flate chính nó, dữ liệu trong đối tượng cụ thể đó không thể phục hồi; cấu trúc tài liệu có thể được khôi phục nhưng các trang bị ảnh hưởng có thể trống hoặc thiếu ảnh.
Công cụ trong bài viết này
- Chỉnh thẳng trang quétLàm thẳng các PDF hoặc hình ảnh quét bị nghiêng hoàn toàn trong trình duyệt, không tải lên.
- PDF sang thang xámChuyển PDF màu sang thang xám hoàn toàn trong trình duyệt, không tải lên.
- Sửa chữa PDFXây dựng lại một PDF bị hỏng hoặc phình to thành bản sao sạch, đúng định dạng, hoàn toàn trong trình duyệt, không tải lên.
- Xoay trang PDFXoay các trang đã chọn của PDF (90, 180 hoặc 270°) mà không cần tải lên.
- Cắt trang PDFCắt xén trực quan bất kỳ trang PDF nào, chọn một vùng và áp dụng cho tất cả các trang hoặc chỉ một trang, không cần tải lên.
- Đổi kích thước trang PDFTỷ lệ mọi trang theo A4, Letter, Legal, A3 hoặc A5, hoặc theo phần trăm, không cần tải lên.
- PDF N-up (trang mỗi tờ)Đặt 2, 4, 6, 8, 9 hoặc 16 trang PDF trên mỗi tờ để tiết kiệm giấy. 100% trong trình duyệt, không tải lên.
- Xen kẽ & trộn hai PDFXen kẽ các trang từ hai PDF (A1, B1, A2, B2…) để quét hai mặt. Không tải lên.
- Trình xóa / chỉnh sửa siêu dữ liệu PDFXóa hoặc chỉnh sửa siêu dữ liệu ẩn của PDF (tác giả, tiêu đề, phần mềm…) trong trình duyệt. Không tải lên.
- Thêm dấu trang PDFThêm khung dấu trang có thể nhấp (mục lục) vào bất kỳ PDF nào, định nghĩa tiêu đề, số trang và phân cấp. 100% trong trình duyệt, không tải lên.
- HTML sang PDFChuyển HTML đã dán sang PDF trong trình duyệt (trong khả năng, dạng raster). Không tải lên.
Câu hỏi thường gặp
Các công cụ PDF này có tải tệp của tôi lên máy chủ không?
Không. Mỗi công cụ trong số này mở, chỉnh sửa và lưu tệp PDF ngay trong thẻ trình duyệt của bạn bằng JavaScript và WebAssembly. Tệp được đọc từ ổ đĩa vào trang và kết quả được ghi thẳng thành một bản tải xuống, nên không có gì gửi qua mạng. Bạn có thể xác nhận điều này bằng cách mở bảng mạng của trình duyệt trong khi dùng công cụ, hoặc ngắt kết nối internet sau khi trang đã tải xong và thấy công cụ vẫn hoạt động.
Công cụ sửa chữa có sửa được mọi tệp PDF hỏng không?
Không phải tệp nào cũng được. Công cụ sửa chữa phân tích lại tài liệu và ghi ra một bản sao mới, đúng định dạng, nhờ đó vá được các bảng tham chiếu chéo bị hỏng và nhiều lỗi cấu trúc khiến PDF không mở được. Nó không thể bịa ra dữ liệu thật sự đã mất hay gỡ bỏ mã hóa mạnh. Hãy xem nó như một lần thử nhanh đầu tiên: nếu nó cứu được tệp của bạn thì xong, còn nếu không, bạn cũng chẳng mất gì và có thể đi tìm bản gốc.