| النوع | القيم أو الغرض |
|---|---|
EPdfLayoutError | استثناء يُرفع لإدخال تخطيط غير صالح وحدود متجاوزة وبنية دلالية غير متسقة |
TPdfLayoutAlignment | plaLeft, plaCenter, plaRight |
TPdfLayoutCommandKind | plcText, plcRule, plcImage, plcPageXObject, plcCachedNode, plcLink, plcRectangle |
TPdfLayoutItemKind | pliText, pliSpacer, pliRule, pliImage, pliPageXObject, pliPageBreak, pliCachedNode, pliLink, pliSemanticNode, pliTable |
TPdfLayoutSemanticRole | plsrArtifact, plsrParagraph, plsrHeading1, plsrHeading2, plsrHeading3, plsrHeading4, plsrHeading5, plsrHeading6, plsrList, plsrListItem, plsrListLabel, plsrListBody, plsrTable, plsrTableRow, plsrTableHeader, plsrTableData, plsrFigure, plsrCaption, plsrLink, plsrSection, plsrDivision |
TPdfLayoutTableScope | pltsNone, pltsRow, pltsColumn, pltsBoth |
TPdfLayoutListNumbering | plnNone, plnDisc, plnCircle, plnSquare, plnDecimal, plnUpperRoman, plnLowerRoman, plnUpperAlpha, plnLowerAlpha |
TPdfLayoutGridTrackKind | plgtkFixed, plgtkFraction, plgtkAuto |
TPdfMarkupFormat | pmfMarkdown, pmfHtml |
| النوع | الأعضاء العامة |
|---|---|
TPdfLayoutSemantics | Role, ParentID, ElementID, AlternateText, ActualText, Language, HeaderIDs, TableScope, ColumnSpan, RowSpan, ListNumbering, Artifact, Paragraph, Figure |
TPdfLayoutTextStyle | FontName, FontSize, Color, Alpha, LineHeight, Alignment, KeepTogether, BreakLongWords, SpaceBefore, SpaceAfter, Default |
TPdfLayoutConstraints | KeepTogether, KeepWithNext, PageBreakBefore, PageBreakAfter, OrphanLines, WidowLines, Default |
TPdfLayoutPageSettings | Width, Height, MarginLeft, MarginTop, MarginRight, MarginBottom, HeaderHeight, FooterHeight, A4, Letter |
TPdfLayoutRect | Left, Top, Width, Height |
TPdfLayoutGridTrack | Kind, Value, Minimum, Maximum, MeasuredContent |
TPdfLayoutGridTracks | مصفوفة ديناميكية من TPdfLayoutGridTrack |
TPdfLayoutGridSizes | مصفوفة ديناميكية من أحجام المسارات المحلولة |
TPdfLayoutTableOptions | CellPadding, BorderWidth, BorderColor, BorderAlpha, RepeatHeaderRows, AllowRowSpanContinuation, MaxContinuationRegions, ContinuationBefore, ContinuationAfter, ContinuationStyle, Default |
TPdfLayoutTableTextRun | Text, Style |
TPdfLayoutTableTextRuns | مصفوفة ديناميكية من TPdfLayoutTableTextRun |
TPdfMarkupOptions | BaseStyle, HeadingScale, MaxInputCharacters, MaxNodes, Default |
TPdfLayoutSemanticElement | Semantics, ParentElementIndex |
TPdfLayoutSemanticElements | مصفوفة ديناميكية من TPdfLayoutSemanticElement |
TPdfLayoutCommand | Kind, PageNumber, Bounds, Text, FontName, FontSize, Color, Alpha, Alignment, Thickness, FileName, Uri, Source, SourcePageIndex, SemanticElementIndex, MarkedContentID, AnnotationIndex |
TPdfLayoutCommands | مصفوفة ديناميكية من TPdfLayoutCommand |
TPdfLayoutPlan | PageSettings, PageCount, Commands, SemanticElements, TextLineCount, RuleCount, RectangleCount, ImageCount, PageXObjectCount, CachedNodeCount, LinkCount, TaggedContentCount, ArtifactCount, MeasuredTextCount, TotalPageReferenceCount, ReservedPageDigits, CacheHitCount, CacheMissCount, ReusedXObjectCount, ColumnCount, ColumnGap |
| النوع | الأعضاء العامة |
|---|---|
TPdfLayoutMeasurer | MeasureTextWidth, CacheIdentity |
TPdfLayoutItem | Kind |
TPdfLayoutTableCell | Text, Uri, Style, AddTextRun, TextRuns, SetImage, ColumnSpan, RowSpan, Header, ElementID, HeaderIDs, Scope |
TPdfLayoutTableRow | AddCell, Cells, Header, AllowSplit, MinimumHeight, KeepWithPrevious |
TPdfLayoutTable | Create, Destroy, AddRow, AddSubtotalRow, SetCaption, Columns, Rows, Options, Caption, CaptionStyle, ElementID, ParentID |
TPdfLayoutPagedPlan | Create, Destroy, ClearPageCache, MaterializePage, Reset, Summary, CommandCount, StorageByteCount, SourceCount, Completed، وميزانيات MaxCommandCount و MaxStorageBytes و MaxPageCommands و MaxSourceCount و MaxCachedPages، وإحصاءات الذاكرة المؤقتة CachedPageCount و CacheHitCount و CacheMissCount و PeakCachedPageCount |
TPdfLayoutDocument | Create, Destroy, Clear, AddText, AddSpacer, AddRule, AddImage, AddPageXObject, AddCachedNode, AddLink, AddSemanticNode, SetLastItemSemantics, SetLastItemConstraints, AddTable, AddPageBreak, LoadMarkup, InvalidateCache, BuildPlan, BuildPagedPlan, PageSettings, HeaderText, FooterText, HeaderStyle, FooterStyle, ReservedPageDigits, ColumnCount, ColumnGap, Items |
TPdfLayoutCachedNode | Create, Destroy, Invalidate, BeginEmission, EndEmission, Content, Width, Height, Built |
استدعِ SetLastItemConstraints بعد إضافة أي عنصر انسيابي مرئي لإبقائه متماسكًا، أو إبقائه مع بداية العنصر التالي، أو فرض فاصل صفحات فيزيائي قبله أو بعده
OrphanLines هو الحد الأدنى لأسطر الفقرة المحفوظة في أسفل منطقة و WidowLines هو الحد الأدنى الموضوع في أعلى المنطقة التالية؛ وكلاهما افتراضه واحد من أجل حفظ تقسيم الصفحات الحالي
تنطبق القيود بالتساوي على عناصر أدوار الفقرة والرابط والقائمة والشكل والجدول، بينما الحاويات الدلالية البحتة بلا هندسة لذلك ترفض قيود تقسيم الصفحات
يقبل عنصر pliTable القيمتين PageBreakBefore و PageBreakAfter فقط؛ وتتحكم بنية الجدول في تقسيم الصفوف وحفظ بداية الجدول
يخزّن المخطط الأسطر الملتفة مؤقتًا أثناء البناء، فلا يقيس التنبؤ بالإبقاء مع التالي وإصدار الأوامر النهائي النص نفسه مرتين
أنشئ TPdfLayoutPagedPlan فوق TStream مخصص قابل للبحث وتغيير الحجم، ثم استدعِ BuildPagedPlan أو مرره إلى TPdf.GeneratePagedLayout
يسلسل المخطط الأوامر فورًا، ويحرر كل نتيجة نص ملتف مكتملة، ويترك Plan.Commands فارغة مع حفظ إعدادات الصفحات والعناصر الدلالية والعدادات ومجاميع الصفحات المستقرة في الملخص
تُفهرس أوامر المتن وأوامر الترويسة أو التذييل اللاحقة كقطع صفحات مترابطة، فيستعيد MaterializePage الصفحة كاملة دون مسح أوامر الصفحات الأخرى
يحد MaxCachedPages مصفوفات الصفحات التي يحتفظ بها المخطط فقط؛ والمستدعون الذين يبقون المصفوفات المعادة يمددون عمرها، ويحتفظ PDFium بصفحات التأليف الأصلية حتى يُحفظ مستند الوجهة أو يُغلق
صيغة التخزين حالة جلسة خاصة لا صيغة ملف محمولة، ولا ينبغي مشاركة التيار أو تعديله خارجيًا، ويجب أن تعيش كائنات المصدر التي تشير إليها XObjects الصفحات أو العقد المخزنة أطول من الخطة المقسمة صفحيًا
استخدم TPdfRandomAccessStore عندما ينبغي أن تبقى الأوامر في الذاكرة حتى عتبة منتقاة ثم تُفرَغ إلى تخزين مؤقت يُحذف عند الإغلاق
أنشئ TPdfLayoutTable بمسارات شبكة ثابتة أو كسورية أو بحجم المحتوى، وأضف صفوفًا وخلايا، ثم استدعِ AddTable؛ ويخزن المستند لقطة مملوكة فلا تستطيع تعديلات المستدعي اللاحقة إبطال ذاكرة خطة موجودة
يجب أن تكون صفوف الترويسة متجاورة في بداية الجدول وأن تتكرر بعد انتقال صفحة أو عمود عندما تكون RepeatHeaderRows صحيحة؛ ولا تستطيع امتدادات صف الترويسة التمديد إلى صفوف المتن
يمكن تقسيم صف الجسم مع AllowSplit true؛ تتحرك مجموعات rowspan المترابطة كوحدة ذرية افتراضيًا، وتتشارك خلايا الصف العادي المقسم نطاق الأسطر والحشو وهندسة الحدود
ضع AllowRowSpanContinuation على True لامتداد المجموعة عبر مناطق صفحات أو أعمدة؛ يوزع المخطط ارتفاع الامتداد الإضافي ويختار قطعًا لا يمر بسطر نص أو صورة
يبقى AllowSplit=False شرط صف ذري؛ ترفع القيود المتعارضة أو الكتلة الأكبر من منطقة فارغة EPdfLayoutError بدل قص المحتوى أو تكراره
تبقى التسميات مع أول كتلة رؤوس والحد الأدنى لبداية أول مجموعة جسم؛ تعيد الرؤوس المتكررة استخدام العناصر الأصلية
يصدر المخطط عنصر Table واحدًا و Caption اختياريًا وأبناء TR وخلايا TH أو TD بغضّ النظر عن عدد الصفحات؛ وتعيد أوامر الترويسة المتكررة استخدام الفهارس الدلالية الأصلية، وتستقبل خلايا TD معرفات ترويسة متراكبة تلقائيًا ما لم تُزوَّد معرفات صالحة صريحة
حدود الجدول أوامر plcRectangle من نوع artifact تُصيَّر عبر كائنات مسارات PDFium الأصلية، بينما يبقى نص التسمية والخلايا محتوى موسومًا
تضيف AddTextRun نصًا inline بعد Text الأصلي؛ لكل run خط وحجم ولون و alpha وارتفاع سطر وسياسة كلمات طويلة خاصة
يلتف النص بحسب القياسات، ويحفظ أزواج UTF-16 عند قطع الكلمات الطويلة، ويولد كائنات أصلية مستقلة بخط أساس مشترك؛ تأتي المحاذاة الأفقية من Style الأساسي
لا تنشئ مسافات الفقرات وأعلام إبقائها معًا على مستوى run كتلًا إضافية؛ استخدم صفوفًا منفصلة أو عناصر تخطيط عادية لهذه القيود
تحدد SetImage صورة ملف واحدة لكل خلية فوق النص عند الحشو الأيسر؛ يستبدلها الاستدعاء التالي
قدم ارتفاعًا موجبًا وعرضًا يناسب الداخل؛ يستخدم العرض صفر المساحة الداخلية كلها، وتحدد الأبعاد نسبة الصورة
لا تُقسم الصورة أثناء الاستمرار وتُولد مرة في موضعها الأصلي؛ يجب بقاء الملف حتى التوليد؛ يؤدي غيابه أو عدم دعمه إلى rollback للصفحات المضافة
يلزم وصف بديل غير فارغ؛ تصبح الصورة Figure تحت TH أو TD الأصلي، وتبقى أجزاء النص مرتبطة بالخلية
يتلقى TH أو TD الأصلي مراجع marked-content المستمرة عبر الصفحات ويحفظ RowSpan و ColumnSpan وروابط الرؤوس؛ لا تُنشأ خلية منطقية مكررة
تنشئ AddSubtotalRow صف جسم ذريًا بالتسمية والقيمة المنسقة والنمط المقدم؛ تمتد التسمية عبر كل الأعمدة إلا عمود القيمة الأخير
يضع المساعد KeepWithPrevious=True لتجنب مجموع فرعي منفرد في أول الاستمرار؛ يقدم المستدعي القيم ولا تُحسب مجاميع رقمية
تظهر ContinuationAfter في نهاية المنطقة المستمرة و ContinuationBefore بعد الرؤوس المتكررة في التالية
التسميتان فارغتان افتراضيًا وتستخدمان ContinuationStyle وتلزمان سطرًا واحدًا وارتفاعًا خاصًا؛ لا before للأولى ولا after للأخيرة
التسميات والحدود artifacts لا تغير البنية الدلالية؛ تستخدم placeholders مثل {page} و {pages} محلل النص العادي
procedure TPdfLayoutTableCell.AddTextRun(const Text: WideString; const Style: TPdfLayoutTextStyle); procedure TPdfLayoutTableCell.SetImage(const FileName: string; Width, Height: Single; const AlternateText: WideString); function TPdfLayoutTable.AddSubtotalRow(const LabelText, ValueText: WideString; const Style: TPdfLayoutTextStyle): TPdfLayoutTableRow;
ابدأ بـ TPdfLayoutTableOptions.Default؛ الافتراضي AllowRowSpanContinuation هو False و MaxContinuationRegions 10,000 منطقة، بسقف قابل للضبط 100,000
تبقى الحدود 256 عمودًا و 100,000 صف و 100,000 عنصر دلالي؛ إجمالي نص الخلايا 8,000,000 وحدة UTF-16
تقبل الخلية 1,024 run إضافيًا و 1,000,000 وحدة UTF-16 و 100,000 سطر و 100,000 جزء؛ يُرفض المحرف أو الكلمة غير القابلة للقطع الأكبر من العرض
المجموعة المستمرة محدودة بـ 10,000 خلية؛ تمنع الميزانيات والبحث المحدود pagination غير المنتهية؛ يجب أن تناسب الصور مساحة الجسم بعد الرؤوس والتسميات والحشو
تحتوي snapshot المملوكة و cache المخطط أنماط runs وأبعاد الصور وبدائلها وإبقاء المجاميع وخيارات الاستمرار؛ لا تغيرها تعديلات جدول المستدعي اللاحقة
| الروتين | الوصف |
|---|---|
ResolveLayoutText | يوسّع العناصر النائبة لأرقام الصفحات بعرض الأرقام المحجوز |
PdfLayoutSemanticRoleName | يعيد اسم بنية Tagged PDF لدور دلالي |
BuildTaggedLayoutPdf | يطبق خطة تخطيط مكتملة وبنية موسومة على بايتات PDF المصدر |
ResolvePdfLayoutGridTracks | يحل مسارات الشبكة الثابتة والكسورية وبحجم المحتوى ضمن العرض المتاح |