BookTranslator
BookTranslator

Čísla stránek v PDF neodpovídají knize? Nejprve zkontrolujte návěští stránek

Opravte navigaci v PDF, která nesouhlasí s tištěnými stránkami. Prohlédněte si šest ukázkových souborů s římskými úvodními stránkami, vloženou přílohou a výňatkem začínajícím na straně 37.

BookTranslator

BookTranslator Team

9 min čtení

Pokud čtečka PDF ukazuje stranu 4, zatímco na samotné stránce knihy je uvedeno 1, nejprve zkontrolujte návěští stránekv souboru. Obálka a úvod číslovaný římskými číslicemi mohou posunout fyzické pořadí, aniž by kniha byla neúplná. Opravte navigační návěští na kopii souboru; nezačínejte tím, že přes stránky orazítkujete nová čísla nebo smažete úvod.

Tato oprava má však své limity: návěští nedokážou obnovit chybějící sken, opravit pořadí stránek ani vám říct, jaké číslo původně patřilo k nečitelnému textu. Nejprve zjistěte, která stránka je skutečně přítomna. Poté nastavte navigaci tak, aby ji přesně popisovala.

Vytvořili jsme tři dvojice souborů „před a po“ ke stažení, které tento rozdíl demonstrují: sedmistránkový sešit, verzi s vloženou nečíslovanou ilustrací a výňatek začínající na tištěné straně 37. U každé dvojice se změnila návěští, zatímco vykreslené stránky zůstaly na pixel identické.

Než začnete cokoliv opravovat, rozlište tato tři čísla

V této příručce pozice v souboru označuje první, druhou, třetí stránku v PDF. Tištěné číslo označuje číslo viditelné přímo na stránce. Návěští stránky označuje logický identifikátor uložený pro navigaci, například ii nebo A-1.

Tyto hodnoty se mohou oprávněně lišit. Vysvětlení návěští stránek od organizace PDF Association popisuje číselné řady, předpony a rozdíl mezi indexy, čísly a návěštími stránek. Soubor může obsahovat úvodní část s římskými číslicemi, nově restartované číslování hlavního textu i přílohy s předponami, aniž by měl nesprávný počet stránek.

Zde je mapování v našem sedmistránkovém ukázkovém souboru:

Pozice v souboruViditelné tištěné čísloPůvodní navigační návěštíOpravené návěští
1Žádné: obálka1Obálka
2i2i
3ii3ii
4141
5252
6A-16A-1
7A-27A-2

Cover je popisný štítek, který jsme přiřadili, nikoli číslo vytištěné na obálce. Celkový počet zůstává sedm stran. Čtečka může zobrazovat jak štítek, tak pozici, například 1 (4 of 7); zobrazení obou údajů nepředstavuje rozpor.

Stáhněte si sedmistránkový soubor před označením a označenou verzi. V obou otevřete první stránku hlavního textu a porovnejte samotnou stránku s navigačními prvky.

Sedm původních výukových stránek s poznámkami vně obrazu stránek obsahujícími pozice v souboru a logické štítky: Obálka, i, ii, 1, 2, A-1 a A-2.

Toto je náhled našich vytvořených stránek se štítky přidanými vně obrazů, nikoli snímek obrazovky konkrétní aplikace pro PDF.

Zmapujte hranice oddílů v pracovní kopii

Před úpravami si uložte nezměněný originál a prohlídkou stránek identifikujte přechody: první číslovanou úvodní stránku, první stránku hlavního textu, případné přílohy a každý dodatek nebo restart číslování. Zaznamenejte si pozici v souboru vedle viditelného identifikátoru.

Zkontrolujte víc než jen první stránku hlavního textu. Ve výše uvedeném příkladu pravidlo „přičíst tři“ sice najde 1. stránku textu, ale nepostihuje římský úvod ani dodatek A- . Jediný posun je jen dočasná zkratka v rámci souvislého oddílu, nikoli spolehlivý popis celé knihy.

Pokud posloupnost nečekaně přeskočí – řekněme, že viditelné stránky přejdou z 38 na 40 –, prohlédněte mezilehlé obrazy a pokud možno porovnejte stejné vydání u zdroje. Může jít o chybějící sken, záměrnou vloženou přílohu, neobvyklé původní číslování nebo jiný problém s řazením. Nepřiřazujte „39“ nesouvisející stránce jen proto, aby čítač působil souvisle.

U podepsaných nebo chráněných souborů PDF použijte povolený zdrojový postup nebo požádejte poskytovatele dokumentu o opravenou kopii ke čtení. Testovací skripty v tomto článku neslouží k zachování ani obcházení těchto ochran.

Změňte navigační štítky, nikoli tištěný obsah

Postup pro stolní počítače popsaný společností Adobe

Aktuální pokyny k označování stránek v programu Acrobat od společnosti Adobe odkazují na Všechny nástroje → Uspořádat stránky → Štítky stránek. Vyberte rozsah, zahajte novou řadu a poté zvolte styl číslování, počáteční hodnotu a volitelnou předponu. Postup opakujte pro jednotlivé oddíly; navazující oddíl může pokračovat v předchozí řadě.

V našem příkladu to znamená římské číslice pro úvod, arabské číslice restartované od 1 pro hlavní text a arabské číslice s A- pro přílohu. Před potvrzením každé změny zkontrolujte skutečně vybrané stránky, zvláště pokud se stávající štítky již liší od pozic v souboru.

Společnost Adobe tyto navigační štítky odlišuje od viditelných čísel v záhlaví či zápatí. Pokud chcete pouze to, aby ovládací prvky stránek ve čtečce odpovídaly knize, přidání viditelného zápatí představuje jiný úkon.

Tyto kroky vycházejí z dokumentace. Pro účely tohoto článku jsme opravu v programu Acrobat neprováděli ani netestovali konkrétní rozhraní programu Acrobat.

Metoda, kterou jsme skutečně otestovali pomocí pypdf

Naše testovací soubory byly vytvořeny pomocí knihovny ReportLab, naklonovány přes pypdf 6.10.0 a byly jim přiřazeny štítky beze změny datových proudů obsahu stránek. Pouze pro sedmistránkovou ukázkuvypadá základní operace následovně:

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

Rozhraní API používá indexování od nuly: pozice 4 v souboru odpovídá indexu 3. Výše uvedené rozsahy zahrnují oba krajní body. Výhradní režim výstupu xbodmítne přepsat existující soubor. Přesnou implementaci najdete ve verzované dokumentaci API pypdf pro štítky stránek a v našem kompletním generátoru .

Nekopírujte tyto rozsahy do jiné knihy. Nejprve si vytvořte mapu jejích oddílů. Náš otestovaný skript nepřijímá žádná zákaznická ani zdrojová PDF: generuje pouze původní příklady definované přímo v něm.

Dva případy, kdy pevný posun selhává

Nečíslovaná ilustrace mění posun hlavního textu

Ve druhém vzorovém souboru jsme mezi tištěné strany hlavního textu 1 a 2 vložili obrazovou přílohu. Příloha nemá vytištěné číslo strany. Přiřadili jsme jí popisný štítek Plate-A a na další straně hlavního textu jsme pokračovali číslem 2.

Pozice v souboruViditelný identifikátor stranyŠtítek
411
5Nečíslovaná ilustracePlate-A
622

Před vložením byla tištěná strana 1 na pozici 4 v souboru: posun o tři. Po vložení je tištěná strana 2 na pozici 6 v souboru: posun o čtyři. Pokud byste znovu použili původní posun, dostali byste se na ilustraci.

Porovnejte osmistránkovou verzi před označením štítky s verzí se štítky. Oprava přidá v místě vložení nový oddíl štítků a za ním znovu naváže číslováním hlavního textu. Z přílohy se nestane číslovaná zdrojová strana ani nedojde k jejímu odstranění ze souboru.

Úryvek může začínat tištěnou stranou 37

Náš třetí vzorový soubor obsahuje tři strany viditelně očíslované jako 37, 38 a 39. Jejich pozice v souboru jsou 1, 2 a 3. Správné štítky začínají na 37, nikoli na 1.

Soubor před úpravou i soubor po úpravě obsahují přesně tyto tři strany. Označení první strany štítkem 37 neznamená, že PDF obsahuje předchozích 36 stran.

U skutečného výňatku používejte čísla, která si můžete ověřit přímo ve zdroji. Pokud první viditelné číslo chybí nebo je oříznuté, obstarejte si před jeho přiřazením podpůrné důkazy ze zdroje. Pohodlně odhadnutá číselná řada může být mnohem zavádějící než prosté počítání pozic v souboru.

Ověřte uložený soubor, nejen dialogové okno editoru

U těchto tří dvojic jsme znovu otevřeli všech šest PDF a zkontrolovali každý štítek. Nástroj Poppler 26.08.0 vyrenderoval obě verze v rozlišení 144 dpi. Všech 18 odpovídajících párů stránek mělo naprosto shodné pixelya všech 18 datových proudů obsahu stránek se bajt po bajtu shodovalo. V tomto testu nebylo do obsahu stránek nic přirazítkováno ani z něj nic odstraněno.

Jednotlivé výsledky po stránkách zahrnují hashe souborů, štítky i porovnání pixelů. Mapa stránek ke stažení zaznamenává pozice v souboru, indexy od nuly a viditelná čísla. Pokyny k reprodukci uvádějí verze závislostí a vysvětlují, jak příklady znovu vygenerovat v nových adresářích.

Tímto způsobem ověříte naše soubory, ale ne to, jak s nimi naloží každý jednotlivý prohlížeč. PDF Association dokumentuje rozdíly v podpoře štítků mezi aplikacemi; její publikovaný průzkum prohlížečů pochází z roku 2024, nejde o test, který bychom opakovali dnes. Zkontrolujte prohlížeč, který budete skutečně používat:

  1. Znovu otevřete uloženou kopii a zkontrolujte, zda se nezměnil celkový počet stránek.
  2. Zkontrolujte první a poslední stránku každého číslovaného oddílu.
  3. Zkuste přejít na ii, 1 a A-1, případně na ekvivalentní hodnoty ve vašem dokumentu.
  4. Ujistěte se, že každý skok skutečně přistane na zamýšlené viditelné stránce – nikoli jen na zdánlivě shodném počítadle.
  5. Pokud prohlížeč štítky ignoruje, ponechte si explicitní mapování pozic na stránky nebo použijte prohlížeč, který s nimi umí pracovat. Nepřepisujte opakovaně správné štítky jen proto, abyste kompenzovali nepodporované rozhraní.

Shodný vizuální render ještě nedokazuje přístupnost, platné podpisy, fungující odkazy ani správně extrahovaný text. Pokud stránka vypadá v pořádku, ale zkopírovaný text je chybný, využijte samostatnou diagnostiku textové vrstvy PDF. Tento problém totiž štítky stránek nevyřeší.

Ponechte si původní mapu, pokud budete dokument později překládat

Pokud byla jediným problémem přesná navigace, můžete zde skončit. K přejmenování štítků stránek není potřeba OCR ani překlad.

Pokud je překážkou stále jazyk, uschovejte si původní soubor i mapu stránek, než se pustíte do postupu pro překlad naskenovaných PDF nebo průvodce překladem a formátováním PDF. Pro komplexnější kontrolu výstupu využijte kontrolní seznam pro kontrolu kvality překladu PDF.

Čtenáři, kteří zvolí PDF překladač od BookTranslator , by neměli předpokládat, že štítky stránek ze zdrojového souboru zůstanou zachovány i v nově vytvořeném výstupu. Režim OCR může změnit původní rozvržení, písma a jejich velikost. Pokud se text ve výstupu přeformátuje, ověřte důležité pasáže podle originálu – pouhé zkopírování starého schématu číslování na nově zalomené stránky shodu nezajistí.

Cílem není dosáhnout toho, aby bylo každé číslo identické. Jde o to, aby bylo každé číslo jednoznačné: kde se stránka v tomto souboru nachází, jak ji označuje zdroj a jak se k ní čtenář dostane.

Související příspěvky