دليل المنتج وAPI

المخططات والتقارير

اجمع المخططات والجداول والنصوص في قالب واحد لإنشاء تقارير مبيعات أو تسويق أو مشاريع. لا يتطلب إنشاء مخططك شراء تصميم تقرير جاهز.

إنشاء مخطط في أداة الإنشاء

  1. أضف مخططًا من الموارد ثم اختر نوعه وعنوانه في لوحة الفحص.
  2. افتح «تعديل بيانات المخطط» لتعديل أسماء السلاسل والألوان والفئات والقيم الرقمية. أضف سلاسل أو صفوفًا عند الحاجة.
  3. ينقل «تطبيق» التغييرات إلى المخطط، ويتجاهل «إلغاء» التغييرات داخل النافذة. احفظ قالبك وافحص معاينته ومخرجاته.

الأنواع والحدود

تُدعم مخططات الأعمدة والأشرطة الأفقية والخطوط والمساحات والدوائر والحلقات. رموز أنواعها في JSON هي:

يرسم محرك المخططات الخاص بالمنتج النماذج من الصفوف الأربعة نفسها؛ يتغير رمز النوع فقط.

يدعم كل مخطط حتى 100 فئات و6 سلاسل. تسمح المخططات الدائرية والحلقية بسلسلة واحدة فقط وترفض القيم السالبة.

مثال عنصر قالب

هذا الكائن عنصر مخطط في مصفوفة elements لقالب schemaVersion: 2، وليس طلب إنشاء كاملًا. يحفظ المثال البيانات مباشرةً في content.data.

JSON
{
  "id": "monthly-revenue",
  "type": "chart",
  "placementMode": "flow",
  "layout": { "width": 100, "widthUnit": "percent", "height": 240 },
  "content": {
    "title": "Revenue",
    "data": [{ "month": "Jan", "revenue": 42 }, { "month": "Feb", "revenue": 52 }]
  },
  "chart": {
    "type": "bar",
    "labelField": "month",
    "series": [{ "field": "revenue", "label": "Revenue", "color": "#e3232a" }],
    "showLegend": true,
    "showValues": true
  }
}

ربط البيانات الديناميكية

لاستخدام بيانات مختلفة لكل مستند، أضف binding: monthlyRevenue إلى عنصر المخطط وأرسل مصفوفة كائنات باسم monthlyRevenue في بيانات الطلب. أزل content.data في هذه الحالة. تحدد labelField حقل الفئة ويحدد حقل كل سلسلة قيمتها الرقمية. تُدعم المسارات المتداخلة مثل sales.net.

لا تُحوّل الأعداد المفقودة أو غير المنتهية إلى صفر؛ تبقى فجوات في المخططات الخطية والمساحية. صحح القيم السالبة للدائري والحلقي في بيانات المصدر. قد تُحذف بعض تسميات القيم في المخططات الكثيفة لتجنب التداخل.

تقرير ببيانات فعلية

يقرأ المخطط المرتبط بـ monthlyRevenue المصفوفة التي تحمل الاسم نفسه من الطلب. يبقى القالب كما هو وتصل الأرقام فقط مع كل استدعاء.

cURL
curl -X POST https://api.pdfgine.com/api/v1/render \
  -H "X-PDFgine-Key: $PDFGINE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "templateCode": "sales-report",
        "format": "pdf",
        "locale": "ar",
        "data": {
          "monthlyRevenue": [
            { "month": "2026-01", "revenue": 42000, "target": 40000 },
            { "month": "2026-02", "revenue": 51500, "target": 45000 },
            { "month": "2026-03", "revenue": 47250, "target": 50000 }
          ]
        }
      }'

كل كائن في المصفوفة فئة واحدة. تختار labelField اسم الفئة، ويختار حقل كل سلسلة عددًا من الكائن نفسه.

الأخطاء الشائعة

  • binding وcontent.data بديلان وليسا زوجًا. المخطط الذي يتضمنهما معًا يستمر في رسم البيانات الثابتة، فيبدو أن طلبك مُتجاهل.
  • يجب أن تكون قيم السلاسل أعدادًا. "42.000,00" نص؛ نسّقها للقارئ في عنصر نصي لا في السلسلة.
  • يقبل المخطط 100 نقاط و6 سلاسل كحد أقصى. جمّع البيانات قبل إرسالها بدل توقع رسم الصفوف الإضافية.
  • يكون المخطط في Word صورة لا مخطط Word قابلًا للتحرير. سيخيب أمل من يتوقع تعديله بالنقر؛ ويعرض PDF والعارض الرسم نفسه.
  • تعني 100% عرض المنطقة الحاوية لا الورقة. داخل عمود أو حاوية بهوامش داخلية يكون العرض أقل من الصفحة.

سلوك المعاينة والمخرجات

تستخدم المخططات محرك SVG مشتركًا. يحافظ PDF والعارض على مظهرها، وتحتوي صادرات Word على صور المخططات لا كائنات مخططات Word أصلية قابلة للتحرير.

يعني عرض 100% العرض المتاح للمنطقة الحاوية لا الورقة كاملة. قد تقلل هوامش الصفحة والأعمدة والمسافات الداخلية تلك المنطقة.

إنشاء مستند →