Obálka, římské číslice a první stránka textu: nezaměňujte čísla stránek PDF
Pravidla pro popisky čísel stránek používají číslo první stránky, nikoli začátek. Pokud má obálka pouze předponu, může zpětné čtení slovníku pravidel vynechat styl; smysluplnější přijetí je zkontrolovat výsledky get_label pro každou fyzickou stránku. Značka zobrazení není jedinou identitou stránky.
Popisky čísel stránek PDF nemusí nutně odpovídat číslům stránek viděným pouhým okem. Když jsou obálka, předmluva s římskými číslicemi a text přečíslovaný ze strany 1 smíchány ve stejném souboru, je snadné neshodovat zobrazené číslo stránky a výsledek přečtený programem. Tento článek je určen lidem, kteří si potřebují sami vygenerovat nebo zkontrolovat štítky s čísly stránek.
Po přečtení tohoto budete vědět, že startovní číslo by mělo používat firstpagenum místo start, proč se get_label volá stránku po stránce, když obálka má pouze předponu, a proč nelze použít zobrazovaný štítek jako jedinečnou identitu stránky.
Jak nastavit štítky s čísly stránek PDF? Závěr jednou větou
Použijte prosím firstpagenum pro pravidla štítků čísel stránek. Během přijímání kontrolujte výsledky get_label jeden po druhém pro fyzické stránky a použijte zobrazovaný štítek jako odkaz namísto jedinečné identity stránky.
| vaší situaci | Doporučené postupy | důvod |
|---|---|---|
| Obálka má pouze předponu | Ke čtení každé stránky štítků použijte get_label | Slovník pravidel pro zpětné čtení může vynechat style a přímé indexování je náchylné k chybám. |
| Je třeba nastavit počáteční číslo textu | Použijte firstpagenum | Pravidla v tomto článku jsou založena na firstpagenum, start se nepoužívá |
| Stránka zobrazuje duplicitní značky | Uložte také fyzický index stránky | Značka Zobrazit není jedinečná identita stránky |
| Římské číslice smíšené s arabskými číslicemi v dokumentu | Zkontrolujte štítky stránku po stránce | Nezaměňujte římské číslice za fyzická čísla stránek |
Problém k vyřešení v tomto článku
Pro pole pravidel použijte firstpagenum
Pravidla štítků stránek používají firstpagenum, nikoli start. Při nastavování se řiďte názvem pole, abyste po chybě nezískali neočekávané číslo.
Metoda čtení, když má obálka pouze předponu
Pokud má obálka pouze předponu, zpětné čtení slovníku pravidel může vynechat style. Takže místo přímého indexování style zkontrolujte výsledky pro každou fyzickou stránku get_label.
Zobrazit tag není jedinečný
Štítky na displeji se mohou opakovat, například "1" se objeví v různých kapitolách. Pokud potřebujete najít konkrétní stránku, měl by být uložen i fyzický index stránky.
Příklad samostatné kompozice
Závislosti naleznete v seznamu importů. Kód vytváří vstup v paměti a záznamy běhu jsou poskytovány samostatně a nepředstavují záruku všech skutečných souborů.
import pymupdf
with pymupdf.open() as source:
for _ in range(4):
source.new_page()
source.set_page_labels([
{"startpage": 0, "prefix": "Cover", "style": "", "firstpagenum": 1},
{"startpage": 1, "prefix": "", "style": "r", "firstpagenum": 1},
{"startpage": 3, "prefix": "", "style": "D", "firstpagenum": 1},
])
raw = source.tobytes()
with pymupdf.open(stream=raw, filetype="pdf") as doc:
assert [page.get_label() for page in doc] == ["Cover", "i", "ii", "1"]
assert len(doc.get_page_labels()) == 3
assert doc.get_page_labels()[0].get("style", "") == ""
assert doc.page_count == 4
Provozní prostředí a bezpečnostní opatření
Tento článek používá syntetické vzorky k demonstraci metody zpracování. Kód byl zkontrolován s příklady v izolovaném prostředí a není zárukou všech skutečných souborů nebo výkonu produktu. Před zpracováním důležitých dokumentů si prosím uschovejte originály a zkontrolujte je podle hranic a přejímacích položek v textu.
Pokud aserce ve vašem prostředí selže, zkontrolujte prosím nejprve verzi PyMuPDF a ujistěte se, že je správně použit název pole štítku čísla stránky (pravidla v tomto článku používají firstpagenum, nikoli start).
Kritéria přijetí a prahové hodnoty ruční kontroly
Následující položky akceptace se vztahují pouze na kontroly strukturovaných PDF na úrovni kódu:
- Vytvořte testovací PDF obsahující obálku, předmluvu s římskými číslicemi a hlavní text.
- Vyvolejte
get_labeljeden po druhém na fyzických stránkách a zaznamenejte si štítky vrácené pro každou stránku. - Zkontrolujte, zda předpona obálky, odstavce římskými číslicemi a číslování úvodní stránky hlavního textu odpovídají očekávání.
- Zkontrolujte, zda je při duplikování štítků současně uložen i fyzický index stránky.
End-to-end efekty je také třeba kombinovat s ověřováním vykreslování. Někteří čtenáři budou ignorovat nelegální pravidla značek, což způsobí, že výsledky zobrazení nebudou konzistentní s výsledky analýzy programu. V tomto případě by měly mít přednost specifikace PDF, nikoli výkon čtenáře.
📊 Srovnání jádra
Následující tabulka uvádí, co by se mělo dělat v několika abnormálních situacích a co by se nemělo odvozovat:
| pozorovat | co dělat | by nemělo být vyvozováno |
|---|---|---|
| krycí předpona | Přečtěte si get_label | Neindexujte style, který může chybět |
| Duplicitní štítek | Uložte také fyzický index stránky | Zobrazovací štítky nejsou považovány za primární klíče |
| smíšené číslo | Zkontrolujte štítky stránku po stránce | Nezaměňujte římské číslice za fyzická čísla stránek |
Použijte kontrolní seznam na překlad dokumentů
Pořadí stránek, umístění zdroje a integrita textu jsou kontrolovány před odesláním stejného znecitlivěného vzorku do procesu překladu. Po překladu je ještě potřeba zkontrolovat, zda název, text a ilustrace správně odpovídají. Nemůžete jen zkontrolovat, zda je text hladký.
OmniDoc (produktový portál) poskytuje portál pro překlad dokumentů ve více formátech a oficiální webové stránky zavádějí funkce OCR, glosář a dvojjazyčné porovnání. Pokud si přejete zahájit zpracování přímo ze souboru, můžete tuto cestu vyhodnotit pomocí reálného vzorku. Použijte prosím znecitlivěné soubory, k jejichž nahrávání máte oprávnění, a ke kontrole výsledků použijte zaškrtávací položky v tomto článku. Tento článek netvrdí, že OmniDoc používá knihovny s otevřeným zdrojovým kódem nebo interní algoritmy uvedené v článku, a příklady nemohou nahradit testování výkonu produktu.
Reference
🎯 Která metoda je pro vás vhodná?
Pokud má vaše obálka pouze předponu
Zkontrolujte výsledky stránku po stránce pomocí get_label, neindexujte style přímo.
Pokud chcete nastavit číslování textu tak, aby začínalo od strany 1
Použijte firstpagenum, nikoli start.
Pokud vaše stránka zobrazuje duplicitní značky
Uložte také fyzický index stránky a nepoužívejte zobrazovaný štítek jako jedinečný identifikátor.
Pokud odesíláte soubor do procesu překladu
Nejprve zkontrolujte pořadí stránek a integritu textu a poté po překladu zkontrolujte nadpis, text a legendy.
❓ Často kladené otázky (FAQ)
1. Měli byste k nastavení čísla úvodní stránky použít start nebo firstpagenum?
Použijte firstpagenum místo start podle pravidel tohoto článku.
2. Proč nečíst styl přímo ve slovníku pravidel?
Pokud má obal pouze předponu, může slovník pravidel zpětného čtení vynechat style a přímé indexování může způsobit chyby.
3. Lze použít značku zobrazení jako jedinečný identifikátor stránky?
nemůže. Zobrazovaný štítek není jedinečnou identitou stránky. Když se štítek opakuje, měl by být současně uložen i fyzický index stránky.
4. Pokud kontrola kódu projde, znamená to, že je displej čtečky konzistentní?
nemůže. Přijetí na úrovni kódu se nerovná efektu end-to-end. Někteří čtenáři budou ignorovat nelegální pravidla tagů a je třeba je kombinovat s ověřením vykreslování a podléhat specifikacím PDF.
📝 Shrnutí
Klíčem ke značkám čísel stránek je použití správných polí, jejich ověření stránku po stránce a uložení fyzického indexu stránky. Před zpracováním důležitých dokumentů proveďte prosím výše uvedené kontroly se znecitlivělými vzorky.
Vyzkoušejte to hned: Nahrajte dokument a začněte překládat při zachování původního rozvržení


