الإخراج headless المحمول
متاح منذ الإصدار 2.384.100 بوصفه مسار إخراج محدودًا بواجهات التقاط وعرض صريحة
التقط مستطيلًا مدعومًا من مصنف Classic XLS أو XLSX على Windows، وانقل لقطته غير القابلة للتغيير، ثم اعرض PDF أو SVG أو PNG على Linux أو macOS بـ Free Pascal وCairo الأصلي
يستخدم مهايئ الالتقاط محرك المصنف؛ والتقاط Windows يستخدم خدمة الهندسة الافتراضية لديه، بينما يستطيع الالتقاط الأصلي على Linux وmacOS تزويد خدمة هندسة FreeType/HarfBuzz صريحة تدعمها ملفات خطوط يختارها التطبيق
المستهلك الأصلي المنفصل يقبل مشاهد lxPortableRender عبر lxPortableCairo دون Excel أو جلسة سطح مكتب؛ وواجهة الهندسة عنده تستخدم كذلك وحدات عرض المصنف المحمولة وهندسة العرض القائمة
يقبل المستهلك مشهدًا غير قابل للتغيير أو تدفق نقل؛ ومتطلبات المنصة لتحميل المصنفات وحسابها مشروحة منفصلةً في دعم Free Pascal
التقاط مستطيل مصنف قائم
يقبل CaptureXLSPortableRenderSnapshot في lxPortableWorkbookCapture IXLSWorkbook أو IXLSXWorkbookOwner مع TXLSPortableRenderLimits صريحة أو افتراضية؛ وتقبل حمولتان زائدتان إضافيتان حدودًا صريحة يليها مزود IXLSRenderGeometry مُنطَّق بعرض الالتقاط
SheetIndex وRow1 وCol1 وRow2 وCol2 الشاملة قائمة على الواحد؛ وتخزن اللقطة الناتجة مواضع مبنية على الصفر نسبةً إلى المستطيل الملتقط
program CaptureRectangle;
{$APPTYPE CONSOLE}
uses SysUtils, Classes, lxHandleX, lxPortableRender,
lxPortableWorkbookCapture;
var
Workbook: TXLSXWorkbook;
Owner: IXLSXWorkbookOwner;
Snapshot: IXLSPortableRenderSnapshot;
Stream: TFileStream;
begin
Workbook := TXLSXWorkbook.Create;
Owner := Workbook;
if Workbook.Open('report.xlsx') <> 1 then
raise Exception.Create('Cannot open report.xlsx');
Snapshot := CaptureXLSPortableRenderSnapshot(Owner, 1, 1, 1, 30, 6);
Stream := TFileStream.Create('report.hxrs', fmCreate);
try
SaveXLSPortableRenderSnapshot(Snapshot, Stream,
XLSDefaultPortableRenderLimits);
finally
Stream.Free;
end;
Owner := nil;
end.
أبقِ واجهة المالك حية أثناء استخدام كائن المصنف؛ وحرّر الواجهة بدلًا من تحرير مصنف مملوك لواجهة يدويًا
لـ Classic XLS، استخدم TXLSWorkbook وIXLSWorkbook من lxHandle مع استدعاء الالتقاط نفسه
يقرأ الالتقاط ذواكر الصيغ القائمة ويرفض أي صيغة في المستطيل بلا ذاكرة؛ وهو لا يعيد الحساب ضمنيًا أبدًا ولا يجلب بيانات خارجية ولا يسجل أنماطًا جديدة في المصنف المصدر
أعد الحساب صراحةً قبل الالتقاط عندما يحتاج تطبيقك نتائج صيغ طازجة؛ وتُعرض الذاكرة القائمة كما خُزنت، فالالتقاط لا يمنح شهادة بطزاجتها
تحتفظ العملية بعرض قراءة وتفحص جيل المصنف قبل الإرجاع؛ واللقطة المعادة منفصلة عن ملكية المصنف وتبقى قابلة للاستخدام بعد تحرير المصنف
المظهر وحدود الالتقاط
تحتوي اللقطة نص العرض منسقًا وأبعادًا فيزيائية بالنقاط وألوان RGB محلولة وخطوط خلايا ومحاذاتها المدعومة وتعبئات وحدودًا ومستطيلات الدمج كاملةً؛ وللصفوف والأعمدة المخفية حجم صفري
يشمل مظهر الخطوط المدعوم الغامق والمائل والتسطير المفرد والشطب؛ ويشمل مظهر الخلايا المدعوم التعبئات الصلبة والمحاذاة الأفقية يسارًا ووسطًا ويمينًا والمحاذاة الرأسية أعلى ووسط وأسفل والالتفاف والتقليص وترتيب القراءة من اليمين إلى اليسار
تُعيَّن حدود المصنف الرفيعة والمتوسطة والسميكة والشعرية والمزدوجة والمنقطة والمتقطعة والمتقطعة المتوسطة إلى أنماط الحدود المحمولة وعرضها بالنقاط؛ وتُرفض أنماط الحدود الأخرى
يحمل النص الغني المدعوم خطوط المقاطع الفعلية وأحجامها بالنقاط وألوان RGB والغامق والمائل والتسطير المفرد والشطب والرفع أو الانخفاض على مستوى المقطع؛ وتُرفض تأثيرات خطوط الخلايا العادية للتذييل/الظل/الرأسي وأنماط التسطير غير المدعومة والتعبئات المتدرجة أو المنقوشة والحدود القطرية والإزاحة البادئة وتدوير النص والمحاذات غير المدعومة
يجب أن يحتوي مستطيل الالتقاط كل خلية مدمجة احتواءً كاملًا؛ وتُرفض الدمج المقصوص أو المتداخل أو غير المتسق والأنماط غير المتوافقة على طول حافة الدمج الخارجية
خلفيات الأوراق وأنواع الأوراق غير المدعومة ترفض الالتقاط؛ وتُلتقط صور PNG/JPEG المدعومة وأشكال نص المستطيل/القطع الناقص العادية في واجهتي المصنف بوصفها كائنات مشهد مرتبة، مع صور خلايا XLSX ومربعات اختيار Boolean ومجموعة مخططات XLSX المخزنة المدعومة الموصوفة أدناه؛ وتُرفض المخططات غير المدعومة وقوالب الأشكال وWordArt وتحويلات المجموعات وعناصر التحكم العائمة وSlicers وTimelines وsparklines عند تقاطع بصماتها المحلولة مع المستطيل
يستطيع المحتوى غير المدعوم ذو البصمة المحلولة بموثوقية خارج المستطيل أن يتعايش مع الالتقاط؛ والرسم ذو البصمة غير القابلة للحل يرفض بدلًا من حذف محتوى محتمل التداخل بصمت
تنسيق الجداول الكلاسيكي المتقاطع مع المستطيل يرفض؛ وتُحل مقاطع Table المدمجة والمدعومة المخصصة في XLSX في سياق نمط منفصل، مع خطوط مقاطع بحجم المقطع وتجاوزات تنسيق الخلايا المباشرة
في تعبئات Table المستوردة المدعومة الصلبة أو التفاضلية الضمنية، يزود RGB bgColor الخلفيةَ المرئية؛ ويترك RGB fgColor وحده الخلفية الموروثة دون تغيير، ويستخدم المقطع الحامل للونين لونه الخلفي
مقاطع Table المستوردة المحتوية على مظهر يعجز الملخص محدد النوع عن تمثيله ترفض عند تطبيق ذلك المقطع، بما يشمل التسطير وتنسيقات الأعداد والغامق/المائل الممسوحًا صراحةً ومخططات الخطوط ونمط بلا تعبئة صريحًا وأشكال الألوان غير المدعومة؛ والمقطع غير ذي الصلة خارج المستطيل الملتقط لا يحجب الالتقاط
يُطبَّق التنسيق الشرطي المدعوم دون تقييم صيغ: مقارنات عددية أو تواريخ مخزنة على حدود عددية حرفية وتعبيرات منطقية أو عددية حرفية وقواعد احتواء/بادئة/لاحقة نص وقواعد الفارغ والأخطاء؛ ويتقدم المظهر ذو الأولوية الأعلى لكل خاصية مدعومة، ويوقف StopIfTrue في XLSX قواعد المطابقة الأدنى أولوية
تتطلب قواعد نص Classic إبرة سلسلة حرفية وتطابق خلايا السلاسل المخزنة؛ وتستخدم قواعد نص XLSX معايير نصها المخزنة
يشمل المظهر التفاضلي المدعوم ألوان النسق المحلولة مع درجة اللون (tint) والألوان المفهرسة العادية؛ وتُرفض عند تطبيق القاعدة المطابقة الألوان التلقائية المستوردة ودرجة لون غير نسقية والتعبئة التفاضلية الحاملة للونَي المقدمة والخلفية معًا والحدود والمحاذاة أو الشطب أو مظهر تفاضلي آخر غير الممثل
الصيغ الشرطية المتطلبة للتقييم والقواعد التجميعية أو المعتمدة على التواريخ ومقاييس الألوان وأشرطة البيانات ومجموعات الأيقونات تُرفض حيثما وُجدت؛ وعدد قواعد التنسيق الشرطي المتداخلة محدود
يختار تحويل Date1904 قسم التنسيق العددي الخام المطبق قبل تطبيق إزاحة التقويم؛ والأقسام التقويمية غير النشطة لا تغيّر العرض العددي العادي، وتبقى القيم المنطقية منطقية
قسم التقويم Date1904 المختار مع شروط تنسيق أو بنيات وقت منقضٍ يُرفض؛ وتُرفض كذلك فواصل الأقسام المقتبسة أو المهروبة، وهذا الحد لا يحجب قسمًا عدديًا عاديًا مختارًا لمجرد أن قسمًا آخر تنسيق تقويم
النص الغني ومشاهد الرسم المرتبة
TXLSPortableCell.RichText مصفوفة من سجلات TXLSPortableTextRun المحتوية على Text وFontFamily وFontSizePoints وFontStyles وColorRGB وBaselineShiftPoints؛ ويجب أن يساوي نص المقاطع المتسلسلة نص عرض الخلية تمامًا
ترث مقاطع XLSX الخصائص المحذوفة من خط الخلية الملتقطة الفعلي، بما يشمل تنسيق الجداول والشرطي المدعوم؛ والأعلام الخاطئة المسندة صراحةً وقيم none/baseline/اللون التلقائي الصريحة تتجاوز الوراثة
تُعدّ السلاسل المشتركة والسلاسل المضمّنة الأصلية حدودَ المقاطع والمسافات؛ وتُرفض الأبناء والسمات ونطاقات الأسماء الأصلية غير المدعومة والألوان الغنية النسقية/المفهرسة والتعليقات الصوتية بدلًا من فقد المظهر المرئي بصمت
تحل مقاطع Classic فهارس خطوط BIFF المخزنة إلى خطوط مقاطع فعلية كاملة؛ وتُرفض البيانات الصوتية الوصفية وخطوط المقاطع غير المدعومة، ويحتفظ الالتقاط بجيل المصنف ومجمعات الأنماط
تقرأ أشكال نص Classic خصائص OfficeArt القائمة ومقاطع خطوط TXO دون إنشاء مغلفات رسم أو تغيير المصنف؛ وتستخدم المراسي أبعاد صفوف وأعمدة حقيقية وإزاحات، وتحفظ التعبئات الصلبة والمخططات المدعومة ألوانها وعرضها، وتُفصل بايتات PNG/JPEG المضمنة قبل النقل
يستخدم نص المستطيل الهوامش الأصلية 7.2pt أفقيًا و3.6pt رأسيًا؛ ويستخدم نص القطع الناقص إضافةً مستطيل نصه المُطبَّق، مُبقيًا النص العادي داخل مخطط الشكل في واجهتي المصنف
تحتفظ حاويات المستطيل والقطع الناقص الكلاسيكية المستوردة بنصها وتنسيقها محددي النوع؛ وبيانات رسم أو مجموعة أصلية متخطاة بلا بصمة محلولة ترفض الالتقاط صراحةً، بينما ترفض سجلات ذيول الكائنات غير المعروفة وامتدادات الرسم والتدوير والتعبئات غير الصلبة وأنماط الخطوط غير المدعومة الكائنَ المتقاطع
تدعم مراسي المستطيل والقطع الناقص ثنائي الخلية المستوردة في XLSX تعبئات صلبة RGB صريحة بشفافية ومخططات صلبة أو متقطعة/منقطة وإزاحات مرساة فيزيائية وفقرة نص غني عادية واحدة؛ ويحتفظ كل مقطع بخطه الفعلي وحجمه بالنقاط ولونه وغامقه ومائله وتسطيره المفرد وشطبه، بما يشمل تصفيرات الغامق أو المائل الصريحة
يحجز قارئ الأشكال المستوردة تخزين XML خامًا مؤقتًا قبل التحليل ويفحص ميزانيات العناصر والبايتات والنص تعاونيًا؛ وهو يحفظ ترتيب رسم المصنف وعقود القراءة دون إنشاء نماذج أشكال أو خلايا غائبة
تُرفض صراحةً خصائص الأشكال الأصلية غير المعروفة والتأثيرات والنسق والتدويرات وتحويلات المجموعات والفقرات المتعددة وأنواع المراسي غير المدعومة؛ والبصمة غير المدعومة المحلولة خارج مستطيل الالتقاط لا تحجب المنطقة المطلوبة
يستخدم الرفع والانخفاض على مستوى المقطع ثُلثَي حجم خط المقطع وإزاحة أساس بثلث حجمه النقطي الأصلي؛ وحد نمط يقطع عنقود تشكيل Unicode أو تسلسل CRLF يعبر حدود مقاطع غير متوافقة يُرفض أثناء التخطيط الأصلي
يحمل TXLSPortableSceneObject Kind وX وY وWidth وHeight بالنقاط ومستطيل القص وألوان التعبئة/المخطط والعتامة ونقاط مسار اختيارية أو خلية نص أو بايتات نقطية مشفرة وأبعادًا
يضم TXLSPortableSceneKind xpskRectangle وxpskEllipse وxpskPolyline وxpskPolygon وxpskText وxpskPNG وxpskJPEG؛ وترتيب المصفوفة هو ترتيب الرسم، والكائنات اللاحقة تغطي السابقة
تقبل الحمولة الزائدة الإضافية CreateXLSPortableRenderSnapshot مصفوفة TXLSPortableSceneObjects؛ واستعلم IXLSPortableRenderSceneSnapshot عن Objects وObjectCount المبنيين على الصفر، وتعيد أدوات الوصول نسخًا منفصلة بما يشمل مصفوفات المقاطع والنقاط والصور النقطية
تسبق صور الخلايا ومسارات مربعات الاختيار الرسومَ العائمة؛ وتحتفظ الرسوم العائمة بترتيب المصنف والمراسي الفيزيائية وقص نافذة العرض، وتستخدم أشكال النص خط النسق الثانوي بحجم 11 نقطة بهوامش نص أفقية 7.2 نقطة ورأسية 3.6 نقطة
تُفك صورتا PNG وJPEG أصليًا بعد فحص الترويسة وحجم البكسل والبايتات مسبقًا؛ وتحتفظ الصور العائمة المدعومة بالشفافية وهندسة التمدد، بينما تتلاءم صور الخلايا داخل الخلية أو مستطيل الدمج الكامل مع حفظ نسبة أبعادها
يبقى القص والتدوير والظلال وتعديل الإضاءة/غاما والتبليط ورفيقات SVG وارتباطات الكاميرا الحية غير مدعومين؛ ويُتحقق من XML الصورة المحفوظ مقابل المظهر المدعوم، فتُرفض الصور المخفية والبيانات الوصفية المتداخلة غير المعروفة والخصائص بنطاقات أسماء أجنبية وهندسة الصور غير المستطيلة والتحويلات غير المصمَّمة فقط عند تقاطع بصمتها مع الالتقاط
تستخدم مربعات اختيار الخلايا Boolean صندوق متجه محايد النسق وعلامة اختيار اختيارية، بما يشمل عناصر التحكم الفعلية الموروثة من تنسيقات الصفوف والأعمدة؛ ويحد مسار مشي الخلايا المطلوب قبل الاجتياز، وتُرفض أنواع التحكم الأخرى وقيم مربعات الاختيار الفارغة أو غير المنطقية، وتكبح مشاهد الخلايا المدعومة النصَ البديل للقيم المنطقية العددية أو أخطاء الصور
الافتراض لمربع الاختيار بيانات إدراج وصفية ولا يصنع قيمة Boolean لخلية غائبة؛ ومسح التحكم المباشر للخلية الصريح يقنّع تحكمًا موروثًا، بينما تحفظ قراءات الالتقاط الغياب المتفرق وجيل المصنف
يتحقق XLSReadPortableImageDimensions من IHDR PNG محدود أو إطار JPEG ثماني البتات تسلسلي أو تدريجي مدعوم ويعيد عرضه وارتفاعه المعلنين؛ ويظل فك الترميز مسؤولية العارض
تستخدم IXLSPortableSceneCaptureSource.ReadPortableSceneObjects إحداثيات مصنف قائمة على الواحد وإحداثيات مشهد بالنقاط نسبةً إلى النطاق، وتتحقق من النطاق والحدود التعاونية، وتعيد أعداد البايتات والنص والعناصر المستهلَكة؛ وتحدد HasPortableCellScene الخلايا التي يستبدل عرضها العددي بمشهدها الملتقط
يَعُدُّ CellCount في التخطيط الأصلي خلايا الشبكة، ويدخل LineCount كذلك كائنات مشهد النص؛ وقيمة CellIndex لسطر كائن نص هي CellCount زائد تسلسله المبني على الصفر بين كائنات مشهد النص، بينما يظل GetCellGeometry مقصورًا على خلايا الشبكة
تواصل اللقطات العددية التسلسل بـ HXRSNP01؛ وتتسلسل اللقطات الحاملة لمقاطع أو كائنات مشهد بـ HXRSNP02، ويقبل المحمّل الإصدارين بعقد الملكية غير القابلة للتغيير وتراجع موضع الإدخال نفسه
يَعُدُّ ميزانية العناصر المشتركة الخلايا المخزنة والمقاطع الغنية وكائنات المشهد ونقاط المسار؛ وتحسب حدود البايتات المصفوفات المجهزة والمنفصلة والنص وحمولات الصور النقطية المشفرة وفحص البيانات الوصفية الأصلية المحدود قبل التخصيص
واجهة اللقطة المحمولة
| الرمز | العقد |
|---|---|
EXLSPortableRender | الاستثناء المثار لبيانات لقطة غير صالحة أو مظهر التقاط غير مدعوم أو backend أصلي غير متاح أو حدود موارد أو إخفاقات عرض |
TXLSPortableFontStyle, TXLSPortableFontStyles | xpfsBold وxpfsItalic وxpfsUnderline وxpfsStrikeout، مجمَّعة كمجموعة |
TXLSPortableHorizontal, TXLSPortableVertical | xphLeft وxphCenter وxphRight وxpvTop وxpvCenter وxpvBottom |
TXLSPortableBorderStyle, TXLSPortableBorder | xpbsNone وxpbsSolid وxpbsDashed وxpbsDotted وxpbsDouble؛ ويحمل كل حد Style وWidthPoints وColorRGB |
TXLSPortableCell | Row/Column مبنيان على الصفر وRowSpan/ColumnSpan موجبان وText العرضي وFontFamily وFontSizePoints وFontStyles وTextColorRGB وFillColorRGB وHasFill وWrapText وShrinkToFit وRightToLeft وHorizontal وVertical وأربعة سجلات LeftBorder/TopBorder/RightBorder/BottomBorder |
TXLSPortableCells, TXLSPortableSizes | مصفوفتان ديناميكيتان للخلايا المخزنة وأحجام الصفوف والأعمدة الفيزيائية بالنقاط |
TXLSPortableRenderLimits | تحد MaxGridCells وMaxStoredCells وMaxBytes وMaxTextCharacters البناءَ والالتقاط والتسلسل |
XLSDefaultPortableRenderLimits | تعيد 2000000 خلية شبكة و2000000 خلية مخزنة و67108864 بايت و16777216 محرف نص UTF-16 |
XLSDefaultPortableCell | تهيئ امتداد خلية واحدة بخط Calibri بحجم 11 نقطة ومظهر صفري القيمة افتراضيًا؛ واضبط موضعها ومظهرها المطلوب قبل البناء |
CreateXLSPortableRenderSnapshot | يتحقق وينسخ الجيل وارتفاعات الصفوف وعروض الأعمدة والخلايا المخزنة إلى واجهة منفصلة غير قابلة للتغيير؛ ويجب أن تكون الخلايا فريدة بترتيب الصفوف الرئيسي وضمن الحدود وامتداداتها غير المتداخلة |
IXLSPortableRenderSnapshot | Generation وRowCount وColumnCount وCellCount للقراءة فقط وRowHeightPoints وColumnWidthPoints مبنيين على الصفر وسجلات Cells المنسوخة |
| طرق الوصول إلى اللقطة | تعرض GetGeneration وGetRowCount وGetColumnCount وGetCellCount وGetRowHeight وGetColumnWidth وGetCell القيمَ نفسها؛ والوصول المفهرس غير الصالح يثير استثناء |
SaveXLSPortableRenderSnapshot | يتحقق ويسلسل لقطة واحدة إلى مخزن خاص محدود ثم ينسخ حمولة HXRSNP01 أو HXRSNP02 كاملةً إلى التدفق المزود عند موضعه الحالي |
LoadXLSPortableRenderSnapshot | يقرأ اللقطة مرقمة الإصدار بالبايت الأدنى أولًا بنص UTF-8 صارم ويتحقق من الأعداد والهندسة والأنماط والامتدادات ويرفض البيانات الختامية الزائدة؛ ويفشل الفشل في إعادة موضع تيار الإدخال |
يجب أن تكون كل الحدود موجبة؛ والحد الأقصى المتحقق منه هو 2000000 خلية شبكة/مخزنة و1073741824 بايت و268435456 محرف نص، بأبعاد لا تتجاوز 1048576 صفًا في 16384 عمودًا
يَعُدُّ MaxGridCells المستطيل كاملًا بما يشمل الخلايا الفارغة غير المخزنة؛ ويَعُدُّ CellCount الخلايا المرئية المخزنة ومراسي الدمج وقد يكون أصغر
يسجّل Generation جيل المصدر أو قيمة يزودها التطبيق؛ وهو بيانات وصفية لا رابطًا حيًا بمصنف ولا فحص طزاجة تلقائي
العرض الأصلي والخطوط الصريحة
يبلّغ XLSPortableCairoBackendAvailable عن توافر الـ backend الأصلي المُجمَّع؛ ويتطلب الإخراج الأصلي Free Pascal على Linux أو macOS مع توافر مكتبات Cairo وFreeType وHarfBuzz وFriBidi للعملية
تربط بنيات macOS المكتبات الأصلية الأربع صراحةً؛ ويستطيع بادئة تبعيات خاصة ومسار محمّل عملية ابن صريح تزويدها دون تغيير إعدادات المترجم المشتركة أو ملفات تعريف الصدفة
يستطيع Delphi XE5 على Windows بنيتي Win32 وWin64 تجميع الواجهات المحمولة واستخدام تسلسل اللقطات، لكن تهيئة تخطيط Cairo الأصلي تبلّغ عن عدم توافر الـ backend هناك
مرِّر سلسلة خطوط صريحة إلى PrepareXLSPortableCairoLayout؛ ويجرب العارض مطابقة العائلة والنمط الغامق/المائل أولًا، ثم البدائل بنفس النمط بترتيب التزويد، متطلبًا تغطية رموز رسومية لكل عنقود نص مدعوم
زوّد ملفات regular وbold وitalic وbold-italic الفعلية التي يتطلبها محتواك الملتقط؛ ولا يوجد اكتشاف خطوط نظام ولا استبدال غامق/مائل اصطناعي، وتُرفض الملفات المفقودة أو تعيينات النمط أو تغطية الرموز الرسومية
تُلتقط بايتات الخطوط قبل التشكيل، فتؤثر تغييرات الملف على التخطيطات اللاحقة بينما يحتفظ تخطيط قائم ببايتاته الملتقطة؛ ويختار FaceIndex الوجه غير السالب في ملف خط أو مجموعة
تُسلسل العمليات الأصلية لسلامة وجوه FreeType؛ ولا تتطلب لقطات immutable وفحص التخطيط المجهز مصنفًا حيًا
Fonts[0].FamilyName := 'Calibri'; Fonts[0].FileName := '/srv/fonts/Regular.ttf'; Fonts[0].FaceIndex := 0; Fonts[0].Bold := False; Fonts[0].Italic := False;
هنا Calibri اسم عائلة صريح بديل للملف المختار، بما يتيح تعيين خطوط يتحكم به التطبيق؛ وافحص مقاييس الإخراج عند التعيين إلى خط مختلف
يدعم العارض فواصل الأسطر الصلبة وتوسيع Tab بأربعة مسافات والترتيب الثنائي الاتجاه للفقرات واقترانات الحروف المتصلة وعلامات الدمج والالتفاف الجشع والتقلص للملاءمة؛ والالتفاف يتقدم على التقليص
يحفظ الالتفاف حدود عناقيد علامات الدمج ومحددات التباين وZWJ والفيراما (virama) المنفذة ويفضّل المسافات والمسافات الأيدوغرامية؛ وهو ليس تنفيذًا كاملًا لـ UAX #29 للوحدات الرسومية ولا خوارزمية فواصل أسطر Unicode، وحدود الالتفاف لمؤشرات المنطقة وHangul-Jamo غير مضمونة
تُحل أحجام الخطوط إلى 1/64 نقطة ويُقص النص إلى حدود الخلية؛ ويدمج PDF الخطوط الصريحة بتعيينات نص منطقية، ويستخدم SVG مسارات رموز متجهة، ويرسم PNG الرموز نفسها موضعيةً بالـ DPI المطلوب
تهيئة تخطيط وفحصه
| الرمز | العقد |
|---|---|
TXLSPortableFontFile, TXLSPortableFontFiles | كل تعيين صريح يحتوي FamilyName وFileName وFaceIndex وBold وItalic؛ والمصفوفة الديناميكية مرتبة وتضم بين 1 و64 تعيينًا |
TXLSPortableCairoFormat, TXLSPortableOutputFiles | xpcfPDF أو xpcfSVG أو xpcfPNG، ومصفوفة أسماء ملفات الإخراج المعادة من حفظ الملفات |
TXLSPortableCairoOptions | عرض الصفحة وارتفاعها وأربعة هوامش وحشو الخلايا وDPI الصورة النقطية، إضافة إلى حدود الصفحة والرمز الرسومي والسطر والتخطيط والإخراج والخط والتشكيل والرسم |
XLSDefaultPortableCairoOptions | تهيئ كل خيار بحدود افتراضية؛ واستخدمه قبل تجاوز الحقول المنفردة |
PrepareXLSPortableCairoLayout | يتحقق وينسخ لقطة ويلتقط بايتات الخطوط الصريحة ويعيد TXLSPortableCairoLayout مجهزًا مملوكًا؛ وحرّره بـ Free |
TXLSPortableCairoLayout | يعرض PageCount وLineCount وCellCount وGetTextLine وGetCellGeometry وSaveToStream وSave وDestroy |
TXLSPortableTextLineInfo | سجل السطر المنسوخ يحتوي CellIndex وGlyphCount وXPoints وBaselinePoints وWidthPoints وFontSizePoints وText المنطقي |
TXLSPortableCellGeometry | المستطيل المنسوخ يحتوي XPoints وYPoints وWidthPoints وHeightPoints في التخطيط الكامل |
GetTextLine(Index), GetCellGeometry(Index) | فحص مفهرس مبني على الصفر للأسطر المجهزة والخلايا المخزنة؛ والفهارس غير الصالحة تُرفض |
يقص الترقيم بلاطات منطقة الطباعة الثابتة بترتيب عرضيًا ثم نزولًا؛ وتظهر الخلية أو جزء النص العابر لحدود الصفحات على كل صفحة متقاطعة، دون ملاءمة خلية كاملة تلقائية أو تكرار عناوين طباعة ورقة العمل أو تفسير إعداد صفحات المصنف
خيارات العارض وحدوده
| الحقول | الافتراضات والمعنى |
|---|---|
PageWidthPoints, PageHeightPoints | 595 في 842 نقطة |
MarginLeftPoints, MarginTopPoints, MarginRightPoints, MarginBottomPoints | 36 نقطة لكل منها؛ ويجب أن تترك الهوامش مستطيل طباعة موجبًا |
CellPaddingPoints, RasterDPI | نقطتان و96 DPI؛ ويؤثر DPI في أبعاد PNG |
MaxPages, MaxGlyphs, MaxLines | 256 صفحة و2000000 رمز رسومي مشكَّل و200000 سطر نص |
MaxLayoutBytes | 268435456 بايت لأعمال التخطيط المحدودة وفحوص سطح الصورة النقطية |
MaxOutputBytes | 268435456 بايت لكل مخزن إخراج معروض، تغطي PDF كاملًا أو صفحة SVG/PNG واحدة لا مجموع ملفات الصفحات المنفصلة |
MaxFontBytes | 134217728 بايت عبر ملفات إدخال الخطوط الصريحة للتخطيط |
MaxShapedCharacters, MaxDrawOperations | 16000000 لكل منهما، تحصر أعمال التشكيل وأعمال الرسم لكل خلية |
تُرفض الهندسة غير الصالحة أو غير المنتهية وميزانيات العمل غير الموجبة؛ وتُسقف أبعاد الصفحة عند 100000 نقطة وDPI النقطي عند 1200، مع فحوص إضافية للبايتات والأعداد ومساحة الصورة النقطية قبل العرض
يسمح مجمع بايتات الخطوط على مستوى العملية الأصلي كذلك بـ 256 مخزنًا متمايزًا كحد أقصى و256 ميبيبايت؛ وتستطيع البايتات المتطابقة تمامًا مشاركة التخزين، ولا تُحرر السعة إلا عندما يحرر وجه الخط المملوك لـ Cairo فعليًا مخزنه
حرّر كل تخطيط عند الانتهاء؛ فالمكتبة لا تصفر ذواكر Cairo المشتركة، وقد يبقي تخطيط مكتمل منطقيًا بايتات الخطوط مقيمةً بينما لا يزال Cairo الأصلي يملك وجهًا
كتابة الإخراج ومعالجة الإخفاقات
تكتب SaveToStream(Stream, Format, PageIndex = 0) كل الصفحات لـ PDF متطلبةً PageIndex = 0؛ ويكتب SVG وPNG الصفحة المختارة المبنية على الصفر
يكتمل تسلسل اللقطة والعرض الأصلي في مخازن خاصة محدودة قبل النسخ إلى تدفق الوجهة؛ وتحفظ إخفاقات التحقق أو العرض التيار، لكن فشل كتابة تدفق المستدعي قد يترك بايتات جزئية ويتبع سلوك الفشل الخاص بذلك التدفق
تكتب Save(FileName, Format) ملف PDF واحدًا أو ملف SVG/PNG واحدًا لكل صفحة وتعيد مساراتها؛ وتُدخل أسماء الملفات متعددة الصفحات اللواحق -0001 و-0002 وما يليها قبل الامتداد
تُرفض وجهات الملفات أو المجلدات القائمة؛ وتجهّز كل عملية حفظ كل الصفحات وتنشر وجهات جديدة حصرية وتزيل مخرجاتها المجهزة أو المنشورة عند الفشل
يجب أن يدعم نظام الملفات عمليات التجهيز الحصرية الأصلية ونشر الروابط؛ وعمليات حفظ PDF وSVG وPNG المنفصلة عمليات منفصلة ولا تشكل معاملة مدمجة
المستهلك المستقل على Linux
Tests/Portable/RenderPortableSnapshot.pas مستهلك كامل يحمّل لقطة ويجهز تخطيطًا واحدًا ويحفظ التنسيقات الثلاثة كلها؛ وابنِه على Linux بتركيب الوحدات المحمولة والمكتبات الأصلية
fpc -Mdelphiunicode -Fu/path/to/HotXLS/Lib RenderPortableSnapshot.pas ./RenderPortableSnapshot report.hxrs /srv/output/report fonts.tsv 595 842 96
fonts.tsv نص UTF-8 بأربعة حقول مفصولة بـ Tab لكل تعيين: اسم العائلة المستعار والمسار المطلق لخط Linux وفهرس الوجه وإحدى القيم regular أو bold أو italic أو bolditalic
Calibri /srv/fonts/Regular.ttf 0 regular Calibri /srv/fonts/Bold.ttf 0 bold Calibri /srv/fonts/Italic.ttf 0 italic Calibri /srv/fonts/BoldItalic.ttf 0 bolditalic
استخدم ملفات خطوط مثبتة فعليًا أو يزودها التطبيق، واختر أساس إخراج جديدًا لأن ملفات الوجهة القائمة تُرفض؛ وأدرج بدائل بنفس النمط إضافيةً للكتابات غير المغطاة بالتعيين الأول
Stream := TFileStream.Create('report.hxrs', fmOpenRead or fmShareDenyWrite);
try
Snapshot := LoadXLSPortableRenderSnapshot(Stream,
XLSDefaultPortableRenderLimits);
finally
Stream.Free;
end;
Options := XLSDefaultPortableCairoOptions;
Layout := PrepareXLSPortableCairoLayout(Snapshot, Fonts, Options);
try
Files := Layout.Save('/srv/output/report.pdf', xpcfPDF);
Files := Layout.Save('/srv/output/report.svg', xpcfSVG);
Files := Layout.Save('/srv/output/report.png', xpcfPNG);
finally
Layout.Free;
end;
تسجيل المخططات المخزنة
يسجّل XLSRecordCachedChartScene في lxPagination أولياتِ عارض تخطيط المخططات القائمة بالنقاط في تمثيل مشهد محمول غير قابل للتغيير؛ ويجب أن يكون مصدره TXLSXChart منفصلًا بلا ورقة عمل مالكة وبلا XML أصلي محفوظ، فلا يستطيع التسجيل حل مراجع ورقة العمل ولا تحديث ذواكر المصنف
تدعم المجموعة الحالية مخططات الأعمدة والأشرطة والخطوط والانتشار والدائري والدونات ومنطقة السلسلة الواحدة العادية بمجموعة رسم رئيسية واحدة وذواكر قيم عددية منتهية وفهارس cache متزايدة بدقة ومحدودة؛ وتحتوي ذواكر تصنيف مخططات الانتشار إحداثيات X عددية، بينما تستخدم العائلات الأخرى تسميات التصنيف المخزنة
يجب أن تملك ذواكر قيم الأعمدة والأشرطة والخطوط والمنطقة فهارس متتالية مبنية على الصفر؛ وتُرفض فجوات قيم التصنيف المتفرقة، ولا يوسع التسجيل أبدًا الفهارس المفقودة مصفوفةً كبيرة
تحتفظ رسوم الأشرطة بهندستها الأفقية وتسمياتها التصنيفية؛ وتستخدم رسوم الدائري والدونات وسائد تصنيف وتحترم FirstSliceAng وHoleSize وتحذف المحاور العددية، بينما يحتفظ رسم منطقة السلسلة الواحدة العادي بمضلع معبأ حول خط الأساس الصفري
تدعم سلاسل الخطوط والانتشار رؤية خط مستقلة ولون RGB صريحًا وعرض نقطة عبر LineVisible وLineColorRGB وLineWidthPoints؛ وتميز LineStyleSet وLineColorSet وLineWidthSet الإعدادات الصريحة عن الافتراضات الموروثة، ويحل EffectiveLineVisible اصطلاح سلسلة التعبئة فقط القائم
تدعم العلامات الدائرة التلقائية ودائرة صريحة أو لا علامة؛ وضبط MarkerSize صريح من 2 إلى 72 يحدد قطرها بالنقاط، وتميز MarkerFillSet وMarkerBorderSet قيمة RGB السوداء الصريحة الصفرية عن اختيار اللون التلقائي؛ وتُرسم المقاطع الواصلة قبل علامات البيانات المعتمة
حدود العلامات الصريحة بلا عرض مخزن تستخدم الخط العادي 0.75 نقطة، بينما تسقف عينات وسائد المخطط قطرَ الدائرة عند 6 نقاط؛ وتُكتب خطوط العناوين المطلوبة على مقطع النص الغني الفعلي إضافةً إلى خصائص نصه الافتراضية حفاظًا على حجمها ولونها وإبرازها المرئيين عند تصدير Excel للمخطط
عائلات المخططات غير المدعومة ورسوم المنطقة المكدسة أو متعددة السلاسل والرسوم الدائرية متعددة السلاسل وأنماط المعرض والزوايا المستديرة ومجموعات الرسم الثانوية أو المدمجة ومحاور التواريخ وتنسيقات الأعداد المخصصة والمحاور اللوغاريتمية وسلوك التقاطع المخصص والنص المدوّر وخطوط الاتجاه وأشرطة الخطأ والتصنيفات الهرمية وتسميات البيانات وأشكال العلامات الأخرى وذواكر القيم المفقودة تثير EXLSPortableRender قبل العرض
تُرفض خطوط تدريج محاور القيم المخصصة والشبكات الثانوية والوحدات الرئيسية/الثانوية الصريحة وألوان السلاسل الصريحة غير الصالحة ومواضع المحاور غير المدعومة؛ وتتطلب سائد الأشرطة حاليًا الموضع الأيمن العادي، وتتطلب الرسوم الدائرية إجمالًا مخزنًا منتهيًا غير صفري وهندسة محدودة بحجز تحفظي مبكر لذاكرة القوس المؤقتة
تحتفظ المصفوفة المعادة بترتيب الرسم الأولي والألوان الصريحة والخطوط ومحاذاة النص والعتامة وحدود قص المخطط؛ ويشمل محاسبة العناصر والبايتات والنص حجوزاتَ المؤقتات التحفظية للعارض، وتسبق فحوص cache التعاونية تخصيصَ مصفوفات المؤقتات
يجري XLSValidateCachedChartSceneModel الفحصَ المسبق نفسه المحدود للـ cache والمظهر على نموذج دون حل خلايا ورقة العمل؛ ويستخدم جسر التقاط XLSX هذا الفحص قبل الاستنساخ ويسجل نماذج المخططات المؤلَّفة المدعومة بمراجع A1 محلية أحادية البعد وإزاحات مرساة أصلية فيزيائية وقص نطاقات وترتيب رسم
يسكن مسجّل محايد المنصة في lxPortableChart؛ وتتشارك نقاط دخول lxPagination القائمة هياكلَ التخطيط وتسجيل الأوليات نفسها محافظةً على سلوك عارض Windows ومطابقة بايتات المشهد غير القابلة للتغيير ومحاسبة الميزانية لكل عائلة مدعومة
يستخدم التقاط المصنف الأصلي على Linux وmacOS حمولةَ الهندسة الصريحة الموصوفة أدناه؛ وتُستعاد تعبئة RGB للسلاسل المستوردة وخلفية منطقة الرسم وخلفية المخطط وحدوده من خصائص أشكالها المحلولة بنطاقات أسمائها فلا يستطيع لون سلسلة متداخل الكتابة فوق خلفية الرسم
يُقبل ChartML المستورد المحفوظ فقط عندما يطابق تيار عناصره وسماته ونصوصه المهمة الموسعة بنطاقات الأسماء إعادةَ البناء محددة النوع المدعومة؛ وتُطبَّع أسماء النطاقات المستعارة وترتيب السمات، بينما تُرفض تحفظيًا الامتدادات الأصلية غير المصمَّمة والسمات الأجنبية والمظهر غير المدعوم
تُفحص ميزانيات XML الخام والمؤقتات الخاصة بإعادة البناء قبل أعمال الاستنساخ والإسقاط؛ والنسخة المنفصلة وحدها تمسح XMLها المحفوظ المتحقق منه، ويحتفظ المصنف بالبيانات الوصفية الأصلية وتخزين الخلايا ومحتوى الـ cache والجيل
يجتاز الالتقاط ترتيب رسم OfficeArt الأساسي، بما يشمل إطارات المخططات الغائبة عن مغلف Shapes العام، ويرفض الإطار غير المدعوم المتقاطع بدلًا من حذفه بصمت
مخططات Classic المخزنة بمظهر معلن
يدعم التقاط Classic BIFF8 عائلات المخططات السبع العادية أعلاه عندما تكون سجلاتها الأساسية وقيمها المخزنة المحلية ومقاييسها الخطية الصريحة ومظهرها قابلة للتمثيل؛ وهو يقرأ السجلات المحفوظة وذواكر الصيغ المتاحة دون تقييم صيغ أو توسيع تخزين متفرق أو استنساخ أشجار صيغ مجمَّعة
استخدم TXLSWorkbook.CreateReadOnlyViewWithChartAppearance(Source, Limits, Geometry) لإنشاء عرض قراءة فقط منفصل بمجموعة مجمَّدة من قيم TXLSClassicChartAppearanceDeclaration يزودها IXLSClassicChartAppearanceSource؛ وGeometry اختياري على Windows ويزود قياسات خطوط أصلية صريحة على Linux أو macOS
TXLSClassicChartAppearanceDeclarations هي المصفوفة الديناميكية للإعلانات الأولية التي قد يستخدمها التطبيق لتنفيذ ذلك المصدر
مرِّر ذلك العرض المهيأ إلى CaptureXLSPortableViewRenderSnapshot(View, SheetIndex, Row1, Col1, Row2, Col2, Limits)؛ والإحداثيات قائمة على الواحد ويعيد المهايئ ورقة العمل النشطة للمستدعي عندما يكتمل الالتقاط أو يُرفض
تواصل نقاط دخول الالتقاط العادية رفض خطوط التخطيط أو السائد الفعلي غير المحلول لـ Classic؛ بينما تستخدم نقطة دخول العرض المتميزة الإعلاناتَ المجمدة سلفًا ومزود الهندسة
| عضو الإعلان | العقد |
|---|---|
Generation, SheetIndex, ObjectId | جيل المصنف المثبت وفهرس ورقة العمل القائم على الواحد وهوية كائن المخطط المخزنة الفعلية؛ وتُرفض الأجيال المتقادمة والهويات المفقودة أو المتكررة والهويات العائدة لكائن آخر |
HasChartSize, ChartWidthPoints, ChartHeightPoints | حجم إطار مخطط صريح منتهٍ موجب بالنقاط؛ ويحفظ أصل المرساة وترتيب الرسم، بينما يبقي العلم الخاطئ الأبعادَ المشتقة من المرساة |
HasPlotInnerRectangle, PlotInnerRectangle | مستطيل رسم داخلي صريح يستثني التسميات وعناوين المحاور؛ وهو مطلوب لمسار المظهر المعلن هذا |
HasTitleRectangle, TitleRectangle | مستطيل عنوان صريح عندما يملك المخطط عنوانًا؛ ويأتي نص المصدر وعائلة الخط والإبراز واللون من السجلات الأساسية المتحقق منها مع ذلك |
HasLegendRectangle, LegendRectangle | حدود السائد المعلنة عندما تكون السائدة موجودة |
HasLegendFontSize, LegendFontSizePoints | حجم النقطة الفعلي الصريح من المستدعي لسائدة موجودة؛ وتُحفظ عائلة الخط الأساسية والإبراز واللون |
TXLSPortableChartRectangle | قيم Left وTop وWidth وHeight نقاط منتهية نسبةً إلى إطار المخطط الملتقط؛ وتتطلب المستطيلات النشطة أبعادًا موجبة ضمن ذلك الإطار |
Count, GetCount, ReadDeclaration | يبلّغ المصدر عن عدد محدود ويعيد سجلًا أوليًا لكل فهرس مبني على الصفر ما دام العرض مهيأً؛ وتُنسخ الإعلانات قبل الالتقاط اللاحق |
هذه القيم مظهر معلن من المستدعي لا تخطيط Excel تلقائيًا ولا تحجيم خطوط مستنتجًا؛ فاحصل عليها من مصدر مفحوص استقلالًا أو تخطيط يحدده التطبيق وراجع الإخراج بتعيين الخطوط الأصلي الصريح المستخدم للعرض
يجب أن تترك أبعاد الإطار الصريحة وحدود الرسم الداخلية مساحةً كافية لخطوط تسميات المحاور المتحقق منها؛ وعدم كفاية مساحة التسميات يُرفض بدلًا من قص النص أو تطبيق معامل تحجيم ملائم
يُبقي التطبيقات مالك المصنف حيًّا حتى تحرير العرض؛ ويحمل العرض المستعار عقد قراءة ويحتفظ بمصدر الإعلانات، بينما لا تحتفظ اللقطة غير القابلة للتغيير الناتجة بالمصنف ولا بالمزود
يشمل الإسقاط الأساسي المدعوم التعبئات الصلبة الحرفية والخطوط الصلبة المرئية وعلامات الدائرة ونص العنوان والسائدة وموضع التصنيف والتدريج العددي الصريح المحدود؛ وتُرفض قبل الإخراج المقاييس التلقائية والمظهر التلقائي للعلامات غير المحلول والتنعيم وامتدادات غنية غير معروفة ومراجع سلاسل أجنبية أو غير خطية وأنماط نقاط غير ممثلة
الإعلان عن هندسة أو حجم سائدة لا يخول تجاهل امتدادات مخطط غير معروفة أو أنماط غير متحقق منها؛ وتبقى حدود البايتات والنص والخلايا المخزنة والمشهد فعالةً لبيانات المصدر المحفوظة والإعلانات والذواكر المنفصلة ومساحة تسجيل المؤقتات
تقبل الحمولتان الزائدتان الإضافيتان XLSValidateCachedChartSceneModel وXLSRecordCachedChartScene TXLSCachedChartSceneAppearance لنموذج منفصل؛ وتهيّئه بـ XLSDefaultCachedChartSceneAppearance قبل ضبط عناصر التحكم الصريحة
تعيد الدالة XLSReadClassicChartScene الأدنى في lxClassicChartScene TXLSXChart منفصلًا مملوكًا للمستدعي ومظهرًا أوليًا وعدادات ميزانية من TXLSCustomChart محفوظ ومقيّم مصدره التام وTXLSClassicChartSceneSource مستأجرة؛ وحرّر النموذج المعاد بعد التسجيل
يزود TXLSClassicChartSceneSource.ReadAppearance إعلانًا أوليًا، وتقرأ ReadCell قيمًا محلية مخزنة مثبتة محدودة، ويمتلئ ReadFont بأسلوب النص المزود ببيانات خط أساسية فعلية محدودة، ويحل PaletteColor مدخلات لوحة الألوان المخزنة الصريحة؛ وعلى تنفيذات التطبيقات حفظ المصدر المثبت واحترام كل حصة بايتات ومحارف مزودة
| عضو مظهر المشهد | المعنى |
|---|---|
SeriesMarkerSizePoints | أقطار نقاط لكل سلسلة محدودة، بما يشمل القيم الكسرية؛ والصفر يحتفظ بحجم علامة النموذج ويجب أن يكون التجاوز غير الصفري من 2 إلى 72 نقطة |
OverrideBorder, BorderColorRGB, BorderWidthPoints | مظهر مخطط الإطار الخارجي الصريح |
AxisColorRGB, TickColorRGB, GridlineColorRGB, AxisWidthPoints, TickWidthPoints, GridlineWidthPoints | ألوان وعرض نقاط المحور وعلامات التدريج والشبكة الرئيسية الصريحة |
AreaFillOpacity, SeriesFillAlpha | عتامة المنطقة وشفافية تعبئة السلسلة |
UseAxisTickControls, CategoryBetween | عناصر تحكم محاور صريحة متحقق منها وموضع تصنيفي |
TitleOffsetXPoints, TitleOffsetYPoints | إزاحات منتهية تطبَّق على موضع العنوان العادي للمسجّل |
OverridePlotInnerRectangle, OverrideTitleRectangle, OverrideLegendRectangle, PlotInnerRectangle, TitleRectangle, LegendRectangle | مستطيلات نقاط حرفية نسبةً إلى إطار المخطط |
PieRadiusRatio | نصف قطر الرسم الدائري بوصفه كسرًا محدودًا من البعد الأصغر للرسم |
تتبع أوليات المخطط سياسة التخطيط القائمة في HotXLS؛ ويظل مظهر معرض المخططات المتطلب لافتراضات Excel غير المصمَّمة حدًّا غير مدعوم صريحًا
الالتقاط الأصلي المباشر للمصنف
تعيد CreateXLSPortableCairoRenderGeometry(Fonts, Calibration, Generation, Backend, Options, CacheCapacity) IXLSRenderGeometry مدعومًا بملفات الخطوط الصريحة نفسها وFreeType وHarfBuzz وتشكيل النص المستخدمة للإخراج الأصلي؛ وتستخدم عروض الأعمدة عرضَ الرقم الأقصى المقيس فعليًا بمعايرة المصنف
يملك المزود بايتات خطوط منفصلة وذاكرة مقاييس محدودة ويفحص ميزانيتي الخطوط والتخطيط قبل التخصيص ويتحقق من طلبات القياس قبل تغيير حالة الذاكرة المخبأة؛ وتستطيع الذاكرة الممتلئة إعادة قياسات غير مخبأة دون تجاوز سعتها
يتحقق الالتقاط من تطابق جيل المزود وكل حقول المعايرة مع عرض المصنف الحالي للقراءة فقط، ويحتفظ بالمزود لذلك العرض، ويترك مصنع هندسة المصنف الافتراضي دون تغيير؛ ويظل هندسة الافتراض الأصلي العادي حد GDI صريحًا
التقط الجيل عبر عرض محرَّر صراحةً قبل إنشاء المزود؛ والاحتفاظ بنتيجة واجهة مؤقتة قد يحتفظ بعقد القراءة حتى نهاية النطاق المحيط
View := Owner.CreateReadOnlyView; Generation := View.Generation; View := nil; Geometry := CreateXLSPortableCairoRenderGeometry(Fonts, Workbook.CaptureRenderCalibration, Generation, xlsrgbBitmap, XLSDefaultPortableCairoOptions, 4096); Snapshot := CaptureXLSPortableRenderSnapshot(Owner, 1, 1, 1, 30, 6, XLSDefaultPortableRenderLimits, Geometry);
تُجمَّع المستهلكات الأصلية بـ LX_PORTABLE_CORE والتبعيات الأصلية المقابلة؛ وتُرفض استدعاءات Windows لمصنع هندسة Cairo الأصلي صراحةً، بينما يستطيع التقاط Windows استخدام مصنع الهندسة القائم عبر الحمولات المُنطَّقة نفسها
يدعم الالتقاط الأصلي الفعلي العددي المصمَّم والنص الغني والصور النقطية المدعومة والأشكال العادية وعائلات المخططات المخزنة السبع الموصوفة أعلاه؛ ويحفظ التقاط المخططات ChartML الأصلي المستورد والنقاط المخزنة وتخزين الخلايا المتفرق والتخزين المحزوم وجيل المصنف
للمناطق الطباعة غير القابلة للتغيير والهوامش والملاءمة أو التحجيم بالنسبة والتسميات المتكررة والفواصل اليدوية وترقيم الخلية الكاملة أو المدمجة، راجع خطط الطباعة المحمولة
جسر الالتقاط المتقدم
IXLSRenderCaptureSource في lxSemanticSnapshot هو واجهة التنسيق الداخلية المنفذة من عروض المصنفات المدعومة للقراءة فقط؛ وعلى التطبيقات العادية استدعاء حمولات الالتقاط القائمة على المالك
تنفّذ TXLSClassicReadOnlyWorkbookView وTXLSXReadOnlyWorkbookView IXLSRenderCaptureSource بما يشمل طرق العرض الثمانية أدناه؛ وتنسق هاتان الفئتان الالتقاط عبر عروض للقراءة فقط، ويتولى المهايئ إدارة عمرهما بينما تحتفظ التطبيقات بواجهة مالك المصنف وتستدعي CaptureXLSPortableRenderSnapshot
تزود طريقة TryReadCell القائمة عندهما لقطةَ خلية مخزنة عبر العرض للقراءة فقط؛ وتضيف طرق العرض مظهرًا وهندسة منفصلين لالتقاط محمول
| العضو أو المساعد | الغرض |
|---|---|
ValidateRenderRange | يفحص حدود المستطيل القائمة على الواحد وبصمات المظهر غير المدعومة قبل الالتقاط |
ReadRenderStyle | يعيد بيانات TXLSSemanticCellStyle الوصفية المنفصلة وعلم وجود نص غني لخلية قائمة على الواحد |
IXLSRenderRichTextCaptureSource, ReadRenderRichText | امتداد عرض اختياري يعيد TXLSRenderTextRuns منفصلة محدودة؛ ويحتوي كل TXLSRenderTextRun Text وStyle دلاليًا فعليًا مستخدمًا النمط الأساسي المزود وحصص المقاطع والبايتات الموجبة دون تجسيد خلايا أو تعديل مجمعات الأنماط |
RenderRowHeightPoints, RenderColumnWidthPoints | تعيدان الهندسة الفيزيائية مع طي الأبعاد المخفية إلى صفر |
IXLSRenderGeometryCaptureSource, SetRenderCaptureGeometry | امتداد عرض اختياري يحتفظ بمزود صريح فقط بعد التحقق من الجيل والمعايرة؛ والمزود غير الصالح يترك مزود العرض المحفوظ دون تغيير |
ReadRenderMerge | يبلّغ عن مستطيل الدمج الكامل الشامل القائم على الواحد المحتوي على خلية |
ResolveRenderColor | يحل المظهر الدلالي نسقًا/فهرسًا/RGB إلى لون RGB محمول مستخدمًا الافتراضي المزود حيثما دُعم |
RenderDate1904, RenderRightToLeft | يعرضان سياق نظام تاريخ المصنف وترتيب قراءة الورقة |
XLSRenderCaptureLiteral | يتعرف على مجموعة القيم الحرفية المدعومة منطقيةً أو عددًا منتهيًا أو نصًا مقتبسًا بسيطًا للالتقاط دون تقييم |
XLSRenderCaptureIntersects | يختبر نطاقات A1 المحلية المفصولة بمسافات مقابل مستطيل قائم على الواحد رافضًا بنية النطاق غير المحلولة |
XLSRenderCaptureCondition | يقيّم مجموعة الشروط المدعومة مقابل قيمة عددية قائمة؛ وتعني رموز معاملات المقارنة من 1 إلى 8 بين وغير بين ويساوي ولا يساوي وأكبر وأصغر وأكبر من أو يساوي وأصغر من أو يساوي |
XLSRenderCaptureApplyDxf | يطبق المظهر التفاضلي المنفصل المدعوم بقناع AppliedSlots حفاظًا على التنسيق الأعلى أولوية |
TXLSDxfStyle._MarkRenderUnsupportedAppearance, TXLSDxfStyle._HasRenderUnsupportedAppearance | طرق تنسيق الاستيراد المسبوقة داخليًا تسجل وتفحص المظهر الذي يعجز النموذج التفاضلي محدد النوع عن عرضه بأمان؛ ويحتفظ Assign بالعلامة، ويرفض الالتقاط النمطَ المطابق المعلم |
يستطيع مساعدات الجسر هؤلاء إثارة EXLSSemanticSnapshot؛ ويترجم مهايئ الالتقاط العام ذلك الاستثناء إلى EXLSPortableRender