Okładka, cyfry rzymskie i pierwsza strona tekstu: nie mieszaj numerów stron PDF
Reguły etykiet stron używają numeru pierwszej strony, a nie początku. Gdy okładka ma tylko przedrostek, słownik reguł po ponownym odczytaniu może pominąć styl; bardziej znaczącym sprawdzeniem jest sprawdzenie wyników get_label dla każdej strony fizycznej. Tag displayowy nie jest jedyną tożsamością strony.
Etykiety numerów stron w formacie PDF niekoniecznie są zgodne z numerami stron widocznymi gołym okiem. Kiedy okładka, przedmowa rzymska i tekst przenumerowany od strony 1 zostaną zmieszane w tym samym pliku, łatwo jest pomylić wyświetlany numer strony z wynikiem odczytanym przez program. Ten artykuł jest przeznaczony dla osób, które muszą samodzielnie wygenerować lub sprawdzić etykiety z numerami stron.
Po przeczytaniu tego dowiesz się, że numer początkowy powinien zawierać firstpagenum zamiast start, dlaczego get_label jest wywoływany strona po stronie, gdy okładka ma tylko przedrostek, i dlaczego etykiety wyświetlanej nie można używać jako unikalnej tożsamości strony.
Jak ustawić etykiety numerów stron PDF? Wniosek w jednym zdaniu
Aby uzyskać reguły dotyczące etykiet z numerami stron, użyj firstpagenum. Podczas akceptacji sprawdzaj wyniki get_label jeden po drugim dla stron fizycznych i używaj etykiety wyświetlanej jako odniesienia zamiast unikalnej tożsamości strony.
| twoja sytuacja | Zalecane praktyki | powód |
|---|---|---|
| Okładka ma tylko przedrostek | Użyj get_label, aby przeczytać każdą stronę etykiet | Słownik reguł odczytu zwrotnego może pomijać style, a indeksowanie bezpośrednie jest podatne na błędy. |
| Należy ustawić numer początkowy tekstu | Użyj firstpagenum | Zasady opisane w tym artykule opierają się na firstpagenum, start nie jest używany |
| Na stronie widoczne są zduplikowane tagi | Zapisz także indeks strony fizycznej | Pokaż tag nie jest unikalną tożsamością strony |
| W dokumencie cyfry rzymskie zmieszane z cyframi arabskimi | Sprawdzaj etykiety strona po stronie | Nie myl cyfr rzymskich z fizycznymi numerami stron |
Problem do rozwiązania w tym artykule
Użyj numeru pierwszej strony dla pól reguł
Reguły etykiet stron używają firstpagenum, a nie start. Podczas ustawiania należy zwracać uwagę na nazwę pola, aby uniknąć otrzymania nieoczekiwanego numeru po popełnieniu błędu.
Metoda czytania, gdy okładka ma tylko przedrostek
Jeśli okładka ma tylko przedrostek, słownik reguł podczas ponownego odczytywania może pominąć style. Zamiast więc bezpośrednio indeksować style, sprawdź wyniki dla każdej strony fizycznej get_label.
Pokaż tag nie jest unikalny
Etykiety wyświetlacza mogą się powtarzać, np. „1"pojawia się w różnych rozdziałach. Jeśli chcesz zlokalizować konkretną stronę, należy również zapisać indeks strony fizycznej.
Przykład samodzielnej kompozycji
Zobacz listę importów dla zależności. Kod tworzy dane wejściowe w pamięci, a rekordy uruchamiania są dostarczane osobno i nie stanowią gwarancji istnienia wszystkich rzeczywistych plików.
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
Środowisko pracy i środki ostrożności
W tym artykule wykorzystano próbki syntetyczne w celu zademonstrowania metody przetwarzania. Kod został sprawdzony na przykładach w izolowanym środowisku i nie stanowi gwarancji działania wszystkich rzeczywistych plików lub produktu. Przed przystąpieniem do przetwarzania ważnych dokumentów prosimy o zachowanie oryginałów i zapoznanie się z nimi zgodnie z granicami i pozycjami akceptacji w tekście.
Jeśli asercja w Twoim środowisku nie powiedzie się, sprawdź najpierw wersję PyMuPDF i upewnij się, że nazwa pola etykiety numeru strony została użyta poprawnie (reguły w tym artykule używają firstpagenum, a nie start).
Kryteria akceptacji i progi ręcznego przeglądu
Poniższe elementy akceptacji dotyczą wyłącznie inspekcji ustrukturyzowanych plików PDF na poziomie kodu:
- Utwórz testowy plik PDF zawierający okładkę, przedmowę rzymską i treść.
- Wywołaj
get_labeljeden po drugim na stronach fizycznych i zapisz etykiety zwrócone dla każdej strony. - Sprawdź, czy prefiks okładki, akapity oznaczone cyframi rzymskimi i numeracja stron początkowych tekstu głównego są zgodne z oczekiwaniami.
- Sprawdź, czy podczas powielania etykiet jednocześnie zapisywany jest indeks strony fizycznej.
Efekty typu end-to-end należy również połączyć z weryfikacją renderowania. Niektórzy czytelnicy zignorują niedozwolone reguły tagów, co spowoduje, że wyniki wyświetlania będą niezgodne z wynikami analizy programu. W takim przypadku decydujące znaczenie powinny mieć specyfikacje PDF, a nie wydajność czytnika.
📊 Porównanie rdzeni
W poniższej tabeli wymieniono, co należy zrobić w kilku nietypowych sytuacjach i czego nie należy z nich wnioskować:
| przestrzegać | co robić | nie należy wnioskować |
|---|---|---|
| przedrostek okładki | Przeczytaj get_label | Nie indeksuj style, którego może brakować |
| Zduplikowany tag | Zapisz także indeks strony fizycznej | Etykiety wyświetlane nie są traktowane jako klucze podstawowe |
| liczba mieszana | Sprawdzaj etykiety strona po stronie | Nie myl cyfr rzymskich z fizycznymi numerami stron |
Zastosuj listę kontrolną do tłumaczenia dokumentu
Kolejność stron, lokalizacja źródła i integralność tekstu są sprawdzane przed przesłaniem tej samej pozbawionej czułości próbki do procesu tłumaczenia. Po tłumaczeniu nadal musisz sprawdzić, czy tytuł, tekst i ilustracje poprawnie odpowiadają sobie. Nie możesz po prostu sprawdzić, czy tekst jest gładki.
OmniDoc (portal produktowy) udostępnia wieloformatowy portal do tłumaczenia dokumentów, a oficjalna strona internetowa zawiera funkcje OCR, glosariusza i porównywania dokumentów dwujęzycznych. Jeśli chcesz rozpocząć przetwarzanie bezpośrednio z pliku, możesz ocenić tę ścieżkę na prawdziwej próbce. Użyj plików pozbawionych zabezpieczeń, do przesłania których masz pozwolenie, i skorzystaj z elementów zaznaczonych w tym artykule, aby sprawdzić wyniki. W tym artykule nie twierdzono, że OmniDoc korzysta z bibliotek open source lub wewnętrznych algorytmów wymienionych w artykule, a przykłady nie mogą zastąpić testowania wydajności produktu.
Referencje
🎯 Która metoda jest dla Ciebie odpowiednia?
Jeśli Twoja okładka ma tylko przedrostek
Sprawdź wyniki strona po stronie za pomocą get_label, nie indeksuj bezpośrednio style.
Jeśli chcesz ustawić numerację tekstu rozpoczynającą się od strony 1
Użyj firstpagenum, a nie start.
Jeśli na Twojej stronie znajdują się zduplikowane tagi
Zapisz także indeks strony fizycznej i nie używaj etykiety wyświetlanej jako unikalnego identyfikatora.
Jeśli przesyłasz plik do procesu tłumaczenia
Najpierw sprawdź kolejność stron i integralność tekstu, a następnie sprawdź tytuł, tekst i legendy po tłumaczeniu.
❓ Często zadawane pytania (FAQ)
1. Czy do ustawienia numeru strony początkowej należy użyć opcji start lub Firstpagenum?
Użyj firstpagenum zamiast start zgodnie z zasadami zawartymi w tym artykule.
2. Dlaczego nie przeczytać stylu bezpośrednio w słowniku reguł?
Jeśli okładka ma tylko przedrostek, słownik reguł odczytu zwrotnego może pominąć style, a bezpośrednie indeksowanie może powodować błędy.
3. Czy tag display może służyć jako unikalny identyfikator strony?
nie mogę. Etykieta wyświetlana nie jest unikalną tożsamością strony. W przypadku powtórzenia etykiety należy jednocześnie zapisać indeks strony fizycznej.
4. Jeśli kontrola kodu przebiegła pomyślnie, czy oznacza to, że wyświetlacz czytnika jest spójny?
nie mogę. Akceptacja na poziomie kodu nie oznacza efektu od początku do końca. Niektórzy czytelnicy ignorują nielegalne zasady dotyczące tagów i muszą być połączone z weryfikacją renderowania i podlegać specyfikacjom PDF.
📝 Podsumowanie
Kluczem do tagów numerów stron jest użycie odpowiednich pól, weryfikacja ich strona po stronie i zapisanie fizycznego indeksu strony. Przed przetwarzaniem ważnych dokumentów należy przeprowadzić powyższe kontrole na próbkach odczulonych.
Wypróbuj teraz: prześlij dokument, aby rozpocząć tłumaczenie, zachowując oryginalny układ


