TIFF nemusí mít nutně jen jeden obrázek: při zpracování snímku po snímku nebudou chybět stránky.

Po otevření TIFF byla zpracována pouze první stránka. Program nehlásil chybu, ale chyběl zbytek obsahu. U formátů s více snímky jsou „úspěšné otevření souboru“ a „kompletní zpracování souboru“ dvě různé věci. Portál by měl určit počet stránek, než se rozhodne pro zpracování stránky po stránce, rozpočtová omezení a seznamy dodávek.

TIFF může obsahovat více stránek obrázků a to, že program otevře soubor, neznamená, že byla zpracována každá stránka. Pokud je přečtena pouze první stránka, program normálně skončí, ale zbytek obsahu je ztracen. Tento článek je určen pro vývojáře a pracovníky s dokumenty, kteří potřebují dávkově zpracovávat skeny, obrázky s více snímky nebo vícestránkové archivy. Vysvětluje, jak nejprve určit počet stránek, zpracovat je snímek po snímku a zaznamenat výsledky každé stránky.

Kód v tomto článku je demonstrován pomocí syntetických vzorků a prošel kontrolou vzorků v izolovaném prostředí, ale to nepředstavuje záruku všech skutečných souborů nebo efektů 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.

Jak může vícesnímkový TIFF nezmeškat stránky? Závěr jednou větou

Nejprve si přečtěte číslo stránky a zpracujte jej snímek po snímku. Výsledky každé stránky musí být zaznamenány a chybějící stránky musí být jasně označeny.

vaší situaciDoporučené postupydůvod
Každá stránka musí být použita samostatněZkopírujte aktuální obrázek během iterace nebo jej okamžitě zpracujteObjekty rámců mohou souviset se základním stavem dekódování a přímé ukládání referencí se může navzájem snadno ovlivňovat.
Soubor má velký počet stránek nebo vysoké rozlišeníZpracujte stránku po stránce nebo použijte řízené dávkyUchovávání všech snímků v paměti bude nadále spotřebovávat zdroje
Specifikace se mohou lišit stránku od stránkyVelikost dokumentu, vzor a orientace stránku po stránceStránky ve stejném dokumentu nemusí mít nutně stejnou velikost a černobílé a barevné stránky mohou být smíchány.
Zpracování stránky se nezdařiloV seznamu uveďte chybějící stránky a důvodyNelze jen vrátit dokument a označit vše za vyřízené

Při iteraci přes snímky zkopírujte aktuální obrázek

ImageSequence.Iterator je vhodný pro iteraci přes více snímků, ale objekty snímků mohou souviset se základním stavem dekódování. Pokud má být každá stránka použita samostatně později, měla by být zkopírována během iterace nebo okamžitě zpracována. Neukládejte opakovaně odkazy na stejný proměnlivý objekt a očekávejte, že získáte stránky, které se navzájem neovlivňují.

Vytvořte dva snímky TIFF, abyste ověřili, že žádná stránka nevynechá

from io import BytesIO
from PIL import Image, ImageSequence

first = Image.new("RGB", (12, 8), "white")
second = Image.new("RGB", (12, 8), "black")
stream = BytesIO()
first.save(stream, format="TIFF", save_all=True, append_images=[second])
stream.seek(0)
with Image.open(stream) as document:
    assert document.n_frames == 2
    pages = [frame.copy() for frame in ImageSequence.Iterator(document)]
assert len(pages) == 2
assert pages[0].getpixel((0, 0)) == (255, 255, 255)
assert pages[1].getpixel((0, 0)) == (0, 0, 0)
pages[0].putpixel((0, 0), (255, 0, 0))
assert pages[1].getpixel((0, 0)) == (0, 0, 0)

Zde jsou všechny dvě stránky uloženy v paměti, což je vhodné pouze pro tento velmi malý příklad syntézy. Skutečné skenované soubory by měly být zpracovány stránku po stránce nebo použít řízené dávky a výsledky každé stránky by měly být zaznamenány. Všechny snímky s vysokým rozlišením nelze kopírovat a hromadit donekonečna.

Kromě čísla stránky existují rozdíly mezi stránkami

Ve stejném vícesnímkovém souboru jsou rozdíly mezi stránkami často větší, než byste si představovali. Při kontrole stránku po stránce se doporučuje zaznamenat následující položky:

projektProč kontrolovat stránku po stránceCo lze zaznamenat
velikostStránky stejného souboru nemusí mít nutně stejnou velikostŠířka, výška a počet pixelů
modelČernobílé a barevné stránky lze kombinovatPůvodní režim a strategie konverze
směrNa různých stránkách se může lišitZměna orientace na stránku
poruchový stavPoškození stránky by nemělo být ignorovánoČíslo stránky, kategorie chyb

Částečný úspěch musí být napsán jasně

Pokud jste zpracovali pouze devět z deseti stránek, nemůžete se jen tak vrátit k dokumentu a označit vše za hotové. V dodacím listu by měly být uvedeny chybějící stránky a důvody, aby se uživatel mohl rozhodnout o opakovaném odeslání, individuální manipulaci nebo přijetí částečného doručení. Nejlepší je ponechat zdrojové číslo pro číslo stránky a nepřečíslovat je, protože určitá stránka selže, jinak bude pro uživatele obtížné vrátit se na původní stránku.

Úplnost překladu začíná od čísla vstupní stránky

Při použití pracovního postupu OmniDoc (produktový portál) ke zpracování vícestránkových naskenovaných dat můžete porovnat seznam vstupních stránek s rozsahem přeloženého obsahu. Stejný počet stránek automaticky neprokazuje, že obsah je kompletní, ale chybějící stránky nebo čísla stránek jsou cenným upozorněním. Polština by měla předcházet kontrole zdravého rozumu.

📊 Srovnání jádra

praxePoužitelné scénářeHlavní rizika
Čtěte pouze první stránkužádnýZbývající stránky se tiše ztratí a program neohlásí chybu.
Uložte odkaz na snímek přímo při iteraciPouze dočasné prohlíženíObsah na různých stránkách se může navzájem ovlivňovat
Okamžitě zkopírujte stránku po stránce nebo procesKaždá stránka musí být použita samostatněJe vyžadován další záznam výsledků na stránku
Uchovávejte všechny snímky v pamětiMalá ukázka s několika stránkami a nízkým rozlišenímVícestránkové soubory s vysokým rozlišením nadále zabírají paměť

🎯 Která metoda je pro vás vhodná?

Pokud potřebujete exportovat nebo překládat stránku po stránce

Nejprve spočítejte počet stránek, poté je zpracujte jednu po druhé a zaznamenejte velikost, režim a výsledky zpracování pro každou stránku.

Pokud máte co do činění s velkým počtem skenů s vysokým rozlišením

Použijte řízené dávkové zpracování, abyste se vyhnuli kopírování všech snímků a jejich hromadění v paměti na dobu neurčitou.

Pokud chcete doručit ostatním

Přiložte seznam chybějících stránek a vysvětlení, proč chybí, neoznačte je pouze jako úplné.

❓ Často kladené otázky (FAQ)

1. Pokud program nehlásí chybu, znamená to, že byl TIFF kompletně zpracován?

nejistý. Příklad v článku ukazuje, že program může normálně skončit, když je přečtena pouze první stránka, ale zbývající stránky byly vynechány. Úspěšné otevření souboru a úplné zpracování souboru jsou dvě různé věci.

2. Proč nelze odkaz na každý snímek uložit přímo?

Objekty snímků mohou souviset se základním stavem dekódování. Chcete-li použít každou stránku nezávisle, zkopírujte ji nebo ji zpracujte ihned při iteraci a neukládejte opakovaně odkaz na stejný měnitelný objekt.

3. Znamená stejný počet stránek, že je obsah kompletní?

Takto to nelze uzavřít. Stejný počet stránek automaticky neprokazuje, že je obsah úplný, ale chybějící stránky nebo čísla stránek jsou známkou toho, že musíte být ve střehu, a jazykové leštění by měly předcházet kontroly integrity.

4. Co byste měli dělat, když se nepodaří zpracovat stránku?

Uveďte chybějící stránky a důvody selhání v seznamu doručení a ponechte zdrojové číslo čísla stránky, což uživateli umožní rozhodnout se o opětovném odeslání, samostatném zpracování nebo přijetí částečného doručení.

📝 Shrnutí

Klíčem k vícesnímkovému TIFF je nejprve potvrdit číslo stránky, poté jej zpracovat stránku po stránce a zaznamenat výsledky. Každá stránka musí mít jasný stav a chybějící stránky musí být vypsány.

Vyzkoušejte to hned: Nahrajte dokument a začněte překládat při zachování původního rozvržení

Zdroje: Pillow ImageSequence.

Aktualizováno 2026-11-13