Hvorfor blev min PDF knap nok mindre?
Jeg kørte min PDF gennem en komprimering, og den gik fra 4,1 MB til 4,0 MB. Er værktøjet i stykker?
En PDF er et arkivskab
Den forestilling, der skaber skuffelsen, er at tænke på en PDF som et billede af et dokument. Det er den ikke. En PDF er, som defineret i ISO 32000, en beholder af nummererede objekter: sidetræer, indholdsstrømme fyldt med tegneoperatorer, indlejrede skriftprogrammer, billed-XObjects, formularfelter, annotationer, bogmærker og en krydsreferencetabel, der angiver, hvor hvert objekt begynder.
De fleste af de objekter er allerede komprimeret. Indholdsstrømme er normalt Flate-kodede, hvilket er den samme algoritme, som en ZIP-fil bruger. Indlejrede fotografier er normalt gemt som DCT-strømme, altså JPEG-data, der sendes uændret videre. Så når en generel komprimering ser på en PDF, ser den på en kasse med ting, der hver især allerede er komprimeret én gang.
Find ud af, hvor bytesene er, før du komprimerer noget
Den mest nyttige enkeltdiagnose er at vide, hvilken slags dokument du har, for det forudsiger resultatet næsten fuldstændigt.
| Dokumenttype | Hvor bytesene er | Hvad en strukturel lagring kan gøre |
|---|---|---|
| Tekstrapport fra et tekstbehandlingsprogram | Indlejrede skriftprogrammer og små indholdsstrømme | Meget lidt; indholdet er allerede tæt pakket |
| Scannede sider | Ét stort billede per side | Næsten intet uden at røre billederne |
| Eksport fra et præsentationsprogram | Indlejrede fotografier og farveovergange | Noget, hvis billeder går igen på tværs af slides |
| Teknisk tegning | Lange vektorindholdsstrømme | Noget, ved at omkode strømme og fjerne ubrugte objekter |
| Formular med vedhæftede filer | Indlejrede filer, JavaScript, annotationsordbøger | En hel del, hvis ekstramaterialet kan fjernes |
Hvad en strukturel lagring rent faktisk fjerner
En strukturel lagring skriver dokumentet om uden at ændre, hvordan nogen af siderne ser ud. Den kan fjerne objekter, som intet længere henviser til, og som hober sig op, hver gang et dokument redigeres og gemmes trinvist. Den kan komprimere krydsreferencetabellen og pakke små objekter sammen i objektstrømme. Den kan fjerne dokumentmetadata, miniaturer og den redigeringshistorik, som nogle programmer efterlader.
På et dokument, der er blevet redigeret og gemt igen mange gange, kan det give en stor gevinst. På et dokument, der er eksporteret rent, én gang, fra et tekstbehandlingsprogram, er der ikke noget at samle op: filen er allerede tæt på sin mindste form, og hundrede kilobytes ud af fire megabytes er præcis det resultat, man skal forvente.
Hvorfor et tekstdokument står imod
I en tekst-PDF udgør indlejrede skrifttyper som regel en stor del af filen. Et skriftprogram er en kompakt binær fil med bogstavernes konturer og hinting-instruktioner, og den er der, fordi dokumentet skal se ens ud på en maskine, der ikke har den skrifttype installeret. Du kan ikke komprimere den væk uden enten at reducere den yderligere til et undersæt eller fjerne den, og fjerner du den, ændrer siden udseende.
Selve teksten fylder ingenting. Hundrede siders prosa er nogle få hundrede kilobytes tegn, før der komprimeres. Er din tekst-PDF stor, så se på skrifttyperne og på de billeder, der gemmer sig bag teksten — et logo gentaget i et sidehoved, et vandmærke i baggrunden — frem for på ordene.
Hvorfor en scanning falder sammen
En scannet side er ét stort fotografi af et stykke papir, ofte optaget ved 300 punkter per tomme eller mere. En A4-side ved 300 DPI er cirka 2480 × 3508 pixels — næsten ni millioner af dem, for en side, hvis informationsindhold er nogle få kilobytes tekst. Derfor reagerer scanninger så voldsomt på rasteriseret komprimering: at sænke gengivelsesopløsningen og omkode sidebillederne angriber netop den del af filen, der faktisk er stor.
Det er også derfor, den tilstand er destruktiv. Når en side først er et billede, er det søgbare tekstlag, links, formularfelter, annotationer, den tilgængelighedsmærkede struktur og enhver digital signatur væk. FileSlimmer behandler rasterisering som en separat, tydeligt mærket tilstand med den advarsel vedhæftet, frem for som en tavs nødløsning, når den strukturelle lagring skuffer.
Hvorfor ingen kan love dig et tal
En målstørrelse for en PDF er en søgning over gengivelsesopløsning og billedkvalitet, og søgningen har et gulv: under en vis opløsning holder teksten på en scanning op med at være læselig. Om et bestemt dokument når et bestemt budget over det gulv, afhænger af sidetallet, mængden af tryksværte, hvor meget fotografisk indhold der er, og scannerens støj. To dokumenter med samme sidetal kan ende i vidt forskellige størrelser.
Den ærlige adfærd er at stoppe ved gulvet og oplyse, hvor søgningen stoppede, hvilket er, hvad FileSlimmers PDF-forudindstillinger med målstørrelse gør. Et værktøj, der altid rammer det tal, du skrev, lyver enten om tallet eller ødelægger dokumentet for at nå det.
Før du giver værktøjet skylden
- Undersøg, om PDF-filen er en scanning. Prøv at markere en tekstlinje: kan markøren ikke markere noget, er hver side et billede.
- Hold sidetallet op mod størrelsen. En fil på 40 MB med tre sider er tung på billeder; en fil på 40 MB med 900 sider kan være helt rimelig.
- Undersøg, om dokumentet er krypteret. En adgangskodebeskyttet PDF kan slet ikke omstruktureres, før den er låst op.
- Undersøg, om det er signeret. At skrive et signeret dokument om ugyldiggør signaturen, og det er som regel et værre udfald end en stor fil.
- Overvej, hvad du faktisk har brug for. At trække de seks sider ud, du skal sende, slår ofte at komprimere alle halvfems.
Værktøjer til dette
Kilder
- ISO 32000-2 — Document management, Portable Document Format
- Adobe — PDF 32000-1:2008, the freely published PDF 1.7 specification
- PDF Association — ISO 32000 and the PDF standards family