ONLYOFFICE Docs 9.0 للمطورين: تحديثات واجهة برمجة التطبيقات (API)

٣ يوليو ٢٠٢٥بواسطة Moncif MEFTAH

الإصدار الأحدث من ONLYOFFICE Docs، وهو مليء بالتحديثات التي توفر المزيد من الوظائف وخيارات تخصيص أفضل وأداءً محسنًا. إذا كنتم من المطورين أو المتخصصين في تكامل الأنظمة وتتطلعون إلى الاستفادة من واجهات برمجة التطبيقات (APIs) المحسّنة، فهناك الكثير لاستكشافه في هذا الإصدار. اطلعوا على كل التفاصيل أدناه.

ONLYOFFICE Docs 9.0 for developers: API updates

عارض المخططات

عارض المخططات الذي تم تقديمه حديثًا متاح للويب، وللحاسوب، وللويب على الهاتف المحمول. يسمح بفتح ملفات المخططات دون الحاجة إلى أي تطبيقات خارجية.

مكان العثور عليه في API: تمت إضافة نوع مستند المخطط إلى معامل documentType.

ONLYOFFICE Docs 9.0 for developers: API updates

دعم تنسيقات ملفات جديدة

يواصل ONLYOFFICE توسيع قابلية استخدامه من خلال دعم المزيد من تنسيقات الملفات. في الإصدار 9.0، أصبح من الممكن فتح ملفات Markdown وملفات OpenDocument Graphic للعرض.

مكان العثور عليه في API: تمت إضافة إمكانية فتح تنسيقات odg و md.

بالإضافة إلى ذلك، ومع إطلاق عارض المخططات، تمت إضافة تحويل من تنسيقات vsdm, vsdx, vssm, vssx, vstm, and vstx. تحققوا من API

ONLYOFFICE Docs 9.0 for developers: API updates

خيارات تخصيص موسعة

لقد تم الارتقاء بالتخصيص إلى مستويات جديدة في الإصدار 9.0، مما يمكّن المستخدمين النهائيين لديكم من تخصيص تجربة ONLYOFFICE الخاصة بهم تمامًا كما يحتاجون.

سمات واجهة مستخدم جديدة

تم تقديم سمتين جديدتين، Modern Light و Modern Dark، لتحسين شكل ومظهر كل محرر.

مكان العثور عليه في API: تمت إضافة معرفات السمات theme-white وtheme-night إلى معامل editorConfig.customization.uiTheme.

const config = {
  editorConfig: {
    customization: {
...
      uiTheme: "theme-white",
...

ONLYOFFICE Docs 9.0 for developers: API updates

تحديد حجم الخط لواجهة المستخدم باللغة الصينية المبسطة

المعامل الجديد يضمن ضبط دقيق لحجم الخط في تخطيطات اللغة الصينية المبسطة، مع إمكانية استخدام الأسلوب الغربي أو التقليدي.

مكان العثور عليه في API: القيمة الافتراضية: falseeditorConfig.customization.forceWesternFontSize.

const config = {
  editorConfig: {
    customization: {
....
 forceWesternFontSize: false,
...

إخفاء صور المستخدمين (avatars)

يمكن الآن التحكم في عرض صور المستخدمين في رأس المحرر لتوفير واجهة أنظف وخالية من المشتتات.

مكان العثور عليه في API: القيمة الافتراضية: true editorConfig.customization.layout.header.user.

const config = {
  editorConfig: {
    customization: {
...
layout: {
        header: {
          editMode: true,
          save: true,
          user: true,
          users: true,
        },

تحسين الأداء عبر التحميل المسبق

بدءًا من الإصدار 9.0، يمكنكم تحميل الموارد الثابتة مسبقًا (HTML، CSS، JS، الخطوط) إلى ذاكرة التخزين المؤقت للمتصفح قبل فتح الملف لتسريع تحميل المحرر لأول مرة. تحققوا من API

الخيارات المتاحة:

1) استخدام المعامل ?preload=placeholder 

<div id="placeholder"></div>

<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js?preload=placeholder"></script>

2) إدخال iframe تحميل مسبق يدويًا

<iframe src="https://documentserver/web-apps/apps/api/documents/preload.html" style="display:none;"></iframe>

احصلوا على أحدث إصدار من ONLYOFFICE Docs للمطورين:

التحميل الآن

تحسينات API للإضافات والماكرو

أزرار مخصصة لعناصر التحكم في المحتوى. استخدموا الفئة Asc.ButtonContentControl لإنشاء أزرار فريدة لإضافاتكم. حددوا الإجراءات باستخدام الطريقة attachOnClick وأضيفوا أيقوناتكم الخاصة لتحسين الوظائف. تحققوا من API

(function(window){
  window.Asc.plugin.init = function()
  {
    let button = new Asc.ButtonContentControl();
    button.icons = '/resources/check%scale%(default).png';
    button.attachOnClick(function(contentControlId){
      Asc.plugin.executeMethod("RemoveContentControl", [contentControlId]);
    });
 
    button = new Asc.ButtonContentControl();
    button.icons = '/resources/close%scale%(default).png';
    button.attachOnClick(function(contentControlId){
      Asc.plugin.executeMethod("RemoveContentControls", [[{"InternalId": contentControlId}]]);
    });
  }
})(window);

تعيين الشريحة النشطة من خلال فهرستها. انتقلوا بسهولة إلى أي شريحة داخل العروض التقديمية باستخدام الطريقة الجديدة GoToSlide.

expression.GoToSlide(slideNumber);

عنصر قائمة التحكم في المحتوى. إن تقديم التعداد ContentControlListElement يجعل إدارة عناصر التحكم في المحتوى داخل المستندات أكثر بساطة.

الحسابات غير المتزامنة. قوموا بإدارة أي طلب ضمن متن دالة مخصصة تم إنشاؤها باستخدام وحدات الماكرو.

(function () {
  /**
   * World Bank indicator value for a specific year.
   * @customfunction

   * @param   {string} country   ISO-3 code, e.g. "TUR"
   * @param   {string} indicator Indicator code, e.g. "SP.POP.TOTL"
   * @param   {number} year      Four-digit year, e.g. 2024
   * @returns {any}             Numeric value or #N/A
   *
   * @example =WB("TUR","SP.POP.TOTL",2024)
   */
  async function WB(country, indicator, year) {
    // Build URL (World Bank allows CORS)
    const url =
      `https://api.worldbank.org/v2/country/${country}/indicator/${indicator}` +
      `?format=json&per_page=20000`;

    try {
      const r = await fetch(url);
      const [meta, data] = await r.json();

      // Find the row for the requested year
      const row = data.find((v) => v.date === year.toString());
      if (!row || row.value == null) return "#N/A";

      return row.value;               // resolves the Promise
    } catch (e) {
      return "#ERROR";
    }
  }

  // Register the function so it becomes a sheet formula
  Api.AddCustomFunction(WB);
})();

نماذج جديدة

مع آخر تحديث لوثائق API، قمنا بتضمين المزيد من الأمثلة الجاهزة للاستخدام لـ Document Builder ووحدات الماكرو، مما يجعل عملية التطوير لديكم أكثر سلاسة وكفاءة.

إطار عمل Builder

وحدات الماكرو

تتوفر نماذج ماكرو جديدة لجميع أنواع المحررات، على سبيل المثال

شاهدوا كل نماذج الماكرو

واجهة Office API

بالنسبة ل Office JavaScript API, أضفنا الكثير من الطرق الجديدة لإصدار 9.0، بما في ذلك تلك الخاصة بـ:

  • عناصر التحكم في المحتوى

  • XML المخصص
  • النماذج
  • الخصائص المخصصة
  • النواة (Core)
  • النطاق (Range)
  • الرسم
  • العروض التقديمية
  • صفحة الملاحظات

اطلعوا على القائمة الكاملة للطرق الجديدة

ONLYOFFICE ١. أنشئ حسابك المجاني من

،٢. قم بعرض و تحرير أو التعاون على المستندات، الجداول ، العروض التقديمية