Copertina, numeri romani e prima pagina di testo: non confondere i numeri di pagina del PDF
Le regole per l'etichetta del numero di pagina utilizzano firstpagenum, non start. Quando la copertina ha solo un prefisso, il dizionario delle regole riletto può omettere lo stile; un'accettazione più significativa è controllare i risultati di get_label per ogni pagina fisica. Il tag display non è l'unica identità della pagina.
Le etichette dei numeri di pagina del PDF non sono necessariamente coerenti con i numeri di pagina visti ad occhio nudo. Quando la copertina, la prefazione in numeri romani e il testo rinumerato dalla pagina 1 sono mescolati nello stesso file, è facile che il numero di pagina visualizzato e il risultato letto dal programma non corrispondano. Questo articolo è rivolto a chi ha bisogno di generare o controllare autonomamente le etichette dei numeri di pagina.
Dopo aver letto questo, saprai che il numero iniziale dovrebbe utilizzare firstpagenum invece di start, perché get_label viene chiamato pagina per pagina quando la copertina ha solo un prefisso e perché l'etichetta visualizzata non può essere utilizzata come identità univoca della pagina.
Come impostare le etichette dei numeri di pagina del PDF? Conclusione di una frase
Utilizzare firstpagenum per le regole sull'etichetta del numero di pagina. Controlla i risultati di get_label uno per uno per le pagine fisiche durante l'accettazione e utilizza l'etichetta visualizzata come riferimento anziché l'identità univoca della pagina.
| la tua situazione | Pratiche consigliate | motivo |
|---|---|---|
| La copertina ha solo il prefisso | Utilizzare get_label per leggere ogni pagina di etichette | Il dizionario delle regole di rilettura può omettere style e l'indicizzazione diretta è soggetta a errori. |
| È necessario impostare il numero iniziale del testo | Usa firstpagenum | Le regole in questo articolo si basano su firstpagenum, start non viene utilizzato |
| La pagina mostra tag duplicati | Salva anche l'indice della pagina fisica | Il tag Mostra non è un'identità di pagina univoca |
| Numeri romani mescolati con numeri arabi nel documento | Controlla le etichette pagina per pagina | Non confondere i numeri romani con i numeri di pagina fisica |
Il problema da risolvere in questo articolo
Utilizza firstpagenum per i campi delle regole
Le regole per le etichette delle pagine utilizzano firstpagenum, non start. Durante l'impostazione, fare riferimento al nome del campo per evitare di ottenere un numero inaspettato dopo aver commesso un errore.
Metodo di lettura quando la copertina ha solo un prefisso
Quando la copertina ha solo il prefisso, il dizionario delle regole riletto può omettere style. Quindi, invece di indicizzare direttamente style, controlla i risultati per ogni pagina fisica get_label.
Il tag Mostra non è univoco
Le etichette visualizzate possono essere ripetute, ad esempio "1" appare in capitoli diversi. Se è necessario individuare una pagina specifica, è necessario salvare anche l'indice della pagina fisica.
Esempio di composizione autonoma
Consulta l'elenco di importazione per le dipendenze. Il codice costruisce l'input in memoria e i record di esecuzione vengono forniti separatamente e non rappresentano una garanzia di tutti i file reali.
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
Ambiente operativo e precauzioni
Questo articolo utilizza campioni sintetici per dimostrare il metodo di elaborazione. Il codice è stato controllato con esempi in un ambiente isolato e non è una garanzia di tutti i file reali o delle prestazioni del prodotto. Prima di elaborare documenti importanti, conservare gli originali e rivederli rispettando i limiti e gli elementi di accettazione nel testo.
Se l'asserzione non riesce nel tuo ambiente, controlla prima la versione di PyMuPDF e assicurati che il nome del campo dell'etichetta del numero di pagina sia utilizzato correttamente (le regole in questo articolo utilizzano firstpagenum, non start).
Criteri di accettazione e soglie di revisione manuale
I seguenti elementi di accettazione si applicano solo alle ispezioni a livello di codice dei PDF strutturati:
- Costruisci un PDF di prova contenente una copertina, una prefazione in numeri romani e il corpo del testo.
- Chiamare
get_labeluno per uno sulle pagine fisiche e registrare le etichette restituite per ciascuna pagina. - Controlla se il prefisso della copertina, i paragrafi in numeri romani e la numerazione della pagina iniziale del testo principale sono quelli previsti.
- Controlla se l'indice della pagina fisica viene salvato contemporaneamente durante la duplicazione delle etichette.
Anche gli effetti end-to-end devono essere combinati con la verifica del rendering. Alcuni lettori ignoreranno le regole dei tag illegali, facendo sì che i risultati della visualizzazione non siano coerenti con i risultati dell'analisi del programma. In questo caso dovrebbero prevalere le specifiche del PDF e non le prestazioni del lettore.
📊 Confronto fondamentale
La tabella seguente elenca cosa dovrebbe essere fatto in diverse situazioni anomale e cosa non dovrebbe essere dedotto:
| osservare | cosa fare | non dovrebbe essere dedotto |
|---|---|---|
| prefisso di copertina | Leggi get_label | Non indicizzare style che potrebbe mancare |
| Etichetta duplicata | Salva anche l'indice della pagina fisica | Le etichette visualizzate non vengono trattate come chiavi primarie |
| numero misto | Controlla le etichette pagina per pagina | Non confondere i numeri romani con i numeri di pagina fisica |
Applicare la lista di controllo alla traduzione dei documenti
L'ordine delle pagine, la posizione della fonte e l'integrità del testo vengono controllati prima che lo stesso campione desensibilizzato venga inviato al processo di traduzione. Dopo la traduzione, devi ancora verificare se titolo, testo e illustrazioni corrispondono correttamente. Non puoi semplicemente verificare se il testo è fluido.
OmniDoc (portale del prodotto) fornisce un portale di traduzione di documenti multiformato e il sito Web ufficiale introduce funzioni OCR, glossario e confronto bilingue. Se desideri iniziare la lavorazione direttamente dal file, puoi valutare questo percorso con un campione reale. Utilizza file non sensibilizzati che sei autorizzato a caricare e utilizza gli elementi di controllo in questo articolo per esaminare i risultati. Questo articolo non afferma che OmniDoc utilizza le librerie open source o gli algoritmi interni menzionati nell'articolo e gli esempi non possono sostituire il test delle prestazioni del prodotto.
Riferimenti
🎯Quale metodo è adatto a te?
Se la tua copertina ha solo il prefisso
Controlla i risultati pagina per pagina con get_label, non indicizzare direttamente style.
Se si desidera impostare la numerazione del testo in modo che inizi dalla pagina 1
Utilizzare firstpagenum, non start.
Se la tua pagina mostra tag duplicati
Salva anche l'indice della pagina fisica e non utilizzare l'etichetta visualizzata come identificatore univoco.
Se stai inviando il file al processo di traduzione
Controlla innanzitutto l'ordine delle pagine e l'integrità del testo, quindi controlla il titolo, il testo e le legende dopo la traduzione.
❓ Domande frequenti (FAQ)
1. Dovresti usare start o firstpagenum per impostare il numero di pagina iniziale?
Utilizza firstpagenum invece di start secondo le regole di questo articolo.
2. Perché non leggere direttamente lo stile nel dizionario delle regole?
Quando la copertina ha solo un prefisso, il dizionario delle regole di rilettura potrebbe omettere style e l'indicizzazione diretta potrebbe causare errori.
3. Il tag display può essere utilizzato come identificatore univoco della pagina?
non può. L'etichetta visualizzata non è un'identità di pagina univoca. Quando l'etichetta viene ripetuta, l'indice della pagina fisica deve essere salvato contemporaneamente.
4. Se il controllo del codice ha esito positivo, significa che la visualizzazione del lettore è coerente?
non può. L'accettazione a livello di codice non equivale all'effetto end-to-end. Alcuni lettori ignoreranno le regole dei tag illegali e dovranno essere combinati con la verifica del rendering e soggetti alle specifiche PDF.
📝 Riepilogo
La chiave per i tag del numero di pagina è utilizzare i campi giusti, verificarli pagina per pagina e salvare l'indice fisico della pagina. Prima di elaborare documenti importanti, completare i controlli di cui sopra con campioni desensibilizzati.
Provalo subito: carica il documento per iniziare la traduzione, mantenendo il layout originale


