BookTranslator
BookTranslator

Số trang PDF không khớp với sách? Hãy kiểm tra Page Label trước tiên

Khắc phục lỗi điều hướng PDF không khớp với trang sách in. Xem sáu tệp mẫu minh họa phần đầu đánh số La Mã, một tranh đính kèm và một đoạn trích bắt đầu từ trang 37.

BookTranslator

BookTranslator Team

13 phút đọc

Nếu trình đọc PDF hiển thị trang 4 trong khi số trang trên chính cuốn sách là 1, trước tiên hãy kiểm tra page labelcủa tệp. Trang bìa và phần giới thiệu được đánh số La Mã có thể làm lệch vị trí thực tế mà không hề làm cuốn sách bị thiếu trang. Hãy sửa nhãn điều hướng trên một bản sao; đừng vội đóng dấu số mới đè lên các trang hoặc xóa phần giới thiệu.

Cách khắc phục đó cũng có giới hạn: nhãn không thể khôi phục bản scan bị thiếu, không sửa được thứ tự các trang hay giúp bạn biết số trang bị mờ từng là gì. Trước tiên, hãy xác định trang nào thực sự tồn tại. Sau đó mới điều chỉnh điều hướng để phản ánh chính xác trang đó.

Chúng tôi đã tạo ba cặp tệp trước/sau có thể tải xuống để minh họa sự khác biệt: một cuốn sổ tay bảy trang, một phiên bản có chèn hình minh họa không đánh số và một đoạn trích bắt đầu từ trang in 37. Trong mỗi cặp, nhãn đã thay đổi trong khi nội dung hiển thị của các trang vẫn giữ nguyên đến từng điểm ảnh.

Phân biệt ba loại số trước khi chỉnh sửa bất kỳ điều gì

Trong hướng dẫn này, vị trí tệp là trang thứ nhất, thứ hai, thứ ba trong PDF. Số in là con số hiển thị trực quan trên trang. Page label là mã định danh logic được lưu trữ để điều hướng, chẳng hạn như ii hoặc A-1.

. Các giá trị này hoàn toàn có thể khác nhau một cách hợp lệ. Tài liệu giải thích về page label của Hiệp hội PDF mô tả các chuỗi đánh số, tiền tố cũng như sự khác biệt giữa chỉ mục trang, số trang và nhãn trang. Một tệp có thể chứa phần đầu đánh số La Mã, phần thân đánh số lại từ đầu và các phụ lục có tiền tố mà không hề bị sai tổng số trang.

Dưới đây là bảng ánh xạ trong tệp hướng dẫn bảy trang của chúng tôi:

Vị trí tệpSố in hiển thịNhãn điều hướng gốcNhãn đã sửa
1Không có: trang bìa1Cover
2i2i
3ii3ii
4141
5252
6A-16A-1
7A-27A-2

Cover là nhãn mô tả do chúng tôi gán, không phải chữ số in trên trang bìa. Tổng số trang vẫn là bảy. Trình đọc PDF có thể hiển thị đồng thời cả nhãn lẫn vị trí trang, chẳng hạn như 1 (4 of 7); việc thấy cả hai thông tin này hoàn toàn không có gì mâu thuẫn.

Tải xuống tệp bảy trang trước khi gán nhãn và phiên bản đã gán nhãn. Mở trang nội dung chính đầu tiên trong từng tệp rồi so sánh số trang hiển thị trên chính trang đó với thanh điều hướng.

Bảy trang mẫu minh họa gốc, được chú thích bên ngoài hình ảnh trang bằng vị trí trong tệp và nhãn logic: Cover, i, ii, 1, 2, A-1 và A-2.

Đây là bản xem trước các trang do chúng tôi biên soạn với các nhãn được thêm vào bên ngoài hình ảnh trang, không phải ảnh chụp màn hình từ một ứng dụng PDF cụ thể.

Xác định ranh giới các phần trên bản sao làm việc

Trước khi chỉnh sửa, hãy lưu lại một bản gốc chưa thay đổi và xác định các điểm chuyển tiếp bằng cách xem trực tiếp các trang: trang mở đầu đánh số đầu tiên, trang nội dung chính đầu tiên, các trang chèn, cùng từng phụ lục hoặc vị trí bắt đầu lại số trang. Hãy ghi lại vị trí trong tệp bên cạnh số trang hiển thị trực quan.

Đừng chỉ kiểm tra mỗi trang nội dung chính đầu tiên. Trong ví dụ trên, quy tắc “cộng thêm ba” có thể tìm ra trang nội dung 1, nhưng không áp dụng được cho phần mở đầu bằng chữ số La Mã hay phụ lục A- . Một độ lệch đơn lẻ chỉ là giải pháp tạm thời trong một phần liên tục, chứ không phải quy tắc đáng tin cậy cho toàn bộ cuốn sách.

Nếu một dãy số nhảy cóc bất thường—chẳng hạn các trang nhìn thấy nhảy từ 38 lên 40—hãy kiểm tra kỹ các hình ảnh ở giữa và, nếu có thể, đối chiếu với cùng phiên bản từ nguồn gốc. Đó có thể là trang quét bị thiếu, tờ chèn có chủ ý, cách đánh số gốc khác thường hoặc một lỗi thứ tự khác. Đừng vội gán nhãn “39” cho một trang không liên quan chỉ để bộ đếm trông có vẻ liền mạch.

Đối với các tệp PDF đã ký số hoặc bị hạn chế quyền, hãy sử dụng quy trình từ nguồn được cho phép hoặc yêu cầu bên cung cấp tài liệu gửi bản đọc đã sửa lỗi. Các tập lệnh mẫu trong bài viết này không nhằm mục đích duy trì hay vượt qua các biện pháp bảo vệ đó.

Thay đổi nhãn điều hướng, không thay đổi nội dung in ấn

Cách thực hiện trên máy tính theo tài liệu hướng dẫn của Adobe

Tài liệu hướng dẫn hiện tại của Adobe về nhãn trang trên Acrobat chỉ dẫn vào mục All tools → Organize pages → Page labels. Hãy chọn một phạm vi trang, bắt đầu một chuỗi số mới, sau đó chọn kiểu đánh số, giá trị bắt đầu cùng tiền tố tùy chọn. Lặp lại thao tác này cho từng phần riêng biệt; một phần liền mạch có thể nối tiếp chuỗi số ngay trước đó.

Trong ví dụ của chúng tôi, điều này tương đương với việc dùng chữ số La Mã cho phần mở đầu, số thập phân bắt đầu lại từ 1 cho phần nội dung chính, và số thập phân kèm A- cho phần phụ lục. Hãy xác nhận lại các trang thực tế được chọn trước khi áp dụng từng thay đổi, đặc biệt là khi các nhãn hiện tại đã khác so với vị trí thực tế trong tệp.

Adobe phân biệt rõ các nhãn điều hướng này với số trang hiển thị ở phần đầu trang/chân trang. Nếu bạn chỉ muốn thanh điều khiển trang của trình đọc khớp với sách, thì việc thêm chân trang hiển thị là một thao tác hoàn toàn khác.

Các bước này được tổng hợp dựa trên tài liệu hướng dẫn. Chúng tôi không thực hiện thao tác sửa tệp bằng Acrobat hay thử nghiệm một giao diện Acrobat cụ thể nào cho bài viết này.

Phương pháp chúng tôi đã thử nghiệm thực tế với pypdf

Các tệp mẫu của chúng tôi được tạo bằng ReportLab, nhân bản bằng pypdf 6.10.0 và được gán nhãn mà không làm thay đổi luồng nội dung trang. Chỉ riêng với mẫu bảy trang, thao tác cốt lõi gồm có:

from pypdf import PdfReader, PdfWriter
from pypdf.constants import PageLabelStyle

reader = PdfReader("seven-page-before.pdf")
writer = PdfWriter(clone_from=reader)
writer.set_page_label(0, 0, prefix="Cover")
writer.set_page_label(1, 2, style=PageLabelStyle.LOWERCASE_ROMAN, start=1)
writer.set_page_label(3, 4, style=PageLabelStyle.DECIMAL, start=1)
writer.set_page_label(5, 6, style=PageLabelStyle.DECIMAL, prefix="A-", start=1)

with open("seven-page-labeled-copy.pdf", "xb") as output:
    writer.write(output)

assert PdfReader("seven-page-labeled-copy.pdf").page_labels == [
    "Cover", "i", "ii", "1", "2", "A-1", "A-2"
]

API này sử dụng chỉ mục bắt đầu từ 0: vị trí trang thứ 4 trong tệp sẽ có chỉ mục là 3. Các phạm vi ở trên bao gồm cả hai đầu mút. Chế độ xuất độc quyền, xb, sẽ từ chối ghi đè lên tệp hiện có. Vui lòng tham khảo tài liệu phiên bản về API nhãn trang của pypdf và mã nguồn tạo tệp hoàn chỉnh của chúng tôi để biết cách triển khai chính xác.

Đừng dán các dải trang đó vào một cuốn sách khác. Hãy xác định sơ đồ phân mục của cuốn sách đó trước. Tập lệnh đã được kiểm thử của chúng tôi không nhận tệp PDF của khách hàng hay tệp nguồn: nó chỉ tạo ra các ví dụ gốc được định nghĩa sẵn bên trong.

Hai trường hợp khoảng lệch cố định không hiệu quả

Hình minh họa không đánh số làm thay đổi khoảng lệch của phần nội dung chính

Trong tệp mẫu thứ hai, chúng tôi đã chèn một trang tranh minh họa giữa trang in 1 và 2 của phần nội dung chính. Trang tranh này không in số trang. Chúng tôi gán cho nó nhãn mô tả Plate-A và tiếp tục trang nội dung tiếp theo với số 2.

Vị trí trong tệpKý hiệu trang hiển thịNhãn trang
411
5Hình minh họa không đánh sốPlate-A
622

Trước khi chèn, trang in 1 nằm ở vị trí tệp thứ 4: chênh lệch ba trang. Sau khi chèn, trang in 2 nằm ở vị trí tệp thứ 6: chênh lệch bốn trang. Nếu tiếp tục dùng khoảng lệch ban đầu, bạn sẽ bị chuyển đến trang hình minh họa.

Hãy so sánh phiên bản tám trang trước khi gắn nhãn với phiên bản đã gắn nhãn. Thao tác xử lý này sẽ thêm một phân mục nhãn tại vị trí chèn và bắt đầu lại chuỗi đánh số nội dung chính ngay sau đó. Nó không biến trang tranh thành một trang nguồn được đánh số, cũng không xóa nó khỏi tệp.

Đoạn trích có thể bắt đầu từ trang in 37

Tệp mẫu thứ ba của chúng tôi gồm ba trang hiển thị số 37, 38 và 39. Vị trí trong tệp của chúng lần lượt là 1, 2 và 3. Các nhãn trang phù hợp cần bắt đầu từ 37 chứ không phải 1.

Cả tệp trước khi sửa lẫn tệp sau khi sửa đều chỉ chứa đúng ba trang đó. Việc gắn nhãn cho trang đầu tiên là 37 không đồng nghĩa với việc tệp PDF phải chứa đủ 36 trang trước đó.

Đối với một đoạn trích thực tế, hãy sử dụng các số trang mà bạn có thể xác minh trực tiếp trên nguồn. Nếu số trang hiển thị đầu tiên bị thiếu hoặc bị cắt xén, hãy tìm bằng chứng nguồn đối chiếu trước khi gán. Một chuỗi số phỏng đoán có vẻ tiện lợi đôi khi còn gây hiểu nhầm tai hại hơn việc đếm theo vị trí tệp thông thường.

Xác minh tệp đã lưu, không chỉ dựa vào hộp thoại chỉnh sửa

Đối với ba cặp này, chúng tôi đã mở lại toàn bộ sáu tệp PDF và kiểm tra từng nhãn trang. Poppler 26.08.0 đã kết xuất cả hai phiên bản ở độ phân giải 144 dpi. Tất cả 18 cặp trang tương ứng đều có điểm ảnh trùng khớp hoàn toàn, và tất cả 18 luồng nội dung trang (content stream) đều khớp chính xác từng byte. Không có nội dung nào bị đóng dấu đè lên hoặc bị xóa khỏi trang trong quá trình kiểm tra này.

Các kết quả theo từng trang bao gồm mã băm tệp, nhãn trang và so sánh điểm ảnh. Bản đồ trang có thể tải về ghi lại vị trí tệp, chỉ mục đếm từ 0 và các số trang hiển thị. Hướng dẫn tái lập giải thích rõ phiên bản của các gói phụ thuộc và cách tạo lại các ví dụ trong các thư mục mới.

Điều đó giúp xác minh các tệp của chúng tôi, chứ không thể đảm bảo cách xử lý của mọi trình xem PDF. PDF Association ghi nhận sự khác biệt về khả năng hỗ trợ nhãn trang giữa các ứng dụng; khảo sát người xem đã công bố của họ là từ năm 2024, không phải là một thử nghiệm mà chúng tôi lặp lại hôm nay. Hãy kiểm tra chính trình đọc mà bạn sẽ thực tế sử dụng:

  1. Mở lại bản sao đã lưu và xác nhận rằng tổng số trang không bị thay đổi.
  2. Kiểm tra trang đầu tiên và trang cuối cùng của từng phần đánh số.
  3. Thử điều hướng đến trang ii, 1 và A-1, hoặc các trang tương đương trong tài liệu của bạn.
  4. Xác nhận rằng mỗi thao tác chuyển trang đều đưa bạn đến đúng trang trực quan mong muốn—chứ không chỉ đơn thuần là bộ đếm hiển thị trông có vẻ khớp.
  5. Nếu trình đọc phớt lờ các nhãn trang, hãy giữ lại bản đồ đối chiếu rõ ràng giữa vị trí tệp và trang, hoặc chuyển sang dùng một trình đọc có hỗ trợ tính năng này. Đừng liên tục viết lại các nhãn trang vốn đã chính xác chỉ để bù trừ cho một giao diện không được hỗ trợ.

Hình ảnh kết xuất trùng khớp không chứng minh được tính khả dụng (accessibility), chữ ký hợp lệ, liên kết hoạt động tốt hay văn bản trích xuất chính xác. Nếu trang hiển thị đúng nhưng văn bản sao chép bị sai, hãy sử dụng quy trình riêng về chẩn đoán lớp văn bản PDF. Vấn đề đó không thể khắc phục được bằng nhãn trang.

Giữ lại bản đồ trang gốc nếu sau này bạn dịch tài liệu

Nếu việc điều hướng chính xác là vấn đề duy nhất, bạn có thể dừng lại ở đây. Bạn không cần phải OCR hay dịch thuật chỉ để đổi tên nhãn trang.

Nếu ngôn ngữ vẫn là rào cản, hãy giữ lại tệp gốc và sơ đồ đánh số trang trước khi làm theo quy trình dịch PDF dạng quét hoặc hướng dẫn về dịch thuật và định dạng PDF. Để kiểm tra kỹ lưỡng hơn tệp đầu ra, hãy dùng danh sách kiểm tra QA cho bản dịch PDF.

Độc giả lựa chọn Trình dịch PDF của BookTranslator không nên mặc định rằng các nhãn trang gốc sẽ được giữ nguyên trong tệp đầu ra được tái tạo. Chế độ OCR có thể làm thay đổi bố cục gốc, phông chữ và kích cỡ chữ. Nếu nội dung đầu ra bị dàn lại trang (reflow), hãy đối chiếu các đoạn quan trọng với bản gốc; việc sao chép sơ đồ đánh số cũ vào các điểm ngắt trang mới sẽ không đảm bảo sự chuẩn xác.

Mục tiêu không phải là biến mọi số trang trở nên giống hệt nhau, mà là làm cho từng con số trở nên rõ ràng, chuẩn xác: vị trí của trang trong tệp này, số trang được gọi trong bản gốc và cách độc giả mở đúng trang đó.

Bài viết liên quan