LoadFromMappedFile
การจัดการเอกสาร, ประสิทธิภาพ, อินพุตจากไฟล์
คำอธิบาย
โหลดและเลือก PDF ในเครื่องผ่านมุมมองแม็ปแบบมีขอบเขตที่อ่านอย่างเดียว ทำให้การอ่านวัตถุและสตรีมแบบเลื่อนเวลาขนาดใหญ่ใช้หน้าไฟล์ของระบบปฏิบัติการซ้ำได้ โดยไม่ต้องเก็บซอร์สทั้งหมดไว้ในหน่วยความจำ
ไวยากรณ์
Delphi
Function TPDFlib.LoadFromMappedFile(Const FileName, Password: WideString;
WindowSize: Int64= 0; Options: Integer= 0): Integer;พารามิเตอร์
| FileName | พาธของ PDF ในเครื่อง |
|---|---|
| Password | รหัสผ่านที่ใช้เปิด PDF หรือสตริงว่างสำหรับเอกสารที่ไม่เข้ารหัสลับ |
| WindowSize | ขนาดมุมมองแม็ปที่ร้องขอเป็นไบต์ ศูนย์เลือก 64 MiB ค่าที่ต่ำกว่าความละเอียดการจัดสรรของระบบปฏิบัติการถูกยกขึ้นเท่าความละเอียดนั้น และค่าที่เกิน 1 GiB ถูกจำกัด |
| Options | ศูนย์อนุญาตให้ใช้ fallback สตรีมไฟล์แบบอ่านอย่างเดียว ส่วน PDF_MAPPED_FILE_REQUIRE_MAPPING จะล้มเหลวเว้นแต่จะมีมุมมองแม็ปทำงานอยู่ |
ค่าที่ส่งกลับ
| 0 | อาร์กิวเมนต์ไม่ถูกต้อง เปิดไฟล์ไม่ได้ การแม็ปที่ต้องการไม่มี หรือโหลด PDF ไม่สำเร็จ ให้ตรวจ LastErrorCode |
|---|---|
| 1 | โหลดและเลือกเอกสารแล้ว |
หมายเหตุ
บิลด์บน Windows เก็บมุมมองแบบอ่านอย่างเดียวหนึ่งมุมมองและแม็ปใหม่ตามความต้องการที่ขอบเขตความละเอียดการจัดสรร แพลตฟอร์มอื่นและกรณีการแม็ปล้มเหลวใช้ข้อตกลงการอ่านแบบสัมบูรณ์ชุดเดียวกันบนสตรีมไฟล์แบบอ่านอย่างเดียวปกติ เว้นแต่ต้องการการแม็ปมุมมองเริ่มต้น 64 MiB จำกัดการใช้ปริภูมิที่อยู่โดยไม่ขึ้นกับขนาดซอร์ส และเหมาะกับการเข้าถึงเป็นบางส่วนไฟล์ในเครื่องขนาดใหญ่ มุมมองที่เล็กกว่าลดปริภูมิที่อยู่ถาวรได้ แต่แลกด้วยการแม็ปใหม่ที่มากขึ้นการอ่านสไลซ์วัตถุแบบสัมบูรณ์คัดลอกจากมุมมองปัจจุบันตรงเข้าพื้นที่จัดเก็บของตัวแยกวิเคราะห์โดยไม่เปลี่ยนตัวชี้ตำแหน่งของสตรีม นี่ไม่ใช่ API ตัวชี้แบบ zero-copy ถาวร เพราะการแม็ปใหม่ทำให้ที่อยู่ของมุมมองใช้ไม่ได้ซอร์สยังเปิดอยู่จนกว่าเอกสารที่โหลดไว้จะถูกเอาออก การบันทึกหรือการดึงข้อมูลแบบเลื่อนเวลายังอ่านต่อได้หากกำหนด
OnPassword ไว้ การลองรหัสผ่านที่ถูกปฏิเสธทุกครั้งจะได้รับสตรีมแม็ปใหม่และสถานะตัวแยกวิเคราะห์ใหม่ใช้
GetMappedFileInfo ยืนยันว่าการแม็ปทำงานอยู่หรือไม่ และตรวจสถิติมุมมองและการอ่านปัจจุบัน