BookTranslator
BookTranslator

Numerele de pagină din PDF nu coincid cu cele din carte? Verifică mai întâi etichetele de pagină

Rezolvă problemele de navigare în PDF când paginile diferă de cele tipărite. Vezi șase fișiere demonstrative cu numerotare romană la început, o planșă inserată și un fragment ce începe la pagina 37.

BookTranslator

BookTranslator Team

10 min de citit

Dacă un cititor de PDF afișează pagina 4, în timp ce pe pagina cărții scrie 1, verifică mai întâi etichetele de paginăale fișierului. O copertă și o introducere numerotată cu cifre romane pot decala poziția fizică fără ca volumul să fie incomplet. Corectează etichetele de navigare pe o copie; nu începe prin a ștampila numere noi peste pagini sau prin a șterge introducerea.

Această remediere are însă o limită: etichetele nu pot recupera o scanare lipsă, nu pot rearanja ordinea paginilor și nu pot reconstitui un număr ilizibil. Stabilește mai întâi ce pagină este prezentă în mod real, iar apoi ajustează navigarea pentru a o descrie corect.

Am creat trei perechi demonstrative înainte/după, disponibile pentru descărcare: un caiet de șapte pagini, o versiune cu o ilustrație nenumerotată inserată și un fragment care începe de la pagina tipărită 37. În fiecare pereche, etichetele s-au schimbat, în timp ce paginile randate au rămas identice la nivel de pixel.

Diferențiază cele trei numere înainte de a corecta ceva

În acest ghid, poziția în fișier desemnează prima, a doua sau a treia pagină din PDF. Numărul tipărit înseamnă numărul vizibil pe pagină. Eticheta de pagină reprezintă identificatorul logic salvat pentru navigare, cum ar fi ii sau A-1.

Aceste valori pot fi diferite în mod legitim. Explicația PDF Association despre etichetele de pagină detaliază secvențele de numerotare, prefixele și distincția dintre indicii de pagină, numere și etichete. Un fișier poate include pagini de gardă cu cifre romane, renumerotare pentru corpul principal și anexe cu prefix fără ca numărul total de pagini să fie greșit.

Iată corespondența din fișierul nostru demonstrativ de șapte pagini:

Poziția în fișierNumărul tipărit vizibilEticheta de navigare inițialăEticheta corectată
1Niciuna: copertă1Copertă
2i2i
3ii3ii
4141
5252
6A-16A-1
7A-27A-2

Cover este o etichetă descriptivă atribuită de noi, nu un număr tipărit pe copertă. Totalul rămâne de șapte pagini. Un cititor de PDF poate afișa atât o etichetă, cât și o poziție, cum ar fi 1 (4 of 7); afișarea ambelor nu este o contradicție.

Descărcați fișierul de șapte pagini înainte de etichetare și versiunea etichetată. Deschideți prima pagină a corpului textului în fiecare și comparați pagina propriu-zisă cu comenzile de navigare.

Șapte pagini didactice originale, adnotate în afara imaginilor de pagină cu pozițiile din fișier și etichetele logice: Copertă, i, ii, 1, 2, A-1 și A-2.

Aceasta este o previzualizare a paginilor create de noi, cu etichete adăugate în afara imaginilor, nu o captură de ecran dintr-o anumită aplicație PDF.

Identificați limitele secțiunilor pe o copie de lucru

Înainte de editare, salvați o copie originală nemodificată și identificați tranzițiile examinând paginile: prima pagină introductivă numerotată, prima pagină a corpului textului, eventualele inserții și fiecare anexă sau reîncepere a numerotării. Notați poziția din fișier alături de identificatorul vizibil.

Verificați mai mult decât prima pagină a corpului textului. În exemplul de mai sus, regula „adaugă trei” găsește pagina 1 a textului principal, dar nu descrie introducerea cu cifre romane sau anexa A- . Un simplu decalaj este doar o scurtătură temporară în cadrul unei secțiuni continue, nu o descriere fiabilă pentru întreaga carte.

Dacă o secvență sare în mod neașteptat — de exemplu, paginile vizibile trec de la 38 direct la 40 —, inspectați imaginile intermediare și, dacă este posibil, comparați cu aceeași ediție de la sursă. Poate fi vorba despre o scanare lipsă, o inserție intenționată, o numerotare originală neobișnuită sau o altă problemă de ordonare. Nu atribuiți eticheta „39” unei pagini fără legătură doar pentru a face numărătoarea să pară continuă.

Pentru PDF-urile semnate sau restricționate, folosiți fluxul de lucru permis pentru sursă sau solicitați furnizorului documentului o copie corectată pentru lectură. Scripturile demonstrative din acest articol nu reprezintă o modalitate de a păstra sau de a ocoli aceste protecții.

Modificați etichetele de navigare, nu conținutul tipărit

O metodă desktop documentată de Adobe

Instrucțiunile actuale Adobe pentru etichetele de pagină în Acrobat indică Toate instrumentele → Organizare pagini → Etichete pagină. Selectați un interval, începeți o secvență nouă, apoi alegeți stilul de numerotare, valoarea de pornire și un prefix opțional. Repetați pentru secțiunile separate; o secțiune continuă poate prelungi secvența precedentă.

Pentru exemplul nostru, aceasta înseamnă numerotare cu cifre romane pentru introducere, numerotare zecimală reîncepută de la 1 pentru corpul textului și numerotare zecimală cu A- pentru anexă. Confirmați paginile efectiv selectate înainte de a aplica fiecare modificare, în special atunci când etichetele existente diferă deja de pozițiile din fișier.

Adobe face distincție între aceste etichete de navigare și numerele vizibile din antet sau subsol. Dacă doriți doar ca indicatorul de pagini al cititorului să corespundă cărții, adăugarea unui subsol vizibil este o operațiune diferită.

Acești pași se bazează pe documentație. Nu am rulat o reparare prin Acrobat și nu am testat o anumită interfață Acrobat pentru acest articol.

Metoda pe care am testat-o efectiv cu pypdf

Fișierele noastre demonstrative au fost create cu ReportLab, clonate cu pypdf 6.10.0 și li s-au atribuit etichete fără a modifica fluxurile de conținut ale paginilor. Strict pentru eșantionul de șapte pagini, operațiunea de bază este:

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-ul folosește indici bazați pe zero: poziția 4 din fișier corespunde indicelui 3. Intervalele de mai sus includ ambele capete. Modul exclusiv de ieșire, xb, refuză suprascrierea unui fișier existent. Consultați documentația versionată pentru API-ul de etichete de pagină din pypdf și generatorul nostru complet pentru implementarea exactă.

Nu lipiți acele intervale într-o carte fără legătură. Stabiliți mai întâi structura secțiunilor sale. Scriptul nostru testat nu acceptă niciun PDF de la clienți sau sursă: el generează doar exemplele originale definite în interiorul său.

Două cazuri în care un decalaj fix eșuează

O ilustrație nenumerotată modifică decalajul corpului de text

În al doilea exemplu de test, am inserat o planșă între paginile tipărite 1 și 2 ale corpului cărții. Planșa nu are un număr tipărit. I-am atribuit eticheta descriptivă Plate-A și am reluat pagina următoare de la 2.

Poziția în fișierIdentificator vizibil de paginăEtichetă
411
5Ilustrație nenumerotatăPlansa-A
622

Înainte de inserare, pagina tipărită 1 se afla la poziția 4 în fișier: un decalaj de trei. După inserare, pagina tipărită 2 se află la poziția 6 în fișier: un decalaj de patru. Reutilizarea primului decalaj v-ar trimite la ilustrație.

Comparați versiunea de opt pagini dinaintea etichetării cu versiunea etichetată. Corecția adaugă o secțiune de etichetare la inserție și repornește secvența corpului de text după aceasta. Nu transformă planșa într-o pagină sursă numerotată și nici nu o elimină din fișier.

Un fragment poate începe de la pagina tipărită 37

Al treilea exemplu de test conține trei pagini numerotate vizibil cu 37, 38 și 39. Pozițiile lor în fișier sunt 1, 2 și 3. Etichetele corespunzătoare încep de la 37, nu de la 1.

Atât fișierul inițial , cât și fișierul final conțin exact acele trei pagini. Etichetarea primei pagini ca 37 nu implică faptul că PDF-ul conține și cele 36 de pagini precedente.

Pentru un fragment real, folosește numere pe care le poți verifica pe sursă. Dacă primul număr vizibil lipsește sau este trunchiat, obține dovezi justificative din sursă înainte de a-l atribui. O secvență convenabilă ghicită poate fi mai înșelătoare decât o simplă numărătoare a pozițiilor din fișier.

Verifică fișierul salvat, nu doar caseta de dialog de editare

Pentru aceste trei perechi, am redeschis toate cele șase PDF-uri și am verificat fiecare etichetă. Poppler 26.08.0 a redat ambele versiuni la 144 dpi. Toate cele 18 perechi de pagini corespondente au avut pixeli identici, iar toate cele 18 fluxuri de conținut ale paginilor s-au potrivit octet cu octet. Nimic nu a fost ștampilat sau eliminat din conținutul paginii în acest test.

Datele din rezultatele per pagină includ hash-uri de fișiere, etichete și comparații de pixeli. Fișierul cu harta descărcabilă a paginilor înregistrează pozițiile din fișier, indexurile cu bază zero și numerele vizibile. Instrucțiunile de reproducere explică versiunile dependențelor și modul de regenerare a exemplelor în directoare noi.

Acest lucru verifică fișierele noastre, nu modul în care fiecare program de vizualizare le gestionează. PDF Association documentează diferențele de compatibilitate a etichetelor între aplicații; studiul său publicat despre programele de vizualizare datează din 2024, nefiind un test repetat de noi astăzi. Verifică cititorul pe care îl vei folosi în mod real:

  1. Redeschide copia salvată și confirmă că numărul total de pagini a rămas neschimbat.
  2. Inspectează prima și ultima pagină a fiecărei secțiuni de numerotare.
  3. Încearcă să navighezi la ii, 1 și A-1, sau la echivalentele din documentul tău.
  4. Confirmă că fiecare salt ajunge pe pagina vizibilă dorită — nu doar pe un contor cu aspect similar.
  5. Dacă programul de vizualizare ignoră etichetele, păstrează corespondența explicită între poziții și pagini sau folosește un cititor care le recunoaște. Nu rescrie în mod repetat etichetele corecte doar pentru a compensa o interfață fără suport pentru acestea.

O redare fidelă nu garantează accesibilitatea, semnăturile valide, linkurile funcționale sau extragerea corectă a textului. Dacă pagina arată corect, dar textul copiat este greșit, consultă ghidul separat de diagnosticare a stratului de text din PDF. Această problemă nu se rezolvă prin etichetele de pagină.

Păstrează harta originală dacă traduci documentul ulterior

Dacă navigarea precisă era singura problemă, vă puteți opri aici. Nu este nevoie de OCR sau traducere pentru a redenumi etichetele de pagină.

Dacă limba rămâne un obstacol, păstrați fișierul original și structura paginilor înainte de a urma fluxul de lucru pentru traducerea PDF-urilor scanate sau ghidul pentru traducerea și formatarea PDF-urilor. Pentru verificări mai ample ale documentului rezultat, consultați lista de verificare QA pentru traducerea PDF-urilor.

Cititorii care aleg traducătorul PDF de la BookTranslator nu ar trebui să presupună că etichetele de pagină din sursă se păstrează într-un fișier reconstruit. Modul OCR poate modifica așezarea inițială în pagină, fonturile și dimensiunile acestora. Dacă textul rezultat se rearanjează, verificați pasajele importante comparându-le cu originalul; simpla copiere a vechii structuri de numerotare peste noile întreruperi de pagină nu garantează corespondența.

Scopul nu este ca fiecare număr să fie identic. Scopul este ca fiecare număr să fie lipsit de ambiguitate: unde se află o pagină în acest fișier, cum este denumită în sursă și cum ajunge cititorul la ea.

Articole asociate