THPDFRandomAccessSource Class
คลาสฐานนามธรรมที่ให้ THotPDF.LoadFromRandomAccessSource โหลด PDF จาก byte store แบบ seek ได้ที่ผู้เรียกกำหนดเองใด ๆ โดยไม่ต้องการ implementation TStream
การประกาศ
THPDFRandomAccessSource = class
public
function GetSize: Int64; virtual; abstract;
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
end;
ยูนิต
HPDFDoc
สมาชิก
| ชื่อ | วัตถุประสงค์ |
|---|---|
GetSize | คืนความยาว byte ที่คงตัวของ backing store |
ReadAt | อ่าน Count byte เริ่มจาก Offset เข้าสู่ Buffer |
หมายเหตุการใช้งาน
- สืบทอด subclass และ override เมธอดนามธรรมทั้งสองเพื่อปรับ HotPDF ให้เข้ากับ HTTP range request, database BLOB, ไฟล์บีบอัด, volume ที่เข้ารหัส หรือพื้นที่จัดเก็บเสมือนใด ๆ ที่สามารถจัดหา byte ตาม offset
GetSizeต้องคืนความยาว byte ที่ไม่เป็นลบและคงตัวตลอดอายุการใช้งานของการโหลด; HotPDF แจงนับตาราง cross-reference และ object stream โดย seek ผ่าน source นี้ReadAtคืนจำนวน byte ที่ถ่ายโอนจริง (ศูนย์ถึงCount); parser ถือว่าการอ่านแบบสั้นที่ท้ายไฟล์ที่บันทึกไว้เป็น end-of-stream ไม่ใช่ข้อผิดพลาด- source ต้องยังคงถูกต้องในขณะที่เอกสารที่โหลดกำลังใช้งานอยู่; ส่ง
OwnsSource = Trueไปยัง LoadFromRandomAccessSource เพื่อให้ HotPDF ปล่อย source โดยอัตโนมัติ