تخبرك هذه الصفحة بكيفية تنسيق النص باستخدام واجهة برمجة تطبيقات محرر مستندات Google.
لمحة عن التنسيق
هناك نوعان مختلفان من التنسيق الذي يمكنك تطبيقهما على النص لمحتوى المستند:
- يمكنك تغيير تنسيق الأحرف مثل الخط أو اللون أو التسطير.
- يمكنك تغيير تنسيق الفقرة مثل المسافة البادئة أو تباعد الأسطر.
تغيير تنسيق الأحرف
يحدد تنسيق الأحرف عرض حروف النص في جلسة المراجعة.
يؤدي أي تنسيق تطبقه إلى إلغاء التنسيق الافتراضي المكتسب من TextStyle للفقرة الأساسية. وعلى العكس من ذلك، تستمر أي أحرف لم تضبط تنسيقها في اكتساب من أنماط الفقرة.
لتغيير تنسيق الأحرف في النص، استخدِم batchUpdate
مع
UpdateTextStyleRequest.
يجب توفير نطاق.
يتضمن المعلومات التالية:
segmentId
: يحدّد الرأس أو التذييل أو الحاشية السفلية - إذا غير محدد، النص — يحتوي على النص.startIndex
وendIndex
اللذان يحددان نطاق النص داخل الجزء المطلوب تنسيقه.- عنصر
tabId
الذي يحدّد علامة التبويب التي تحتوي على النص
ينفذ المثال التالي عدة عمليات لتصميم النص على النص الموجود في العنوان:
- تعيين خط الأحرف من 1 إلى 5 بالخط المائل الغامق.
- لضبط لون الأحرف من 6 إلى 10 إلى
blue
بخط Times New Roman 14 نقطة - أحرف الروابط التشعّبية من 11 إلى 15 إلى
www.example.com
تتمثل الطريقة المباشرة للقيام بذلك في إنشاء قائمة بالطلبات ثم باستخدام batchUpdate واحدة الاتصال:
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setUpdateTextStyle(new UpdateTextStyleRequest() .setTextStyle(new TextStyle() .setBold(true) .setItalic(true)) .setRange(new Range() .setStartIndex(1) .setEndIndex(5) .setTabId(TAB_ID)) .setFields("bold"))); requests.add(new Request() .setUpdateTextStyle(new UpdateTextStyleRequest() .setRange(new Range() .setStartIndex(6) .setEndIndex(10) .setTabId(TAB_ID)) .setTextStyle(new TextStyle() .setWeightedFontFamily(new WeightedFontFamily() .setFontFamily("Times New Roman")) .setFontSize(new Dimension() .setMagnitude(14.0) .setUnit("PT")) .setForegroundColor(new OptionalColor() .setColor(new Color().setRgbColor(new RgbColor() .setBlue(1.0F) .setGreen(0.0F) .setRed(0.0F))))) .setFields("foregroundColor,weightedFontFamily,fontSize"))); requests.add(new Request() .setUpdateTextStyle(new UpdateTextStyleRequest() .setRange(new Range() .setStartIndex(11) .setEndIndex(15) .setTabId(TAB_ID)) .setTextStyle(new TextStyle() .setLink(new Link() .setUrl("www.example.com"))) .setFields("link"))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'updateTextStyle': { 'range': { 'startIndex': 1, 'endIndex': 5, 'tabId': TAB_ID }, 'textStyle': { 'bold': True, 'italic': True }, 'fields': 'bold,italic' } }, { 'updateTextStyle': { 'range': { 'startIndex': 6, 'endIndex': 10, 'tabId': TAB_ID }, 'textStyle': { 'weightedFontFamily': { 'fontFamily': 'Times New Roman' }, 'fontSize': { 'magnitude': 14, 'unit': 'PT' }, 'foregroundColor': { 'color': { 'rgbColor': { 'blue': 1.0, 'green': 0.0, 'red': 0.0 } } } }, 'fields': 'foregroundColor,weightedFontFamily,fontSize' } }, { 'updateTextStyle': { 'range': { 'startIndex': 11, 'endIndex': 15, 'tabId': TAB_ID }, 'textStyle': { 'link': { 'url': 'www.example.com' } }, 'fields': 'link' } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
تغيير تنسيق الفقرة
تتيح لك واجهة برمجة التطبيقات لمستندات Google تحديث تنسيق الفقرة الذي يحدد كيفية ويتم عرض أجزاء نصية من المستند، بما في ذلك ميزات مثل المحاذاة والمسافة البادئة.
يؤدي أي تنسيق تطبقه إلى إلغاء التنسيق الافتراضي المكتسب من نمط الفقرة الأساسية. وعلى العكس من ذلك، فإن أي ميزات تنسيق عدم الضبط على الاستمرار في الاكتساب من نمط الفقرة. لمزيد من المعلومات عن الفقرة الأنماط والتوريث، انظر ParagraphStyle.
يحدد المثال أدناه التنسيق التالي للفقرة:
- عنوان كنمط محدد
- تباعُد مخصّص أعلاه
- تباعد مخصص أدناه
- حدّ أيسر مخصّص
وتستمر جميع ميزات تنسيق الفقرة المتبقية في الاكتساب من النمط المحدد الأساسي.
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(10) .setTabId(TAB_ID)) .setParagraphStyle(new ParagraphStyle() .setNamedStyleType("HEADING_1") .setSpaceAbove(new Dimension() .setMagnitude(10.0) .setUnit("PT")) .setSpaceBelow(new Dimension() .setMagnitude(10.0) .setUnit("PT"))) .setFields("namedStyleType,spaceAbove,spaceBelow") )); requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest() .setRange(new Range() .setStartIndex(10) .setEndIndex(20) .setTabId(TAB_ID)) .setParagraphStyle(new ParagraphStyle() .setBorderLeft(new ParagraphBorder() .setColor(new OptionalColor() .setColor(new Color() .setRgbColor(new RgbColor() .setBlue(1.0F) .setGreen(0.0F) .setRed(0.0F) ) ) ) .setDashStyle("DASH") .setPadding(new Dimension() .setMagnitude(20.0) .setUnit("PT")) .setWidth(new Dimension() .setMagnitude(15.0) .setUnit("PT") ) ) ) .setFields("borderLeft") )); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'updateParagraphStyle': { 'range': { 'startIndex': 1, 'endIndex': 10, 'tabId': TAB_ID }, 'paragraphStyle': { 'namedStyleType': 'HEADING_1', 'spaceAbove': { 'magnitude': 10.0, 'unit': 'PT' }, 'spaceBelow': { 'magnitude': 10.0, 'unit': 'PT' } }, 'fields': 'namedStyleType,spaceAbove,spaceBelow' } }, { 'updateParagraphStyle': { 'range': { 'startIndex': 10, 'endIndex': 20, 'tabId': TAB_ID }, 'paragraphStyle': { 'borderLeft': { 'color': { 'color': { 'rgbColor': { 'blue': 1.0, 'green': 0.0, 'red': 0.0 } } }, 'dashStyle': 'DASH', 'padding': { 'magnitude': 20.0, 'unit': 'PT' }, 'width': { 'magnitude': 15.0, 'unit': 'PT' }, } }, 'fields': 'borderLeft' } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()