THotPDF.UseObjectStreams Property

 

THotPDF.UseObjectStreams

THotPDF

 

Đầu trang  Trước  Tiếp

Đóng gói các đối tượng gián tiếp đủ điều kiện vào các stream chứa /Type /ObjStm của PDF 1.5 (ISO 32000-1 7.5.7) để giảm kích thước PDF trên đĩa

 

Delphi syntax:

property UseObjectStreams: Boolean;

 

C++ syntax:

__property bool UseObjectStreams;

 

Mô tả

Khi UseObjectStreams là true (và UseXRefStream cũng true), EndDoc đóng gói mọi đối tượng gián tiếp đủ điều kiện - dictionaries, arrays, numbers, names, strings, booleans, nulls - vào một hoặc nhiều stream chứa /Type /ObjStm theo ISO 32000-1 7.5.7. Stream tham chiếu chéo sau đó tham chiếu các đối tượng đã đóng gói qua các mục type-2 (số đối tượng host ObjStm + chỉ số mục bên trong stream đó), nên các byte khung N G obj ... endobj riêng lẻ và các mục xref văn bản theo từng dòng được loại bỏ

 

Kết hợp tự nhiên với thuộc tính UseXRefStream để có đường ghi PDF 1.5+ gọn nhất. Bộ đóng gói ObjStm để nguyên các đối tượng stream, từ điển mã hóa, và các từ điển Catalog cùng Info mà trailer trỏ tới, không nén, để các trình phân tích PDF tối thiểu vẫn có thể tìm gốc tài liệu và giải mã nội dung

 

Giá trị mặc định: false (opt-in)

Đặt UseObjectStreams thành true sẽ tự động hạ về false khi UseXRefStream tắt (theo đặc tả, các mục type-2 không thể biểu diễn trong bảng xref dạng văn bản) hoặc khi Version thấp hơn PDF 1.5

 

Ví dụ mã

HPDF := THotPDF.Create( nil );
try
  HPDF.FileName := 'c:\Output.pdf';
  HPDF.Version := pdf15;          // Object streams require PDF 1.5+
  HPDF.UseXRefStream := true;     // ObjStm references need a /Type /XRef stream
  HPDF.UseObjectStreams := true;  // Pack indirect objects into /Type /ObjStm
  HPDF.Compression := cmFlateDecode;
  HPDF.BeginDoc;
  HPDF.CurrentPage.TextOut( 100, 100, 0, 'Compact PDF 1.5 output' );
  HPDF.EndDoc;
finally
  HPDF.Free;
end;

 

Giảm kích thước

Trên các tài liệu chủ yếu gồm những từ điển gián tiếp nhỏ (tài liệu nhiều trang, chú thích, widget AcroForm, phần tử cây cấu trúc, các lớp Optional Content) mức tiết kiệm thường vào khoảng 20-40% kích thước tệp sau FlateDecode. Một bài smoke test đồ họa 30 trang thu nhỏ từ 14502 byte xuống 8488 byte (-41.5%)

 

Xem thêm

UseXRefStream, Compression, Version, Hỗ trợ bộ lọc PDF