TStream değerini PDFium'un FPDF_FILEACCESS callback yapısına köprüler
constructor Create(AStream: TStream; AOwnsStream: Boolean = False);
constructor Create(AStream: TStream; AFileSize: UInt64; AOwnsStream: Boolean);
destructor Destroy; override;
property Stream: TStream read FStream;
property OwnsStream: Boolean read FOwnsStream;
property FileSize: UInt64 read FFileSize;
property FileAccess: FPDF_FILEACCESS read FFileAccess;
| Member | Description |
|---|---|
Create | Konumlanabilir bir TStream sarar; isteğe bağlı olarak geçerli depolamadan farklı mantıksal bir dosya boyutu sağlar ve isteğe bağlı olarak akış sahipliğini bağdaştırıcıya devreder |
Destroy | Bağdaştırıcı durumunu serbest bırakır ve OwnsStream True olduğunda Stream değerini boşaltır |
Stream | Kurucuya geçirilen alttaki akış |
OwnsStream | Bağdaştırıcının akışı Destroy içinde boşaltması gerekiyorsa True |
FileSize | FPDF_FILEACCESS üzerinden açığa çıkarılan mantıksal boyut; progressive yükleme sırasında henüz mevcut olmayan baytları da kapsar |
FileAccess | FPDF_LoadCustomDocument için uygun PDFium callback kaydı |
TPdfStreamAdapter, PDFium'un yüklemeden önce PDF'in tamamını belleğe kopyalamak yerine bir akıştan talep üzerine bayt aralıkları istemesini sağlar
Akış konumlandırmayı (seek) desteklemeli ve yüklenmiş FPDF_DOCUMENT bağdaştırıcıdan okuyabildiği sürece canlı kalmalıdır
TPdf.LoadCustomDocument, üst düzey bileşen API'si için aynı bağdaştırıcı yolunu kullanır
Adapter := TPdfStreamAdapter.Create(FileStream, True);
Document := FPDF_LoadCustomDocument(@Adapter.FileAccess, nil);