BookTranslator
BookTranslator

Numery stron w PDF nie zgadzają się z książką? Najpierw sprawdź etykiety stron

Napraw nawigację w pliku PDF, która nie odpowiada numeracji stron drukowanych. Zobacz sześć przykładowych plików obejmujących rzymską numerację wstępu, wklejkę i fragment od strony 37.

BookTranslator

BookTranslator Team

9 min czytania

Jeśli czytnik PDF wskazuje stronę 4, podczas gdy na samej stronie widnieje 1, w pierwszej kolejności sprawdź etykiety stronw pliku. Okładka i wstęp numerowany cyframi rzymskimi mogą przesunąć fizyczną pozycję strony, co wcale nie oznacza, że w książce czegoś brakuje. Popraw etykiety nawigacyjne na kopii pliku; nie zaczynaj od nanoszenia nowych numerów na strony ani usuwania wstępu.

Taka naprawa ma jednak swoje granice: etykiety nie przywrócą brakującego skanu, nie zmienią kolejności stron ani nie odgadną nieczytelnego numeru. Najpierw upewnij się, która strona rzeczywiście znajduje się w danym miejscu, a dopiero potem dopasuj do niej nawigację.

Przygotowaliśmy do pobrania trzy pary plików przed i po, aby zilustrować tę różnicę: siedmiostronicowy notatnik, wersję z dodaną nienumerowaną ilustracją oraz fragment rozpoczynający się od 37. strony druku. W każdej parze zmieniły się wyłącznie etykiety, podczas gdy wyrenderowane strony pozostały co do piksela identyczne.

Rozróżnij trzy rodzaje numeracji przed rozpoczęciem naprawy

W tym poradniku pozycja w pliku oznacza pierwszą, drugą lub trzecią stronę w dokumencie PDF. Numer w druku to numer widoczny na samej stronie. Z kolei etykieta strony oznacza logiczny identyfikator zapisany na potrzeby nawigacji, taki jak ii lub A-1.

Wartości te mogą się całkowicie naturalnie różnić. Opracowane przez PDF Association wyjaśnienie etykiet stron opisuje sekwencje numeracji, prefiksy oraz różnice między indeksami, numerami i etykietami stron. Plik może zawierać rzymską numerację części wstępnej, zresetowaną numerację właściwej treści oraz dodatki z prefiksami, a mimo to zachowywać w pełni poprawną liczbę stron.

Oto przyporządkowanie w naszym siedmiostronicowym pliku demonstracyjnym:

Pozycja w plikuWidoczny numer w drukuOryginalna etykieta nawigacyjnaPoprawiona etykieta
1Brak: okładka1Okładka
2i2i
3ii3ii
4141
5252
6A-16A-1
7A-27A-2

Cover to przypisana przez nas etykieta opisowa, a nie cyfra wydrukowana na okładce. Łączna liczba stron nadal wynosi siedem. Czytnik może wyświetlać zarówno etykietę, jak i pozycję, na przykład 1 (4 of 7); wyświetlanie obu tych wartości nie jest błędem ani sprzecznością.

Pobierz siedmiostronicowy plik przed dodaniem etykiet oraz wersję z etykietami. Otwórz pierwszą stronę tekstu głównego w każdym z nich i porównaj samą stronę z elementami sterującymi nawigacją.

Siedem oryginalnych stron przykładowych z naniesionymi poza obszarem stron pozycjami w pliku i logicznymi etykietami: Okładka, i, ii, 1, 2, A-1 oraz A-2.

To podgląd przygotowanych przez nas stron z etykietami dodanymi poza ich obszarem, a nie zrzut ekranu z konkretnej przeglądarki PDF.

Wyznacz granice sekcji na kopii roboczej

Przed rozpoczęciem edycji zapisz nienaruszony oryginał i określ miejsca podziału, przeglądając strony: pierwszą ponumerowaną stronę wstępu, pierwszą stronę tekstu głównego, wszelkie wkładki oraz każdy dodatek lub miejsce restartu numeracji. Zapisz pozycję w pliku obok widocznego oznaczenia.

Sprawdź więcej niż tylko pierwszą stronę tekstu głównego. W powyższym przykładzie reguła „dodaj trzy” pozwala odnaleźć stronę 1 tekstu głównego, ale nie sprawdza się w przypadku wstępu numerowanego cyframi rzymskimi ani dodatku A- . Pojedyncze przesunięcie to jedynie tymczasowe ułatwienie w obrębie ciągłej sekcji, a nie miarodajny opis całej książki.

Jeśli sekwencja nagle przeskakuje — na przykład widoczne strony przechodzą z 38 od razu na 40 — sprawdź strony pośrednie i w miarę możliwości porównaj je z tym samym wydaniem u źródła. Może to być brakujący skan, zamierzona wkładka, nietypowa oryginalna numeracja lub inny problem z kolejnością stron. Nie przypisuj etykiety „39” przypadkowej stronie tylko po to, aby licznik wydawał się ciągły.

W przypadku podpisanych lub zabezpieczonych plików PDF należy skorzystać z dozwolonego przepływu pracy ze źródłem lub poprosić dostawcę dokumentu o poprawioną wersję do czytania. Skrypty przykładowe z tego artykułu nie służą do zachowywania ani omijania takich zabezpieczeń.

Zmień etykiety nawigacyjne, a nie drukowaną treść

Metoda na komputerze opisana przez Adobe

Aktualne instrukcje Adobe Acrobat dotyczące etykiet stron wskazują ścieżkę Wszystkie narzędzia → Organizuj strony → Etykiety stron. Zaznacz zakres, rozpocznij nową sekwencję, a następnie wybierz styl numeracji, wartość początkową i opcjonalny prefiks. Powtórz te czynności dla kolejnych sekcji; sekcja ciągła może kontynuować poprzednią numerację.

W naszym przykładzie oznacza to numerację rzymską dla wstępu, numerację dziesiętną restartowaną od 1 dla głównej części oraz numerację dziesiętną z A- dla dodatku. Przed zatwierdzeniem każdej zmiany upewnij się, które strony są faktycznie zaznaczone, zwłaszcza jeśli istniejące etykiety różnią się już od fizycznych pozycji w pliku.

Adobe wyraźnie odróżnia te etykiety nawigacyjne od widocznych numerów w nagłówku lub stopce. Jeśli zależy Ci jedynie na dopasowaniu elementów sterujących czytnika do numeracji książki, dodawanie widocznej stopki to zupełnie inna operacja.

Kroki te opierają się na oficjalnej dokumentacji. Na potrzeby tego artykułu nie przeprowadzaliśmy procedury naprawczej w programie Acrobat ani nie testowaliśmy konkretnej wersji jego interfejsu.

Metoda, którą faktycznie przetestowaliśmy za pomocą pypdf

Nasze pliki testowe zostały wygenerowane przy użyciu biblioteki ReportLab, sklonowane za pomocą pypdf 6.10.0 i opatrzone etykietami bez modyfikacji strumieni zawartości stron. W przypadku wyłącznie siedmiostronicowego przykładukluczowa operacja wygląda następująco:

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"
]

Interfejs API korzysta z indeksowania od zera: czwarta pozycja w pliku to indeks 3. Powyższe zakresy obejmują oba punkty końcowe. Tryb wyjściowy z wyłącznością, xb, zapobiega nadpisaniu istniejącego pliku. Dokładną implementację można znaleźć w wersjonowanej dokumentacji API etykiet stron w pypdf oraz w naszym kompletnym generatorze .

Nie wklejaj tych zakresów do innej książki. Najpierw ustal jej podział na sekcje. Nasz przetestowany skrypt nie przyjmuje plików PDF od klientów ani plików źródłowych: generuje wyłącznie oryginalne przykłady zdefiniowane w jego kodzie.

Dwa przypadki, w których stałe przesunięcie zawodzi

Nienumerowana ilustracja zmienia przesunięcie tekstu głównego

W drugim przykładzie wstawiliśmy tablicę z ilustracją między drukowanymi stronami 1 i 2 tekstu głównego. Tablica nie ma wydrukowanego numeru. Przypisaliśmy jej etykietę opisową Plate-A i wznowiliśmy kolejną stronę tekstu głównego od numeru 2.

Pozycja w plikuWidoczny identyfikator stronyEtykieta
411
5Nienumerowana ilustracjaTablica-A
622

Przed wstawieniem drukowana strona 1 znajdowała się na 4. pozycji w pliku — przesunięcie wynosiło trzy. Po wstawieniu drukowana strona 2 znajduje się na 6. pozycji w pliku — przesunięcie wynosi cztery. Ponowne użycie pierwszego przesunięcia przeniosłoby Cię do ilustracji.

Porównaj ośmiostronicową wersję przed dodaniem etykiet z wersją z etykietami. Naprawa polega na dodaniu sekcji etykiet w miejscu wstawki i wznowieniu numeracji tekstu głównego tuż po niej. Nie zamienia ona tablicy w numerowaną stronę źródłową ani nie usuwa jej z pliku.

Fragment może zaczynać się od drukowanej strony 37

Nasz trzeci przykład zawiera trzy strony z widoczną numeracją 37, 38 i 39. Ich pozycje w pliku to 1, 2 i 3. Prawidłowe etykiety zaczynają się od 37, a nie od 1.

Zarówno plik wyjściowy , jak i plik po zmianach zawierają dokładnie te trzy strony. Oznaczenie pierwszej strony etykietą 37 nie oznacza, że plik PDF zawiera poprzedzające 36 stron.

W przypadku prawdziwego fragmentu użyj numeracji, którą możesz zweryfikować w źródle. Jeśli brakuje pierwszego widocznego numeru lub został on ucięty, poszukaj potwierdzenia w innych częściach publikacji przed jego przypisaniem. Przyjęta na oko sekwencja może wprowadzać w błąd bardziej niż zwykła numeracja pozycji w pliku.

Zweryfikuj zapisany plik, a nie tylko okno edycji

W przypadku tych trzech par ponownie otworzyliśmy wszystkie sześć plików PDF i sprawdziliśmy każdą etykietę. Poppler 26.08.0 wyrenderował obie wersje w 144 dpi. Wszystkie 18 odpowiadających sobie par stron miało identyczne piksele, a wszystkie strumienie zawartości 18 stron zgadzały się co do bajta. W tym teście nic nie zostało naniesione na treść strony ani z niej usunięte.

Opublikowane wyniki dla poszczególnych stron zawierają skróty plików, etykiety i porównania pikseli. Mapa stron do pobrania rejestruje pozycje w pliku, indeksy liczone od zera oraz widoczne numery. Instrukcje odtworzenia procedury wyjaśniają wersje zależności oraz sposób ponownego wygenerowania przykładów w nowych katalogach.

To potwierdza poprawność naszych plików, ale nie sposób ich obsługi przez każdą przeglądarkę. PDF Association dokumentuje różnice w obsłudze etykiet między aplikacjami; ich opublikowany przegląd przeglądarek pochodzi z 2024 roku i nie powtarzaliśmy tego testu dzisiaj. Sprawdź czytnik, z którego faktycznie będziesz korzystać:

  1. Otwórz ponownie zapisaną kopię i upewnij się, że całkowita liczba stron nie uległa zmianie.
  2. Sprawdź pierwszą i ostatnią stronę każdej sekcji numeracji.
  3. Spróbuj przejść do stron ii, 1 oraz A-1, lub ich odpowiedników w Twoim dokumencie.
  4. Upewnij się, że każde przejście prowadzi do zamierzonej, widocznej strony — a nie tylko do pozornie pasującego licznika.
  5. Jeśli czytnik ignoruje etykiety, zachowaj jawną mapę pozycji względem stron lub użyj programu, który je obsługuje. Nie przepisuj poprawnych etykiet wielokrotnie tylko po to, aby zrekompensować braki w nieobsługiwanym interfejsie.

Zgodny rendering nie dowodzi dostępności cyfrowej, ważności podpisów, działających łączy ani poprawnie wyodrębnionego tekstu. Jeśli strona wygląda dobrze, ale skopiowany tekst zawiera błędy, skorzystaj z osobnego poradnika: diagnoza warstwy tekstowej PDF. Etykiety stron nie rozwiązują tego problemu.

Zachowaj oryginalną mapę, jeśli planujesz późniejsze tłumaczenie dokumentu

Jeśli precyzyjna nawigacja była jedynym problemem, na tym można zakończyć. Zmiana etykiet stron nie wymaga stosowania OCR ani tłumaczenia.

Jeśli barierą nadal pozostaje język, zachowaj oryginalny plik oraz mapę stron, zanim przejdziesz do procedury tłumaczenia zeskanowanych plików PDF lub przewodnika po tłumaczeniu i formatowaniu plików PDF. W celu dokładniejszej weryfikacji pliku wynikowego skorzystaj z listy kontrolnej QA dla tłumaczeń PDF.

Użytkownicy wybierający narzędzie Tłumacz PDF od BookTranslator nie powinni zakładać, że etykiety stron z pliku źródłowego zostaną zachowane w przebudowanym dokumencie wyjściowym. Tryb OCR może zmienić pierwotny układ, czcionki oraz ich rozmiary. Jeśli układ tekstu ulegnie przesunięciu, porównaj kluczowe fragmenty z oryginałem; samo przeniesienie starego schematu numeracji na nowy podział stron nie zapewni właściwego dopasowania.

Celem nie jest sprawienie, aby każda liczba była identyczna. Chodzi o to, by każda z nich była jednoznaczna: gdzie dana strona znajduje się w pliku, jak określa ją źródło i w jaki sposób czytelnik może do niej dotrzeć.

Powiązane wpisy