من التطبيقات المفيدة لواجهة برمجة التطبيقات Google Slides API دمج معلومات من مصدر بيانات واحد أو أكثر في مجموعة شرائح نموذجية.
توضّح هذه الصفحة كيفية الحصول على بيانات من مصدر خارجي وإدراجها في عرض تقديمي نموذجي حالي. يشبه المفهوم عملية دمج البريد باستخدام معالج كلمات وجدول بيانات.
هناك عدة أسباب لأهمية هذا النهج:
من السهل على المصمّمين تحسين تصميم العرض التقديمي باستخدام محرِّر "العروض التقديمية من Google". وهذا أسهل بكثير من ضبط المَعلمات في تطبيقك لضبط تصميم الشريحة المعروضة.
إنّ فصل المحتوى عن العرض هو أحد مبادئ التصميم المعروفة وله العديد من المزايا.
وصفة أساسية
في ما يلي مثال على كيفية استخدام واجهة برمجة التطبيقات Slides API لدمج البيانات في عرض تقديمي:
أنشئ عرضك التقديمي بالشكل الذي تريده باستخدام محتوى العنصر النائب لمساعدتك في التصميم.
استبدِل محتوى العنصر النائب بعلامة لكل عنصر محتوى ستُدرجه. العلامات هي مربّعات نص أو أشكال تحتوي على سلسلة فريدة. احرص على استخدام سلاسل من غير المرجّح أن تظهر بشكل طبيعي. على سبيل المثال، قد تكون
{{account-holder-name}}
علامة جيدة.في رمزك البرمجي، استخدِم Google Drive API لإنشاء نسخة من ال عرض التقديمي.
في الرمز البرمجي، استخدِم أسلوب
batchUpdate
Slides API مع مجموعة من طلباتreplaceAllText
لتنفيذ جميع عمليات استبدال النصوص في العرض التقديمي. استخدِم طلباتreplaceAllShapesWithImage
لإجراء عمليات استبدال الصور في جميع أنحاء العرض التقديمي.
بعد إنشاء عرض تقديمي يتضمّن علامات، احرص على إنشاء نسخة منه واستخدام Slides API لتعديل النسخة. لا تستخدِم Slides API لتلاعب بنسخة "النموذج" الأساسية.
تتضمّن الأقسام التالية مقتطفات رمز توضّح بعضًا من هذه العملية. يمكنك أيضًا مشاهدة الفيديو أعلاه للاطّلاع على مثال كامل (Python) يجمع العديد من المفاهيم الواردة في الأقسام الفردية أدناه.
دمج النص
يمكنك استخدام طلب replaceAllText
لاستبدال جميع تكرارات سلسلة نصية معيّنة في
عرض تقديمي بنص جديد. بالنسبة إلى عمليات الدمج، هذا أسهل من
العثور على كل نسخة من النص واستبدالها بشكلٍ فردي. يرجع سبب كون هذا النهج هو
الأكثر تعقيدًا إلى أنّه من الصعب توقّع معرّفات عناصر الصفحة،
خاصةً عندما يُجري المتعاونون تحسينات على عرض قالب الجدول الزمني ويحافظون عليه.
مثال
يستخدم هذا المثال واجهة برمجة التطبيقات Drive API لنسخ عرض تقديمي من نموذج، ما يؤدي إلى إنشاء نسخة جديدة من العرض التقديمي. بعد ذلك، يستخدم التطبيق واجهة برمجة التطبيقات Google Sheets API لقراءة البيانات من جدول بيانات "جداول بيانات Google"، ويستخدم أخيرًا واجهة برمجة التطبيقات Slides API لتعديل الجدول الزمني الجديد.
يأخذ المثال البيانات من 3 خلايا في صف واحد من نطاق مُعنوَن في جدول البيانات. بعد ذلك، يتم استبدال هذه البيانات في العرض التقديمي في أي مكان تظهر فيه سلاسل {{customer-name}}
أو
{{case-description}}
أو
{{total-portfolio}}
.
برمجة تطبيقات
البدء
Java
JavaScript
Node.js
PHP
Python
Ruby
دمج الصور
يمكنك أيضًا دمج الصور في عرضك التقديمي باستخدام طلب
replaceAllShapesWithImage
. يستبدل هذا الطلب جميع المثيلات للأشكال التي تحتوي على
السلسلة النصية المقدَّمة بالصورة المقدَّمة. يحدِّد الطلب تلقائيًا
موضع الصورة ويغيّر حجمها ليتم احتواؤها ضمن حدود شكل العلامة مع
الحفاظ على نسبة العرض إلى الارتفاع للصورة.
مثال
يستخدم هذا المثال Google Drive API لنسخ نموذج عرض تقديمي، ما يؤدي إلى
إنشاء مثيل جديد للعرض التقديمي. بعد ذلك، يستخدم التطبيق واجهة برمجة التطبيقات Slides API للعثور على
أي شكل يتضمّن النص {{company-logo}}
واستبداله بصورة شعار الشركة. يستبدل الطلب أيضًا أي
شكل بالنص {{customer-graphic}}
بصورة مختلفة.
برمجة تطبيقات
البدء
Java
JavaScript
Node.js
PHP
Python
Ruby
استبدال نُسخ معيّنة من مربّع نص أو صورة
تكون طلبات replaceAllText
وreplaceAllShapesWithImage
مفيدة لاستبدال العلامات في جميع أنحاء العرض التقديمي، ولكن
في بعض الأحيان، تحتاج فقط إلى استبدال العناصر وفقًا لمعايير أخرى، مثل
الموقع الجغرافي على شريحة معيّنة.
في هذه الحالات، عليك استرداد أرقام تعريف أشكال العلامات التي تريد استبدالها. بالنسبة إلى عمليات استبدال النصوص، يمكنك حذف النص الحالي في هذه الأشكال ثم إدراج النص الجديد (اطّلِع على ตัวอย่าง تعديل نص في شكل محدّد).
عمليات استبدال الصور أكثر تعقيدًا. لدمج صورة، عليك اتّباع الخطوات التالية:
- احصل على رقم تعريف شكل العلامة.
- انسخ الحجم وحوِّل المعلومات من العلامة.
- أضِف صورتك إلى الصفحة باستخدام معلومات الحجم والتحويل.
- احذِف شكل العلامة.
قد يتطلّب الحفاظ على نسبة عرض إلى ارتفاع الصورة أثناء توسيعها إلى الحجم المطلوب بعض الحذر، كما هو موضّح في القسم التالي. اطّلِع أيضًا على هذا العيّنة: استبدال علامة شكل بصورة.
الحفاظ على نسبة العرض إلى الارتفاع
عند إنشاء صور باستخدام واجهة برمجة التطبيقات Slides API، تستند عمليات ضبط نسبة العرض إلى الارتفاع إلى
حجم الصورة فقط، وليس إلى حجم البيانات وتحويلها. تُعتبَر بيانات الحجم التي تقدّمها
في طلب createImage
هي الحجم المطلوب للصورة. تُكيّف واجهة برمجة التطبيقات نسبتَي عرض إلى ارتفاع
الصورة لتتلاءم مع هذا الحجم المطلوب، ثم تُطبّق عملية التحويل المقدَّمة.
عند استبدال علامة بصورة، يمكنك الحفاظ على نسبة قياس شاشة الصورة من خلال ضبط حجم الصورة ودرجة تكبيرها على النحو التالي:
- width: يتم ضبطه على حاصل ضرب
width
وscaleX
للعلامة. - height: يتم ضبطه على ناتج
height
وscaleY
للعلامة - scale_x: تم ضبطه على
1
- scale_y: تم ضبطه على
1
يؤدي ذلك إلى أن تضبط Slides API نسبة العرض إلى الارتفاع للصورة وفقًا
لحجم العلامة المرئية، بدلاً من حجمها غير المُعدَّل (راجِع
استبدال علامة شكل بصورة).
يؤدي ضبط مَعلمات تغيير الحجم على 1
إلى منع تغيير حجم الصورة
مرّتين.
يضمن هذا الترتيب الحفاظ على نسبة العرض إلى الارتفاع للصورة، ويمنع الصورة من تجاوز حجم شكل العلامة. تحتوي الصورة على نقطة المركز نفسها في شكل العلامة.
إدارة النماذج
بالنسبة إلى عروض النماذج التي يحدّدها التطبيق ويملكها، أنشئ النموذج باستخدام حساب مخصّص يمثّل التطبيق. حسابات الخدمة هي خيار جيد وتتجنّب التعقيدات المتعلقة بسياسات Google Workspace التي تفرض قيودًا على المشارَكة.
عند إنشاء نُسخ من العروض التقديمية من النماذج، استخدِم دائمًا بيانات اعتماد المستخدم النهائي. يمنح ذلك المستخدمين إمكانية التحكّم الكامل في العروض الترويجية الناتجة ويمنع مشاكل التوسيع المرتبطة بالحدود المفروضة على كل مستخدم في Google Drive.
لإنشاء نموذج باستخدام حساب خدمة، نفِّذ الخطوات التالية باستخدام بيانات اعتماد التطبيق:
- أنشئ عرضًا تقديميًا باستخدام presentations.create في Slides API.
- عدِّل الأذونات للسماح لمستلمي العرض التقديمي بقراءته باستخدام permissions.create في واجهة برمجة التطبيقات Drive API.
- عدِّل الأذونات للسماح لمؤلفي النماذج بالكتابة فيها باستخدام permissions.create في Drive API.
- عدِّل النموذج حسب الحاجة.
لإنشاء مثيل للعرض التقديمي، اتّبِع الخطوات التالية مع بيانات اعتماد المستخدم:
- أنشئ نسخة من النموذج باستخدام files.copy في Drive API.
- استبدِل القيم باستخدام presentation.batchUpdate في Slides API.