CompressContent
Belge özellikleri
Açıklama
Geçerli olarak seçili belgedeki her sayfa içerik akışını sıkıştırır. Flate (zlib) algoritması kullanıldığından belge kaydedildiğinde ortaya çıkan akışlar bir /FlateDecode filtresi taşır. Zaten sıkıştırılmış akışlara dokunulmaz
Windows'ta paketle gelen zlib-ng arka ucu zlib uyumlu modda kullanılır. Win64 derlemeleri bcc64x zlib-ng çalışma zamanı SIMD nesne kümesini bağlar; Win32 ise uyumluluk odaklı genel nesne kümesini korur. Mevcut Delphi, ActiveX, DLL ve C++Builder kodunda kaynak değişikliği gerekmez
Sözdizimi
Delphi
Function TPDFlib.CompressContent: Integer;
ActiveX
Function PDFlib::CompressContent() As Long
DLL
int DLCompressContent(int InstanceID);
Dönüş değerleri
| 0 | Belge açık değil veya sıkıştırma başarısız oldu |
|---|---|
| 1 | Sayfa içerik akışları başarıyla sıkıştırıldı |
Açıklamalar
Bu, belge genelinde bir işlemdir. Yalnızca o anda seçili sayfayı sıkıştırmanız gerekiyorsa CompressPage kullanın. Yeni eklenen görüntülerin ve yazı tiplerinin sıkıştırılmış olarak depolanıp depolanmayacağını denetlemek için sırasıyla CompressImages ve CompressFonts kullanın
Yeni oluşturulmuş bir belgeyi küçültürken SaveToFile öncesinde bunu bir kez çalıştırın; metin ağırlıklı sayfalarda tasarruf genellikle büyük, çoğunlukla önceden sıkıştırılmış görüntü verilerinden oluşan sayfalarda ise önemsizdir
Örnek
// Build a document, compress everything, then save
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Compressed document');
PDF.CompressContent; // page streams -> /FlateDecode
PDF.CompressImages(1); // also flate-encode any subsequent images
PDF.SaveToFile('compressed.pdf');