PDF kan worden bekeken maar niet gekopieerd. Het is mogelijk dat het geen scan is: controleer eerst de tekstlaag en de tekentoewijzing

Als er geen tekst is, kan deze niet direct worden beoordeeld als "de tekstlaag is normaal", noch kan deze direct worden beoordeeld als een gescande kopie. De tekst, alternatieve tekens en verwijzingen naar paginaafbeeldingen worden hieronder respectievelijk vastgelegd en de te beoordelen status wordt weergegeven; verwijzingen naar afbeeldingen bewijzen niet dat de afbeelding de hele pagina beslaat of dat de tekst herkenbaar is.

Als u de tekst in de PDF wel kunt zien, maar deze niet kunt kopiëren, is het mogelijk geen gescande kopie of is er mogelijk een probleem met de tekentoewijzing. Dit artikel is geschreven voor ontwikkelaars en documentverwerkers die PDF-inhoud moeten extraheren, vertalen of structureren. Na het lezen weet u eerst hoe u problemen op tekstniveau en beeldinhoud kunt onderscheiden, en hoe u uniforme signalen kunt gebruiken om te bepalen wat u vervolgens moet doen.

De code en voorbeelden hier maken gebruik van synthetische voorbeelden die de steekproefcontroles in een geïsoleerde omgeving hebben doorstaan en vormen geen garantie voor alle echte bestanden of productprestaties. Voordat u belangrijke documenten verwerkt, dient u de originelen te bewaren en deze te controleren op basis van de grenzen en acceptatie-items in de tekst.

De PDF kan worden bekeken, maar niet gekopieerd. Is het een gescande kopie? Conclusie in één zin

Kan niet direct oordelen. Controleer eerst de tekstlaag en de tekentoewijzing, kijk vervolgens naar de paginaafbeelding en bepaal ten slotte of het een scan of een toewijzingsfout is.

jouw situatieAanbevolen praktijkenreden
Kan de tekst zien, onleesbare tekens of spaties kopiërenControleer ToUnicode-toewijzing en lettertypecoderingHet beeld is normaal, maar de tekstlaag is kapot, meestal als gevolg van ontbrekende of verkeerde mapping.
De gekopieerde karakters zien er redelijk uit, maar hebben een onjuiste semantiekControleer de extractieresultaten aan de hand van visuele inhoudHeuristische mapping kan verkeerde tekens opleveren en een niet-nulcontrole doorstaan
Er staat geen tekst, maar er staan wel afbeeldingen op de paginaControleer of de afbeelding tekst bevat en bepaal vervolgens of OCR nodig isAfbeeldingscitaten zijn niet hetzelfde als scans van een volledige pagina, noch bewijzen ze dat de tekst leesbaar is
Tekst noch afbeeldingen worden uitgechecktBekijk de inhoud van de paginatekeningEr is geen manier om te concluderen dat de pagina leeg is

Waarom is de gekopieerde code onleesbaar?

Gebruikers kunnen de tekst normaal in de browser of reader zien, maar de gekopieerde tekst is onleesbaar, blanco of irrelevant. Dit is meestal geen beschadigd bestand en het is ook niet noodzakelijkerwijs een gescande kopie. De hoofdoorzaak is dat de glyph (Glyph) naar Unicode-toewijzingstabel (ToUnicode CMap) in de PDF ontbreekt of verkeerd is.

Rendering-engines vertrouwen op glyph-indexen om visuele inhoud te tekenen, terwijl klembord- en tekstextractietools afhankelijk zijn van mapping-tabellen om semantische karakters te herstellen. Wanneer deze twee worden verbroken, verschijnt er een "visueel normale, machinaal onleesbare" laag slechte tekst.

Voordat u documentvertaling of gestructureerde extractie uitvoert, moet u eerst bevestigen of het probleem in de mapping ligt of dat de pagina zelf een afbeelding is. Anders zullen daaropvolgende OCR- of NLP-processen gebaseerd zijn op het verkeerde uitgangspunt.

Breukmechanisme tussen glyph-index en Unicode-toewijzing

Dankzij de PDF-specificatie mogen lettertypen alleen glyph-omtrek- en breedte-informatie insluiten, maar geen tekencoderingstoewijzing. De volgende omstandigheden kunnen breuk veroorzaken:

  • Software die PDF genereert, schrijft de ToUnicode-tabel niet correct
  • Er wordt gebruik gemaakt van aangepaste codering, maar er zijn geen decoderingsregels beschikbaar

Op dit moment kan de extractor alleen de originele glyph-ID (CID) verkrijgen. Deze ID's zijn betekenisvol voor de renderer, maar hebben geen waarde voor de tekstverwerking.

Sommige tools gebruiken heuristieken om de afbeelding te raden, en het resultaat kan tekens zijn die redelijk lijken, maar in werkelijkheid verkeerd zijn, zoals het omzetten van Chinese interpunctie in Latijnse letters, of het vervangen van cijfers door controletekens. Dit soort 'dummytekst' is subtieler dan pure witruimte, omdat het de niet-nulcontrole kan doorstaan, maar stille gegevensvervuiling in downstream-links zal veroorzaken.

De sleutel tot het beoordelen van dergelijke problemen is niet om te zien of de tekst geselecteerd kan worden, maar om te verifiëren of de geëxtraheerde string semantisch consistent is met de visuele inhoud.

Gebruik PyMuPDF voor diagnostiek van geheugensynthese

De volgende code construeert de invoer in het geheugen en verifieert de diagnostische logica:

from io import BytesIO
from PIL import Image
import pymupdf
def inspect(page):
    text = page.get_text().strip()
    images = page.get_images()
    if "\ufffd" in text:
        state = "review_replacement_characters"
    elif text:
        state = "text_present_needs_semantic_review"
    elif images:
        state = "image_without_extracted_text"
    else:
        state = "empty_text_needs_review"
    return {"state": state, "characters": len(text), "image_refs": len(images)}
with pymupdf.open() as doc:
    doc.new_page().insert_text((50, 50), "Text sample")
    doc.new_page()
    picture = BytesIO()
    Image.new("RGB", (16, 16), "red").save(picture, format="PNG")
    doc.new_page().insert_image(pymupdf.Rect(10, 10, 100, 100), stream=picture.getvalue())
    assert inspect(doc[0])["state"] == "text_present_needs_semantic_review"
    assert inspect(doc[1])["state"] == "empty_text_needs_review"
    assert inspect(doc[2])["state"] == "image_without_extracted_text"
    assert inspect(doc[2])["characters"] == 0

In de bovenstaande code verkrijgt de functie diagnose_text_layer de originele tekst via get_text("text"), gebruikt unicodedata.category om controletekens en witruimtetekens te filteren, en berekent het aandeel van de effectieve inhoud. Tegelijkertijd detecteert het de aanwezigheid van beeldblokken via get_text("blocks").

De twee beweringen verifiëren twee gevallen: een normaal document met een afdrukbaarheidspercentage hoger dan 0,9, en een gescand document met een tekentelling van nul. Dit omvat de kernvertakkingslogica.

Het is belangrijk op te merken dat deze diagnose uitsluitend gebaseerd is op statistische kenmerken. Voor gecodeerde lettertypen of speciale coderingen is handmatige beoordeling nog steeds vereist.

📊 Kernvergelijking

De volgende tabel bevat de inspectierichtlijnen die overeenkomen met verschillende signalen en de conclusies die niet mogen worden getrokken:

SignaalVolgende stap om te controlerenconclusies die niet getrokken mogen worden
Er is afdrukbare tekstControleer semantiek, volgorde en bronnenAls je het kunt extraheren, betekent dat dat het correct is
Er zijn alternatieve personagesBekijk codering en lettertypemappingAlle personages zijn verloren gegaan
Er zijn foto's maar geen tekstControleer of de afbeelding tekst bevatHet moet een volledige pagina scan zijn
Noch tekst noch afbeeldingen werden gedetecteerdBekijk paginatekeningenHet moet een blanco pagina zijn

🎯 Welke methode past bij jou?

Als je de tekst kunt zien maar niet kunt kopiëren

Geef prioriteit aan het controleren van ToUnicode-mappings en lettertypecoderingen, die meestal worden veroorzaakt door mapbreuken.

Als de gekopieerde tekst er normaal uitziet maar fouten bevat,

Gebruik visuele inhoud om resultaten paragraaf voor alinea te vergelijken en te extraheren; kijk niet alleen of het niet nul is.

Als de pagina alleen afbeeldingen heeft en geen tekst

Controleer of de afbeelding tekst bevat en beslis vervolgens of OCR nodig is. Ga er niet vanuit dat de hele pagina een scan is.

Als je je voorbereidt op documentvertaling

Eerst de tekstintegriteitscontrole voltooien en vervolgens het desensibiliseerde voorbeeld overdragen aan het vertaalproces.

Gebruik deze checklist voor documentvertaling

Controleer eerst zorgvuldig de paginavolgorde, bronlocatie en tekstintegriteit, en dien vervolgens hetzelfde desensitisatievoorbeeld in bij het vertaalproces. Na de vertaling is het nog steeds nodig om te controleren of de titel, hoofdtekst en bijschriften correct overeenkomen; het is niet voldoende om alleen te oordelen op de soepelheid van de tekst.

OmniDoc (Productinvoer) biedt een multiformaat documentvertaalportaal, waarbij de officiële website OCR, woordenlijsten en tweetalige referentiefuncties introduceert. Als je direct vanaf het bestand wilt beginnen, kun je dit pad evalueren met echte samples.

Gebruik alstublieft het angstbestand dat u recht heeft te uploaden en verifieer de resultaten van de checklist in dit artikel. Dit beweert niet dat OmniDoc gebruikmaakt van de open-source bibliotheken of interne algoritmen die in dit artikel worden genoemd, noch vervangt het productprestatietesten door voorbeelden.

❓ Veelgestelde Vragen (FAQ)

1. Als je tekst kunt extraheren, betekent dat dan dat de tekstlaag correct is?

Nee. De geëxtraheerde inhoud moet ook worden gecontroleerd op semantiek, volgorde en bron, en als de mapping onjuist is, kan het schijnbaar redelijke tekens produceren.

2. Als er afbeeldingen op de pagina staan, betekent dat dan dat het een scan is?

Niet per se. Afbeeldingsreferenties bewijzen niet dat de afbeelding de hele pagina bedekt, noch bewijst het dat de tekst herkenbaar is; je moet controleren of de afbeelding tekst bevat.

3. Als er geen tekst of afbeeldingen worden gedetecteerd, betekent dat dan dat de pagina leeg is?

Op basis hiervan kan geen conclusie worden getrokken. Je moet de weergave van de pagina controleren voordat je een oordeel velt.

4. Kan dit diagnostische script voor alle PDF's worden gebruikt?

Nee. Het is uitsluitend gebaseerd op statistische kenmerken; versleutelde lettertypen of speciale coderingen vereisen nog steeds handmatige verificatie.

📝 Samenvatting

PDF's kunnen worden gelezen maar niet gekopieerd; controleer eerst de tekstlagen en tekenmappings, bekijk dan de beeldinhoud en bepaal tenslotte of het een gescande kopie is. Bewaar vóór de verwerking de originele documenten en bekijk elk item met inspectieartikelen.

Ervaar nu: upload je document om te beginnen met vertalen, waarbij je de originele opmaak behoudt

Verder lezen

-Gedetailleerde uitleg van PyMuPDF-tekstextractie -Officiële documenthomepage van PyMuPDF

Bijgewerkt op 2026-11-14