DrawHTMLStory

HTML text, page layout, pagination

คำอธิบาย

ไหลเรื่อง HTML ที่จัดสไตล์แล้วหนึ่งเรื่องจากซ้ายไปขวาผ่านคอลัมน์กว้างเท่ากันบนหน้าที่เลือกอยู่ แล้วไหลต่อผ่านหน้าที่สร้างขึ้นใหม่

ไวยากรณ์

Delphi

Function TPDFlib.DrawHTMLStory(Left, Top, Width, Height: Double; Columns: Integer; Gutter: Double; MaxPages: Integer; Const HTMLText: WideString): WideString;

DLL

const wchar_t* DLDrawHTMLStory(int InstanceID, double Left, double Top, double Width, double Height, int Columns, double Gutter, int MaxPages, const wchar_t* HTMLText);

ActiveX

Function PDFlib::DrawHTMLStory(Left As Double, Top As Double, Width As Double, Height As Double, Columns As Long, Gutter As Double, MaxPages As Long, HTMLText As String) As String

พารามิเตอร์

Left, Topจุดกำเนิดบนซ้ายของพื้นที่คอลัมน์ทั้งหมด ในระบบพิกัดปัจจุบัน
Width, Heightขนาดบวกของพื้นที่ทั้งหมดบนทุกหน้า
ColumnsColumn count from 1 through 64
Gutterระยะห่างไม่ติดลบระหว่างคอลัมน์ที่ติดกัน, ระยะห่างรวมกันต้องน้อยกว่า Width
MaxPagesจำนวนหน้าสูงสุดที่การเรียกนี้ใช้ ตั้งแต่ 1 ถึง 10000 รวมหน้าที่เลือกอยู่ด้วย
HTMLTextHTML เริ่มต้น หรือสตริงต่อเนื่องที่การเรียก story หรือ text-box ก่อนหน้าคืนมา

ค่าที่ส่งคืน

คืนค่าสตริงว่างเมื่อวางเรื่องครบทั้งเรื่อง หรือสตริงต่อเนื่องที่บรรจุเนื้อหาที่ยังไม่ได้วางทั้งหมดพร้อมสถานะ HTML/CSS ที่ใช้งานอยู่ เมื่อถึงขีด MaxPagesอินพุตไม่ถูกต้องคืนค่า

HTMLText ตามเดิมพร้อม LastErrorCode 121, การสร้างหน้าล้มเหลวหรือสองเฟรมติดกันที่ไม่มีความคืบหน้า layout จะคืนเรื่องส่วนที่เหลือพร้อม error 524

หมายเหตุ

คอลัมน์ถูกเติมตามลำดับการอ่านจากซ้ายไปขวาก่อนหน้าใหม่จะถูกสร้างขึ้น

หน้าที่สร้างใหม่จะคัดลอกความกว้างกับความสูงที่มีผลของหน้าเริ่มที่เลือกอยู่ ขณะที่หน่วยวัดปัจจุบัน จุดกำเนิด, การแม็ปฟอนต์ HTML, การผูกรูปภาพ, สไตล์ inline, ลำดับ stylesheet, สแตกสไตล์ซ้อน, คอนเทนเนอร์ Flexbox กับ Grid, ตาราง, ลิงก์, บล็อกโครงสร้าง และการใส่เลขเชิงอรรถ ยังไหลต่อผ่านตัวเรนเดอร์ชุดเดิมใช้ <footnote> หรือ <aside style="float:footnote"> หลังข้อความหลักที่เกี่ยวข้อง, เชิงอรรถที่ยอมรับจะได้เครื่องหมายตัวยก, สำรองพื้นที่แยกที่ด้านล่างเฟรมปัจจุบัน และลดความสูงเนื้อความก่อนตัดบรรทัดถัดไปถ้าเชิงอรรถกับการอ้างอิงใส่รวมกันไม่พอ ทั้งคู่จะอยู่ในสตริงต่อเนื่องไปคอลัมน์หรือหน้าถัดไป

เมธอดใช้แผนวัด-เล่นซ้ำที่แคชไว้ต่อหนึ่งเฟรม และไม่รวมเนื้อหาหน้าเข้า layout buffer แบบไม่จำกัดชุดเดียวเมื่อจำกัดหน้าทำให้เหลือเนื้อหา ให้สร้างหรือเลือกหน้าต่อเนื่องที่ต้องการ แล้วส่งสตริงที่คืนมาให้การเรียกถัดไป

ดูเพิ่มเติม

DrawHTMLTextBox, DrawTextFlowColumns, Appendix A: Supported HTML tags