AuditDocumentSpace

Dokumentegenskaber, Optimering

Beskrivelse

Opdeler PDF'ens byteforbrug efter objektkategori og forklarer dermed, hvorfor en fil er så stor, som den er

Syntaks

Delphi

Function TPDFlib.AuditDocumentSpace: Integer;

Returværdier

0Intet dokument er valgt
IDEt strenglistehandle til GetStringListCount og GetStringListItem; frigiv det med ReleaseStringList.

Bemærkninger

Rapporten indeholder én Category,Objects,Bytes,Percent-linje pr. kategori efter en oversigtslinje af formen Total,Objects,Bytes,100.0. Den faste kategorirækkefølge er: Billeder, skrifttypeprogrammer, skrifttypeordbøger, indholdsstreams, Form XObjects, objektstreams, indlejrede filer, metadata, strukturtræ, anmærkninger, sidetræ, andet.

Byteantal afspejler den gemte størrelse af hvert indirekte objekt; medlemmer af komprimerede objektstreams tæller som nul byte, fordi deres lager allerede tilhører kategorien Objektstreams. Klassificeringen bruger både selve objekterne og deres referencekontekst, så indholdsstreams, skrifttypeprogrammer og sideminiaturebilleder placeres i deres egne kategorier i stedet for Andet. En dominerende andel af billeder peger på DownsampleImages, en dominerende andel af skrifttyper på SubsetEmbeddedFonts og ukomprimeret indhold på CompressContent.

Eksempel

ListID:= PDF.AuditDocumentSpace;
for I:= 1 to PDF.GetStringListCount(ListID) do
  Memo1.Lines.Add(PDF.GetStringListItem(ListID, I));
PDF.ReleaseStringList(ListID);

Se også

AnalyseFile, DownsampleImages, SubsetEmbeddedFonts, GarbageCollectObjects