Vad en PDF egentligen är, och varför du inte alltid kan kopiera texten

Hur en PDF lagrar glyfer vid koordinater i stället för ord, hur du skiljer en skanning från riktig text, och vad typsnitt, sidrutor, rotationsflaggor och lösenord gör när du slår ihop eller delar.

En PDF är en lista med ritinstruktioner. Den säger placera den här glyfen på den här koordinaten, i det här typsnittet, i den här storleken, flytta sedan hit och rita nästa. Den säger inte att det här är en rubrik, det här är ett stycke, den här kolumnen kommer före den där. Allt en läsare tycks veta om en sidas struktur har rekonstruerats i efterhand genom att mellanrummen mellan märkena mätts, vilket förklarar det mesta av det som är frustrerande med PDF-filer.

Vad en PDF faktiskt lagrar

Text på en sida bor i en innehållsström, en kort följd av operatorer:

BT
  /F1 11 Tf
  72 708 Td
  [(In) -18 (v) 22 (oice)] TJ
  180 0 Td
  (2026-08-25) Tj
ET

Tf väljer ett typsnitt och en storlek, Td flyttar textmarkören, och TJ ritar glyfer med kerningförskjutningar mellan dem. Notera vad som saknas: inget mellanslagstecken någonstans. Luckan före datumet är ett hopp på 180 enheter, och en extraherare måste avgöra om varje hopp är ett mellanslag, en tabb, en kolumngräns eller ingenting alls. Ett tröskelvärde som ligger något fel ger dig Invoice2026-08-25 eller I n v o i c e.

Läsordningen har samma problem: glyferna kommer ut i den ordning de ritades. En layout med två kolumner ritar ofta den vänstra kolumnen nedför sidan och sedan den högra, och då fungerar kopieringen; om generatorn ritade rad för rad tvärs över arket flätar kopieringen ihop kolumnerna till nonsens.

Att skilja en text-PDF från en skanning

Ett skannat dokument innehåller ingen text alls: det är ett fotografi av en sida inslaget i en PDF. Optisk teckenigenkänning lägger till ett osynligt textlager över bilden, vilket gör filen sökbar, men det lagret är en gissning, så dess fel visar sig som misslyckade sökningar och förvanskade kopieringar.

KontrollText-PDFSkannad PDF
Markera ett ordMarkeras tecken för teckenIngenting markeras, eller hela sidan gör det
Zooma till 400 %Bokstäverna förblir skarpaBokstäverna blir mjuka eller blockiga
Storlek per sidaOfta 20 till 100 KBOfta 300 KB till flera MB
Extract Images from PDFReturnerar de verkliga bilderna, eller ingentingReturnerar en helsidesbild per sida

Typsnitt, inbäddning och delmängder

Ett typsnitt är antingen inbäddat, alltså att typsnittsprogrammet ligger inuti filen, eller refererat genom namn och mått, så att läsaren hittar något liknande på maskinen som visar det. Refererade typsnitt är anledningen till att ett dokument ser rätt ut där det gjordes och fel någon annanstans: ersättaren har andra teckenbredder, så rader bryts om, tabeller svämmar över och ett brev på en sida blir två.

Inbäddade typsnitt innehåller nästan alltid bara en delmängd. Bara de glyfer som används tas med, och de numreras ofta om, så glyfen för A kan ligga på kod 3. Mappningen tillbaka till verkliga tecken bor i en separat ToUnicode-tabell, och när den saknas eller är fel renderas sidan perfekt medan den kopierade texten anländer som rappakalja, eftersom du får interna glyfkoder i stället för tecken. Att spara om reparerar det inte; utvägarna är källdokumentet eller teckenigenkänning över renderade sidor.

Sidstorlek, rutor och rotation

Koordinaterna anges i punkter, 72 per tum, och varje sida bär flera rektanglar. MediaBox är hela arket; CropBox är den region som faktiskt visas, och den kan vara mindre.

StorlekPunkterMillimeter
A4595 x 842210 x 297
Letter612 x 792216 x 279
Legal612 x 1008216 x 356

A4 och Letter ser identiska ut på skärmen och skiljer sig på papper, så att slå ihop en europeisk rapport med en amerikansk ger sidor som växlar i storlek.

Varje sida bär också en rotationsflagga på 0, 90, 180 eller 270 grader, så att innehåll som lagrats på sidan kan visas upprätt. Rotate PDF sätter den flaggan i stället för att rita om något, vilket gör det ögonblickligt och förlustfritt, men koordinaterna under är oförändrade: ett verktyg som ignorerar flaggan extraherar texten liggande, och att slå ihop sidor med blandade flaggor ger ett dokument som ser enhetligt ut medan dess innehåll ligger i flera orienteringar.

Att slå ihop, dela och de delar som går sönder

Sidorna bor i ett sidträd. Merge PDF kopierar sidobjekt och allt de refererar till in i en fil och bygger om det trädet; Split PDF tar en gren av det. Sidorna kommer igenom intakta, det som är kopplat till dokumentet gör det inte alltid.

  • Bokmärken är en separat översikt som pekar på sidobjekt. Många sammanslagningsverktyg tappar den helt, och en delning lämnar poster riktade mot sidor som inte längre finns.
  • Formulärfält namnges på dokumentnivå, inte sidnivå, så att slå ihop två kopior av ett formulär ger två fält som heter name, vilket många läsare behandlar som ett enda fält med ett delat värde: att fylla i det ena fyller i det andra. Platta ut eller byt namn på dem först.
  • Annotationer som länkar och kommentarer följer med sina sidor, men en intern länk vars målsida lämnades utanför en delning har ingenstans att ta vägen.

En sammanslagen fil är ofta större än sina delar eftersom delade resurser dubbleras: fyra källor som var och en bäddade in en delmängd av samma typsnitt ger fyra delmängder, plus fyra färgprofiler och fyra metadatablock. Den kan också bli mindre, eftersom omskrivningen kastar bort oanvända objekt och sparhistorik: ett dokument som sparats trettio gånger bär varje tidigare revision tillagd efter sig.

Lösenord, behörigheter och taggar

Det finns två sorters lösenord och de är inte jämförbara. Ett användarlösenord krävs för att öppna dokumentet: innehållet är genuint krypterat med en nyckel härledd ur det, så utan lösenordet finns ingenting att läsa. Moderna filer använder AES-256, mycket gamla 40-bitars RC4, som är svagt.

Ett ägarlösenord sätter behörighetsflaggor som ingen utskrift, ingen kopiering och ingen redigering. Filen är fortfarande krypterad, men med en nyckel vilken läsare som helst kan härleda på egen hand, eftersom användarlösenordet är tomt. Flaggorna är en önskan, respekterad av vissa läsare och ignorerad av andra: om en fil öppnas utan att fråga är dess begränsningar rådgivande, vad egenskapsdialogen än säger.

Taggning är ett annat lager: ett valfritt strukturträd som märker rubriker, listor, tabellceller och bildbeskrivningar och som fastställer en läsordning. En skärmläsare på en taggad PDF läser dokumentet; på en otaggad gissar den utifrån koordinater och producerar samma röriga resultat som kopiera och klistra in. Skanningar är otaggade per definition, teckenigenkänning lägger till text men ingen struktur, och utdata från Images to PDF eller PDF to Images har varken eller.

Var storleken sitter, och vad webbläsaren rymmer

Filstorleken beror nästan alltid på bilder. En A4-sida behöver ungefär 1240 gånger 1754 pixlar vid 150 dpi och 2480 gånger 3508 vid 300 dpi, så ett fotografi som placeras i 12 megapixlar bär långt mer data än utskriften kan använda, och nedsampling är den enda ändring som tillförlitligt krymper ett dokument. Att spara om en PDF som bara innehåller text vinner mycket lite, eftersom dess innehållsströmmar redan är komprimerade; när en sådan är oväntat stor, titta på inbäddade typsnitt, sparhistorik eller bilagor.

Allt detta sker lokalt i webbläsaren, så ingenting laddas upp och gränsen är minnet snarare än filstorleken. Renderingen är den dyra delen: en A4-sida i 4x skala är omkring 2380 gånger 3368 pixlar, ungefär 32 MB okomprimerad bitmapp för en enda sida, så femtio sidor i den skalan tömmer en webbläsarflik långt innan de besvärar maskinen. Dela ett mycket stort dokument först, och arbeta sedan i satser.