PDFium Component Docs

Compressed Właściwość

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Steruje tym, czy strumienie w wyjściowym PDF są kompresowane FlateDecode podczas wywołania SaveAs / Save Silnik kompresji po zapisie skanuje zserializowany PDF, zastępuje nieskompresowane strumienie ich odpowiednikami skompresowanymi zlib i przebudowuje tabelę xref Już skompresowane strumienie przechodzą bez zmian

Składnia

property Compressed: Boolean; // default True

Opis

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

Uwagi

Przykład

// 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;

Zobacz też

SaveAs, Save, Active, Password