Guide
Så extraherar du produktdata ur PDF:er
Leverantörs-PDF:er innehåller de specifikationer din katalog behöver, men inte i en form du kan importera. Här är fyra sätt att omvandla dem till strukturerade produktdata, och hur du väljer mellan dem.
Extraktion av produktdata innebär att man tar de värden som står i ett dokument — modellnummer, mått, material, kapacitet, märkvärden, varningar — och omvandlar dem till fält som ett system kan använda. För en handfull produkter går det bra att kopiera för hand. För en leverantörskatalog med hundratals SKU:er och olika PDF-layout från varje tillverkare avgör valet av metod hur lång tid introduktionen tar och hur många fel som når din butik.
Nedan jämför vi de fyra vanliga angreppssätten och går sedan igenom de kontroller som är viktiga oavsett metod.
Börja med resultatet: definiera ditt produktschema
Innan du extraherar något bör du bestämma vilka fält du behöver och i vilken form. Ett schema för en liten apparat kan omfatta modell, varumärke, EAN, bredd/höjd/djup i millimeter, vikt i kilogram, effekt i watt, spänning, material, färg och varningar. Att fastställa enheter och tillåtna värden i förväg gör att de extraherade uppgifterna blir jämförbara mellan leverantörer.
Om du säljer i flera kanaler bör du koppla varje fält till de attributnamn som kanalerna använder (till exempel produktalternativ i Shopify eller attribut i WooCommerce), så att resultatet kan återanvändas utan ytterligare en omgång omformatering.
Metod 1: Manuell kopiering och inklistring
Någon öppnar PDF-filen och skriver eller klistrar in värden i ett kalkylblad eller ett produktformulär. Det kräver inga verktyg och fungerar med vilken layout som helst, vilket är anledningen till att de flesta team börjar här.
Kostnaderna ökar med volymen: det går långsamt, uppmärksamheten sviktar, och inmatningsfel — en ombytt siffra i ett modellnummer, ett värde från fel kolumn — är svåra att upptäcka senare. Manuell inmatning fungerar för små kataloger eller som granskningssteg ovanpå en automatiserad metod.
Metod 2: Verktyg för tabellextraktion ur PDF
Verktyg för tabellextraktion (inklusive öppen källkod och exportfunktionerna i PDF-redigerare) identifierar tabeller i digitala PDF-filer och exporterar dem till CSV eller Excel. De är snabba när uppgifterna verkligen finns i en ren tabell.
De har svårt med värden som står i löpande text, sammanslagna celler, tabeller över flera sidor och skannade dokument, och de returnerar råa tabeller i stället för namngivna fält — du måste fortfarande koppla kolumner till ditt schema och städa upp rubriker, enheter och fotnoter.
Metod 3: Mall- eller zonbaserad tolkning
Mallbaserade tolkare låter dig för en viss layout definiera var varje fält finns på sidan. När de väl är konfigurerade extraheras varje dokument i exakt den layouten enhetligt, vilket passar stora volymer av identiska dokument, till exempel fakturor från en och samma avsändare.
Leverantörers datablad är sällan så enhetliga. Varje tillverkare — och ofta varje produktserie — behöver sin egen mall, och mallar slutar fungera när leverantören ändrar utformningen. För kataloger från många leverantörer väger underhållet snabbt tyngre än vinsten.
Metod 4: AI-extraktion
AI-extraktion använder språk- och bildmodeller för att läsa dokumentet på det sätt en människa gör: den hittar modellnumret oavsett om det står i ett sidhuvud, en tabell eller en mening, och returnerar fälten i ditt schema med värden och enheter. Eftersom den inte är beroende av fasta positioner kan en enda uppsättning hantera många leverantörslayouter, inklusive skannade sidor.
Avvägningen är att AI-resultat måste granskas. Bra verktyg visar en konfidensindikation och källbelägg för de extraherade värdena så att granskarna kan koncentrera sig på de osäkra, och de lämnar ett fält tomt eller markerat i stället för att gissa när dokumentet inte anger uppgiften. Doc2Shelfs extraktion av produktdata från PDF:er ger varje extraktion en poäng för konfidens och fullständighet och registrerar extraherade fakta med sidnummer och ett kort citat; den granskade posten kan sedan användas i annonser och utkast till efterlevnadsdokument.
Så väljer du metod
En praktisk tumregel:
- Under ungefär 20 produkter, eller engångstillägg: manuell inmatning med ett tydligt schema.
- Rena digitala tabeller, en eller två leverantörer: ett verktyg för tabellextraktion plus efterbearbetning.
- Stora volymer av en och samma layout: mallbaserad tolkning.
- Många leverantörer, varierande layouter eller skannade PDF-filer: AI-extraktion med mänsklig granskning.
Kontroller som håller extraherade data korrekta
Oavsett metod orsakas de flesta fel av samma problem. Bygg in de här kontrollerna i ditt granskningssteg:
- Modellkoppling: när ett blad täcker flera modeller, bekräfta att varje värde hör till rätt modellkolumn.
- Enheter: normalisera enheter (mm eller cm, W eller kW) och behåll enheten tillsammans med varje numeriskt värde.
- Fotnoter och villkor: värden som kapacitet eller drifttid beror ofta på angivna testvillkor.
- Identifierare: kontrollera EAN/GTIN-kontrollsiffror och modellnummer tecken för tecken.
- Saknade eller motstridiga värden: fråga leverantören i stället för att dra slutsatser om ett värde som inte står i dokumentet.
- Spårbarhet: behåll käll-PDF:en kopplad till posten så att vem som helst kan kontrollera ett värde igen senare.
Extraktionsmetoderna jämförda sida vid sida
De fyra metoderna ovan skiljer sig mindre i vad de kan läsa än i vad som styr deras träffsäkerhet och hur mycket uppsättning de kräver. OCR hör också hemma i jämförelsen, men som ett lager snarare än en metod: det gör en inskannad sida till text, och en av de andra metoderna måste fortfarande omvandla texten till fält.
Träffsäkerhet är aldrig en egenskap hos metoden ensam. Den beror på de dokument du matar in, hur tydligt ditt schema definierar varje fält och hur disciplinerat granskningssteget är — och därför är det värt att mäta på ett urval av dina egna leverantörs-PDF:er i stället för att lita på publicerade siffror.
| Metod | Träffsäkerheten beror på | Installationsinsats | Resultat | Bäst för |
|---|---|---|---|---|
| Manuell inmatning | Granskarens uppmärksamhet och ett tydligt schema | Ingen | Namngivna fält, som de skrivs in | Små kataloger; enstaka tillägg; granskningssteget |
| Kopiera och klistra in eller PDF-till-Excel-export | Ett riktigt textlager och rena tabeller utan sammanslagna celler | Låg | Rå text eller tabeller som mappas för hand | Rena digitala tabeller från en eller två leverantörer |
| Mallbaserad eller zonbaserad tolkning | Alla dokument har exakt samma layout | Hög per layout, och på nytt när layouten ändras | Namngivna fält | Stora volymer med en fast layout |
| OCR | Skanningsupplösning, kontrast, snedhet, typsnitt, språk | Låg till medel | Endast text | Göra inskannade sidor läsbara för en annan metod |
| LLM-baserad extraktion | Tydligt schema, dokumentkvalitet, granskningsdisciplin | Låg per layout; kräver ett granskningsflöde | Namngivna fält med värden och enheter | Många leverantörer, varierande layouter, blandad löptext och tabeller |
Hantera specifikationstabeller och tabeller med flera varianter
De flesta extraktionsfel i datablad uppstår i tabeller, och de flesta av dem uppstår när en tabell beskriver flera modeller. En tabell som ser självklar ut för en läsare döljer en struktur som en tolkare eller en trött person kan missa: enheter som bara anges i rubriken, celler som slagits ihop över flera modeller, fotnotsmarkörer som sitter ihop med siffror och tabeller som fortsätter på nästa sida.
Gå igenom varje specifikationstabell i en fast ordning innan något värde kopieras in i en post:
- Identifiera orienteringen: står modellerna eller varianterna i kolumner eller i rader? Notera hur många de är, så att du kan kontrollera antalet poster i slutet.
- Läs varje rubrikrad, inklusive enheter inom parentes, och för ner enheten till varje cell i den kolumnen eller raden.
- Dela upp sammanslagna celler: ett värde som sträcker sig över flera modellkolumner gäller för var och en av dessa modeller, inte bara den första.
- Foga ihop tabeller som delats över flera sidor, och kontrollera att den upprepade rubriken inte tolkas som en datarad och att ingen rad går förlorad vid sidbrytningen.
- Skilj fotnotsmarkörer från siffror — ”1,1¹” är 1,1 med fotnot 1, inte 1,11 — och spara fotnotstexten som ett villkor för det värdet.
- Skilj mellan tomt, ”—”, ”n/a” och ”valfritt”: tomt betyder okänt, ett streck betyder ofta att uppgiften inte är tillämplig, och ingetdera ska bli noll.
- Leta efter värden utanför tabellen, till exempel ”alla modeller: 230 V” under den, och tillämpa dem på varje modell de omfattar.
- Dela upp tabellen i en post per modell eller variant och bekräfta sedan att antalet poster stämmer med steg 1.
Inskannade PDF:er och OCR-kvalitet
Kontrollera först om en PDF har ett textlager: om du kan markera eller söka i texten är den digital; om inte är den en bild och behöver OCR innan något tabellverktyg kan läsa den. När en leverantör skickar en inskanning, be om den digitala originalfilen — det eliminerar en hel kategori av fel. Om du själv måste skanna är en upplösning på cirka 300 dpi en vanlig rekommendation för text, och raka sidor med hög kontrast är lika viktiga som upplösningen.
OCR-fel är farliga eftersom de ger trovärdiga resultat. De tecken som förväxlas är förutsägbara, så kontrollerna kan vara det också:
| OCR-fel | Exempel | Så fångar du felet |
|---|---|---|
| Bokstäver och siffror förväxlade (O/0, l/1, S/5, B/8) | ”AX-1OO” i stället för AX-100 | Mönsterkontroller av modellnummer; kontrollsiffra för GTIN |
| Decimaltecken försvunnet | ”1,5 l” läses som ”15 l” | Rimlighetsintervall per attribut |
| Fotnot sammanslagen med ett tal | ”1,1¹ kg” läses som ”1,11 kg” | Jämför med närliggande modeller; leta efter fotnotstexten |
| Fel läsordning | Två kolumner sammanfogade till en rad | Kontrollera antalet värden per modell |
| Enhetssymboler feltolkade | ”°C” som ”oC”, ”µm” som ”um” | Lista över tillåtna enheter per attribut |
| Minustecken eller tankstreck försvunnet | ”−20 °C” läses som ”20 °C” | Kontrollera att intervallets minimum ≤ maximum |
Genomgånget exempel: ett datablad blir en strukturerad post
Så här tillämpas stegen ovan på ett illustrativt datablad för en vattenkokare som omfattar två modeller i en tabell. Det är ett pedagogiskt exempel, inte en verklig produkt eller ett uppmätt extraktionsresultat. Varje källrad mappas till ett fält, normaliseras och kontrolleras.
Resultatet är två variantposter som delar kapacitet, effekt och spänning, var och en med egen färg, vikt och identifierare — plus två öppna frågor till leverantören. Inget har fyllts i på antagande: den andra modellens EAN och ursprungslandet förblir tomma tills leverantören uppger dem. Hur värden och enheter normaliseras över många leverantörer, i stället för ett enda blad, behandlas i guiden om produktattribut.
| Källrad som den är tryckt | Fält | Extraherat värde | Tillämpad kontroll |
|---|---|---|---|
| Modell: AX-100 | AX-100B | model_number | AX-100; AX-100B | Två kolumner, alltså två variantposter |
| Kapacitet 1,5 l (sammanslagen över båda modellerna) | capacity | 1,5 l för varje modell | Decimalkomma; sammanslagen cell kopierad till båda |
| Effekt 1850–2200 W | rated_power | min. 1850 W, max. 2200 W | Behålls som ett intervall, inte ett enda tal |
| 220–240 V~ 50/60 Hz | rated_voltage; frequency | 220–240 V AC; 50/60 Hz | En rad, två fält |
| Färg: borstat stål | svart | color | borstat stål; svart | Ett värde per variant |
| Nettovikt (kg) 1,1¹ | 1,0¹ | net_weight | 1,1 kg; 1,0 kg | Enhet från rubriken; fotnot ¹ ”utan sockel” behålls |
| EAN 6291041500213 | — | gtin | 6291041500213; tomt | Kontrollsiffran giltig; be om den saknade EAN-koden |
| (anges inte) | country_of_origin | tomt | Begärs från leverantören; antas aldrig |
Vanliga felkällor och ett verifieringsflöde
Samma handfull dokumentegenskaper orsakar de flesta extraktionsfelen, oavsett metod. Genom att känna till dem kan du utforma granskningen kring de verkliga riskerna i stället för att läsa om varje värde med samma noggrannhet.
- Bekräfta dokumentet: rätt produkt, aktuell version, alla sidor med.
- Kontrollera varje identifierare (modellnummer, GTIN med kontrollsiffra) och varje säkerhetsrelevant värde — varningar, elektriska märkdata, faroinformation — mot källan.
- Kör automatiska kontroller på resten: enheter finns, värden inom rimliga intervall, obligatoriska fält ifyllda.
- Gör stickprov på ett urval av de återstående fälten per leverantör, och utöka urvalet när du hittar fel.
- Gör olösta luckor till frågor till leverantören i stället för uppskattningar.
- Spara käll-PDF:en, granskaren och granskningsdatumet tillsammans med posten.
| Felkälla | Vad som går fel | Förebyggande åtgärd |
|---|---|---|
| Enheter endast i rubriker | Siffror utan enhet tappar sin enhet | För ner rubrikens enheter till varje värde; avvisa mätvärden utan enhet |
| Fotnoter och provningsvillkor | ”Typiskt”, ”vid 25 °C” eller ”utan sockel” faller bort | Spara villkoren tillsammans med värdet |
| Sammanslagna celler | Värdet tilldelas bara den första modellen | Dela upp sammanslagna celler innan varianterna delas |
| Flerspråkiga datablad | Decimalkomman feltolkas; samma värde fångas två gånger på två språk | Språkmedveten tolkning av tal; synonymlista för rubriker; ta bort dubbletter |
| Flera produkter i en PDF | Värden kopplas till fel produkt | En post per produkt; kontrollera varje modellnummer |
| Föråldrade versioner | Ett gammalt blad motsäger det aktuella | Registrera dokumentets datum eller version; föredra den senaste |
| Värden som bara finns i ritningar eller bilder | Mått på en teknisk ritning missas | Kontrollera ritningar; flagga saknade mått |
Vanliga frågor
- Kan jag extrahera data ur en skannad PDF?
- Ja, men texten måste först kännas igen med OCR (optisk teckenigenkänning). Tabellverktyg som bara läser digital text returnerar ingenting från en skannad sida; OCR-kapabla och AI-baserade verktyg kan läsa den, men kvalitetssvaga skanningar kräver större noggrannhet.
- Hur extraherar jag produktattribut ur ett PDF-datablad?
- Definiera de attribut du behöver (till exempel material, färg, kapacitet) och hämta sedan värdena från databladets tabeller och text, antingen manuellt eller med ett AI-verktyg som kopplar tabellceller och meningar till fält. Var försiktig med attribut som bara anges i marknadsföringstext och bekräfta tekniska värden mot specifikationstabellerna.
- Vilket format bör extraherade produktdata ha?
- Använd det som ditt nedströmssystem importerar — oftast CSV för kalkylblad och butiksimportörer, eller JSON för API:er och PIM-system. Ha en rad eller ett objekt per produktvariant, med enhetliga fältnamn och enheter.
- Är AI-extraktion tillräckligt exakt för att publiceras utan granskning?
- Den bör inte publiceras ogranskad. AI-extraktion tar bort det mesta av skrivarbetet, men en person bör bekräfta osäkra fält, identifierare och allt som rör säkerhet mot källdokumentet innan uppgifterna används.
- Hur extraherar man bäst tabeller ur ett PDF-datablad?
- För rena digitala tabeller fungerar både ett verktyg för tabellextraktion och ett AI-verktyg för extraktion; inskannade tabeller behöver OCR först. Oavsett verktyg: dela upp sammanslagna celler, för ner rubrikens enheter till varje värde, skilj fotnotsmarkörer från siffror och dela upp tabeller med flera modeller i en post per modell.
- Hur träffsäker är AI-extraktion av produktdata ur PDF:er?
- Det beror på dokumentkvaliteten, layoutens komplexitet och hur tydligt du definierar fälten, så det finns ingen enskild träffsäkerhetssiffra som gäller för dina dokument. Mät det själv: extrahera ett urval av dina leverantörs-PDF:er och jämför varje fält med källan, och räkna felaktiga och saknade värden separat.
- Kan jag konvertera en PDF-katalog till en CSV-fil för min butik?
- Ja. Extrahera en post per produkt eller variant till en fast uppsättning kolumner, normalisera enheter och värden och byt sedan namn på kolumnerna så att de matchar butikens importmall. En katalog har ofta mindre detaljer per produkt än enskilda datablad, så räkna med luckor som måste fyllas från andra källor.
- Hur extraherar jag data ur datablad på andra språk?
- Behåll värdena som de är tryckta under extraktionen, tolka tal enligt dokumentets språkinställning (decimalkomma, tusentalsavgränsare) och koppla rubriker på främmande språk till dina fältnamn med en synonymlista. Översätt beskrivande text separat och låt granska den.