چیدمان جریانی مقید
HotPDF میتواند هر صفحهٔ کاملشده را در فضای ذخیرهسازی مبتنی بر فایل مرحلهبندی کند، محدودیتهای صفحهشکنی پاراگراف را اعمال نماید، تشخیصهای چیدمان محدود را آشکار سازد، پاراگرافهای معنایی و artifactهای صفحهبندی را نشانهگذاری کند و جهت پایهٔ پاراگراف را پیش از انتشار متن جهتآمیخته تعیین کند
flush کردن فوری صفحه
برای گزارشهایی که تعداد صفحاتشان از پیش معلوم نیست، پیش از BeginDoc مقدار ImmediateFlushLayout را تنظیم کنید
وقتی یک صفحه بسته میشود، جریان محتوای نهایی فشردهشده یا فشردهنشدهٔ آن از حافظه به یک جریان پروندهٔ موقت متعلق منتقل میشود، در حالی که شیء PDF برای نهاییسازی عادی مرجع متقاطع و منابع در دسترس باقی میماند
ImmediateFlushedPageCount و ImmediateFlushedBytes مقدار محتوای مرحلهبندیشده را گزارش میکنند و پروندههای موقت هنگامی که جریانهای مالک آنها آزاد میشوند، حذف میگردند
صفحهبندی پاراگراف
ParagraphIndex := PDF.CreateParagraph(0, jtLeft, 36, 36, 36, 36);
PDF.ConfigureParagraphPagination(ParagraphIndex, True, 2, 2);
PDF.ConfigureParagraphDirection(ParagraphIndex, pdAuto);
PDF.BeginParagraph(ParagraphIndex);
PDF.CurrentParagraph.ShowUnicodeText(BodyText);
PDF.EndParagraph;
KeepWithNextیک پاراگراف را زمانی که خط نهایی که باید برای محتوای بعدی باقی بماند را مصرف میکند، جابهجا میکندMinOrphanLinesاز باقیماندن تعداد بسیار کمی خط آغازین در پایین یک صفحه جلوگیری میکندMinWidowLinesوقتی تعداد بسیار کمی خط پایانی در صفحهٔ بعدی باقی میماند، یک شکست را پیش میبرد- ادامهٔ خودکار عرض صفحهٔ مبدأ، ارتفاع، فونت، حاشیهها و تنظیمات پاراگراف را حفظ میکند
- وقتی
ParaAutoAddPageنادرست است، سرریز در صفحهٔ جاری متوقف میشود و یک تشخیصldkOverflowتولید میکند
تشخیصهای چیدمان
THPDFLayoutDiagnostic مقدار THPDFLayoutDiagnosticKind، اندیسهای صفحهٔ مبدأ و مرتبط، مستطیل تحت تأثیر، تعداد خطها و یک دلیل انگلیسی را برای هر تصمیم نگهداشتهشده ثبت میکند
THPDFLayoutDiagnosticArray توسط GetLayoutDiagnostics بازگردانده میشود، در حالی که GetLayoutDiagnostic دسترسی اندیسمحور را بدون تخصیص یک کپی فراهم میکند
LayoutDiagnosticLimit رکوردهای نگهداشتهشده را محدود میکند و LayoutDiagnosticDroppedCount تصمیمهایی را که پس از آن محدودیت دور انداخته شدهاند گزارش میکند
ldkAutomaticPageBreakیک ادامهٔ معمولی را گزارش میکندldkKeepWithNext،ldkOrphanControlوldkWidowControlمحدودیتی را که یک شکست را جابهجا کرده شناسایی میکنندldkOverflowمحتوایی را که توسط صفحهبندی خودکار غیرفعال متوقف شده شناسایی میکندldkImmediateFlushصفحهای بستهشده را که به فضای ذخیرهسازی مبتنی بر فایل منتقل شده شناسایی میکند
جهت پاراگراف
THPDFParagraphDirection مقدار pdAuto، pdLeftToRight و pdRightToLeft را ارائه میکند
DetectParagraphDirection تفکیک بر اساس نخستین کاراکتر قوی را در سراسر خطنوشتارهای RTL درون صفحهٔ BMP و صفحهٔ کمکی اعمال میکند، تا پیشوندهای خنثی و اجراهای جهتآمیختهٔ ثانویه جهت پایهٔ اشتباهی را انتخاب نکنند
برای یک تنظیم پایدار پاراگراف از ConfigureParagraphDirection استفاده کنید یا برای پاراگراف فعال از مشخصهٔ THPDFPara.Direction
معنای پاراگراف PDF/UA
Root := PDF.AddStructureElement('Document', nil);
Paragraph := PDF.BeginTaggedParagraph(Root, 'en-US', 'Accessible text');
PDF.CurrentPage.TextOut(36, 72, 0, WideString('Accessible text'));
PDF.EndTaggedParagraph;
PDF.BeginPaginationArtifact(pasHeader);
PDF.CurrentPage.TextOut(36, 20, 0, WideString('Running header'));
PDF.EndPaginationArtifact;
BeginTaggedParagraph یک دنبالهٔ محتوای نشانهگذاریشدهٔ /P استاندارد همراه با یک MCID تخصیصیافته، سیمکشی درخت والدِ صفحه و مقادیر اختیاری /Lang و /ActualText منتشر میکند
THPDFPaginationArtifactSubtype مقدارهای pasHeader، pasFooter، pasWatermark و pasPageNumber را ارائه میکند که بهصورت محتوای /Artifact با /Type /Pagination و زیرنوع استاندارد مطابق منتشر میشوند