property Compressed: Boolean; // default True
Compressed steruje tym, czy następne wywołanie SaveAs
(i pokrewnych metod) stosuje kompresję strumieni po zapisie Gdy ma wartość True —
domyślną — PDFiumPas serializuje dokument przez PDFium, a następnie wykonuje przebieg,
który zastępuje nieskompresowane strumienie zawartości i metadanych ich odpowiednikami
skompresowanymi FlateDecode oraz przepisuje tabelę odwołań krzyżowych, aby odzwierciedlić
nowe przesunięcia
Gdy ma wartość False, strumienie wyjściowe są zapisywane bez zmian
Wynikowy plik jest zwykle 2-10× większy, ale po otwarciu w edytorze tekstu jest czytelny,
co przydaje się do debugowania strumieni zawartości, porównywania dwóch rewizji PDF za
pomocą diff albo przekazywania wyniku do narzędzia rozumiejącego składnię PDF
i preferującego niekompresowane dane wejściowe
Ustawienie Compressed zmienia tylko zachowanie następnego zapisu; dokument
w pamięci pozostaje bez zmian Dokument wczytany jako skompresowany i zapisany z
Compressed := False zostanie na wyjściu zdekompresowany; dokument wczytany
bez kompresji i zapisany z Compressed := True zostanie na wyjściu skompresowany
Ponowne zapisanie w pełni skompresowanego dokumentu z Compressed := True daje
niemal identyczny rozmiar pliku — silnik rozpoznaje wcześniej skompresowane strumienie
i nie kompresuje ich ponownie
// Save an uncompressed copy alongside the compressed original for debugging
begin
Pdf.Active := True;
Pdf.Compressed := True;
Pdf.SaveAs('output.pdf'); // production copy
Pdf.Compressed := False;
Pdf.SaveAs('output_debug.pdf'); // human-readable copy
end;