PDF-verktyg på servern eller i webbläsaren: så fungerar de
Ett serverbaserat PDF-verktyg laddar upp din fil till operatörens datorer, behandlar den där och skickar tillbaka resultatet. Ett klientbaserat verktyg laddar i stället ner programmet till din webbläsare, och programmet behandlar filen på din egen enhet. I det första fallet är det ditt dokument som färdas, i det andra bara kod.
Den enda skillnaden avgör vem som någonsin kan se din fil. Den förklarar också varför de två sorternas verktyg känns olika, går sönder på olika sätt och passar för olika jobb. Den här förklaringen går steg för steg igenom vad som faktiskt händer i vart och ett.
Vad som händer i ett serverbaserat verktyg
- Du väljer en fil. Sidan skickar den över internet till operatörens server, oftast som en HTTPS-uppladdning.
- Servern lagrar den, åtminstone på disk eller i minnet så länge jobbet pågår, ofta i en kö med andras filer.
- Ett program på servern, till exempel ett PDF-bibliotek, en konverterare eller en motor för textigenkänning, gör jobbet.
- Resultatet lagras också, och sidan ger dig en länk för att ladda ner det.
- Båda filerna raderas senare, enligt operatörens egna regler för lagringstid.
Det här var tidigare den enda praktiska lösningen. Webbläsarna var långsamma, och bibliotek som kunde läsa och skriva om PDF:er kördes bara på servrar. Dagens webbläsare kör avancerad kod snabbt, och PDF-bibliotek med öppen källkod skrivna i JavaScript klarar de flesta vardagsjobb i en flik.
HTTPS skyddar steg 1 mot avlyssning. Steg 2 till 5 beror på operatören: deras säkerhet, personalens åtkomst, deras säkerhetskopior och deras rättsliga skyldigheter i det land där servrarna står. De flesta operatörer hanterar det här ansvarsfullt, men du litar på att de gör det.
Vad som händer i ett klientbaserat verktyg
- Du öppnar verktygssidan. Din webbläsare laddar ner sidan och dess JavaScript, precis som för vilken webbplats som helst.
- Du väljer en fil. Webbläsarens File API läser den från din disk till flikens minne. Ingenting skickas.
- Kod som körs i fliken gör jobbet. Tunga delar körs ofta i en Web Worker, en bakgrundstråd, så att sidan fortsätter att svara.
- Resultatet byggs i minnet och lämnas till dig som en nedladdning, via en tillfällig länk som pekar på minnet i din egen webbläsare.
- När du stänger fliken frigörs minnet. Det finns inget att radera någon annanstans, eftersom ingenting skickades.
Kopitiams PDF-verktyg fungerar så här. De använder pdf.js, PDF-motorn med öppen källkod från Mozilla, för att läsa och rita sidor, med dess parser i en Web Worker. De använder pdf-lib, ett annat bibliotek med öppen källkod, för att bygga den nya PDF:en. Båda körs i din flik.
Varför klientbaserade verktyg kan fungera offline
När programmet väl finns i din webbläsare behöver det inte nätverket för att köras. Det är därför offlinetestet fungerar: ladda verktyget, stäng av wifi, och verktyget fortsätter att arbeta. Om det verkligen laddade upp skulle det misslyckas direkt.
Det finns detaljer som är värda att känna till. Kopitiam startar PDF-motorns worker så fort en verktygssida öppnas, inte när du släpper in en fil, så verktygen fortsätter att fungera om anslutningen bryts efter att sidan har laddats. Vissa mindre vanliga funktioner laddar extra kod första gången du använder dem, till exempel typsnittsmotorn för text i icke-latinska skriftsystem. Det är kod som kommer till dig, inte din fil som går ut.
De verkliga gränserna för behandling i webbläsaren
Att göra jobbet på din enhet har en kostnad, och ett ärligt verktyg bör tala om det.
- Minne. Hela filen ligger i flikens minne, ofta i mer än en kopia medan den behandlas. En skanning på 200 MB kan behöva flera gånger så mycket. Webbläsare begränsar minnet per flik, och mobiler begränsar det hårdast.
- Hastighet. Din bärbara dator eller mobil gör jobbet, inte ett datacenter. Att rendera 400 sidor till bilder, eller komprimera om varje foto i en lång skanning, tar märkbart längre tid på en äldre enhet.
- Batteri och värme. Ett långt jobb på en mobil belastar processorn hårt en stund.
- Svåra jobb. Vissa uppgifter är mycket enklare med serverprogramvara, till exempel textigenkänning i stora inskannade arkiv eller konvertering av komplexa Office-filer med exakt layout. Många verktyg som annars är klientbaserade skickar just de jobben till en server.
I praktiken är storleksgränsen för ett klientbaserat verktyg din enhet snarare än en siffra på en prissida. Kopitiam har ingen gräns för filstorlek i koden, så en mycket stor fil fungerar antingen eller tar slut på minne. Att dela upp en stor fil först, eller använda en webbläsare på datorn i stället för en mobil, brukar få igenom den.
Ta en skanning på 40 MB som du behöver krympa för att mejla, på en långsam mobilanslutning. Ett serverbaserat verktyg måste ladda upp alla 40 MB innan det kan börja, sedan laddar du ner resultatet, så det mesta av väntan är nätverket. Ett klientbaserat verktyg hoppar över båda överföringarna, men din mobil gör själva komprimeringen, vilket kan ta en stund för en lång skanning. Inget av dem är alltid snabbare: det beror på din anslutning och din enhet.
Hybrider, och påståenden att läsa noga
Alla verktyg är inte rakt igenom det ena eller det andra. Du ser några mönster:
- Mest lokalt, en del på servern. Enkla jobb körs i webbläsaren medan konvertering eller textigenkänning laddas upp. Leta efter en uppgift per verktyg, inte en för hela sajten.
- Krypterad uppladdning. Filen laddas upp men krypteras under överföringen och i lagring. Det är bättre än ingenting, men servern dekrypterar den ändå för att arbeta med den.
- Lokalt med molnlagring. Jobbet sker lokalt, men resultatet lagras i ditt konto så att du kan öppna det senare. Det är en kopia på servern, avsiktligt.
- Datorprogram. Ett installerat program är också klientbaserat, men det kan även skicka filer eller användningsdata hem. Dess integritetspolicy spelar fortfarande roll.
Så kontrollerar du vilket du använder
Öppna webbläsarens utvecklarverktyg (F12 i de flesta webbläsare på datorn), gå till fliken Nätverk och kör en testfil genom verktyget. Ett serverbaserat verktyg visar en förfrågan ungefär lika stor som din fil som går ut när du börjar. Ett klientbaserat verktyg visar bara små förfrågningar, till exempel annonser eller analysanrop, och ingen som växer med din fil. Att göra samma jobb med wifi avstängt är snabbversionen av samma test.
Vilket du ska välja
För avtal, lönebesked, läkarintyg och ID-skanningar är klientbaserat det bättre standardvalet: det finns ingen kopia någon annanstans som kan läcka eller sparas. För en offentlig broschyr eller en meny duger båda. När du behöver något som en webbläsare inte klarar bra, till exempel textigenkänning i ett arkiv på 2 000 sidor, är ett välrenommerat serverbaserat verktyg med en tydlig policy för lagringstid ett rimligt val, använt för den filen och inte som en vana.
Vanliga frågor
- Vad är skillnaden mellan serverbaserade och klientbaserade PDF-verktyg?
- Ett serverbaserat verktyg laddar upp din fil och behandlar den på operatörens datorer. Ett klientbaserat verktyg skickar programmet till din webbläsare och behandlar filen på din egen enhet, så filen laddas aldrig upp.
- Är PDF-behandling i webbläsaren mer privat?
- Ja, eftersom det inte finns någon kopia av din fil någonstans utom på din enhet. Ett serverbaserat verktyg kan vara välskött, men du förlitar dig på dess säkerhet och regler för lagringstid så länge det sparar filen.
- Varför har klientbaserade verktyg svårt med mycket stora PDF:er?
- Hela filen måste få plats i webbläsarflikens minne, ofta mer än en gång medan den behandlas. Mobiler och äldre bärbara datorer har mindre att avvara, så en mycket stor skanning kan gå långsamt eller misslyckas. Att dela upp den först brukar hjälpa.
- Om en sajt laddar annonser, är den fortfarande klientbaserad?
- Det kan den vara. Annonser, typsnitt och analys är separata små förfrågningar. Det som spelar roll är om innehållet i din fil någonsin skickas, vilket du kan kontrollera i nätverksfliken eller med offlinetestet.
- Är Kopitiam serverbaserat eller klientbaserat?
- Kopitiams PDF-verktyg är klientbaserade. De använder pdf.js och pdf-lib i din webbläsarflik, filen laddas aldrig upp, och verktygen fortsätter att fungera om anslutningen bryts efter att sidan har laddats.
