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