ComposeNextLayout
تخطيط الصفحة، تقسيم الصفحات، Form XObjects
الوصف
يركّب جزءًا ديناميكيًا واحدًا ذا حالة على لوحة بحجم طبيعي ويطبق سياسات التجاوز والمحاذاة وتقسيم الصفحات ومساحة التدفق ويعرض تحويل التموضع النهائي
الصيغة
Function TPDFlibDynamicComponentSession.ComposeNextLayout(
Page: Integer; SlotLeft, SlotTop, SlotWidth, SlotHeight: Double;
Const Options: TPDFlibDynamicLayoutOptions;
Out Placement: TPDFlibDynamicPagePlacement): Integer;
المعاملات
Page | رقم صفحة وجهة موجود ذو أساس واحد |
|---|---|
SlotLeft, SlotTop | موضع خانة الوجهة العلوي الأيسر بوحدات المستند الحالية |
SlotWidth, SlotHeight | حجم خانة وجهة موجب منتهٍ |
Options.ContentWidth, Options.ContentHeight | لوحة طبيعية موجبة منتهية تمرر إلى المكوّن عبر AvailableWidth و AvailableHeight |
Options.OverflowPolicy | dopReject أو dopClip أو dopScaleDown |
Options.HorizontalAlignment | dhaLeft أو dhaCenter أو dhaRight |
Options.VerticalAlignment | dvaTop أو dvaCenter أو dvaBottom |
Options.PaginationPolicy | تقسيم عادي أو تراجع إبقاء معًا بضربة واحدة أو تموضع كامل صارم |
Options.MinimumSlotHeight | ارتفاع خانة غير سالب مطلوب قبل بدء استنساخ المكوّن وتركيبه |
Options.MinimumFollowingHeight | ارتفاع غير سالب محجوز بعد جزء نهائي محلول للمكوّن التالي |
نتيجة التموضع
PageNumber, CompositionIndex | الصفحة الملتزمة ورقم التركيب الناجح ذو الأساس الواحد |
|---|---|
SourceWidth, SourceHeight | المستطيل المستخدم الطبيعي المعاد من المكوّن قبل التموضع |
Left, Top, Width, Height | المستطيل المستخدم المحوَّل النهائي قبل قص الوجهة |
SlotLeft, SlotTop, SlotWidth, SlotHeight | منطقة الوجهة الأصلية |
Transform | مصفوفة ألفين منطقية من إحداثيات المكوّن المحلية إلى إحداثيات المستند النهائية من الأعلى إلى الأسفل |
WasClipped | True عندما يخفي القص جزءًا من المستطيل المستخدم المحوَّل |
WasScaled | True عندما يكون التحجيم التناسبي أقل من 1 |
ملاحظات
يحافظ dopReject على صفحة الوجهة وحالة المكوّن الملتزمة عندما يتجاوز المستطيل المستخدم الطبيعي أي بُعد من بعدي الخانة
يحافظ
dopClip
dopScaleDown على التحجيم الطبيعي ويستخدم نطاق قص حالة رسومات متوازنًا حول استدعاء Form XObject
يختار Min(1, SlotWidth / SourceWidth, SlotHeight / SourceHeight) قيمة
لا يكبر تغيير المقياس المحتوى المتسع أصلًا أبدًا
يتبع لوحة Form XObject قيمتي ContentWidth وContentHeight، بينما تستخدم المحاذاة المستطيل المستخدم الذي يبلغ عنه المكون مرتكزًا عند الإحداثي المحلي صفر
يمتلك تدفق محتوى الصفحة مرجع Form XObject الموضوع قبل تحرير مقبض الالتقاط المؤقت
MinimumSlotHeight
MinimumFollowingHeight، بينما تستخدم المحاذاة المستطيل المستخدم الذي يبلغ عنه المكوّن مرساةً عند الإحداثي المحلي صفر
يمتلك تدفق محتوى الصفحة مرجع Form XObject الموضوع قبل تحرير مقبض الالتقاط المؤقت
الخانة الأقصر من HasMoreContent تعيد إعادة محاولة دون استنساخ المكوّن أو استدعاء دالة الاستدعاء الخاصة به أو إنشاء صفحة مؤقتة
لا تقيد
LastRetryReason الأجزاء البينية وتُفحص فقط عندما تكون LastRequiredSlotHeight تساوي false
تُعيد إعادة المحاولة في مساحة السيلان تموضعًا فارغًا، وتحافظ على جميع الأجزاء المثبتة سابقًا، وتكشف سببها والارتفاع المطلوب عبر
مثال
Options := TPDFlibDynamicComponentSession.CreateLayoutOptions(
640, 360, dopScaleDown, dhaLeft, dvaTop, dppAllowSplit, 72, 24);
Status := Session.ComposeNextLayout(
PageNumber, 36, 72, 540, 240, Options, Placement);
if Status <> PDF_DYNAMIC_COMPONENT_ERROR then
begin
FinalScale := Placement.Transform.M11;
FinalLeft := Placement.Left;
FinalTop := Placement.Top;
end;
القيم المُرجعة
PDF_DYNAMIC_COMPONENT_ERROR | فشل التحقق من المدخلات أو دالة رد النداء أو الهندسة أو الفائض أو التموضع دون تثبيت الحالة |
|---|---|
PDF_DYNAMIC_COMPONENT_MORE | تم تثبيت الجزء وما زال هناك محتوى متبقٍّ |
PDF_DYNAMIC_COMPONENT_COMPLETE | أكمل الجزء الجلسة أو كانت الجلسة مكتملة بالفعل |
PDF_DYNAMIC_COMPONENT_RETRY | أجّلت سياسة ترقيم الصفحات أو مساحة السيلان المحاولة غير المثبتة إلى خانة أخرى |
انظر أيضًا
TPDFlibDynamicComponentSession, BeginFormXObject, ReleaseCapturedPage, DrawCapturedPage