From 967e0380bf904159e546a5c750b703d03b9503b4 Mon Sep 17 00:00:00 2001 From: slides-ai-agent Date: Thu, 20 Nov 2025 14:33:58 +0500 Subject: [PATCH] Files update from Slides AI Agents: Documentation Translation --- .../convert-presentation/_index.md | 123 ++++- .../_index.md | 63 ++- .../_index.md | 84 +++- .../convert-powerpoint/ppt-vs-pptx/_index.md | 50 +- .../render-a-slide-as-an-svg-image/_index.md | 66 ++- .../export-to-html5/_index.md | 96 ++-- .../export-to-xaml/_index.md | 59 ++- .../examine-presentation/_index.md | 85 ++-- .../manage-blob/_index.md | 121 +++-- .../picture-frame/_index.md | 471 +++++++++-------- .../manage-media-files/video-frame/_index.md | 99 ++-- .../manage-text/wordart/_index.md | 248 ++++----- .../chart-entities/chart-axis/_index.md | 93 ++-- .../chart-data-marker/_index.md | 124 +++-- .../chart-entities/chart-legend/_index.md | 141 +++--- .../chart-entities/chart-plot-area/_index.md | 68 ++- .../chart-entities/error-bar/_index.md | 112 +++-- .../chart-entities/trend-line/_index.md | 157 +++--- .../chart-types/3d-chart/_index.md | 71 ++- .../chart-types/bubble-chart/_index.md | 42 +- .../_index.md | 130 +++-- .../chart-types/doughnut-chart/_index.md | 44 +- .../chart-types/pie-chart/_index.md | 105 ++-- .../chart-worksheet-formulas/_index.md | 234 +++++---- .../powerpoint-charts/export-chart/_index.md | 42 +- .../exporting-math-equations/_index.md | 66 ++- .../powerpoint-shapes/activex/_index.md | 173 ++++--- .../create-shape-thumbnails/_index.md | 149 ++++-- .../shape-animation/_index.md | 370 +++++++++----- .../powerpoint-shapes/shape-effect/_index.md | 58 ++- .../shape-types/connector/_index.md | 409 ++++++++------- .../shape-types/custom-shapes/_index.md | 383 ++++++++------ .../shape-types/ellipse/_index.md | 95 ++-- .../shape-types/line/_index.md | 132 +++-- .../shape-types/paragraph/_index.md | 54 +- .../shape-types/portion/_index.md | 46 +- .../shape-types/rectangle/_index.md | 102 ++-- .../powerpoint-fonts/default-font/_index.md | 69 ++- .../powerpoint-fonts/fallback-font/_index.md | 43 +- .../create-fallback-font/_index.md | 59 ++- .../font-replacement/_index.md | 72 ++- .../font-substitution/_index.md | 83 ++- .../presentation-notes/_index.md | 62 ++- .../presentation-properties/_index.md | 189 +++---- .../digital-signature-in-powerpoint/_index.md | 78 +-- .../password-protected-presentation/_index.md | 178 ++++--- .../read-only-presentatiom/_index.md | 52 +- .../presentation-security/watermark/_index.md | 140 ++++-- .../access-slide-in-presentation/_index.md | 136 +++-- .../compare-slides/_index.md | 38 +- .../presentation-via-vba/_index.md | 189 ++++--- .../_index.md | 190 ++++--- .../_index.md | 47 +- .../_index.md | 52 +- .../multithreading/_index.md | 48 +- .../features-overview/_index.md | 143 ++++-- .../metered-licensing/_index.md | 98 ++-- .../system-requirements/_index.md | 53 +- .../convert-presentation/_index.md | 125 +++-- .../_index.md | 63 ++- .../_index.md | 84 +++- .../convert-powerpoint/ppt-vs-pptx/_index.md | 61 ++- .../render-a-slide-as-an-svg-image/_index.md | 69 ++- .../export-to-html5/_index.md | 100 ++-- .../export-to-xaml/_index.md | 59 ++- .../examine-presentation/_index.md | 79 ++- .../manage-blob/_index.md | 123 +++-- .../picture-frame/_index.md | 462 +++++++++-------- .../manage-media-files/video-frame/_index.md | 104 ++-- .../manage-text/wordart/_index.md | 238 +++++---- .../chart-entities/chart-axis/_index.md | 107 ++-- .../chart-data-marker/_index.md | 72 ++- .../chart-entities/chart-legend/_index.md | 140 +++--- .../chart-entities/chart-plot-area/_index.md | 72 ++- .../chart-entities/error-bar/_index.md | 68 +-- .../chart-entities/trend-line/_index.md | 80 +-- .../chart-types/3d-chart/_index.md | 62 ++- .../chart-types/bubble-chart/_index.md | 40 +- .../_index.md | 131 +++-- .../chart-types/doughnut-chart/_index.md | 46 +- .../chart-types/pie-chart/_index.md | 117 +++-- .../chart-worksheet-formulas/_index.md | 205 ++++---- .../powerpoint-charts/export-chart/_index.md | 43 +- .../exporting-math-equations/_index.md | 66 ++- .../powerpoint-shapes/activex/_index.md | 83 +-- .../create-shape-thumbnails/_index.md | 150 ++++-- .../shape-animation/_index.md | 362 +++++++------ .../powerpoint-shapes/shape-effect/_index.md | 60 ++- .../shape-types/connector/_index.md | 405 ++++++++------- .../shape-types/custom-shapes/_index.md | 362 +++++++------ .../shape-types/ellipse/_index.md | 81 +-- .../shape-types/line/_index.md | 131 +++-- .../shape-types/paragraph/_index.md | 57 ++- .../shape-types/portion/_index.md | 41 +- .../shape-types/rectangle/_index.md | 95 ++-- .../powerpoint-fonts/default-font/_index.md | 53 +- .../powerpoint-fonts/fallback-font/_index.md | 43 +- .../create-fallback-font/_index.md | 57 ++- .../font-replacement/_index.md | 66 ++- .../font-substitution/_index.md | 77 ++- .../presentation-notes/_index.md | 63 ++- .../presentation-properties/_index.md | 199 ++++---- .../digital-signature-in-powerpoint/_index.md | 55 +- .../password-protected-presentation/_index.md | 178 ++++--- .../read-only-presentatiom/_index.md | 52 +- .../presentation-security/watermark/_index.md | 116 +++-- .../access-slide-in-presentation/_index.md | 137 ++--- .../compare-slides/_index.md | 40 +- .../presentation-via-vba/_index.md | 195 ++++--- .../_index.md | 196 ++++---- .../_index.md | 49 +- .../_index.md | 56 ++- .../multithreading/_index.md | 48 +- .../features-overview/_index.md | 144 +++--- .../metered-licensing/_index.md | 96 ++-- .../system-requirements/_index.md | 38 +- .../convert-presentation/_index.md | 101 +++- .../_index.md | 61 ++- .../_index.md | 85 +++- .../convert-powerpoint/ppt-vs-pptx/_index.md | 48 +- .../render-a-slide-as-an-svg-image/_index.md | 50 +- .../export-to-html5/_index.md | 96 ++-- .../export-to-xaml/_index.md | 59 ++- .../examine-presentation/_index.md | 82 +-- .../manage-blob/_index.md | 95 ++-- .../picture-frame/_index.md | 455 +++++++++-------- .../manage-media-files/video-frame/_index.md | 93 ++-- .../manage-text/wordart/_index.md | 214 ++++---- .../chart-entities/chart-axis/_index.md | 101 ++-- .../chart-data-marker/_index.md | 54 +- .../chart-entities/chart-legend/_index.md | 141 +++--- .../chart-entities/chart-plot-area/_index.md | 72 ++- .../chart-entities/error-bar/_index.md | 72 +-- .../chart-entities/trend-line/_index.md | 105 ++-- .../chart-types/3d-chart/_index.md | 65 ++- .../chart-types/bubble-chart/_index.md | 50 +- .../_index.md | 124 +++-- .../chart-types/doughnut-chart/_index.md | 47 +- .../chart-types/pie-chart/_index.md | 130 +++-- .../chart-worksheet-formulas/_index.md | 203 ++++---- .../powerpoint-charts/export-chart/_index.md | 34 +- .../exporting-math-equations/_index.md | 66 ++- .../powerpoint-shapes/activex/_index.md | 103 ++-- .../create-shape-thumbnails/_index.md | 150 ++++-- .../shape-animation/_index.md | 346 ++++++++----- .../powerpoint-shapes/shape-effect/_index.md | 60 ++- .../shape-types/connector/_index.md | 402 ++++++++------- .../shape-types/custom-shapes/_index.md | 379 ++++++++------ .../shape-types/ellipse/_index.md | 63 ++- .../shape-types/line/_index.md | 132 +++-- .../shape-types/paragraph/_index.md | 53 +- .../shape-types/portion/_index.md | 49 +- .../shape-types/rectangle/_index.md | 93 ++-- .../powerpoint-fonts/default-font/_index.md | 58 ++- .../powerpoint-fonts/fallback-font/_index.md | 38 +- .../create-fallback-font/_index.md | 57 ++- .../font-replacement/_index.md | 76 ++- .../font-substitution/_index.md | 67 ++- .../presentation-notes/_index.md | 59 ++- .../presentation-properties/_index.md | 201 ++++---- .../digital-signature-in-powerpoint/_index.md | 62 +-- .../password-protected-presentation/_index.md | 192 ++++--- .../read-only-presentatiom/_index.md | 52 +- .../presentation-security/watermark/_index.md | 136 +++-- .../access-slide-in-presentation/_index.md | 137 +++-- .../compare-slides/_index.md | 40 +- .../presentation-via-vba/_index.md | 193 ++++--- .../_index.md | 198 ++++---- .../_index.md | 45 +- .../_index.md | 60 ++- .../multithreading/_index.md | 50 +- .../features-overview/_index.md | 147 +++--- .../metered-licensing/_index.md | 96 ++-- .../system-requirements/_index.md | 55 +- .../convert-presentation/_index.md | 123 ++++- .../_index.md | 61 ++- .../_index.md | 84 +++- .../convert-powerpoint/ppt-vs-pptx/_index.md | 68 ++- .../render-a-slide-as-an-svg-image/_index.md | 66 ++- .../export-to-html5/_index.md | 102 ++-- .../export-to-xaml/_index.md | 58 ++- .../examine-presentation/_index.md | 85 ++-- .../manage-blob/_index.md | 111 ++-- .../picture-frame/_index.md | 453 +++++++++-------- .../manage-media-files/video-frame/_index.md | 69 ++- .../manage-text/wordart/_index.md | 242 +++++---- .../chart-entities/chart-axis/_index.md | 98 ++-- .../chart-data-marker/_index.md | 61 ++- .../chart-entities/chart-legend/_index.md | 141 +++--- .../chart-entities/chart-plot-area/_index.md | 74 ++- .../chart-entities/error-bar/_index.md | 62 ++- .../chart-entities/trend-line/_index.md | 104 ++-- .../chart-types/3d-chart/_index.md | 63 ++- .../chart-types/bubble-chart/_index.md | 30 +- .../_index.md | 126 +++-- .../chart-types/doughnut-chart/_index.md | 38 +- .../chart-types/pie-chart/_index.md | 92 ++-- .../chart-worksheet-formulas/_index.md | 255 +++++----- .../powerpoint-charts/export-chart/_index.md | 36 +- .../exporting-math-equations/_index.md | 56 ++- .../powerpoint-shapes/activex/_index.md | 101 ++-- .../create-shape-thumbnails/_index.md | 149 ++++-- .../shape-animation/_index.md | 358 +++++++------ .../powerpoint-shapes/shape-effect/_index.md | 53 +- .../shape-types/connector/_index.md | 397 ++++++++------- .../shape-types/custom-shapes/_index.md | 380 ++++++++------ .../shape-types/ellipse/_index.md | 79 +-- .../shape-types/line/_index.md | 131 +++-- .../shape-types/paragraph/_index.md | 54 +- .../shape-types/portion/_index.md | 37 +- .../shape-types/rectangle/_index.md | 108 ++-- .../powerpoint-fonts/default-font/_index.md | 63 ++- .../powerpoint-fonts/fallback-font/_index.md | 37 +- .../create-fallback-font/_index.md | 53 +- .../font-replacement/_index.md | 74 ++- .../font-substitution/_index.md | 77 ++- .../presentation-notes/_index.md | 59 ++- .../presentation-properties/_index.md | 186 ++++--- .../digital-signature-in-powerpoint/_index.md | 49 +- .../password-protected-presentation/_index.md | 192 ++++--- .../read-only-presentatiom/_index.md | 52 +- .../presentation-security/watermark/_index.md | 144 ++++-- .../access-slide-in-presentation/_index.md | 122 +++-- .../compare-slides/_index.md | 40 +- .../presentation-via-vba/_index.md | 177 ++++--- .../_index.md | 194 ++++--- .../_index.md | 50 +- .../_index.md | 58 ++- .../multithreading/_index.md | 50 +- .../features-overview/_index.md | 120 +++-- .../metered-licensing/_index.md | 94 ++-- .../system-requirements/_index.md | 53 +- .../convert-presentation/_index.md | 137 +++-- .../_index.md | 57 ++- .../_index.md | 89 +++- .../convert-powerpoint/ppt-vs-pptx/_index.md | 66 ++- .../render-a-slide-as-an-svg-image/_index.md | 67 ++- .../export-to-html5/_index.md | 98 ++-- .../export-to-xaml/_index.md | 66 ++- .../examine-presentation/_index.md | 95 ++-- .../manage-blob/_index.md | 118 +++-- .../picture-frame/_index.md | 458 +++++++++-------- .../manage-media-files/video-frame/_index.md | 110 ++-- .../manage-text/wordart/_index.md | 250 ++++----- .../chart-entities/chart-axis/_index.md | 109 ++-- .../chart-data-marker/_index.md | 56 ++- .../chart-entities/chart-legend/_index.md | 129 ++--- .../chart-entities/chart-plot-area/_index.md | 70 ++- .../chart-entities/error-bar/_index.md | 66 ++- .../chart-entities/trend-line/_index.md | 105 ++-- .../chart-types/3d-chart/_index.md | 73 ++- .../chart-types/bubble-chart/_index.md | 33 +- .../_index.md | 130 +++-- .../chart-types/doughnut-chart/_index.md | 34 +- .../chart-types/pie-chart/_index.md | 102 ++-- .../chart-worksheet-formulas/_index.md | 184 +++---- .../powerpoint-charts/export-chart/_index.md | 49 +- .../exporting-math-equations/_index.md | 66 ++- .../powerpoint-shapes/activex/_index.md | 96 ++-- .../create-shape-thumbnails/_index.md | 149 ++++-- .../shape-animation/_index.md | 387 ++++++++------ .../powerpoint-shapes/shape-effect/_index.md | 63 ++- .../shape-types/connector/_index.md | 419 +++++++-------- .../shape-types/custom-shapes/_index.md | 373 +++++++------- .../shape-types/ellipse/_index.md | 92 ++-- .../shape-types/line/_index.md | 131 +++-- .../shape-types/paragraph/_index.md | 53 +- .../shape-types/portion/_index.md | 49 +- .../shape-types/rectangle/_index.md | 97 ++-- .../powerpoint-fonts/default-font/_index.md | 62 ++- .../powerpoint-fonts/fallback-font/_index.md | 45 +- .../create-fallback-font/_index.md | 50 +- .../font-replacement/_index.md | 68 ++- .../font-substitution/_index.md | 87 +++- .../presentation-notes/_index.md | 64 +-- .../presentation-properties/_index.md | 150 +++--- .../digital-signature-in-powerpoint/_index.md | 60 ++- .../password-protected-presentation/_index.md | 182 ++++--- .../read-only-presentatiom/_index.md | 46 +- .../presentation-security/watermark/_index.md | 142 ++++-- .../access-slide-in-presentation/_index.md | 134 +++-- .../compare-slides/_index.md | 40 +- .../presentation-via-vba/_index.md | 190 ++++--- .../_index.md | 193 ++++--- .../_index.md | 46 +- .../_index.md | 45 +- .../multithreading/_index.md | 42 +- .../features-overview/_index.md | 130 +++-- .../metered-licensing/_index.md | 100 ++-- .../system-requirements/_index.md | 36 +- .../convert-presentation/_index.md | 116 ++++- .../_index.md | 39 +- .../_index.md | 84 +++- .../convert-powerpoint/ppt-vs-pptx/_index.md | 50 +- .../render-a-slide-as-an-svg-image/_index.md | 54 +- .../export-to-html5/_index.md | 112 +++-- .../export-to-xaml/_index.md | 61 ++- .../examine-presentation/_index.md | 102 ++-- .../manage-blob/_index.md | 100 ++-- .../picture-frame/_index.md | 475 ++++++++++-------- .../manage-media-files/video-frame/_index.md | 99 ++-- .../manage-text/wordart/_index.md | 217 ++++---- .../chart-entities/chart-axis/_index.md | 76 +-- .../chart-data-marker/_index.md | 54 +- .../chart-entities/chart-legend/_index.md | 146 +++--- .../chart-entities/chart-plot-area/_index.md | 63 ++- .../chart-entities/error-bar/_index.md | 76 +-- .../chart-entities/trend-line/_index.md | 86 ++-- .../chart-types/3d-chart/_index.md | 79 +-- .../chart-types/bubble-chart/_index.md | 42 +- .../_index.md | 120 +++-- .../chart-types/doughnut-chart/_index.md | 58 ++- .../chart-types/pie-chart/_index.md | 106 ++-- .../chart-worksheet-formulas/_index.md | 223 ++++---- .../powerpoint-charts/export-chart/_index.md | 46 +- .../exporting-math-equations/_index.md | 58 ++- .../powerpoint-shapes/activex/_index.md | 96 ++-- .../create-shape-thumbnails/_index.md | 150 ++++-- .../shape-animation/_index.md | 356 ++++++++----- .../powerpoint-shapes/shape-effect/_index.md | 58 ++- .../shape-types/connector/_index.md | 406 ++++++++------- .../shape-types/custom-shapes/_index.md | 372 ++++++++------ .../shape-types/ellipse/_index.md | 79 +-- .../shape-types/line/_index.md | 120 +++-- .../shape-types/paragraph/_index.md | 53 +- .../shape-types/portion/_index.md | 49 +- .../shape-types/rectangle/_index.md | 94 ++-- .../powerpoint-fonts/default-font/_index.md | 78 +-- .../powerpoint-fonts/fallback-font/_index.md | 45 +- .../create-fallback-font/_index.md | 59 ++- .../font-replacement/_index.md | 63 ++- .../font-substitution/_index.md | 75 ++- .../presentation-notes/_index.md | 58 ++- .../presentation-properties/_index.md | 196 ++++---- .../digital-signature-in-powerpoint/_index.md | 86 ++-- .../password-protected-presentation/_index.md | 170 ++++--- .../read-only-presentatiom/_index.md | 46 +- .../presentation-security/watermark/_index.md | 233 +++++---- .../access-slide-in-presentation/_index.md | 128 +++-- .../compare-slides/_index.md | 40 +- .../presentation-via-vba/_index.md | 175 ++++--- .../_index.md | 189 +++---- .../_index.md | 55 +- .../_index.md | 37 +- .../multithreading/_index.md | 73 ++- .../features-overview/_index.md | 145 +++--- .../metered-licensing/_index.md | 92 ++-- .../system-requirements/_index.md | 38 +- .../convert-presentation/_index.md | 125 +++-- .../_index.md | 43 +- .../_index.md | 84 +++- .../convert-powerpoint/ppt-vs-pptx/_index.md | 54 +- .../render-a-slide-as-an-svg-image/_index.md | 62 ++- .../export-to-html5/_index.md | 81 +-- .../export-to-xaml/_index.md | 59 ++- .../examine-presentation/_index.md | 68 ++- .../manage-blob/_index.md | 97 ++-- .../picture-frame/_index.md | 460 +++++++++-------- .../manage-media-files/video-frame/_index.md | 80 +-- .../manage-text/wordart/_index.md | 232 +++++---- .../chart-entities/chart-axis/_index.md | 76 +-- .../chart-data-marker/_index.md | 48 +- .../chart-entities/chart-legend/_index.md | 137 ++--- .../chart-entities/chart-plot-area/_index.md | 56 ++- .../chart-entities/error-bar/_index.md | 44 +- .../chart-entities/trend-line/_index.md | 62 ++- .../chart-types/3d-chart/_index.md | 57 ++- .../chart-types/bubble-chart/_index.md | 30 +- .../_index.md | 125 +++-- .../chart-types/doughnut-chart/_index.md | 43 +- .../chart-types/pie-chart/_index.md | 62 ++- .../chart-worksheet-formulas/_index.md | 151 +++--- .../powerpoint-charts/export-chart/_index.md | 36 +- .../exporting-math-equations/_index.md | 56 ++- .../powerpoint-shapes/activex/_index.md | 80 +-- .../create-shape-thumbnails/_index.md | 135 +++-- .../shape-animation/_index.md | 384 ++++++++------ .../powerpoint-shapes/shape-effect/_index.md | 46 +- .../shape-types/connector/_index.md | 405 ++++++++------- .../shape-types/custom-shapes/_index.md | 368 ++++++++------ .../shape-types/ellipse/_index.md | 75 +-- .../shape-types/line/_index.md | 113 +++-- .../shape-types/paragraph/_index.md | 45 +- .../shape-types/portion/_index.md | 49 +- .../shape-types/rectangle/_index.md | 68 ++- .../powerpoint-fonts/default-font/_index.md | 40 +- .../powerpoint-fonts/fallback-font/_index.md | 43 +- .../create-fallback-font/_index.md | 57 ++- .../font-replacement/_index.md | 60 ++- .../font-substitution/_index.md | 75 ++- .../presentation-notes/_index.md | 61 ++- .../presentation-properties/_index.md | 146 +++--- .../digital-signature-in-powerpoint/_index.md | 74 +-- .../password-protected-presentation/_index.md | 157 +++--- .../read-only-presentatiom/_index.md | 52 +- .../presentation-security/watermark/_index.md | 122 +++-- .../access-slide-in-presentation/_index.md | 130 +++-- .../compare-slides/_index.md | 40 +- .../presentation-via-vba/_index.md | 176 ++++--- .../_index.md | 190 ++++--- .../_index.md | 47 +- .../_index.md | 52 +- .../multithreading/_index.md | 38 +- .../features-overview/_index.md | 120 +++-- .../metered-licensing/_index.md | 96 ++-- .../system-requirements/_index.md | 38 +- 406 files changed, 28330 insertions(+), 17660 deletions(-) diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/_index.md index 1e366a579a..9d1d0b2dc4 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,43 +1,112 @@ --- -title: تحويل العرض +title: تحويل العروض التقديمية إلى صيغ متعددة في Python +linktitle: تحويل العروض التقديمية type: docs weight: 70 url: /ar/python-net/convert-presentation/ +keywords: +- تحويل العرض التقديمي +- تصدير العرض التقديمي +- PPT إلى PPTX +- PPT إلى PDF +- PPTX إلى PDF +- PPT إلى XPS +- PPTX إلى XPS +- PPT إلى TIFF +- PPTX إلى TIFF +- PowerPoint +- OpenDocument +- Python +- Aspose.Slides +description: "تحويل عروض PowerPoint ومستندات OpenDocument إلى PPTX و PDF و XPS و TIFF وأكثر باستخدام Aspose.Slides للغة Python عبر .NET. تحويل بسيط وعالي الجودة." --- +## **المقدمة** + +توفر هذه الصفحة نظرة عامة على تحويل العروض التقديمية باستخدام Aspose.Slides للغة Python عبر .NET. تلخص السيناريوهات المدعومة وتشير إلى الأدلة المتخصصة التي تظهر الشفرة الدقيقة لتصدير العروض والشرائح إلى صيغ مثل PDF وXPS وTIFF، بالإضافة إلى التحويل بين PPT وPPTX. حيثما كان ذلك مناسبًا، تسلط المقالات المرتبطة الضوء على الخيارات الخاصة بالصيغ—مثل عرض الملاحظات أو ضبط جودة الصورة—والقيود المعروفة مثل الدعم الجزئي في مسارات PPT→PPTX. استخدم هذه الصفحة لاختيار الصيغة المستهدفة ثم اتبع الوصفة المرتبطة. + ## **تحويل PPT إلى PPTX** -### **حول تحويل PPT إلى PPTX** -يدعم Aspose.Slides الآن تحويل PPT إلى PPTX. -### **تحويل PPT إلى PPTX باستخدام Aspose.Slides** -يوفر Aspose.Slides لـ Python عبر .NET دعمًا جزئيًا لتحويل تنسيقات ملفات مستندات PPT إلى تنسيقات ملفات PPTX. حيث إن الدعم لميزة تحويل العرض المذكورة قد تم تقديمه للتو في Aspose.Slides لـ Python عبر .NET، لذلك في الوقت الحالي لديه قدرة محدودة ويعمل فقط على الشكل البسيط من العروض. الميزة الرئيسية التي يوفرها Aspose.Slides لمكتبة API لـ Python عبر .NET لتحويل عرض PPT إلى تنسيق عرض PPTX هي سهولة استخدام API في تحقيق الهدف المطلوب. يرجى الانتقال إلى هذا [الرابط](/slides/ar/python-net/convert-presentation/) لجزء مقتطفات التعليمات البرمجية للحصول على مزيد من التفاصيل. توضح القسم التالي بوضوح الميزات المدعومة وغير المدعومة أثناء تحويل عروض بتنسيق PPT إلى عروض بتنسيق PPTX. -{{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل PPT إلى PPTX**](/slides/ar/python-net/convert-ppt-to-pptx/). + +### **حول PPT/PPTX** + +PPT هو صيغة PowerPoint الثنائية القديمة (1997–2003)، بينما PPTX هو صيغة Open XML المعبأة بـ ZIP والتي تم تقديمها في PowerPoint 2007. مقارنةً بـ PPT، ينتج PPTX عادةً ملفات أصغر، يدعم الميزات الحديثة، يعمل جيدًا مع أتمتة المستندات، ويوصى به للتخزين طويل الأمد وتدفقات العمل عبر المنصات. + +### **تحويل PPT إلى PPTX** + +يدعم Aspose.Slides تحويل عروض PPT إلى صيغة PPTX.الميزة الرئيسية لاستخدام Aspose.Slides API لهذا الغرض هي بساطة سير العمل المطلوب لتحقيق النتيجة المرجوة. عمليًا، يمكنك إجراء التحويل بحد أدنى من الشفرة مع الحفاظ على دقة عالية للشرائح والتخطيطات والوسائط. + +{{% alert color="primary" %}} +اقرأ المزيد:[تحويل PPT إلى PPTX في Python](/slides/ar/python-net/convert-ppt-to-pptx/). {{% /alert %}} -## **تحويل العرض إلى PDF** + +## **تحويل العرض التقديمي إلى PDF** + ### **حول PDF** -[تنسيق المستندات المحمولة](https://en.wikipedia.org/wiki/PDF) هو تنسيق ملف تم إنشاؤه بواسطة نظام Adobe لتبادل المستندات بين منظمات مختلفة. كان الغرض من هذا التنسيق هو جعل المحتوى موجودًا بطريقة لا تعتمد مظهره المرئي على النظام الأساسي الذي يتم عرضه عليه. -### **PDF في Aspose.Slides لـ Python عبر .NET** -[PDF](https://docs.fileformat.com/pdf/) هو تنسيق ملف تم إنشاؤه بواسطة نظام Adobe لتبادل المستندات بين منظمات مختلفة. كان الغرض من هذا التنسيق هو جعل المظهر المرئي لمحتوى المستند غير معتمد على النظام الأساسي الذي يتم عرضه عليه. -يمكن تحويل أي مستند عرض يمكن تحميله في Aspose.Slides لـ Python عبر .NET إلى مستند PDF. يمكنك تصدير مستندات العرض إلى PDF مباشرة باستخدام مكون Aspose.Slides لـ Python عبر .NET فقط. لا تحتاج إلى أي مكتبات طرف ثالث أو مكون Aspose.PDF لهذا الغرض. +[تنسيق المستند القابل للنقل](https://en.wikipedia.org/wiki/PDF) (PDF) هو صيغة ملف أنشأتها Adobe Systems لتبادل المستندات بين المؤسسات. هدفه هو ضمان عرض محتويات المستند بنفس المظهر البصري بغض النظر عن المنصة التي يُعرض عليها المستند. + +### **تحويل العروض إلى PDF** -{{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل العرض إلى PDF**](/slides/ar/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/). +يمكن تحويل أي عرض يمكن تحميله في Aspose.Slides إلى مستند PDF. يمكنك تصدير العروض إلى PDF مباشرة باستخدام مكوّن Aspose.Slides؛ لا تحتاج إلى مكتبات طرف ثالث أو مكوّن Aspose.PDF. + +{{% alert color="primary" %}} +اقرأ المزيد:[تحويل PPT & PPTX إلى PDF في Python](/slides/ar/python-net/convert-powerpoint-to-pdf/). {{% /alert %}} -## **تحويل العرض إلى XPS** +## **تحويل العرض التقديمي إلى XPS** + ### **حول XPS** -[مواصفات محلل XML](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) هي لغة وصف صفحات وتنسيق مستند ثابت تم تطويره في الأصل بواسطة Microsoft. مثل PDF، XPS هو تنسيق مستند ثابت مصمم للحفاظ على دقة المستند وتوفير مظهر مستقل عن الأجهزة. -### **تحويل العرض إلى XPS باستخدام Aspose.Slides** -يمكن تحويل أي مستند عرض يمكن تحميله بواسطة Aspose.Slides لـ Python عبر .NET إلى تنسيق XPS. تستخدم Aspose.Slides لـ Python عبر .NET محرك تخطيط الصفحات ذو الدقة العالية وإخراج محتوى بتنسيق مستند XPS ثابت. ومن الجدير بالذكر أن Aspose.Slides لـ Python عبر .NET يقوم بإنشاء XPS مباشرة دون الاعتماد على فئات Windows Presentation Foundation (WPF) المعبأة مع إطار العمل .NET 3.5، مما يسمح لـ Aspose.Slides لـ Python عبر .NET بإنتاج مستندات XPS على الآلات التي تعمل بإصدارات إطار العمل .NET السابقة للإصدار 3.5. يمكنك معرفة المزيد عن تصدير مستندات العرض إلى مستندات XPS من خلال Aspose.Slides لـ Python عبر .NET في [هذا الموضوع](/slides/ar/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). -{{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل العرض إلى XPS**](/slides/ar/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) + +[مواصفة ورق XML](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) (XPS) هي لغة توصيف صفحات وصيغة مستند ثابت تم تطويرها أصلاً من قبل Microsoft. مثل PDF، يعتبر XPS صيغة مستند ذات تخطيط ثابت صُممت للحفاظ على دقة المستند وتوفير مظهر مستقل عن الجهاز. + +### **تحويل العروض إلى XPS** + +يمكن تحويل أي عرض يمكن تحميله بواسطة Aspose.Slides إلى صيغة XPS. يستخدم Aspose.Slides محرك تخطيط صفحات وعرض عالي الدقة لإنتاج مخرجات بصيغة XPS ذات التخطيط الثابت. ومن الجدير بالذكر أن Aspose.Slides يولّد XPS مباشرة دون الاعتماد على Windows Presentation Foundation (WPF). + +{{% alert color="primary" %}} +اقرأ المزيد:[تحويل عروض PowerPoint إلى XPS في Python](/slides/ar/python-net/convert-powerpoint-to-xps/). {{% /alert %}} -## **تحويل العرض إلى TIFF** + +## **تحويل العرض التقديمي إلى TIFF** + ### **حول TIFF** -[تنسيق ملف الصورة المُعَلَّمَة](https://en.wikipedia.org/wiki/TIFF) المعروف بتخزين صور متعددة في مستند واحد تم إنشاءه في الأصل بواسطة Aldus. هذا التنسيق مدعوم على نطاق واسع من قبل تطبيقات الفحص، الفاكس، وغيرها من تطبيقات معالجة الصور. -### **تحويل العرض إلى TIFF باستخدام Aspose.Slides** -يمكن أيضًا تحويل أي مستند يمكن تحميله في Aspose.Slide لـ .NET مباشرة إلى مستند TIFF بواسطة Aspose.Slides لـ Python عبر .NET، مما يلغي الحاجة إلى أي مكون طرف ثالث. علاوة على ذلك، يمكنك اختيارياً تعريف حجم الصور في مستند TIFF الناتج. يمكنك العثور على معلومات حول تصدير مستندات العرض إلى مستندات TIFF من خلال Aspose.Slides لـ Python عبر .NET في [هذا الموضوع](/slides/ar/python-net/convert-powerpoint-ppt-and-pptx-to-tiff/). -{{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل العرض إلى TIFF**](/slides/ar/python-net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file + +[تنسيق ملف الصورة الموسومة](https://en.wikipedia.org/wiki/TIFF) (TIFF) هو صيغة صورة نقطية معروفة بتخزين صور متعددة (صفحات) في ملف واحد. تم تطويرها أصلاً بواسطة Aldus وتدعمها على نطاق واسع تطبيقات المسح والفاكس ومعالجات الصور الأخرى. + +### **تحويل العروض إلى TIFF** + +يمكن أيضًا تحويل أي مستند يمكن تحميله في Aspose.Slides مباشرة إلى ملف TIFF دون الحاجة إلى أي مكوّنات طرف ثالث. يمكنك أيضًا تحديد حجم الصورة للصفحات في ملف TIFF الناتج اختيارياً. + +{{% alert color="primary" %}} +اقرأ المزيد:[تحويل عروض PowerPoint إلى TIFF في Python](/slides/ar/python-net/convert-powerpoint-to-tiff/). +{{% /alert %}} + +## **الأسئلة المتكررة** + +**هل يمكن تضمين الشرائح المخفية عند التصدير إلى PDF/XPS؟** + +نعم. يدعم التصدير تضمين الشرائح المخفية عبر الخيار المقابل في إعدادات [PDF](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/show_hidden_slides/)/[XPS](https://reference.aspose.com/slides/python-net/aspose.slides.export/xpsoptions/show_hidden_slides/) . + +**هل يدعم الحفظ بصيغة PDF/A (للتخزين الأرشيفي)؟** + +نعم، مستويات توافق PDF/A [متاحة](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfcompliance/) (بما في ذلك A-2a/A-2b/A-2u وA-3a/A-3b) أثناء التصدير. + +**ماذا يحدث للخطوط أثناء التحويل: هل يتم تضمينها أم استبدالها؟** + +هناك خيارات مرنة: يمكنك [تضمين جميع الحروف أو فقط المجموعة المستخدمة](/slides/ar/python-net/embedded-font/)، تحديد [خط احتياطي](/slides/ar/python-net/fallback-font/)، و[التحكم في السلوك](/slides/ar/python-net/font-substitution/) عندما يفتقر الخط إلى أنماط معينة. + +**كيف يمكنني التحكم في جودة وحجم ملف PDF الناتج؟** + +تتوفر خيارات لـ[جودة JPEG](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/jpeg_quality/)، [ضغط النص](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/text_compression/)، و[حد دقة كافٍ](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/sufficient_resolution/) للصور، بالإضافة إلى وضع يختار [أفضل ضغط للصور](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/best_images_compression_ratio/) . + +**هل يمكن تصدير نطاق محدد من الشرائح (على سبيل المثال، 5–12)؟** + +نعم، يدعم التصدير اختيار مجموعة فرعية من الشرائح. + +**هل يدعم المعالجة متعددة النوى لعدة ملفات في نفس الوقت؟** + +يمكن معالجة عروض مختلفة بالتوازي في عمليات منفصلة. مهم: يجب ألا يتم تحميل أو حفظ نفس كائن [العرض التقديمي](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) من [عدة خيوط](/slides/ar/python-net/multithreading/) في آن واحد. + +**هل هناك مخاطر عند تطبيق الترخيص من خيوط مختلفة؟** + +نعم، استدعاءات [إعداد الترخيص](/slides/ar/python-net/licensing/) غير آمنة لعدة خيوط وتتطلب المزامنة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 1041d70737..04e4643933 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,35 @@ --- -title: تحويل PowerPoint إلى GIF متحرك +title: تحويل العروض التقديمية إلى GIF متحرك في بايثون +linktitle: العرض التقديمي إلى GIF type: docs weight: 65 url: /ar/python-net/convert-powerpoint-to-animated-gif/ -keywords: "تحويل PowerPoint, PPT, PPTX, GIF متحرك, PPT إلى GIF متحرك, PPTX إلى GIF متحرك, بايثون, الإعدادات الافتراضية, الإعدادات المخصصة" -description: "تحويل عرض PowerPoint إلى GIF متحرك: PPT إلى GIF, PPTX إلى GIF في بايثون" +keywords: +- GIF متحرك +- تحويل PowerPoint +- تحويل OpenDocument +- تحويل العرض التقديمي +- تحويل الشريحة +- تحويل PPT +- تحويل PPTX +- تحول ODP +- PowerPoint إلى GIF +- OpenDocument إلى GIF +- العرض التقديمي إلى GIF +- الشريحة إلى GIF +- PPT إلى GIF +- PPTX إلى GIF +- ODP إلى GIF +- الإعدادات الافتراضية +- الإعدادات المخصصة +- Python +- Aspose.Slides +description: "قم بتحويل عروض PowerPoint (PPT، PPTX) وملفات OpenDocument (ODP) إلى GIF متحركة بسهولة باستخدام Aspose.Slides للبايثون. نتائج سريعة وعالية الجودة." --- -## تحويل العروض التقديمية إلى GIF متحرك باستخدام الإعدادات الافتراضية ## - -يعرض لك هذا الكود عينات في بايثون كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام الإعدادات القياسية: +## **تحويل العروض التقديمية إلى GIF متحرك باستخدام الإعدادات الافتراضية** +يعرض لك هذا الكود التجريبي بلغة بايثون كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام الإعدادات القياسية: ```py import aspose.slides as slides @@ -18,17 +37,16 @@ pres = slides.Presentation(path + "pres.pptx") pres.save("pres.gif", slides.export.SaveFormat.GIF) ``` -سيتم إنشاء GIF المتحرك باستخدام المعلمات الافتراضية. - -{{% alert title="نصيحة" color="primary" %}} -إذا كنت تفضل تخصيص المعلمات لـ GIF، يمكنك استخدام فئة [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/). انظر الكود النموذجي أدناه. +سيتم إنشاء GIF المتحرك باستخدام المعلمات الافتراضية. +{{% alert title="TIP" color="primary" %}} +إذا كنت تفضل تخصيص المعلمات للـ GIF، يمكنك استخدام الفئة [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/). راجع الكود التجريبي أدناه. {{% /alert %}} -## تحويل العروض التقديمية إلى GIF متحرك باستخدام الإعدادات المخصصة ## -يعرض لك هذا الكود العينات كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام الإعدادات المخصصة في بايثون: +## **تحويل العروض التقديمية إلى GIF متحرك باستخدام إعدادات مخصصة** +يعرض لك هذا الكود التجريبي كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام إعدادات مخصصة في بايثون: ```py import aspose.slides as slides import aspose.pydrawing as drawing @@ -36,15 +54,24 @@ import aspose.pydrawing as drawing pres = slides.Presentation(path + "pres.pptx") options = slides.export.GifOptions() -options.frame_size = drawing.Size(960, 720) # حجم الـ GIF الناتج -options.default_delay = 2000 # مدة عرض كل شريحة حتى يتم الانتقال إلى الشريحة التالية -options.transition_fps = 35 # زيادة FPS لتحسين جودة انتقال الرسوم المتحركة +options.frame_size = drawing.Size(960, 720) # حجم GIF الناتج +options.default_delay = 2000 # المدة التي تُعرض فيها كل شريحة حتى يتم تغييرها إلى التالية +options.transition_fps = 35 # زيادة FPS لتحسين جودة حركة الانتقال pres.save("pres.gif", slides.export.SaveFormat.GIF, options) ``` -{{% alert title="معلومات" color="info" %}} -قد ترغب في الاطلاع على مُحول [نص إلى GIF](https://products.aspose.app/slides/text-to-gif) مجاني تم تطويره بواسطة Aspose. +{{% alert title="Info" color="info" %}} +قد ترغب في تجربة محول مجاني من النص إلى GIF تم تطويره بواسطة Aspose. +{{% /alert %}} + +## **الأسئلة الشائعة** + +**ماذا لو لم يتم تثبيت الخطوط المستخدمة في العرض التقديمي على النظام؟** + +قم بتثبيت الخطوط المفقودة أو [قم بتكوين خطوط الاحتياطي](/slides/ar/python-net/powerpoint-fonts/). سيقوم Aspose.Slides باستبدالها، لكن قد يختلف المظهر. بالنسبة للعلامة التجارية، تأكد دائمًا من توفر الخطوط المطلوبة بشكل صريح. + +**هل يمكنني إضافة علامة مائية على إطارات GIF؟** -{{% /alert %}} \ No newline at end of file +نعم. [أضف كائنًا/شعارًا شبه شفاف](/slides/ar/python-net/watermark/) إلى الشريحة الرئيسية أو إلى الشرائح الفردية قبل التصدير — ستظهر العلامة المائية على كل إطار. \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index ac6dd89e84..562794c66b 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,26 +1,84 @@ --- -title: تحويل PowerPoint إلى TIFF مع الملاحظات +title: تحويل عروض PowerPoint إلى TIFF مع الملاحظات في Python +linktitle: PowerPoint إلى TIFF مع الملاحظات type: docs weight: 100 url: /ar/python-net/convert-powerpoint-to-tiff-with-notes/ -keywords: "تحويل PowerPoint إلى TIFF مع الملاحظات" -description: "تحويل PowerPoint إلى TIFF مع الملاحظات في Aspose.Slides." +keywords: +- تحويل PowerPoint +- تحويل العرض التقديمي +- تحويل الشريحة +- تحويل PPT +- تحويل PPTX +- PowerPoint إلى TIFF +- العرض التقديمي إلى TIFF +- الشريحة إلى TIFF +- PPT إلى TIFF +- PPTX إلى TIFF +- PowerPoint مع الملاحظات +- العرض التقديمي مع الملاحظات +- الشريحة مع الملاحظات +- PPT مع الملاحظات +- PPTX مع الملاحظات +- TIFF مع الملاحظات +- Python +- Aspose.Slides +description: "تحويل عروض PowerPoint إلى TIFF مع الملاحظات باستخدام Aspose.Slides لـ Python عبر .NET. تعلم كيفية تصدير الشرائح مع ملاحظات المتحدث بفعالية." --- -{{% alert title="نصيحة" color="primary" %}} +## **نظرة عامة** -قد ترغب في الاطلاع على محول Aspose [المجاني لتحويل PowerPoint إلى ملصق](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +Aspose.Slides for Python via .NET يوفر حلاً بسيطاً لتحويل عروض PowerPoint وOpenDocument (PPT وPPTX وODP) مع الملاحظات إلى تنسيق TIFF. يُستخدم هذا التنسيق على نطاق واسع لتخزين الصور عالية الجودة، والطباعة، وأرشفة المستندات. مع Aspose.Slides، يمكنك ليس فقط تصدير العروض بالكامل مع ملاحظات المتحدث بل أيضاً إنشاء صور مصغرة للشرائح في وضع ملاحظات الشريحة. عملية التحويل بسيطة وفعّالة، باستخدام طريقة `save` من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) لتحويل العرض بالكامل إلى سلسلة من صور TIFF مع الحفاظ على الملاحظات والتخطيط. -{{% /alert %}} +## **تحويل عرض تقديمي إلى TIFF مع الملاحظات** + +حفظ عرض PowerPoint أو OpenDocument إلى TIFF مع الملاحظات باستخدام Aspose.Slides for Python via .NET يتضمن الخطوات التالية: + +1. إنشاء كائن الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/): تحميل ملف PowerPoint أو OpenDocument. +2. تكوين خيارات تخطيط الإخراج: استخدم الفئة [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/notescommentslayoutingoptions/) لتحديد طريقة عرض الملاحظات والتعليقات. +3. حفظ العرض إلى TIFF: مرّر الخيارات التي تم تكوينها إلى طريقة [save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/save/#str-asposeslidesexportsaveformat-asposeslidesexportisaveoptions). + +لنفترض أن لدينا ملف "speaker_notes.pptx" يحتوي على الشريحة التالية: -TIFF هو أحد عدة تنسيقات صور مستخدمة على نطاق واسع والتي تدعمها Aspose.Slides لـ Python عبر .NET لتحويل عروض PowerPoint PPT وPPTX مع الملاحظات إلى صور. يمكنك أيضًا توليد صور مصغرة للشرائح في عرض شريحة الملاحظات. يمكن استخدام طريقة [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) التي تظهرها فئة Presentation لتحويل العرض التقديمي بالكامل في عرض شريحة الملاحظات إلى TIFF. يعد حفظ عرض PowerPoint من Microsoft إلى ملاحظات TIFF باستخدام Aspose.Slides لـ Python عبر .NET عملية تتكون من سطرين. كل ما عليك القيام به هو فتح العرض التقديمي وحفظه إلى ملاحظات TIFF. يمكنك أيضًا توليد صورة مصغرة لشريحة في عرض شريحة الملاحظات للشرائح الفردية. يتم تحديث مقتطفات الشيفرة أدناه لإنتاج العرض التقديمي كصور TIFF في عرض شريحة الملاحظات، كما هو موضح أدناه: +![The presentation slide with speaker notes](slide_with_notes.png) +المقتطف البرمجي أدناه يوضح كيفية تحويل العرض إلى صورة TIFF في وضع ملاحظات الشريحة باستخدام الخاصية [slides_layout_options](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/). ```py -import aspose.slides as slides +# إنشاء فئة Presentation التي تمثل ملف عرض تقديمي. +with slides.Presentation("speaker_notes.pptx") as presentation: + + notes_options = slides.export.NotesCommentsLayoutingOptions() + notes_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL # عرض الملاحظات أسفل الشريحة. + + # تكوين خيارات TIFF مع تخطيط الملاحظات. + tiff_options = slides.export.TiffOptions() + tiff_options.dpi_x = 300 + tiff_options.dpi_y = 300 + tiff_options.slides_layout_options = notes_options + + # حفظ العرض تقديمي إلى TIFF مع ملاحظات المتحدث. + presentation.save("TIFF_with_notes.tiff", slides.export.SaveFormat.TIFF, tiff_options) +``` + + +النتيجة: + +![The TIFF image with speaker notes](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +تحقق من أداة Aspose **Free PowerPoint to Poster Converter** عبر الرابط التالي: [Free PowerPoint to Poster Converter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +{{% /alert %}} + +## **الأسئلة الشائعة** + +**هل يمكنني التحكم في موضع منطقة الملاحظات في ملف TIFF الناتج؟** + +نعم. استخدم [notes layout settings](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) للاختيار بين الخيارات مثل `NONE` أو `BOTTOM_TRUNCATED` أو `BOTTOM_FULL`، والتي على التوالي تخفي الملاحظات، أو تلائمها في صفحة واحدة، أو تسمح لها بالانتقال إلى صفحات إضافية. + +**كيف يمكنني تقليل حجم ملف TIFF مع الملاحظات دون فقد واضح في الجودة؟** + +اختر [efficient compression](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/compression_type/) (مثل `LZW` أو `RLE`)، وحدد DPI معقول، وإذا كان مقبولاً، استخدم [pixel format](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/pixel_format/) أقل (مثل 8 bpp أو 1 bpp للصور أحادية اللون). يمكن أيضاً تقليل [image dimensions](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/image_size/) قليلاً دون أن يؤثر ملحوظاً على قابلية القراءة. -# إنشاء كائن Presentation يمثل ملف عرض تقديمي -presentation = slides.Presentation("pres.pptx") +**هل يؤثر الخط في الملاحظات على النتيجة إذا كانت الخطوط الأصلية غير موجودة على النظام؟** -# حفظ العرض التقديمي إلى ملاحظات TIFF -presentation.save("Notes_In_Tiff_out.tiff", slides.export.SaveFormat.TIFF) -``` \ No newline at end of file +نعم. الخطوط المفقودة تُفَعِّل [substitution](/slides/ar/python-net/font-selection-sequence/)، مما قد يغيّر أبعاد النص ومظهره. لتجنب ذلك، قم بـ [supply the required fonts](/slides/ar/python-net/custom-font/) أو اضبط [fallback font](/slides/ar/python-net/fallback-font/) افتراضيًا حتى تُستخدم الخطوط المقصودة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 58287aac19..76a6bd8fea 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -11,42 +11,60 @@ keywords: - تنسيق حديث - تنسيق ثنائي - معيار حديث -- باوربوينت +- PowerPoint - عرض تقديمي -- بايثون +- Python - Aspose.Slides -description: "قارن بين PPT و PPTX لبرنامج PowerPoint باستخدام Aspose.Slides for Python، واستكشف اختلافات التنسيق والفوائد والتوافق ونصائح التحويل." +description: "قارن PPT و PPTX لـ PowerPoint باستخدام Aspose.Slides للـ Python عبر .NET، مع استكشاف اختلافات التنسيق، الفوائد، التوافق، ونصائح التحويل." --- -## **ما هو PPT؟** -[**PPT**](https://docs.fileformat.com/presentation/ppt/) هو تنسيق ملف ثنائي، أي أنه من المستحيل عرض محتواه بدون أدوات خاصة. كانت النسخ الأولى من PowerPoint 97-2003 تعمل بتنسيق ملف PPT، ومع ذلك فإن قابلية التوسع فيه محدودة. +## **ما هو PPT?** +[**PPT**](https://docs.fileformat.com/presentation/ppt/) هو تنسيق ملف ثنائي، أي أنه من المستحيل عرض محتواه دون أدوات خاصة. النسخ الأولى من PowerPoint 97-2003 كانت تعمل مع تنسيق ملف PPT، إلا أن قابلية توسيعه محدودة. -## **ما هو PPTX؟** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/) هو تنسيق ملف عرض جديد، يعتمد على معيار Office Open XML (ISO 29500:2008-2016، ECMA-376). PPTX هو مجموعة أرشيفية من ملفات XML ووسائط. تنسيق PPTX سهل التوسيع. على سبيل المثال، من السهل إضافة دعم لنوع مخطط جديد أو نوع شكل، دون تغيير تنسيق PPTX في كل نسخة PowerPoint جديدة. يتم استخدام تنسيق PPTX بدءًا من PowerPoint 2007. +## **ما هو PPTX?** +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) هو تنسيق ملف عرض تقديمي جديد، قائم على معيار Office Open XML (ISO 29500:2008-2016, ECMA-376). PPTX عبارة عن مجموعة مؤرشفة من ملفات XML والوسائط. يمكن توسيع تنسيق PPTX بسهولة. على سبيل المثال، من السهل إضافة دعم لنوع مخطط أو شكل جديد دون الحاجة لتغيير تنسيق PPTX في كل نسخة جديدة من PowerPoint. يُستخدم تنسيق PPTX ابتداءً من PowerPoint 2007. ## **PPT مقابل PPTX** -على الرغم من أن PPTX يوفر وظائف أوسع بكثير، لا يزال PPT شائعًا جدًا. تتطلب الحاجة إلى التحويل من PPT إلى PPTX والعكس بشكلٍ كبير. +على الرغم من أن PPTX يوفر وظائف أوسع بكثير، لا يزال PPT شائعًا إلى حد كبير. الحاجة إلى التحويل من PPT إلى PPTX والعكس مطلوبة بشدة. -ومع ذلك، فإن التحويل بين تنسيق PPT القديم وPPTX الجديد هو التحدي الأكثر تعقيدًا بين صيغ Microsoft Office الأخرى. على الرغم من أن مواصفة تنسيق PPT مفتوحة، إلا أنه من الصعب العمل بها. يمكن لـ PowerPoint إنشاء أجزاء خاصة (MetroBlob) في ملفات PPT لتخزين معلومات من PPTX التي لا يدعمها تنسيق PPT ولا يمكن عرضها في نسخ PowerPoint القديمة. يمكن استعادة هذه المعلومات عند تحميل ملف PPT في نسخة PowerPoint الحديثة أو تحويله إلى تنسيق PPTX. +ومع ذلك، فإن التحويل بين تنسيق PPT القديم وتنسيق PPTX الجديد هو التحدي الأكثر تعقيدًا بين تنسيقات Microsoft Office الأخرى. على الرغم من أن مواصفات تنسيق PPT مفتوحة، إلا أن العمل معه صعب. يمكن لـ PowerPoint إنشاء أجزاء خاصة (MetroBlob) في ملفات PPT لتخزين معلومات من PPTX غير مدعومة بتنسيق PPT ولا يمكن عرضها في إصدارات PowerPoint القديمة. يمكن استعادة هذه المعلومات عندما يتم تحميل ملف PPT في نسخة PowerPoint حديثة أو عند تحويله إلى تنسيق PPTX. -توفر Aspose.Slides واجهة شائعة للعمل مع جميع تنسيقات العروض. يسمح بتحويل PPT إلى PPTX وPPTX إلى PPT بطريقة بسيطة جدًا. تدعم Aspose.Slides تمامًا التحويل من PPT إلى PPTX وتدعم أيضًا التحويل من PPTX إلى PPT مع بعض القيود. نوصي باستخدام تنسيق PPTX كلما كان ذلك ممكنًا. +يقدم Aspose.Slides واجهة موحدة للعمل مع جميع تنسيقات العروض التقديمية. يسمح بالتحويل من PPT إلى PPTX ومن PPTX إلى PPT بطريقة بسيطة للغاية. يدعم Aspose.Slides التحويل من PPT إلى PPTX بالكامل ويدعم أيضًا التحويل من PPTX إلى PPT مع بعض القيود. نوصي باستخدام تنسيق PPTX كلما أمكن. {{% alert color="primary" %}} -تحقق من جودة التحويلات من PPT إلى PPTX ومن PPTX إلى PPT باستخدام تطبيق التحويل عبر الإنترنت [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). +تحقق من جودة التحويلات من PPT إلى PPTX ومن PPTX إلى PPT باستخدام تطبيق [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). {{% /alert %}} - ```py import aspose.slides as slides -# Instantiate a Presentation object that represents a PPTX file +# إنشاء كائن Presentation يمثل ملف PPTX pres = slides.Presentation("PPTtoPPTX.ppt") -# Saving the PPTX presentation to PPTX format +# حفظ العرض التقديمي PPTX إلى تنسيق PPTX pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل العروض التقديمية من PPT إلى PPTX**.](/slides/ar/python-net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +اقرأ المزيد حول [**كيفية تحويل العروض التقديمية من PPT إلى PPTX**.](/slides/ar/python-net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **الأسئلة المتكررة** + +**هل هناك فائدة من الاحتفاظ بالعروض التقديمية القديمة بصيغة PPT إذا كانت تُفتح دون أخطاء؟** + +إذا كان العرض يفتح بشكل موثوق ولا يحتاج إلى التعاون أو ميزات أحدث، يمكنك الاحتفاظ به بصيغة PPT. لكن من أجل التوافق المستقبلي والقدرة على التوسعة، من الأفضل [تحويل إلى PPTX](/slides/ar/python-net/convert-ppt-to-pptx/): التنسيق مبني على معيار OOXML المفتوح ويُدعم بسهولة أكبر من الأدوات الحديثة. + +**كيف يمكنني تحديد أي الملفات يجب تحويلها إلى PPTX أولاً؟** + +ابدأ بتحويل العروض التي: يُعدلها عدة أشخاص؛ تحتوي على مخططات [complex](/slides/ar/python-net/create-chart/) أو أشكال [complex](/slides/ar/python-net/shape-manipulations/); تُستخدم في اتصالات خارجية؛ أو تُظهر تحذيرات عند [فتحها](/slides/ar/python-net/open-presentation/). + +**هل سيتم الحفاظ على حماية كلمة المرور عند التحويل من PPT إلى PPTX والعكس؟** + +حماية كلمة المرور تنتقل فقط مع تحويل صحيح ودعم التشفير في الأداة التي تستخدمها. من الأكثر موثوقية [إزالة الحماية](/slides/ar/python-net/password-protected-presentation/)، ثم [التحويل](/slides/ar/python-net/convert-ppt-to-pptx/)، ثم إعادة تطبيق الحماية وفقًا لسياسة الأمان الخاصة بك. + +**لماذا تختفي بعض التأثيرات أو تُبسط عند تحويل PPTX مرة أخرى إلى PPT؟** + +لأن PPT لا يدعم بعض الكائنات أو الخصائص الأحدث. يمكن لـ PowerPoint والأدوات تخزين “آثار” هذه المعلومات في كتل خاصة لاستعادتها لاحقًا، لكن إصدارات PowerPoint القديمة لن تعرضها. \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index b583c401d2..0890aabfc5 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,38 +1,54 @@ --- -title: عرض شريحة كصورة SVG +title: تحويل شرائح العروض التقديمية إلى صور SVG باستخدام Python +linktitle: شريحة إلى SVG type: docs weight: 50 url: /ar/python-net/render-a-slide-as-an-svg-image/ +keywords: +- شريحة إلى SVG +- عرض تقديمي إلى SVG +- PowerPoint إلى SVG +- OpenDocument إلى SVG +- PPT إلى SVG +- PPTX إلى SVG +- ODP إلى SVG +- عرض شريحة +- تحويل شريحة +- تصدير شريحة +- صورة متجهة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية تحويل شرائح PowerPoint وOpenDocument إلى صور SVG باستخدام Aspose.Slides للـ Python عبر .NET. صور عالية الجودة مع أمثلة شيفرة بسيطة." --- -SVG—اختصار لرسومات المتجهات القابلة للتغيير—هو نوع أو تنسيق قياسي للرسوم المستخدمة لعرض الصور ثنائية الأبعاد. تقوم SVG بتخزين الصور كمتجهات في XML مع تفاصيل تحدد سلوكها أو مظهرها. +## **تحويل الشرائح إلى SVG** -تعتبر SVG واحدة من الصيغ القليلة للصور التي تلبي معايير عالية جدًا في هذه الجوانب: القابلية للتغيير، التفاعلية، الأداء، الوصول، البرمجة، وغيرها. لهذه الأسباب، يتم استخدامها عادةً في تطوير الويب. +SVG—اختصار لـ Scalable Vector Graphics—هو نوع أو تنسيق رسومي قياسي يُستخدم لعرض الصور الثنائية الأبعاد. يقوم SVG بتخزين الصور كمتجهات في XML مع تفاصيل تحدد سلوكها أو مظهرها. -قد ترغب في استخدام ملفات SVG عندما تحتاج إلى - -- **طباعة عرضك التقديمي في *صيغة كبيرة جدًا*.** يمكن أن تتوسع صور SVG إلى أي دقة أو مستوى. يمكنك تغيير حجم صور SVG عدة مرات كما تحتاج دون التضحية بالجودة. -- **استخدام الرسوم البيانية والمخططات من شرائحك في *وسائط أو منصات مختلفة**.* يمكن لمعظم القارئين تفسير ملفات SVG. -- **استخدام *أصغر أحجام ممكنة من الصور***. تكون ملفات SVG عمومًا أصغر من نظيراتها عالية الدقة في صيغ أخرى، خاصة تلك الصيغ المعتمدة على بت ماب (JPEG أو PNG). +SVG هو أحد القليل من تنسيقات الصور التي تلبي معايير عالية جدًا في هذه الجوانب: القابلية للتوسع، التفاعل، الأداء، إمكانية الوصول، القابلية للبرمجة، وغيرها. لهذه الأسباب يُستخدم بشكل شائع في تطوير الويب. -تسمح لك Aspose.Slides لـ Python عبر .NET بتصدير الشرائح في عروضك التقديمية كصور SVG. اتبع هذه الخطوات لتوليد صور SVG: +قد ترغب في استخدام ملفات SVG عندما تحتاج إلى +- **طباعة عرضك التقديمي في *تنسيق كبير جدًا*.** يمكن للصور بصيغة SVG أن تتوسع إلى أي دقة أو مستوى. يمكنك تغيير حجم صور SVG مرات متعددة حسب الحاجة دون التضحية بالجودة. +- **استخدام المخططات والرسوم البيانية من الشرائح في *وسائط أو منصات مختلفة**.* معظم القارئات يمكنها تفسير ملفات SVG. +- **استخدام *أصغر حجم ممكن للصور***. عادةً ما تكون ملفات SVG أصغر حجمًا من نظيراتها عالية الدقة في تنسيقات أخرى، خاصةً تلك التي تعتمد على البت ماب (JPEG أو PNG). -1. إنشاء مثيل من فئة Presentation. -2. التكرار عبر جميع الشرائح في العرض التقديمي. -3. كتابة كل شريحة إلى ملف SVG خاص بها من خلال FileStream. +يتيح Aspose.Slides for Python عبر .NET تصدير الشرائح في عروضك التقديمية كصور SVG. اتبع الخطوات التالية لإنشاء صور SVG: +1. إنشاء مثيل من الفئة Presentation. +2. التكرار عبر جميع الشرائح في العرض التقديمي. +3. كتابة كل شريحة إلى ملف SVG خاص بها عبر FileStream. {{% alert color="primary" %}} - -قد ترغب في تجربة [تطبيق الويب المجاني](https://products.aspose.app/slides/conversion/ppt-to-svg) الذي قمنا بتطبيق وظيفة تحويل PPT إلى SVG من Aspose.Slides لـ Python عبر .NET. - +قد ترغب في تجربة [تطبيق الويب المجاني](https://products.aspose.app/slides/conversion/ppt-to-svg) الذي قمنا فيه بتنفيذ وظيفة تحويل PPT إلى SVG من Aspose.Slides for Python عبر .NET. {{% /alert %}} -هذا الكود المثال في Python يوضح لك كيفية تحويل PPT إلى SVG باستخدام Aspose.Slides: - +يعرض هذا المثال البرمجي بلغة Python كيفية تحويل PPT إلى SVG باستخدام Aspose.Slides: ```py import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف عرض تقديمي +# إنشاء كائن Presentation يمثل ملف عرض تقديمي pres = slides.Presentation("pres.pptx") for index in range(pres.slides.length): @@ -40,4 +56,16 @@ for index in range(pres.slides.length): with open("slide-{index}.svg".format(index = index), "wb") as file: slide.write_as_svg(file) -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**لماذا قد يبدو الـ SVG الناتج مختلفًا عبر المتصفحات؟** +يتم تنفيذ دعم ميزات SVG المحددة بطرق مختلفة حسب محركات المتصفحات. تساعد معلمات [SVGOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/svgoptions/) في تسوية عدم التوافق. + +**هل من الممكن تصدير ليس فقط الشرائح بل أيضًا الأشكال الفردية إلى SVG؟** +نعم. يمكن حفظ أي [shape can be saved as a separate SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/)، وهو ما يكون مناسبًا للأيقونات، والرسوم التوضيحية، وإعادة استخدام الرسومات. + +**هل يمكن دمج عدة شرائح في ملف SVG واحد (شريط/وثيقة)؟** +السيناريو القياسي هو شريحة واحدة → SVG واحد. دمج عدة شرائح في لوحة SVG واحدة هو خطوة ما بعد المعالجة تُجرى على مستوى التطبيق. \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index da6f20a10e..3e03f446ba 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,33 +1,43 @@ --- -title: تصدير إلى HTML5 +title: تحويل العروض التقديمية إلى HTML5 في Python +linktitle: تصدير إلى HTML5 type: docs weight: 40 url: /ar/python-net/export-to-html5/ keywords: -- PowerPoint إلى HTML -- الشرائح إلى HTML -- HTML5 -- تصدير HTML -- تصدير العرض التقديمي -- تحويل العرض التقديمي -- تحويل الشرائح -- Java -- Aspose.Slides لـ Python عبر .NET -description: "تصدير PowerPoint إلى HTML5 في بايثون" +- PowerPoint إلى HTML5 +- OpenDocument إلى HTML5 +- عرض تقديمي إلى HTML5 +- شريحة إلى HTML5 +- PPT إلى HTML5 +- PPTX إلى HTML5 +- ODP إلى HTML5 +- تحويل PowerPoint +- تحويل OpenDocument +- تحويل عرض تقديمي +- تحويل شريحة +- تصدير HTML5 +- تصدير عرض تقديمي +- تصدير شريحة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تصدير عروض PowerPoint وOpenDocument إلى HTML5 متجاوب باستخدام Aspose.Slides للـ Python عبر .NET. الحفاظ على التنسيق، الرسوم المتحركة، والتفاعل." --- {{% alert title="معلومات" color="info" %}} -في **Aspose.Slides 21.9**، قمنا بتطبيق دعم لتصدير HTML5. ومع ذلك، إذا كنت تفضل تصدير PowerPoint الخاص بك إلى HTML باستخدام WebExtensions، يرجى الاطلاع على [هذه المقالة](/slides/ar/net/web-extensions/) بدلاً من ذلك. +في **Aspose.Slides 21.9**، قمنا بتنفيذ دعم لتصدير HTML5. ومع ذلك، إذا كنت تفضل تصيح PowerPoint إلى HTML باستخدام WebExtensions، راجع [هذا المقال](/slides/ar/net/web-extensions/) بدلاً من ذلك. {{% /alert %}} -عملية التصدير إلى HTML5 هنا تسمح لك بتحويل PowerPoint إلى HTML بدون WebExtensions أو اعتمادات. بهذه الطريقة، باستخدام قوالبك الخاصة، يمكنك تطبيق خيارات مرنة جداً تحدد عملية التصدير و HTML و CSS و JavaScript وخصائص الرسوم المتحركة الناتجة. +تسمح لك عملية تصدير HTML5 هنا بتحويل PowerPoint إلى HTML دون الحاجة إلى WebExtensions أو أي تبعيات. وبهذا الشكل، باستخدام القوالب الخاصة بك، يمكنك تطبيق خيارات مرنة للغاية تحدد عملية التصدير والنتيجة من HTML وCSS وJavaScript وخصائص الرسوم المتحركة. ## **تصدير PowerPoint إلى HTML5** -يعرض هذا الكود بلغة بايثون كيفية تصدير عرض تقديمي إلى HTML5 بدون WebExtensions وبدون اعتمادات: - +يعرض هذا الكود بلغة Python كيفية تصدير عرض تقديمي إلى HTML5 دون WebExtensions أو تبعيات: ```py import aspose.slides as slides @@ -35,14 +45,14 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5) ``` + {{% alert color="primary" %}} في هذه الحالة، ستحصل على HTML نظيف. {{% /alert %}} -قد ترغب في تحديد إعدادات لرسوم الشكل ورسوم الشرائح بهذه الطريقة: - +قد ترغب في تحديد إعدادات تحركات الشكل وانتقالات الشرائح بهذه الطريقة: ```py import aspose.slides as slides @@ -54,10 +64,10 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5, options) ``` -#### **تصدير PowerPoint إلى HTML** -يعرض هذا الكود بلغة بايثون عملية تصدير PowerPoint إلى HTML القياسية: +## **تصدير PowerPoint إلى HTML** +يوضح هذا الكود بلغة Python عملية التحويل القياسية من PowerPoint إلى HTML: ```py import aspose.slides as slides @@ -65,35 +75,35 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML) ``` -في هذه الحالة، يتم عرض محتوى العرض التقديمي من خلال SVG في شكل مثل هذا: +في هذه الحالة، يتم عرض محتوى العرض التقديمي عبر SVG بصيغة مثل هذه: ```html
- محتوى الشريحة يأتي هنا + THE SLIDE CONTENT GOES HERE
``` + {{% alert title="ملاحظة" color="warning" %}} -عند استخدام هذه الطريقة لتصدير PowerPoint إلى HTML، بسبب عرض SVG، لن تتمكن من تطبيق الأنماط أو تحريك عناصر معينة. +عند استخدام هذه الطريقة لتصدير PowerPoint إلى HTML، بسبب عرض SVG، لن تتمكن من تطبيق الأنماط أو تحريك عناصر محددة. {{% /alert %}} -## **تصدير PowerPoint إلى HTML5 وضع الشريحة** +## **تصدير PowerPoint إلى عرض شرائح HTML5** -**Aspose.Slides** يسمح لك بتحويل عرض تقديمي PowerPoint إلى مستند HTML5 حيث يتم عرض الشرائح في وضع عرض الشريحة. في هذه الحالة، عند فتح الملف الناتج HTML5 في المتصفح، ترى العرض التقديمي في وضع عرض الشريحة على صفحة الويب. - -يعرض هذا الكود بلغة بايثون عملية تصدير PowerPoint إلى HTML5 وضع الشريحة: +Aspose.Slides يسمح لك بتحويل عرض تقديمي من PowerPoint إلى مستند HTML5 تُعرض فيه الشرائح في وضع عرض الشرائح. في هذه الحالة، عند فتح ملف HTML5 الناتج في المتصفح، ستظهر العرض التقديمي في وضع عرض الشرائح على صفحة ويب. +يوضح هذا الكود بلغة Python عملية تصدير PowerPoint إلى عرض شرائح HTML5: ```python import aspose.slides as slides with slides.Presentation("pres.pptx") as pres: - # تصدير عرض تقديمي يحتوي على انتقالات الشرائح والرسوم المتحركة إلى HTML5 + # تصدير عرض تقديمي يحتوي على انتقالات الشرائح، والرسوم المتحركة، وتحركات الأشكال إلى HTML5 options = slides.export.Html5Options() options.animate_shapes = True options.animate_transitions = True @@ -102,17 +112,18 @@ with slides.Presentation("pres.pptx") as pres: pres.save("HTML5-slide-view.html", slides.export.SaveFormat.HTML5, options) ``` -## تحويل عرض تقديمي إلى مستند HTML5 مع التعليقات -التعليقات في PowerPoint هي أداة تسمح للمستخدمين بترك ملاحظات أو تعليقات على شرائح العرض التقديمي. وهي مفيدة بشكل خاص في المشاريع التعاونية، حيث يمكن لعدة أشخاص إضافة اقتراحاتهم أو ملاحظاتهم على عناصر الشريحة المحددة دون تغيير المحتوى الرئيسي. كل تعليق يظهر اسم المؤلف، مما يسهل تتبع من ترك الملاحظة. +## **تحويل عرض تقديمي إلى مستند HTML5 مع التعليقات** + +التعليقات في PowerPoint هي أداة تسمح للمستخدمين بترك ملاحظات أو ملاحظات على شرائح العرض التقديمي. إنها مفيدة بشكل خاص في المشاريع التعاونية، حيث يمكن لأشخاص متعددين إضافة اقتراحاتهم أو ملاحظاتهم إلى عناصر معينة في الشريحة دون تعديل المحتوى الرئيسي. كل تعليق يظهر اسم المؤلف، مما يسهل تتبع من ترك الملاحظة. -لنفرض أنه لدينا عرض تقديمي PowerPoint محفوظ في ملف "sample.pptx". +لنفترض أن لدينا عرض تقديمي PowerPoint التالي محفوظ في ملف "sample.pptx". -![تعليقان على شريحة العرض التقديمي](two_comments_pptx.png) +![تعليقين على شريحة العرض التقديمي](two_comments_pptx.png) -عند تحويل عرض تقديمي PowerPoint إلى مستند HTML5، يمكنك بسهولة تحديد ما إذا كنت تريد تضمين التعليقات من العرض التقديمي في الوثيقة الناتجة. للقيام بذلك، تحتاج إلى تحديد معلمات العرض للتعليقات في خاصية `notes_comments_layouting` في [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) الفئة. +عند تحويل عرض تقديمي PowerPoint إلى مستند HTML5، يمكنك بسهولة تحديد ما إذا كنت تريد تضمين التعليقات من العرض في المستند الناتج. للقيام بذلك، تحتاج إلى تحديد معلمات عرض التعليقات في الخاصية `notes_comments_layouting` من الفئة [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) . -مثال الكود التالي يقوم بتحويل عرض تقديمي إلى مستند HTML5 مع عرض التعليقات على يمين الشرائح. +الكود التالي يوضح تحويل عرض تقديمي إلى مستند HTML5 مع عرض التعليقات إلى يمين الشرائح. ```py html5_options = Html5Options() html5_options.notes_comments_layouting.comments_position = CommentsPositions.RIGHT @@ -121,6 +132,21 @@ with Presentation("sample.pptx") as presentation: presentation.save("output.html", SaveFormat.HTML5, html5_options) ``` -تم عرض وثيقة "output.html" في الصورة أدناه. -![التعليقات في مستند HTML5 الناتج](two_comments_html5.png) \ No newline at end of file +مستند "output.html" يظهر في الصورة أدناه. + +![التعليقات في مستند HTML5 الناتج](two_comments_html5.png) + +## **الأسئلة الشائعة** + +**هل يمكنني التحكم في ما إذا كانت تحركات العناصر وانتقالات الشرائح ستعمل في HTML5؟** + +نعم، يوفر HTML5 خيارات منفصلة لتمكين أو تعطيل [تحركات الشكل](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) و[انتقالات الشرائح](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/). + +**هل يدعم إخراج التعليقات، وأين يمكن وضعها بالنسبة للشرائح؟** + +نعم، يمكن إضافة التعليقات في HTML5 وتحديد موضعها (على سبيل المثال، إلى يمين الشريحة) من خلال [إعدادات التخطيط](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/notes_comments_layouting/) للملاحظات والتعليقات. + +**هل يمكنني تجنب الروابط التي تستدعي JavaScript لأسباب أمنية أو سياسات CSP؟** + +نعم، هناك [إعداد](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/skip_java_script_links/) يتيح لك تخطي الروابط التي تستدعي JavaScript أثناء الحفظ. يساعد ذلك في الامتثال لسياسات الأمان الصارمة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index cc625d14cb..729370a01f 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,30 +1,42 @@ --- -title: تصدير إلى XAML +title: تصدير العروض التقديمية إلى XAML باستخدام Python +linktitle: تصدير إلى XAML type: docs weight: 30 url: /ar/python-net/export-to-xaml/ -keywords: "تصدير عرض PowerPoint، تحويل PowerPoint، XAML، PowerPoint إلى XAML، PPT إلى XAML، PPTX إلى XAML، بايثون" -description: "تصدير أو تحويل عرض PowerPoint إلى XAML" +keywords: +- تصدير PowerPoint +- تصدير OpenDocument +- تصدير العرض التقديمي +- تحويل PowerPoint +- تحويل OpenDocument +- تحويل العرض التقديمي +- PowerPoint إلى XAML +- OpenDocument إلى XAML +- العرض التقديمي إلى XAML +- PPT إلى XAML +- PPTX إلى XAML +- ODP إلى XAML +- Python +- Aspose.Slides +description: "تحويل شرائح PowerPoint و OpenDocument إلى XAML في Python باستخدام Aspose.Slides—حل سريع خالٍ من Office يحافظ على تخطيطك دون تغيير." --- -# تصدير العروض إلى XAML +## **نظرة عامة** {{% alert title="معلومات" color="info" %}} -في [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/)، قمنا بتنفيذ دعم لتصدير XAML. يمكنك الآن تصدير عروضك إلى XAML. +في [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/)، قمنا بإضافة دعم تصدير XAML. يمكنك الآن تصدير عروضك التقديمية إلى XAML. {{% /alert %}} -# حول XAML +XAML هي لغة برمجة وصفية تتيح لك بناء أو كتابة واجهات المستخدم للتطبيقات، خاصة تلك التي تستخدم WPF (Windows Presentation Foundation)، UWP (Universal Windows Platform) وXamarin Forms. -XAML هي لغة برمجة وصفية تسمح لك بإنشاء أو كتابة واجهات مستخدم للتطبيقات، خاصة تلك التي تستخدم WPF (Windows Presentation Foundation) وUWP (Universal Windows Platform) وXamarin forms. +XAML، التي تعتمد على XML، هي نسخة مايكروسوفت لوصف واجهة المستخدم الرسومية. من المحتمل أن تستخدم المصمم للعمل على ملفات XAML معظم الوقت، ولكن لا يزال بإمكانك كتابة وتحرير واجهتك الرسومية يدوياً. -XAML، التي هي لغة قائمة على XML، هي النسخة الخاصة بشركة مايكروسوفت لوصف واجهة المستخدم الرسومية. من المحتمل أن تستخدم مصممًا للعمل على ملفات XAML معظم الوقت، ولكن يمكنك أيضًا كتابة وتحرير واجهة المستخدم الخاصة بك. - -## تصدير العروض إلى XAML باستخدام الخيارات الافتراضية - -هذا الرمز بلغة بايثون يوضح لك كيفية تصدير عرض إلى XAML باستخدام الإعدادات الافتراضية: +## **تصدير العروض التقديمية إلى XAML باستخدام الإعدادات الافتراضية** +يوضح لك هذا الكود بلغة Python كيفية تصدير عرض تقديمي إلى XAML باستخدام الإعدادات الافتراضية: ```py import aspose.slides as slides @@ -32,12 +44,12 @@ pres = slides.Presentation("pres.pptx") pres.save(slides.export.xaml.XamlOptions()) ``` -## تصدير العروض إلى XAML باستخدام خيارات مخصصة -يمكنك اختيار الخيارات من واجهة [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) التي تتحكم في عملية التصدير وتحدد كيفية تصدير Aspose.Slides لعروضك إلى XAML. +## **تصدير العروض التقديمية إلى XAML باستخدام خيارات مخصصة** -على سبيل المثال، إذا كنت تريد من Aspose.Slides إضافة الشرائح المخفية من عرضك عند تصديره إلى XAML، يمكنك تعيين خاصية [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) إلى true. انظر هذا الرمز كمثال بلغة بايثون: +يمكنك اختيار الخيارات من الواجهة [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) التي تتحكم في عملية التصدير وتحدد كيف تقوم Aspose.Slides بتصدير عرضك التقديمي إلى XAML. +على سبيل المثال، إذا كنت تريد أن تقوم Aspose.Slides بإضافة الشرائح المخفية من عرضك التقديمي عند تصديره إلى XAML، يمكنك تعيين الخاصية [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) إلى true. راجع مثال الكود التالي بلغة Python: ```py import aspose.slides as slides @@ -47,4 +59,19 @@ opt = slides.export.xaml.XamlOptions() opt.export_hidden_slides = True pres.save(opt) -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**كيف يمكنني ضمان استقرار الخطوط إذا لم يكن الخط الأصلي متاحاً على الجهاز؟** + +قم بتعيين [default_regular_font](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/default_regular_font/) في [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — يُستخدم كخط احتياطي عندما يكون الخط الأصلي غير موجود. يساعد ذلك في تجنب الاستبدالات غير المتوقعة. + +**هل يُقصد من XAML المصدَّر أنه مخصص فقط لـ WPF، أم يمكن استخدامه في أطر XAML أخرى أيضًا؟** + +XAML هي لغة توصيف واجهة مستخدم عامة تُستخدم في WPF، UWP، وXamarin.Forms. يستهدف التصدير التوافق مع أطر Microsoft XAML؛ السلوك الدقيق والدعم للبنى المحددة يعتمد على منصة الهدف. اختبر التعليمات البرمجية في بيئتك. + +**هل تدعم الشرائح المخفية، وكيف يمكنني منع تصديرها بشكل افتراضي؟** + +بشكل افتراضي، لا تُضمّن الشرائح المخفية. يمكنك التحكم في هذا السلوك عبر [export_hidden_slides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/export_hidden_slides/) في [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — أبقِها معطَّلة إذا لم تكن بحاجة لتصديرها. \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/examine-presentation/_index.md b/ar/python-net/developer-guide/manage-presentation/examine-presentation/_index.md index 554284848e..84c22402a8 100644 --- a/ar/python-net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,38 +1,42 @@ --- -title: فحص العرض التقديمي +title: استرجاع وتحديث معلومات العرض التقديمي في بايثون +linktitle: معلومات العرض التقديمي type: docs weight: 30 url: /ar/python-net/examine-presentation/ keywords: -- PowerPoint -- العرض التقديمي - تنسيق العرض التقديمي - خصائص العرض التقديمي -- خصائص الوثيقة +- خصائص المستند - الحصول على الخصائص - قراءة الخصائص - تغيير الخصائص - تعديل الخصائص -- PPTX -- PPT +- تحديث الخصائص +- فحص PPTX +- فحص PPT +- فحص ODP +- PowerPoint +- OpenDocument +- عرض تقديمي - Python -description: "قراءة وتعديل خصائص العرض التقديمي لبرنامج PowerPoint باستخدام Python" +- Aspose.Slides +description: "استكشف الشرائح والبنية والبيانات الوصفية في عروض PowerPoint و OpenDocument باستخدام بايثون للحصول على رؤى أسرع وتدقيق محتوى أكثر ذكاءً." --- -تسمح لك Aspose.Slides لبايثون عبر .NET بفحص عرض تقديمي لمعرفة خصائصه وفهم سلوكهم. +تتيح لك Aspose.Slides for Python عبر .NET فحص عرض تقديمي لمعرفة خصائصه وفهم سلوكه. -{{% alert title="معلومات" color="info" %}} +{{% alert title="Info" color="info" %}} -تحتوي فئات [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) و [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) على الخصائص والأساليب المستخدمة في العمليات هنا. +تحتوي الفئتان [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) و[DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) على الخصائص والطرق المستخدمة في العمليات هنا. {{% /alert %}} -## **تحقق من تنسيق العرض التقديمي** - -قبل العمل على عرض تقديمي، قد ترغب في معرفة التنسيق (PPT، PPTX، ODP، وغيرها) الذي يتواجد فيه العرض التقديمي في الوقت الحالي. +## **التحقق من تنسيق العرض التقديمي** -يمكنك التحقق من تنسيق العرض التقديمي دون تحميله. راجع هذا الرمز بلغة بايثون: +قبل العمل على عرض تقديمي، قد ترغب في معرفة ما هو التنسيق (PPT، PPTX، ODP، وغيرها) الذي يكون فيه العرض حاليًا. +يمكنك التحقق من تنسيق العرض التقديمي دون تحميله. شاهد هذا الكود Python: ```py import aspose.slides as slides @@ -46,10 +50,10 @@ info3 = slides.PresentationFactory.instance.get_presentation_info("pres.ppt") print(info3.load_format, info3.load_format == slides.LoadFormat.PPT) ``` -## **الحصول على خصائص العرض التقديمي** -يوضح لك هذا الرمز بلغة بايثون كيفية الحصول على خصائص العرض التقديمي (معلومات حول العرض التقديمي): +## **الحصول على خصائص العرض التقديمي** +يعرض لك هذا الكود Python كيفية الحصول على خصائص العرض التقديمي (معلومات حول العرض): ```py import aspose.slides as slides @@ -60,40 +64,63 @@ print(props.subject) print(props.title) ``` -قد ترغب في رؤية [الخصائص تحت فئة DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties). -## **تحديث خصائص العرض التقديمي** +قد ترغب في الاطلاع على [الخصائص تحت فئة DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties) الفئة. -تقدم Aspose.Slides طريقة [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) التي تتيح لك إجراء تغييرات على خصائص العرض التقديمي. +## **تحديث خصائص العرض التقديمي** -دعنا نقول أن لدينا عرض تقديمي لبرنامج PowerPoint مع الخصائص الموضحة أدناه. +توفر Aspose.Slides الطريقة [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) التي تسمح لك بإجراء تغييرات على خصائص العرض التقديمي. -![الخصائص الأصلية لوثيقة العرض التقديمي لبرنامج PowerPoint](input_properties.png) +لنفترض أن لدينا عرض PowerPoint مع خصائص المستند الموضحة أدناه. -يوضح لك هذا المثال البرمجي كيفية تحرير بعض خصائص العرض التقديمي: +![خصائص المستند الأصلية لعرض PowerPoint](input_properties.png) +يعرض لك مثال الكود هذا كيفية تعديل بعض خصائص العرض: ```py file_name = "sample.pptx" info = PresentationFactory.instance.get_presentation_info(file_name) properties = info.read_document_properties() -properties.title = "عنواني" +properties.title = "My title" properties.last_saved_time = datetime.now() info.update_document_properties(properties) info.write_binded_presentation(file_name) ``` -تظهر نتائج تغيير خصائص الوثيقة أدناه. -![خصائص الوثيقة المعدلة للعرض التقديمي لبرنامج PowerPoint](output_properties.png) +تظهر نتائج تغيير خصائص المستند أدناه. + +![خصائص المستند المعدلة لعرض PowerPoint](output_properties.png) ## **روابط مفيدة** -للحصول على مزيد من المعلومات حول العرض التقديمي وخصائصه الأمنية، قد تجد هذه الروابط مفيدة: +للحصول على مزيد من المعلومات حول عرض تقديمي وسماته الأمنية، قد تجد الروابط التالية مفيدة: -- [التحقق مما إذا كان العرض التقديمي مشفراً](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [التحقق مما إذا كان العرض التقديمي محميًا ضد الكتابة (للقراءة فقط)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [التحقق مما إذا كان العرض التقديمي مشفرًا](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [التحقق مما إذا كان العرض التقديمي محميًا من الكتابة (للقراءة فقط)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) - [التحقق مما إذا كان العرض التقديمي محميًا بكلمة مرور قبل تحميله](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [تأكيد كلمة المرور المستخدمة لحماية العرض التقديمي](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +- [تأكيد كلمة المرور المستخدمة لحماية العرض التقديمي](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **الأسئلة المتكررة** + +**كيف يمكنني التحقق مما إذا كان الخطوط مدمجة وأي منها؟** + +ابحث عن [معلومات الخطوط المدمجة](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_embedded_fonts/) على مستوى العرض، ثم قارن تلك الإدخالات مع مجموعة [الخطوط المستخدمة فعليًا عبر المحتوى](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) لتحديد أي الخطوط ضرورية للعرض. + +**كيف يمكنني بسرعة معرفة ما إذا كان الملف يحتوي على شرائح مخفية وعددها؟** + +تجول في [مجموعة الشرائح](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) وتفقد علامة [الرؤية للشرائح](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/). + +**هل يمكنني اكتشاف ما إذا تم استخدام حجم واتجاه شريحة مخصصين، وما إذا كانا يختلفان عن الإعدادات الافتراضية؟** + +نعم. قارن [حجم الشريحة](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/slide_size/) الحالي والاتجاه مع الإعدادات المسبقة القياسية؛ يساعد ذلك في توقع السلوك عند الطباعة والتصدير. + +**هل هناك طريقة سريعة لمعرفة ما إذا كانت المخططات تشير إلى مصادر بيانات خارجية؟** + +نعم. استعرض جميع [المخططات](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/)، تحقق من [مصدر البيانات](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdata/data_source_type/) الخاص بها، ولاحظ ما إذا كانت البيانات داخلية أو مستندة إلى روابط، بما في ذلك أي روابط مكسورة. + +**كيف يمكنني تقييم الشرائح "الثقيلة" التي قد تبطئ عملية العرض أو تصدير PDF؟** + +لكل شريحة، احسب عدد الكائنات وابحث عن صور كبيرة، شفافية، ظلال، حركات، ووسائط متعددة؛ ثم أعطِ درجة تعقيد تقريبية لتحديد النقاط التي قد تؤثر على الأداء. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/manage-blob/_index.md b/ar/python-net/developer-guide/presentation-content/manage-blob/_index.md index d1dfc6b65e..22aa667899 100644 --- a/ar/python-net/developer-guide/presentation-content/manage-blob/_index.md +++ b/ar/python-net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,50 +1,64 @@ --- -title: إدارة Blob +title: إدارة كائنات BLOB في العروض التقديمية باستخدام Python لاستخدام ذكي للذاكرة +linktitle: إدارة BLOB type: docs weight: 10 url: /ar/python-net/manage-blob/ -keywords: "إضافة Blob، تصدير Blob، إضافة صورة كـ Blob، عرض PowerPoint، بايثون، Aspose.Slides للبايثون عبر .NET" -description: "إضافة Blob إلى عرض PowerPoint في بايثون. تصدير Blob. إضافة صورة كـ Blob" +keywords: +- كائن كبير +- عنصر كبير +- ملف كبير +- إضافة BLOB +- تصدير BLOB +- إضافة صورة كـ BLOB +- تقليل الذاكرة +- استهلاك الذاكرة +- عرض تقديمي كبير +- ملف مؤقت +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "إدارة بيانات BLOB في Aspose.Slides لـ Python عبر .NET لتبسيط عمليات ملفات PowerPoint و OpenDocument لأداء فعال في معالجة العروض التقديمية." --- -### **حول BLOB** +## **حول BLOB** -**BLOB** (**كائن ثنائي كبير**) عادة ما يكون عنصر كبير (صورة، عرض، مستند، أو وسائط) محفوظ بتنسيقات ثنائية. +**BLOB** (**Binary Large Object**) عادةً ما يكون عنصرًا كبيرًا (صورة، عرض تقديمي، وثيقة، أو وسائط) محفوظًا بصيغ ثنائية. -تتيح لك Aspose.Slides للبايثون عبر .NET استخدام BLOBs للأشياء بطريقة تقلل من استهلاك الذاكرة عند التعامل مع ملفات كبيرة. +Aspose.Slides for Python via .NET يتيح لك استخدام BLOB للأشياء بطريقة تقلل استهلاك الذاكرة عندما تكون الملفات الكبيرة متورطة. -# **استخدام BLOB لتقليل استهلاك الذاكرة** +## **استخدام BLOB لتقليل استهلاك الذاكرة** -### **إضافة ملف كبير عبر BLOB إلى عرض** +### **إضافة ملف كبير عبر BLOB إلى عرض تقديمي** -تتيح لك [Aspose.Slides](/slides/ar/python-net/) لـ .NET إضافة ملفات كبيرة (في هذه الحالة، ملف فيديو كبير) من خلال عملية تشمل BLOBs لتقليل استهلاك الذاكرة. - -بينما توضح لك هذه السطور البرمجية في بايثون كيفية إضافة ملف فيديو كبير عبر عملية BLOB إلى عرض: +[Aspose.Slides](/slides/ar/python-net/) for .NET يتيح لك إضافة ملفات كبيرة (في هذه الحالة ملف فيديو كبير) عبر عملية تشمل BLOB لتقليل استهلاك الذاكرة. +هذا المثال في Python يوضح كيفية إضافة ملف فيديو كبير عبر عملية BLOB إلى عرض تقديمي: ```py import aspose.slides as slides pathToVeryLargeVideo = "veryLargeVideo.avi" -# ينشئ عرضًا جديدًا سيتم إضافة الفيديو إليه +# إنشاء عرض تقديمي جديد سيتم إضافة الفيديو إليه with slides.Presentation() as pres: with open(pathToVeryLargeVideo, "br") as fileStream: - # لنضف الفيديو إلى العرض - اخترنا سلوك KeepLocked لأننا لا نعتزم - # الوصول إلى ملف "veryLargeVideo.avi". + # لنقم بإضافة الفيديو إلى العرض التقديمي - اخترنا سلوك KeepLocked لأنه + # ليس لدينا نية للوصول إلى ملف "veryLargeVideo.avi". video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) pres.slides[0].shapes.add_video_frame(0, 0, 480, 270, video) - # يحفظ العرض. بينما يتم إخراج عرض كبير، يبقى استهلاك الذاكرة - # منخفضًا خلال دورة حياة كائن pres + # يحفظ العرض التقديمي. بينما يتم إنشاء عرض تقديمي كبير، يبقى استهلاك الذاكرة + # منخفضًا طوال دورة حياة كائن pres pres.save("presentationWithLargeVideo.pptx", slides.export.SaveFormat.PPTX) ``` -### **تصدير ملف كبير عبر BLOB من العرض** -تتيح لك Aspose.Slides للبايثون عبر .NET تصدير الملفات الكبيرة (في هذه الحالة، ملف صوت أو فيديو) من خلال عملية تشمل BLOBs من العروض. على سبيل المثال، قد تحتاج إلى استخراج ملف وسائط كبير من عرض ولكن لا ترغب في تحميل الملف إلى ذاكرة جهاز الكمبيوتر الخاص بك. من خلال تصدير الملف عبر عملية BLOB، يمكنك الحفاظ على استهلاك الذاكرة منخفضًا. - -هذا الكود في بايثون يوضح العملية الموصوفة: +### **تصدير ملف كبير عبر BLOB من العرض التقديمي** +Aspose.Slides for Python via .NET يتيح لك تصدير ملفات كبيرة (في هذه الحالة ملف صوتي أو فيديو) عبر عملية تشمل BLOB من العروض التقديمية. على سبيل المثال، قد تحتاج إلى استخراج ملف وسائط كبير من عرض تقديمي دون تحميله إلى ذاكرة جهاز الكمبيوتر. من خلال تصدير الملف عبر عملية BLOB، تحافظ على انخفاض استهلاك الذاكرة. +هذا الكود في Python يوضح العملية المذكورة: ```py import aspose.slides as slides @@ -54,19 +68,19 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation(path + "Video.pptx", loadOptions) as pres: - # لنحفظ كل فيديو في ملف. لمنع ارتفاع استهلاك الذاكرة، نحتاج إلى مخزن بيانات سيتم استخدامه - # لنقل البيانات من دفق فيديو العرض إلى دفق لملف فيديو تم إنشاؤه حديثًا. + # لنحفظ كل فيديو في ملف. لتجنب استهلاك الذاكرة العالي، نحتاج إلى مخزن وسيتم استخدامه + # لنقل البيانات من تدفق الفيديو في العرض إلى تدفق لملف فيديو تم إنشاؤه حديثًا. # byte[] buffer = new byte[8 * 1024]; bufferSize = 8 * 1024 - # يتكرر في الفيديوهات + # يتكرر عبر الفيديوهات index = 0 - # إذا لزم الأمر، يمكنك تطبيق نفس الخطوات لملفات الصوت. + # إذا لزم الأمر، يمكنك تطبيق نفس الخطوات على ملفات الصوت. for video in pres.videos: - # يفتح دفق فيديو العرض. يرجى ملاحظة أننا تجنبنا عن عمد الوصول إلى خصائص - # مثل video.BinaryData - لأن هذه الخصائص تعيد مصفوفة بايت تحتوي على فيديو كامل، مما يؤدي بعد ذلك - # إلى تحميل بايت إلى الذاكرة. نحن نستخدم video.GetStream، الذي سيعيد Stream - ولا يتطلب - # تحميل الفيديو بالكامل في الذاكرة. + # يفتح تدفق فيديو العرض. يرجى ملاحظة أننا تعمدنا تجنب الوصول إلى الخصائص + # مثل video.BinaryData - لأن هذه الخاصية تُرجع مصفوفة بايت تحتوي على فيديو كامل، مما + # يؤدي إلى تحميل البايتات إلى الذاكرة. نستخدم video.GetStream، الذي سيُرجع Stream - ولا + # يتطلب منا تحميل الفيديو كاملًا إلى الذاكرة. with video.get_stream() as presVideoStream: with open("video{index}.avi".format(index = index), "wb") as outputFileStream: buffer = presVideoStream.read(8 * 1024) @@ -79,15 +93,15 @@ with slides.Presentation(path + "Video.pptx", loadOptions) as pres: index += 1 ``` -### **إضافة صورة كـ BLOB في العرض** -مع الطرق من واجهة [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) وفئة [**ImageCollection** ](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) ، يمكنك إضافة صورة كبيرة كتيار ليتم اعتبارها كـ BLOB. -يوضح لك هذا الكود في بايثون كيفية إضافة صورة كبيرة عبر عملية BLOB: +### **إضافة صورة كـ BLOB في العرض التقديمي** +باستخدام الأساليب من واجهة [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) و[**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) يمكنك إضافة صورة كبيرة كتيار لتُعامل كـ BLOB. +هذا الكود في Python يوضح كيفية إضافة صورة كبيرة عبر عملية BLOB: ```py import aspose.slides as slides -# ينشئ عرضًا جديدًا سيتم إضافة الصورة إليه. +# إنشاء عرض تقديمي جديد ستتم إضافة الصورة إليه. with slides.Presentation() as pres: with open("img.jpeg", "br") as fileStream: img = pres.images.add_image(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) @@ -95,12 +109,12 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeImage.pptx", slides.export.SaveFormat.PPTX) ``` -## **الذاكرة والعروض الكبيرة** -عادةً، لتحميل عرض كبير، تتطلب أجهزة الكمبيوتر الكثير من الذاكرة المؤقتة. يتم تحميل كل محتوى العرض في الذاكرة ويتوقف استخدام الملف (الذي تم تحميل العرض منه) عن العمل. +## **الذاكرة والعروض التقديمية الكبيرة** -اعتبر عرض PowerPoint كبير (large.pptx) يحتوي على ملف فيديو بحجم 1.5 غيغابايت. الطريقة القياسية لتحميل العرض موصوفة في كود بايثون هذا: +عادةً، لتحميل عرض تقديمي كبير، تحتاج الحواسيب إلى الكثير من الذاكرة المؤقتة. يتم تحميل كل محتوى العرض إلى الذاكرة ويتوقف استخدام الملف الذي تم تحميل العرض منه. +تخيل عرض PowerPoint كبير (large.pptx) يحتوي على ملف فيديو بحجم 1.5 جيجابايت. الطريقة التقليدية لتحميل العرض موضحة في هذا الكود Python: ```py import aspose.slides as slides @@ -108,12 +122,12 @@ with slides.Presentation("large.pptx") as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -لكن هذه الطريقة تستهلك حوالي 1.6 غيغابايت من الذاكرة المؤقتة. -### **تحميل عرض كبير كـ BLOB** +لكن هذه الطريقة تستهلك حوالي 1.6 جيجابايت من الذاكرة المؤقتة. -من خلال العملية التي تشمل BLOB، يمكنك تحميل عرض كبير مع استخدام ذاكرة قليلة. يصف كود بايثون هذا التنفيذ الذي يتم فيه استخدام عملية BLOB لتحميل ملف عرض كبير (large.pptx): +### **تحميل عرض تقديمي كبير كـ BLOB** +من خلال عملية تشمل BLOB، يمكنك تحميل عرض تقديمي كبير مع استخدام ذاكرة قليلة. يوضح هذا الكود Python كيفية تنفيذ ذلك باستخدام عملية BLOB لتحميل ملف عرض تقديمي كبير (large.pptx): ```py import aspose.slides as slides @@ -126,10 +140,10 @@ with slides.Presentation("large.pptx", loadOptions) as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -#### **تغيير المجلد للملفات المؤقتة** -عند استخدام عملية BLOB، يقوم جهاز الكمبيوتر الخاص بك بإنشاء ملفات مؤقتة في المجلد الافتراضي للملفات المؤقتة. إذا كنت ترغب في الاحتفاظ بالملفات المؤقتة في مجلد مختلف، يمكنك تغيير إعدادات التخزين باستخدام `temp_files_root_path`: +### **تغيير المجلد للملفات المؤقتة** +عند استخدام عملية BLOB، ينشئ حاسوبك ملفات مؤقتة في المجلد الافتراضي للملفات المؤقتة. إذا أردت حفظ الملفات المؤقتة في مجلد مختلف، يمكنك تغيير إعدادات التخزين باستخدام `temp_files_root_path`: ```py import aspose.slides as slides @@ -140,8 +154,29 @@ loadOptions.blob_management_options.is_temporary_files_allowed = True loadOptions.blob_management_options.temp_files_root_path = "temp" ``` -{{% alert title="معلومات" color="info" %}} -عند استخدام `temp_files_root_path`، لا يقوم Aspose.Slides بإنشاء مجلد تلقائيًا لتخزين الملفات المؤقتة. يجب عليك إنشاء المجلد يدويًا. +{{% alert title="Info" color="info" %}} +عند استخدام `temp_files_root_path`، لا يقوم Aspose.Slides بإنشاء مجلد تلقائيًا لتخزين الملفات المؤقتة. عليك إنشاء المجلد يدويًا. +{{% /alert %}} + +## **الأسئلة المتكررة** + +**ما البيانات في عرض Aspose.Slides التي تُعامل كـ BLOB وتتحكم فيها خيارات BLOB؟** + +الكائنات الثنائية الكبيرة مثل الصور، الصوت، والفيديو تُعامل كـ BLOB. ملف العرض بالكامل أيضًا يتضمن معالجة BLOB عند تحميله أو حفظه. تُحكم هذه الكائنات بسياسات BLOB التي تتيح لك إدارة استهلاك الذاكرة وتحويل البيانات إلى ملفات مؤقتة عند الحاجة. + +**أين يمكنني تكوين قواعد معالجة BLOB أثناء تحميل العرض؟** + +استخدم [LoadOptions](https://reference.aspose.com/slides/python-net/aspose.slides/loadoptions/) مع [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/). هناك يمكنك ضبط الحد الأقصى للذاكرة لكائنات BLOB، السماح أو عدم السماح بالملفات المؤقتة، اختيار المسار الجذري للملفات المؤقتة، وتحديد سلوك قفل المصدر. + +**هل تؤثر إعدادات BLOB على الأداء، وكيف يمكن موازنة السرعة مقابل الذاكرة؟** + +نعم. إبقاء BLOB في الذاكرة يزيد السرعة لكن يستهلك RAM أكثر؛ خفض الحد الأقصى للذاكرة ينقل المزيد إلى الملفات المؤقتة، مما يقلل استهلاك RAM على حساب عمليات إدخال/إخراج إضافية. اضبط العتبة [max_blobs_bytes_in_memory](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/max_blobs_bytes_in_memory/) لتحقيق التوازن المناسب لعملك وبيئتك. + +**هل تساعد خيارات BLOB عند فتح عروض تقديمية ضخمة جدًا (مثلاً جيجابايت)؟** + +نعم. تم تصميم [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) لهذه السيناريوهات: تمكين الملفات المؤقتة واستخدام قفل المصدر يمكن أن يقلل بشكل كبير من أقصى استهلاك للذاكرة RAM ويثبت عملية المعالجة لعروض كبيرة جدًا. + +**هل يمكنني استخدام سياسات BLOB عند التحميل من التدفقات بدلاً من ملفات القرص؟** -{{% /alert %}} \ No newline at end of file +نعم. القواعد نفسها تنطبق على التدفقات: يمكن لعنصر العرض امتلاك القفل وإغلاق تدفق الإدخال (حسب وضع القفل المختار)، وتُستخدم الملفات المؤقتة عندما يُسمح بذلك، مما يحافظ على توقع استهلاك الذاكرة أثناء المعالجة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/ar/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 4c50f79c4b..657ce1f42e 100644 --- a/ar/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/ar/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,103 +1,112 @@ --- -title: إطار الصورة +title: إضافة إطارات الصور إلى العروض التقديمية باستخدام Python +linktitle: إطار صورة type: docs weight: 10 url: /ar/python-net/picture-frame/ -keywords: "إضافة إطار صورة، إنشاء إطار صورة، إضافة صورة، إنشاء صورة، استخراج صورة، خاصية StretchOff، تنسيق إطار الصورة، خصائص إطار الصورة، عرض تقديمي PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "إضافة إطار صورة إلى عرض تقديمي PowerPoint باستخدام بايثون" +keywords: +- إطار صورة +- إضافة إطار صورة +- إنشاء إطار صورة +- إضافة صورة +- إنشاء صورة +- استخراج صورة +- صورة نقطية +- صورة متجهة +- قص صورة +- منطقة مقصوصة +- خاصية StretchOff +- تنسيق إطار صورة +- خصائص إطار صورة +- مقياس نسبي +- تأثير صورة +- نسبة أبعاد +- شفافية الصورة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "إضافة إطارات الصور إلى عروض PowerPoint و OpenDocument باستخدام Aspose.Slides للغة Python عبر .NET. سهل سير عملك وعزز تصاميم الشرائح." --- -إطار الصورة هو شكل يحتوي على صورة—يشبه الصورة في إطار. +## **نظرة عامة** -يمكنك إضافة صورة إلى شريحة من خلال إطار الصورة. بهذه الطريقة، يمكنك تنسيق الصورة من خلال تنسيق إطار الصورة. +تسمح لك إطارات الصور في Aspose.Slides for Python بوضع وإدارة الصور النقطية والمتجهة كأشكال شريحة أصلية. يمكنك إدراج الصور من الملفات أو التدفقات، وتحديد موضعها وتغيير حجمها باستخدام إحداثيات دقيقة، وتطبيق الدوران، وتعيين الشفافية، والتحكم في ترتيب z إلى جانب الأشكال الأخرى. يدعم API أيضًا القص، والحفاظ على نسب الأبعاد، وتعيين الحدود والتأثيرات، واستبدال الصورة الأساسية دون إعادة بناء التخطيط. نظرًا لأن إطارات الصور تتصرف كالأشكال العادية، يمكنك إضافة الرسوم المتحركة والارتباطات التشعبية والنص البديل، مما يجعل بناء عروض تقديمية غنية بصريًا وسهلة الوصول أمرًا بسيطًا. -{{% alert title="نصيحة" color="primary" %}} +## **إنشاء إطارات الصور** -تقدم Aspose محولات مجانية—[JPEG إلى PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) و[PNG إلى PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—تسمح للناس بإنشاء عروض تقديمية بسرعة من الصور. +يوضح هذا القسم كيفية إدراج صورة في شريحة عن طريق إنشاء [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) باستخدام Aspose.Slides for Python. ستتعلم كيفية تحميل الصورة، وضعها بدقة على الشريحة، والتحكم في حجمها وتنسيقها. -{{% /alert %}} - -## **إنشاء إطار صورة** - -1. أنشئ مثيلاً لفئة [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) من خلال إضافة صورة إلى مجموعة [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) المرتبطة بكائن العرض التقديمي الذي سيتم استخدامه لملء الشكل. -4. حدد عرض الصورة وارتفاعها. -5. أنشئ [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) بناءً على عرض الصورة وارتفاعها من خلال طريقة `AddPictureFrame` المعروضة بواسطة كائن الشكل المرتبط بالشريحة المرجعية. -6. أضف إطار صورة (يحتوي على الصورة) إلى الشريحة. -7. اكتب العرض التقديمي المعدل كملف PPTX. - -هذا الكود بلغة بايثون يوضح لك كيفية إنشاء إطار صورة: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. احصل على شريحة بواسطة فهرسها. +3. إنشاء كائن [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) بإضافة الصورة إلى [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) الخاصة بالعرض التقديمي. ستُستخدم هذه الصورة لملء الشكل. +4. حدد عرض الإطار وارتفاعه. +5. إنشاء [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) بهذا الحجم باستخدام طريقة [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/). +6. احفظ العرض التقديمي كملف PPTX. ```py import aspose.slides as slides -import aspose.pydrawing as draw -# أنشئ مثيلاً لفئة Presentation التي تمثل ملف PPTX -with slides.Presentation() as pres: - # احصل على الشريحة الأولى - sld = pres.slides[0] - - # أنشئ مثيلاً لفئة ImageEx - with open("img.jpeg", "rb") as in_file: - image = pres.images.add_image(in_file) +# إنشاء كائن من فئة Presentation لتمثيل ملف PPTX. +with slides.Presentation() as presentation: + # احصل على الشريحة الأولى. + slide = presentation.slides[0] - # أضف إطارًا بارتفاع الصورة وعرضها المكافئ - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, image.width, image.height, image) + # أضف الصورة إلى العرض التقديمي. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # طبق بعض التنسيق على PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # أضف إطار صورة بحجم الصورة. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # اكتب ملف PPTX إلى القرص - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # احفظ العرض التقديمي كملف PPTX. + presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="warning" %}} - -تسمح لك إطارات الصور بإنشاء شرائح تقديمية بسرعة بناءً على الصور. عند دمج إطار الصورة مع خيارات الحفظ في Aspose.Slides، يمكنك معالجة عمليات الإدخال / الإخراج لتحويل الصور من تنسيق إلى آخر. قد ترغب في رؤية هذه الصفحات: تحويل [صورة إلى JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); تحويل [JPG إلى صورة](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); تحويل [JPG إلى PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/)، تحويل [PNG إلى JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); تحويل [PNG إلى SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/)، تحويل [SVG إلى PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). +{{% alert color="warning" %}} +تسمح لك إطارات الصور بإنشاء شرائح عرض تقديمي بسرعة من الصور. عند دمج إطارات الصور مع خيارات حفظ Aspose.Slides، يمكنك التحكم في عمليات الإدخال/الإخراج لتحويل الصور من تنسيق إلى آخر. قد ترغب في الاطلاع على هذه الصفحات: تحويل [image to JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); تحويل [JPG to image](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); تحويل [JPG to PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/); تحويل [PNG to JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); تحويل [PNG to SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/); تحويل [SVG to PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). {{% /alert %}} -## **إنشاء إطار صورة مع مقياس نسبي** - -من خلال تغيير النسبة المئوية للصورة، يمكنك إنشاء إطار صورة أكثر تعقيدًا. +## **إنشاء إطارات صور بمقياس نسبي** -1. أنشئ مثيلاً لفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أضف صورة إلى مجموعة الصور في العرض التقديمي. -4. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) من خلال إضافة صورة إلى مجموعة [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) المرتبطة بكائن العرض التقديمي الذي سيتم استخدامه لملء الشكل. -5. حدد عرض الصورة وارتفاعها النسبي في إطار الصورة. -6. اكتب العرض التقديمي المعدل كملف PPTX. +يوضح هذا القسم وضع صورة بحجم ثابت، ثم تطبيق تحجيم بنسب مئوية بشكل مستقل على عرضها وارتفاعها. نظرًا لأن النسب قد تختلف، قد تتغير نسبة الأبعاد. يتم تنفيذ التحجيم نسبةً لأبعاد الصورة الأصلية. -هذا الكود بلغة بايثون يوضح لك كيفية إنشاء إطار صورة مع مقياس نسبي: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. احصل على شريحة بواسطة فهرسها. +3. إنشاء كائن [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) بإضافة الصورة إلى [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/). +4. إضافة [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) إلى الشريحة. +5. تحديد العرض والارتفاع النسبيين لإطار الصورة. +6. احفظ العرض التقديمي كملف PPTX. ```py import aspose.slides as slides -# أنشئ مثيل لفئة Presentation التي تمثل ملف PPTX +# إنشاء كائن من فئة Presentation لتمثيل ملف PPTX. with slides.Presentation() as presentation: - # يحمل الصورة التي ستضاف إلى مجموعة الصور في العرض التقديمي - with open("img.jpeg", "rb") as in_file: - image = presentation.images.add_image(in_file) + # الحصول على الشريحة الأولى. + slide = presentation.slides[0] - # أضف إطار صورة إلى الشريحة - pf = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) + # إضافة الصورة إلى مجموعة صور العرض التقديمي. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # حدد نسبة العرض والارتفاع النسبية - pf.relative_scale_height = 0.8 - pf.relative_scale_width = 1.35 + # إضافة إطار صورة إلى الشريحة. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # احفظ العرض التقديمي - presentation.save("Adding Picture Frame with Relative Scale_out.pptx", slides.export.SaveFormat.PPTX) + # ضبط العرض والارتفاع بالنسبة النسبية. + picture_frame.relative_scale_height = 0.8 + picture_frame.relative_scale_width = 1.35 + + # حفظ العرض التقديمي. + presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX) ``` -## **استخراج صورة من إطار الصورة** -يمكنك استخراج الصور من كائنات [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) وحفظها في تنسيقات PNG و JPG وأخرى. المثال البرمجي أدناه يوضح كيفية استخراج صورة من الوثيقة "sample.pptx" وحفظها بتنسيق PNG. +## **استخراج الصور النقطية من إطارات الصور** +يمكنك استخراج الصور النقطية من كائنات [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) وحفظها بصيغ PNG أو JPG أو صيغ أخرى. يوضح المثال البرمجي أدناه كيفية استخراج صورة من المستند "sample.pptx" وحفظها بصيغة PNG. ```python import aspose.slides as slides @@ -110,247 +119,283 @@ with slides.Presentation("sample.pptx") as presentation: image.save("slide_1_shape_1.png", slides.ImageFormat.PNG) ``` -## **الحصول على شفافية الصورة** -تسمح لك Aspose.Slides بالحصول على شفافية الصورة. يقوم هذا الكود بلغة بايثون بتوضيح العملية: +## **استخراج صور SVG من إطارات الصور** +عند احتواء عرض تقديمي على رسومات SVG موضوعة داخل أشكال [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)، يتيح لك Aspose.Slides for Python via .NET استرجاع الصور المتجهة الأصلية بجودة كاملة. من خلال استعراض مجموعة أشكال الشريحة، يمكنك التعرف على كل [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)، والتحقق ما إذا كان كائن [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) المتضمن يحتوي على محتوى SVG، ثم حفظ تلك الصورة إلى القرص أو تدفق بصيغة SVG الأصلية. + +```py +import aspose.slides as slides + +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + if isinstance(shape, slides.PictureFrame): + svg_image = shape.picture_format.picture.image.svg_image + + if svg_image is not None: + with open("output.svg", "w", encoding="utf-8") as svg_stream: + svg_stream.write(svg_image.svg_content) +``` + + +## **الحصول على شفافية الصورة** + +يتيح لك Aspose.Slides استرجاع تأثير الشفافية المطبق على صورة. يوضح الكود التالي العملية في Python: ```python import aspose.slides as slides -with slides.Presentation("pres.pptx") as presentation: - pictureFrame = presentation.slides[0].shapes[0] - imageTransform = pictureFrame.picture_format.picture.image_transform - for effect in imageTransform: - if type(effect) is slides.AlphaModulateFixed: - transparencyValue = 100 - effect.amount - print("شفافية الصورة: " + str(transparencyValue)) +with slides.Presentation("sample.pptx") as presentation: + picture_frame = presentation.slides[0].shapes[0] + image_transform = picture_frame.picture_format.picture.image_transform + for effect in image_transform: + if isinstance(effect, slides.effects.AlphaModulateFixed): + transparency_value = 100 - effect.amount + print("Picture transparency: " + str(transparency_value)) ``` -## **تنسيق إطار الصورة** -تقدم Aspose.Slides العديد من خيارات التنسيق التي يمكن تطبيقها على إطار الصورة. باستخدام هذه الخيارات، يمكنك تعديل إطار الصورة ليطابق متطلبات محددة. +{{% alert color="primary" %}} +جميع التأثيرات المطبقة على الصور يمكن العثور عليها في [aspose.slides.effects](https://reference.aspose.com/slides/python-net/aspose.slides.effects/). +{{% /alert %}} -1. أنشئ مثيل لفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage) من خلال إضافة صورة إلى مجموعة [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) المرتبطة بكائن العرض التقديمي الذي سيتم استخدامه لملء الشكل. -4. حدد عرض الصورة وارتفاعها. -5. أنشئ `PictureFrame` بناءً على عرض الصورة وارتفاعها من خلال طريقة [AddPictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) المعروضة بواسطة كائن [IShapes](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection) المرتبط بالشريحة المرجعية. -6. أضف إطار الصورة (يحتوي على الصورة) إلى الشريحة. -7. حدد لون خط إطار الصورة. -8. حدد عرض خط إطار الصورة. -9. قم بتدوير إطار الصورة بإعطائه قيمة إيجابية أو سلبية. - * القيمة الإيجابية تدور الصورة في اتجاه عقارب الساعة. - * القيمة السلبية تدور الصورة في الاتجاه العكسي. -10. أضف إطار الصورة (يحتوي على الصورة) إلى الشريحة. -11. اكتب العرض التقديمي المعدل كملف PPTX. +## **تنسيق إطار الصورة** -هذا الكود بلغة بايثون يوضح عملية تنسيق إطار الصورة: +يوفر Aspose.Slides العديد من خيارات التنسيق التي يمكنك تطبيقها على إطار صورة. باستخدام هذه الخيارات، يمكنك تعديل إطار الصورة لتلبية المتطلبات المحددة. + +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. احصل على شريحة بواسطة فهرسها. +3. إنشاء كائن [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) بإضافة الصورة إلى [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/). ستُستخدم هذه الصورة لملء الشكل. +4. حدد عرض الإطار وارتفاعه. +5. إنشاء [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) بهذا الحجم باستخدام طريقة [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) الخاصة بالشريحة. +6. تعيين لون خط إطار الصورة. +7. تعيين عرض خط إطار الصورة. +8. تدوير إطار الصورة بتوفير قيمة موجبة (عقارب الساعة) أو سالبة (عكس عقارب الساعة). +9. احفظ العرض التقديمي المعدل كملف PPTX. ```py import aspose.slides as slides import aspose.pydrawing as draw -# أنشئ مثيل لفئة Presentation التي تمثل ملف PPTX -with slides.Presentation() as pres: - # احصل على الشريحة الأولى - sld = pres.slides[0] +# إنشاء كائن من فئة Presentation لتمثيل ملف PPTX. +with slides.Presentation() as presentation: + # الحصول على الشريحة الأولى. + slide = presentation.slides[0] - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) + # إضافة الصورة إلى مجموعة صور العرض التقديمي. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # أضف إطار صورة مع ارتفاع الصورة وعرضها المكافئ - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, imgx.width, imgx.height, imgx) + # إضافة إطار صورة بحجم الصورة. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # طبق بعض التنسيق على PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # تطبيق تنسيق على إطار الصورة. + picture_frame.line_format.fill_format.fill_type = slides.FillType.SOLID + picture_frame.line_format.fill_format.solid_fill_color.color = draw.Color.blue + picture_frame.line_format.width = 20 + picture_frame.rotation = 45 - # اكتب ملف PPTX إلى القرص - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # حفظ العرض التقديمي كملف PPTX. + presentation.save("picture_formatting.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="نصيحة" color="primary" %}} - -طورت Aspose مؤخرًا [صانع الكولاج المجاني](https://products.aspose.app/slides/collage). إذا كنت بحاجة إلى [دمج صور JPG/JPEG](https://products.aspose.app/slides/collage/jpg) أو صور PNG، [إنشاء شبكات من الصور](https://products.aspose.app/slides/collage/photo-grid)، يمكنك استخدام هذه الخدمة. +{{% alert title="Tip" color="primary" %}} +طورت Aspose أداة مجانية تُدعى [Collage Maker](https://products.aspose.app/slides/collage). إذا كنت بحاجة إلى [دمج صور JPG/JPEG](https://products.aspose.app/slides/collage/jpg) أو PNG، أو [إنشاء شبكات صور](https://products.aspose.app/slides/collage/photo-grid)، يمكنك استخدام هذه الخدمة. {{% /alert %}} -## **إضافة صورة كارتباط** - -لتجنب أحجام العروض التقديمية الكبيرة، يمكنك إضافة الصور (أو مقاطع الفيديو) من خلال روابط بدلاً من تضمين الملفات مباشرة في العروض التقديمية. يقوم هذا الكود بلغة بايثون بإظهار كيفية إضافة صورة وفيديو إلى عنصر نائب: +## **إضافة الصور كروابط** +للحفاظ على حجم ملفات العرض التقديمي صغيرًا، يمكنك إضافة الصور أو مقاطع الفيديو عبر روابط بدلاً من تضمين الملفات مباشرة في العروض. يوضح الكود التالي كيفية إدراج صورة وفيديو في عنصر نائب: ```python import aspose.slides as slides with slides.Presentation("input.pptx") as presentation: - shapesToRemove = [] + slide = presentation.slides[0] + + shapes_to_remove = [] - for autoShape in presentation.slides[0].shapes: - if autoShape.placeholder is None: + for shape in slide.shapes: + if shape.placeholder is None: continue - - if autoShape.placeholder.type == slides.PlaceholderType.PICTURE: - pictureFrame = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, - autoShape.x, autoShape.y, autoShape.width, autoShape.height, None) - pictureFrame.picture_format.picture.link_path_long = \ + if shape.placeholder.type == slides.PlaceholderType.PICTURE: + picture_frame = slide.shapes.add_picture_frame( + slides.ShapeType.RECTANGLE, shape.x, shape.y, shape.width, shape.height, None) + + picture_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - shapesToRemove.append(autoShape) + shapes_to_remove.append(shape) - elif autoShape.placeholder.type == slides.PlaceholderType.MEDIA: - videoFrame = presentation.slides[0].shapes.add_video_frame( - autoShape.X, autoShape.Y, autoShape.width, autoShape.height, "") + elif shape.placeholder.type == slides.PlaceholderType.MEDIA: + video_frame = slide.shapes.add_video_frame(shape.X, shape.Y, shape.width, shape.height, "") - videoFrame.picture_format.picture.link_path_long = \ + video_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - videoFrame.link_path_long = "https://youtu.be/t_1LYZ102RA" - shapesToRemove.append(autoShape) - - + video_frame.link_path_long = "https://youtu.be/t_1LYZ102RA" + shapes_to_remove.append(shape) - for shape in shapesToRemove: - presentation.slides[0].shapes.remove(shape) + for shape in shapes_to_remove: + slide.shapes.remove(shape) presentation.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **قص الصورة** -هذا الكود بلغة بايثون يوضح لك كيفية قص صورة موجودة على شريحة: +## **قص الصور** + +في هذا القسم، ستتعلم كيفية قص المنطقة المرئية من صورة داخل إطار صورة دون تعديل ملف المصدر. ستتعلم أيضًا الطريقة الأساسية لتطبيق هوامش القص لإنشاء تركيبة نظيفة ومركزة مباشرة على الشريحة. -``` py +```py import aspose.slides as slides with slides.Presentation() as presentation: - # إنشاء كائن صورة جديدة - newImage = presentation.images.add_image(slides.Images.from_file(imagePath)) + slide = presentation.slides[0] - # إضافة إطار صورة إلى الشريحة - picFrame = presentation.slides[0].shapes.add_picture_frame( - slides.ShapeType.RECTANGLE, 100, 100, 420, 250, newImage) + # إضافة الصورة إلى مجموعة الصور في العرض التقديمي. + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # قص الصورة (قيم النسبة المئوية) - picFrame.picture_format.crop_left = 23.6 - picFrame.picture_format.crop_right = 21.5 - picFrame.picture_format.crop_top = 3 - picFrame.picture_format.crop_bottom = 31 + # إضافة إطار صورة إلى الشريحة. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 100, 100, 420, 250, image) - # احفظ النتيجة - presentation.save(outPptxFile, slides.export.SaveFormat.PPTX) + # قص الصورة (قيم النسبة المئوية). + picture_frame.picture_format.crop_left = 23.6 + picture_frame.picture_format.crop_right = 21.5 + picture_frame.picture_format.crop_top = 3 + picture_frame.picture_format.crop_bottom = 31 + # حفظ النتيجة. + presentation.save("cropped_image.pptx", slides.export.SaveFormat.PPTX) ``` -## حذف المناطق المقصوصة من الصورة -إذا كنت ترغب في حذف المناطق المقصوصة من الصورة الموجودة في إطار، يمكنك استخدام الطريقة [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) . هذه الطريقة تعيد الصورة المقصوصة أو الصورة الأصلية إذا كان القص غير ضروري. +## **حذف المناطق المقصوصة من الصور** -هذا الكود بلغة بايثون يوضح العملية: +إذا أردت حذف المناطق المقصوصة من صورة في إطار، استخدم طريقة [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/). تُعيد هذه الطريقة الصورة المقصوصة، أو الصورة الأصلية إذا لم يكن هناك قص مطلوب. ```python import aspose.slides as slides -with slides.Presentation(path + "PictureFrameCrop.pptx") as pres: - slide = pres.slides[0] +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # يحصل على PictureFrame من الشريحة الأولى - picture_frame = slide.shapes[0] + # احصل على إطار الصورة من الشريحة الأولى. + picture_frame = slides.shape[0] - # يحذف المناطق المقصوصة من صورة PictureFrame ويعيد الصورة المقصوصة + # احصل على إطار الصورة من الشريحة الأولى. cropped_image = picture_frame.picture_format.delete_picture_cropped_areas() - # احفظ النتيجة - pres.save(path + "PictureFrameDeleteCroppedAreas.pptx", slides.export.SaveFormat.PPTX) + # احفظ النتيجة. + presentation.save("deleted_cropped_areas.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="ملاحظة" color="warning" %}} - -تضيف طريقة delete_picture_cropped_areas الصورة المقصوصة إلى مجموعة الصور في العرض التقديمي. إذا كانت الصورة مستخدمة فقط في [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) المعالج، يمكن أن يقلل هذا الإعداد حجم العرض التقديمي. خلاف ذلك، سيزداد عدد الصور في العرض التقديمي الناتج. -تقوم هذه الطريقة بتحويل ملفات WMF/EMF إلى صورة PNG نقطية أثناء عملية القص. +{{% alert title="NOTE" color="warning" %}} +تضيف طريقة [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) الصورة المقصوصة إلى مجموعة صور العرض التقديمي. إذا كانت الصورة تُستخدم فقط في [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) المُعالجة، يمكن أن يقلل ذلك من حجم العرض؛ وإلا قد يزداد عدد الصور في العرض الناتج. +أثناء القص، تقوم هذه الطريقة بتحويل ملفات WMF/EMF الميتافايل إلى صورة PNG نقطية. {{% /alert %}} -## **قفل نسبة العرض إلى الارتفاع** +## **قفل نسبة الأبعاد** -إذا كنت ترغب في الحفاظ على نسبة العرض إلى الارتفاع لشكل يحتوي على صورة حتى بعد تغيير أبعاد الصورة، يمكنك استخدام خاصية *aspect_ratio_locked* لتعيين إعداد *قفل نسبة العرض إلى الارتفاع*. - -هذا الكود بلغة بايثون يوضح لك كيفية قفل نسبة العرض إلى الارتفاع لشكل: +إذا رغبت في أن يحتفظ الشكل الذي يحتوي على صورة بنسبة أبعاده بعد تغيير أبعاد الصورة، عيّن الخاصية [aspect_ratio_locked](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/aspect_ratio_locked/) إلى `True`. ```python -from aspose.slides import SlideLayoutType, Presentation, ShapeType -from aspose.pydrawing import Image +import aspose.slides as slides -with Presentation("pres.pptx") as pres: - layout = pres.layout_slides.get_by_type(SlideLayoutType.CUSTOM) - emptySlide = pres.slides.add_empty_slide(layout) - image = Image.from_file("image.png") - presImage = pres.images.add_image(image) +with slides.Presentation("sample.pptx") as presentation: + layout = presentation.layout_slides.get_by_type(slides.SlideLayoutType.CUSTOM) + empty_slide = presentation.slides.add_empty_slide(layout) - pictureFrame = emptySlide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 150, presImage.width, presImage.height, presImage) + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # تعيين الشكل للحفاظ على نسبة العرض إلى الارتفاع عند تغيير الحجم - pictureFrame.picture_frame_lock.aspect_ratio_locked = True -``` + picture_frame = empty_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) -{{% alert title="ملاحظة" color="warning" %}} + # قفل نسبة الأبعاد عند إعادة التحجيم. + picture_frame.picture_frame_lock.aspect_ratio_locked = True -يقوم إعداد *قفل نسبة العرض إلى الارتفاع* بالحفاظ على نسبة العرض إلى الارتفاع فقط للشكل وليس للصورة التي يحتوي عليها. + presentation.save("aspect_ratio_locked.pptx", slides.export.SaveFormat.PPTX) +``` -{{% /alert %}} -## **استخدام خاصية StretchOff** +{{% alert title="NOTE" color="warning" %}} +إعداد *قفل نسبة الأبعاد* يحافظ فقط على نسبة أبعاد الشكل، لا على نسبة أبعاد الصورة داخل الشكل. +{{% /alert %}} -باستخدام خاصيات `StretchOffsetLeft` و `StretchOffsetTop` و `StretchOffsetRight` و `StretchOffsetBottom` من واجهة [IPictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) وفئة [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/) ، يمكنك تحديد مستطيل التعبئة. +## **استخدام خصائص إزاحة التمدد** -عند تحديد التجديد لصورة، يتم تغيير حجم المستطيل المصدر ليتناسب مع المستطيل المحدد. يتم تحديد كل حافة من المستطيل التعبوي بواسطة نسبة مئوية من الحافة المقابلة لمربع الشكل. تحدد النسبة المئوية الإيجابية حواف داخلية بينما تحدد النسبة المئوية السلبية حواف خارجية. +باستخدام خصائص `stretch_offset_left` و`stretch_offset_top` و`stretch_offset_right` و`stretch_offset_bottom` من فئة [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/)، يمكنك تعريف مستطيل ملء. -1. أنشئ مثيلاً لفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أضف شكل `AutoShape`. -4. أنشئ صورة. -5. حدد نوع التعبئة للشكل. -6. حدد وضع ملء الصورة للشكل. -7. أضف صورة محددة لملء الشكل. -8. حدد انزلاقات الصورة من الحافة المقابلة لمربع جوانب الشكل. -9. اكتب العرض التقديمي المعدل كملف PPTX. +عند تحديد تمدد لصورة، يتم تحجيم المستطيل المصدر ليتناسب مع مستطيل الملء. كل حد من حدود مستطيل الملء يُحدد بنسبة إزاحة من الحد المقابل لصندوق حدود الشكل. النسبة الموجبة تُشير إلى تقليل، بينما النسبة السالبة تُشير إلى زيادة. -هذا الكود بلغة بايثون يوضح عملية استخدام خاصية StretchOff: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. الحصول على مرجع إلى شريحة بواسطة فهرسها. +3. إضافة [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) مستطيل. +4. تعيين نوع ملء الشكل. +5. تعيين وضع ملء صورة الشكل. +6. تحميل صورة. +7. إسناد الصورة لملء الشكل. +8. تحديد إزاحات الصورة من الحدود المقابلة لصندوق حدود الشكل. +9. احفظ العرض التقديمي كملف PPTX. ```py import aspose.slides as slides -# أنشئ مثيل لفئة Presentation التي تمثل ملف PPTX -with slides.Presentation() as pres: +# إنشاء كائن من فئة Presentation التي تمثل ملف PPTX. +with slides.Presentation() as presentation: + # الحصول على الشريحة الأولى. + slide = presentation.slides[0] + + # إضافة شكل أوتوماتيكي مستطيل. + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 300, 300) + + # تعيين نوع ملء الشكل. + shape.fill_format.fill_type = slides.FillType.PICTURE + + # تعيين وضع ملء الصورة للشكل. + shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH + + # تحميل الصورة وإضافتها إلى العرض التقديمي. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) + + # إسناد الصورة لملء الشكل. + shape.fill_format.picture_fill_format.picture.image = image + + # تحديد إزاحات الصورة من الحواف المقابلة لمربع حدود الشكل. + shape.fill_format.picture_fill_format.stretch_offset_left = 25 + shape.fill_format.picture_fill_format.stretch_offset_right = 25 + shape.fill_format.picture_fill_format.stretch_offset_top = -20 + shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 + + # حفظ ملف PPTX إلى القرص. + presentation.save("stretch_offset.pptx", slides.export.SaveFormat.PPTX) +``` + + +{{% alert title="Tip" color="primary" %}} +توفر Aspose محولات مجانية—[JPEG إلى PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) و[PNG إلى PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—تتيح لك إنشاء عروض تقديمية بسرعة من الصور. +{{% /alert %}} + +## **الأسئلة الشائعة** + +**كيف يمكنني معرفة تنسيقات الصور المدعومة لـ PictureFrame؟** - # احصل على الشريحة الأولى - slide = pres.slides[0] +يدعم Aspose.Slides كلًا من الصور النقطية (PNG، JPEG، BMP، GIF، إلخ) والصور المتجهة (مثل SVG) عبر كائن الصورة المرفق بـ [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). عادةً ما تتداخل قائمة التنسيقات المدعومة مع إمكانيات محرك تحويل الشرائح والصور. - # أنشئ مثيل لفئة ImageEx - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) +**كيف سيؤثر إضافة عشرات الصور الكبيرة على حجم PPTX والأداء؟** - # أضف إطار صورة مع ارتفاع الصورة وعرضها المكافئ - shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 300) +تؤدي عملية تضمين صور كبيرة إلى زيادة حجم الملف واستهلاك الذاكرة؛ يساعد ربط الصور على تقليل حجم العرض التقديمي ولكن يتطلب بقاء الملفات الخارجية متاحة. يوفر Aspose.Slides إمكانية ربط الصور لتقليل حجم الملف. - # حدد نوع التعبئة للشكل - shape.fill_format.fill_type = slides.FillType.PICTURE +**كيف يمكنني قفل كائن الصورة لمنع تحريكه/تغيير حجمه عن طريق الخطأ؟** - # حدد وضع ملء الصورة للشكل - shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH +استخدم [shape locks](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/picture_frame_lock/) لـ [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) (مثلاً، تعطيل التحريك أو تغيير الحجم). تم شرح آلية القفل للأشكال في مقالة [الحماية](/slides/ar/python-net/applying-protection-to-presentation/) وتدعم أنواعًا مختلفة من الأشكال، بما فيها [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). - # حدد الصورة لملء الشكل - shape.fill_format.picture_fill_format.picture.image = imgx +**هل يتم الحفاظ على دقة متجه SVG عند تصدير العرض التقديمي إلى PDF/صور؟** - # حدد انزلاقات الصورة من الحافة المقابلة لمربع جوانب الشكل - shape.fill_format.picture_fill_format.stretch_offset_left = 25 - shape.fill_format.picture_fill_format.stretch_offset_right = 25 - shape.fill_format.picture_fill_format.stretch_offset_top = -20 - shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 - - # اكتب ملف PPTX إلى القرص - pres.save("StretchOffsetLeftForPictureFrame_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +يسمح Aspose.Slides باستخراج SVG من [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) كمتجه أصلي. عند [التصدير إلى PDF](/slides/ar/python-net/convert-powerpoint-to-pdf/) أو إلى [الصيغ النقطية](/slides/ar/python-net/convert-powerpoint-to-png/)، قد يتم تحويله إلى نقطة اعتمادًا على إعدادات التصدير؛ لكن وجود SVG الأصلي كمتجه يتم تأكيده بسلوك الاستخراج. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/ar/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index d3c2159c55..ab62753daa 100644 --- a/ar/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/ar/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,33 +1,45 @@ --- -title: إطار الفيديو +title: إضافة مقاطع الفيديو إلى العروض التقديمية باستخدام Python +linktitle: إطار الفيديو type: docs weight: 10 url: /ar/python-net/video-frame/ -keywords: "إضافة فيديو، إنشاء إطار فيديو، استخراج فيديو، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "إضافة إطار فيديو إلى عرض PowerPoint في بايثون" +keywords: +- إضافة فيديو +- إنشاء فيديو +- تضمين فيديو +- استخراج فيديو +- استرجاع فيديو +- إطار فيديو +- مصدر ويب +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية إضافة واستخراج إطارات الفيديو برمجياً في شرائح PowerPoint وOpenDocument باستخدام Aspose.Slides للبايثون عبر .NET. دليل سريع خطوة بخطوة." --- -يمكن أن يجعل الفيديو الموضوع بشكل جيد في العرض رسالتك أكثر جذبًا ويزيد من مستويات التفاعل مع جمهورك. +يمكن للفيديو الموضوع بشكل مناسب في عرض تقديمي أن يجعل رسالتك أكثر إقناعًا ويزيد من مستويات التفاعل مع جمهورك. -تسمح لك PowerPoint بإضافة مقاطع فيديو إلى الشريحة في العرض بطريقتين: +PowerPoint يتيح لك إضافة مقاطع فيديو إلى شريحة في عرض تقديمي بطريقتين: * إضافة أو تضمين فيديو محلي (مخزن على جهازك) * إضافة فيديو عبر الإنترنت (من مصدر ويب مثل YouTube). -للسماح لك بإضافة مقاطع الفيديو (كائنات الفيديو) إلى العرض، توفر Aspose.Slides واجهة [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) وواجهة [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) وأنواع ذات صلة أخرى. +للسماح لك بإضافة مقاطع فيديو (كائنات فيديو) إلى عرض تقديمي، توفر Aspose.Slides الواجهة [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)، والواجهة [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/)، وأنواع أخرى ذات صلة. -## **إنشاء إطار فيديو مضمن** +## **إنشاء إطار فيديو مضمّن** -إذا كان ملف الفيديو الذي تريد إضافته إلى شريحتك مخزنًا محليًا، يمكنك إنشاء إطار فيديو لتضمين الفيديو في عرضك. +إذا كان ملف الفيديو الذي تريد إضافته إلى شريطك مخزنًا محليًا، يمكنك إنشاء إطار فيديو لتضمين الفيديو في عرضك التقديمي. -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. الحصول على مرجع الشريحة من خلال فهرسها. -1. إضافة كائن [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) وتمرير مسار ملف الفيديو لتضمين الفيديو مع العرض. -1. إضافة كائن [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) لإنشاء إطار للفيديو. -1. حفظ العرض المعدل. - -يوضح لك كود بايثون هذا كيفية إضافة فيديو مخزن محليًا إلى عرض: +1. إنشاء نسخة من الفئة [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class. +1. الحصول على مرجع الشريحة من خلال فهرسها. +1. إضافة كائن [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) وتمرير مسار ملف الفيديو لتضمين الفيديو مع العرض التقديمي. +1. إضافة كائن [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) لإنشاء إطار للفيديو. +1. حفظ العرض التقديمي المعدل. +هذا الرمز بلغة Python يوضح لك كيفية إضافة فيديو مخزن محليًا إلى عرض تقديمي: ```python import aspose.slides as slides @@ -38,13 +50,13 @@ with slides.Presentation(path + "pres.pptx") as pres: # يحصل على الشريحة الأولى ويضيف إطار فيديو pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video) - # يحفظ العرض على القرص + # يحفظ العرض التقديمي إلى القرص pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX) ``` -بدلاً من ذلك، يمكنك إضافة فيديو عن طريق تمرير مسار ملفه مباشرة إلى طريقة `add_video_frame(x, y, width, height, fname)`: -```python +بدلاً من ذلك، يمكنك إضافة فيديو بتمرير مسار ملفه مباشرة إلى طريقة `add_video_frame(x, y, width, height, fname)`. +``` python import aspose.slides as slides with slides.Presentation() as pres: @@ -52,18 +64,18 @@ with slides.Presentation() as pres: vf = sld.shapes.add_video_frame(50, 150, 300, 150, "video1.avi") ``` + ## **إنشاء إطار فيديو مع فيديو من مصدر ويب** -تدعم Microsoft [PowerPoint 2013 والإصدارات الأحدث](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) مقاطع فيديو YouTube في العروض. إذا كان الفيديو الذي تريد استخدامه متاحًا عبر الإنترنت (مثل YouTube)، يمكنك إضافته إلى عرضك من خلال رابط الويب الخاص به. +يدعم Microsoft [PowerPoint 2013 والإصدارات الأحدث](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) مقاطع الفيديو من YouTube في العروض التقديمية. إذا كان الفيديو الذي تريد استخدامه متاحًا على الإنترنت (مثلًا على YouTube)، يمكنك إضافته إلى عرضك التقديمي عبر رابط الويب الخاص به. -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) -1. الحصول على مرجع الشريحة من خلال فهرسها. +1. إنشاء نسخة من الفئة [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class +1. الحصول على مرجع الشريحة من خلال فهرسها. 1. إضافة كائن [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) وتمرير الرابط إلى الفيديو. -1. تعيين صورة مصغرة لإطار الفيديو. -1. حفظ العرض. - -يوضح لك كود بايثون هذا كيفية إضافة فيديو من الويب إلى شريحة في عرض PowerPoint: +1. تعيين صورة مصغرة لإطار الفيديو. +1. حفظ العرض التقديمي. +هذا الرمز بلغة Python يوضح لك كيفية إضافة فيديو من الويب إلى شريحة في عرض PowerPoint: ```python import aspose.slides as slides from urllib.request import urlopen @@ -73,7 +85,7 @@ def add_video_from_youyube(pres, videoId): videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId) videoFrame.play_mode = slides.VideoPlayModePreset.AUTO - # تحميل الصورة المصغرة + # يحمل الصورة المصغرة thumbnail_uri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg" f = urlopen(thumbnail_uri) videoFrame.picture_format.picture.image = pres.images.add_image(f.read()) @@ -84,21 +96,21 @@ with slides.Presentation() as pres: pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **استخراج الفيديو من الشريحة** -بجانب إضافة مقاطع الفيديو إلى الشرائح، يسمح لك Aspose.Slides باستخراج مقاطع الفيديو المدمجة في العروض. +بالإضافة إلى إضافة الفيديوهات إلى الشرائح، يسمح لك Aspose.Slides باستخراج الفيديوهات المضمنة في العروض التقديمية. -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) لتحميل العرض الذي يحتوي على الفيديو. -2. تكرار جميع كائنات [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/). -3. تكرار جميع كائنات [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) للعثور على [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) لتحميل العرض التقديمي الذي يحتوي على الفيديو. +2. التنقل عبر جميع كائنات [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/). +3. التنقل عبر جميع كائنات [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) للعثور على [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). 4. حفظ الفيديو على القرص. -يوضح لك كود بايثون هذا كيفية استخراج الفيديو من شريحة عرض: - +هذا الرمز بلغة Python يوضح لك كيفية استخراج الفيديو من شريحة عرض تقديمي: ```python import aspose.slides as slides -# ينشئ كائن Presentation يمثل ملف عرض +# ينشئ كائن Presentation الذي يمثل ملف عرض تقديمي with slides.Presentation(path + "Video.pptx") as presentation: for shape in presentation.slides[0].shapes: if type(shape) is slides.VideoFrame: @@ -106,4 +118,23 @@ with slides.Presentation(path + "Video.pptx") as presentation: buffer = shape.embedded_video.binary_data with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream: stream.write(buffer) -``` \ No newline at end of file +``` + + +## **FAQ** + +**ما هي معلمات تشغيل الفيديو التي يمكن تغييرها لإطار VideoFrame؟** + +يمكنك التحكم في [وضع التشغيل](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_mode/) (تلقائي أو عند النقر) و[التكرار](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_loop_mode/). هذه الخيارات متوفرة عبر خصائص كائن [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). + +**هل يؤثر إضافة فيديو على حجم ملف PPTX؟** + +نعم. عندما تقوم بدمج فيديو محلي، تُضمّن البيانات الثنائية في المستند، وبالتالي يزداد حجم العرض التقديمي بما يتناسب مع حجم الملف. عندما تضيف فيديوًا عبر الإنترنت، يتم دمج رابط وصورة مصغرة، لذا فإن الزيادة في الحجم تكون أصغر. + +**هل يمكنني استبدال الفيديو في إطار VideoFrame موجود دون تغيير موقعه وحجمه؟** + +نعم. يمكنك استبدال [محتوى الفيديو](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/embedded_video/) داخل الإطار مع الحفاظ على هندسة الشكل؛ وهذا سيناريو شائع لتحديث الوسائط في تخطيط موجود. + +**هل يمكن تحديد نوع المحتوى (MIME) لفيديو مدمج؟** + +نعم. للفيديو المدمج [نوع محتوى](https://reference.aspose.com/slides/python-net/aspose.slides/video/content_type/) يمكنك قراءته واستخدامه، على سبيل المثال عند حفظه على القرص. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md b/ar/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md index 71c32ac8fa..9294dfd2a9 100644 --- a/ar/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/ar/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,5 +1,5 @@ --- -title: إنشاء وتطبيق تأثيرات WordArt في Python +title: إنشاء وتطبيق تأثيرات WordArt في بايثون linktitle: WordArt type: docs weight: 110 @@ -18,34 +18,31 @@ keywords: - تأثير الظل الداخلي - Python - Aspose.Slides -description: "تعرّف على كيفية إنشاء وتخصيص تأثيرات WordArt في Aspose.Slides for Python via .NET. يقدّم هذا الدليل خطوة بخطوة مساعدة للمطورين على تحسين العروض التقديمية بنص أنيق واحترافي في Python." +description: "تعلم كيفية إنشاء وتخصيص تأثيرات WordArt في Aspose.Slides لبايثون عبر .NET. يقدّم هذا الدليل خطوة بخطوة مساعدة للمطوّرين لتحسين العروض التقديمية بنص أنيق واحترافي في بايثون." --- -## **ماذا عن فن الكلمات؟** -فن الكلمة هو ميزة تسمح لك بتطبيق تأثيرات على النصوص لجعلها بارزة. مع فن الكلمة، على سبيل المثال، يمكنك تحديد شكل النص أو ملؤه بلون (أو تدرج)، وإضافة تأثيرات ثلاثية الأبعاد له، وما إلى ذلك. يمكنك أيضًا تشويه، وانحناء، وتمديد شكل النص. +## **حول WordArt؟** +WordArt أو Word Art هي ميزة تتيح لك تطبيق تأثيرات على النصوص لجعلها بارزة. مع WordArt، على سبيل المثال، يمكنك تحديد حدود النص أو ملئه بلون (أو تدرج)، إضافة تأثيرات ثلاثية الأبعاد إليه، إلخ. كما يمكنك إمالة أو انحناء أو تمديد شكل النص. -{{% alert color="primary" %}} +{{% alert color="primary" %}} +WordArt يتيح لك التعامل مع النص كما تتعامل مع كائن رسومي. يتكون WordArt من تأثيرات أو تعديلات خاصة تُجرى على النصوص لجعلها أكثر جذباً أو وضوحاً. +{{% /alert %}} -يسمح لك فن الكلمة بالتعامل مع النص كمجسم رسومي. يتكون فن الكلمة من تأثيرات أو تعديلات خاصة تضاف للنصوص لجعلها أكثر جاذبية أو وضوحًا. +**WordArt في Microsoft PowerPoint** -{{% /alert %}} +لاستخدام WordArt في Microsoft PowerPoint، عليك اختيار أحد قوالب WordArt المعدة مسبقاً. قالب WordArt هو مجموعة من التأثيرات تُطبّق على النص أو شكله. -**فن الكلمة في Microsoft PowerPoint** +**WordArt في Aspose.Slides** -لاستخدام فن الكلمة في Microsoft PowerPoint، يجب عليك اختيار أحد قوالب فن الكلمة المحددة مسبقًا. قالب فن الكلمة هو مجموعة من التأثيرات التي تُطبق على نص أو شكله. +في Aspose.Slides for Python via .NET 20.10، نفّذنا دعم WordArt وأجرينا تحسينات على الميزة في إصدارات Aspose.Slides for Python via .NET اللاحقة. -**فن الكلمة في Aspose.Slides** +مع Aspose.Slides for Python via .NET، يمكنك بسهولة إنشاء قالب WordArt خاص بك (تأثير واحد أو مجموعة تأثيرات) في Python وتطبيقه على النصوص. -في Aspose.Slides لبايثون عبر .NET 20.10، قمنا بتنفيذ دعم لفن الكلمة وأجرينا تحسينات على هذه الميزة في إصدارات Aspose.Slides لبايثون عبر .NET التي تليها. +## إنشاء قالب WordArt بسيط وتطبيقه على نص -مع Aspose.Slides لبايثون عبر .NET، يمكنك بسهولة إنشاء قالب فن الكلمة الخاص بك (تأثير واحد أو مجموعة من التأثيرات) في بايثون وتطبيقه على النصوص. - -## إنشاء قالب بسيط لفن الكلمة وتطبيقه على نص - -**باستخدام Aspose.Slides** - -أولاً، نقوم بإنشاء نص بسيط باستخدام هذا الرمز بلغة بايثون: +**استخدام Aspose.Slides** +أولاً، ننشئ نصًا بسيطًا باستخدام هذا الكود في Python: ```py import aspose.slides as slides @@ -59,30 +56,30 @@ with slides.Presentation() as pres: pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX) ``` -الآن، نقوم بتعيين ارتفاع خط النص إلى قيمة أكبر لجعل التأثير أكثر وضوحًا من خلال هذا الرمز: +الآن، نضبط ارتفاع خط النص إلى قيمة أكبر لجعل التأثير أكثر وضوحًا من خلال هذا الكود: ```py fontData = slides.FontData("Arial Black") portion.portion_format.latin_font = fontData portion.portion_format.font_height = 36 ``` -**باستخدام Microsoft PowerPoint** -اذهب إلى قائمة تأثيرات فن الكلمة في Microsoft PowerPoint: +**استخدام Microsoft PowerPoint** + +انتقل إلى قائمة تأثيرات WordArt في Microsoft PowerPoint: ![todo:image_alt_text](image-20200930113926-1.png) -يمكنك من القائمة على اليمين اختيار تأثير فن الكلمة المحدد مسبقًا. من القائمة على اليسار، يمكنك تحديد إعدادات لفن الكلمة الجديد. +من القائمة على اليمين، يمكنك اختيار تأثير WordArt مُعرّف مسبقًا. من القائمة على اليسار، يمكنك تحديد إعدادات WordArt جديد. -هذه بعض المعلمات أو الخيارات المتاحة: +هذه بعض الوسائط أو الخيارات المتاحة: ![todo:image_alt_text](image-20200930114015-3.png) -**باستخدام Aspose.Slides** - -هنا، نطبق لون نمط SmallGrid على النص ونضيف حد للنص بعرض 1 بلون أسود باستخدام هذا الرمز: +**استخدام Aspose.Slides** +هنا، نطبق لون نمط SmallGrid على النص ونضيف حد نص أسود بعرض 1 باستخدام هذا الكود: ```py portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange @@ -93,24 +90,24 @@ with slides.Presentation() as pres: portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black ``` + النص الناتج: ![todo:image_alt_text](image-20200930114108-4.png) -## تطبيق تأثيرات فن الكلمة الأخرى +## تطبيق تأثيرات WordArt أخرى -**باستخدام Microsoft PowerPoint** +**استخدام Microsoft PowerPoint** -من واجهة البرنامج، يمكنك تطبيق هذه التأثيرات على نص، كتلة نصية، شكل، أو عنصر مشابه: +من واجهة البرنامج، يمكنك تطبيق هذه التأثيرات على نص أو كتلة نص أو شكل أو عنصر مشابه: ![todo:image_alt_text](image-20200930114129-5.png) -على سبيل المثال، يمكن تطبيق تأثيرات الظل، الانعكاس، والتوهج على نص؛ يمكن تطبيق تأثيرات تنسيق ثلاثي الأبعاد ودوران ثلاثي الأبعاد على كتلة نصية؛ و خاصية الحواف الناعمة يمكن تطبيقها على كائن الشكل (لا يزال له تأثير عندما لا يتم تعيين خاصية تنسيق ثلاثي الأبعاد). +على سبيل المثال، يمكن تطبيق تأثيرات الظل، الانعكاس، والتوهج على نص؛ وتأثيرات تنسيق ثلاثي الأبعاد وتدوير ثلاثي الأبعاد على كتلة نص؛ وخاصية الحواف الناعمة يمكن تطبيقها على كائن شكل (لا يزال لها تأثير عندما لا يتم تعيين خاصية تنسيق ثلاثي الأبعاد). ### تطبيق تأثيرات الظل -هنا، نهدف إلى تعيين الخصائص المتعلقة بالنص فقط. نطبق تأثير الظل على النص باستخدام هذا الرمز في بايثون: - +هنا، نهدف إلى ضبط الخصائص المتعلقة بنص فقط. نطبق تأثير الظل على النص باستخدام هذا الكود في Python: ```py portion.portion_format.effect_format.enable_outer_shadow_effect() portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black @@ -124,29 +121,29 @@ with slides.Presentation() as pres: portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32) ``` -تدعم واجهة برمجة تطبيقات Aspose.Slides ثلاثة أنواع من الظلال: OuterShadow وInnerShadow وPresetShadow. -مع PresetShadow، يمكنك تطبيق ظل على نص (باستخدام قيم محددة مسبقًا). +يدعم Aspose.Slides API ثلاثة أنواع من الظلال: OuterShadow وInnerShadow وPresetShadow. + +مع PresetShadow، يمكنك تطبيق ظل على النص (باستخدام قيم مُعدة مسبقًا). -**باستخدام Microsoft PowerPoint** +**استخدام Microsoft PowerPoint** -في PowerPoint، يمكنك استخدام نوع واحد من الظلال. إليك مثال: +في PowerPoint، يمكنك استخدام نوع واحد من الظلال. إليك مثالًا: ![todo:image_alt_text](image-20200930114225-6.png) -**باستخدام Aspose.Slides** +**استخدام Aspose.Slides** -تسمح لك Aspose.Slides فعليًا بتطبيق نوعين من الظلال في وقت واحد: InnerShadow وPresetShadow. +يسمح Aspose.Slides فعليًا بتطبيق نوعين من الظلال في آن واحد: InnerShadow وPresetShadow. **ملاحظات:** -- عند استخدام OuterShadow وPresetShadow معًا، يتم تطبيق تأثير OuterShadow فقط. -- إذا تم استخدام OuterShadow وInnerShadow في نفس الوقت، فإن التأثير الناتج أو المطبق يعتمد على إصدار PowerPoint. على سبيل المثال، في PowerPoint 2013، يتم مضاعفة التأثير. ولكن في PowerPoint 2007، يتم تطبيق تأثير OuterShadow. +- عندما يُستخدم OuterShadow وPresetShadow معًا، يُطبّق فقط تأثير OuterShadow. +- إذا استُخدم OuterShadow وInnerShadow معًا، فإن النتيجة أو التأثير المطبق يعتمد على نسخة PowerPoint. على سبيل المثال، في PowerPoint 2013، يتضاعف التأثير. ولكن في PowerPoint 2007، يُطبّق تأثير OuterShadow. -### تطبيق العرض على النصوص - -نضيف العرض إلى النص من خلال هذا الكود في بايثون: +### تطبيق عرض على النصوص +نضيف عرضًا للنص من خلال عيّنة الكود هذه في Python: ```py portion.portion_format.effect_format.enable_reflection_effect() portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5 @@ -161,10 +158,10 @@ with slides.Presentation() as pres: portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT ``` -### تطبيق تأثير التوهج على النصوص -نطبق تأثير التوهج على النص لجعله يسطع أو يبرز باستخدام هذا الرمز: +### تطبيق تأثير التوهج على النصوص +نطبق تأثير التوهج على النص لجعله يلمع أو يبرز باستخدام هذا الكود: ```py portion.portion_format.effect_format.enable_glow_effect() portion.portion_format.effect_format.glow_effect.color.r = 255 @@ -172,45 +169,42 @@ with slides.Presentation() as pres: portion.portion_format.effect_format.glow_effect.radius = 7 ``` + نتيجة العملية: ![todo:image_alt_text](image-20200930114621-7.png) -{{% alert color="primary" %}} - -يمكنك تغيير المعلمات للظل، العرض، والتوهج. يتم تعيين خصائص التأثيرات على كل جزء من النص بشكل منفصل. +{{% alert color="primary" %}} +يمكنك تغيير معلمات الظل والعرض والتوهج. تُضبط خصائص التأثيرات على كل جزء من النص بشكل منفصل. +{{% /alert %}} -{{% /alert %}} +### استخدام التحويلات في WordArt -### استخدام التحويلات في فن الكلمة - -نستخدم خاصية Transform (التي تتعلق بكتلة النص بالكامل) من خلال هذا الرمز: +نستخدم خاصية Transform (الموجودة في كتلة النص بأكملها) من خلال هذا الكود: ```py textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR ``` + النتيجة: ![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +{{% alert color="primary" %}} +يوفر كل من Microsoft PowerPoint وAspose.Slides for Python via .NET عددًا معينًا من أنواع التحويل المُعرّفة مسبقًا. +{{% /alert %}} -يوفر كل من Microsoft PowerPoint وAspose.Slides لبايثون عبر .NET عددًا معينًا من أنواع التحويلات المحددة مسبقًا. +**استخدام PowerPoint** -{{% /alert %}} +للوصول إلى أنواع التحويل المُعرّفة مسبقًا، انتقل عبر: **Format** -> **TextEffect** -> **Transform** -**باستخدام PowerPoint** +**استخدام Aspose.Slides** -للوصول إلى أنواع التحويلات المحددة مسبقًا، مرر عبر: **تنسيق** -> **تأثير النص** -> **تحويل** - -**باستخدام Aspose.Slides** - -لاختيار نوع تحويل، استخدم التعداد النصي TextShapeType. +لاختيار نوع التحويل، استخدم تعداد TextShapeType. ### تطبيق تأثيرات ثلاثية الأبعاد على النصوص والأشكال -نحدد تأثيرًا ثلاثي الأبعاد على شكل النص باستخدام هذا الرمز النموذجي: - +نضبط تأثيرًا ثلاثيًا الأبعاد على شكل نص باستخدام عيّنة الكود هذه: ```py autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE autoShape.three_d_format.bevel_bottom.height = 10.5 @@ -237,12 +231,12 @@ textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -النص الناتج وشكله: -![todo:image_alt_text](image-20200930114816-9.png) +النص والشكل الناتج: -نطبق تأثيرًا ثلاثي الأبعاد على النص باستخدام هذا الرمز في بايثون: +![todo:image_alt_text](image-20200930114816-9.png) +نطبق تأثيرًا ثلاثيًا الأبعاد على النص باستخدام هذا الكود في Python: ```py textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5 @@ -269,61 +263,59 @@ textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` + نتيجة العملية: ![todo:image_alt_text](image-20200930114905-10.png) -{{% alert color="primary" %}} - -يعتمد تطبيق تأثيرات ثلاثية الأبعاد على النصوص أو أشكالها والتفاعلات بين التأثيرات على قواعد معينة. +{{% alert color="primary" %}} +تطبيق تأثيرات ثلاثية الأبعاد على النصوص أو أشكالها وتفاعلاتها مع بعضها البعض يعتمد على قواعد معينة. -اعتبر مشهدًا لنص والشكل الذي يحتوي على ذلك النص. يتضمن التأثير ثلاثي الأبعاد تمثيل الكائن ثلاثي الأبعاد والمشهد الذي وُضع فيه الكائن. +تخيل مشهدًا لنص والشكل الذي يحتوي على ذلك النص. يحتوي تأثير ثلاثي الأبعاد على تمثيل كائن ثلاثي الأبعاد والمشهد الذي وُضع فيه الكائن. -- عند تعيين المشهد لكل من الشكل والنص، يحصل شكل المشهد على الأولوية الأعلى - يُتجاهل مشهد النص. -- عندما يفتقر الشكل إلى مشهد خاص به ولكنه يحتوي على تمثيل ثلاثي الأبعاد، يتم استخدام مشهد النص. -- خلاف ذلك - عندما لا يحتوي الشكل أصلاً على تأثير ثلاثي الأبعاد - يكون الشكل مسطحًا ويتم تطبيق التأثير ثلاثي الأبعاد فقط على النص. +- عندما يُحدد المشهد لكل من الشكل والنص، يحصل مشهد الشكل على أولوية أعلى—يُتجاهل مشهد النص. +- عندما لا يمتلك الشكل مشهدًا خاصًا به ولكن له تمثيل ثلاثي الأبعاد، يُستخدم مشهد النص. +- وإلا—عندما لا يمتلك الشكل أصلاً تأثيرًا ثلاثيًا الأبعاد—يبقى الشكل مسطحًا ويُطبق التأثير الثلاثي الأبعاد فقط على النص. -تتعلق الأوصاف بخصائص [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) و[ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). - -{{% /alert %}} +الوصف متصل بخصائص [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) و[ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). +{{% /alert %}} ## **تطبيق تأثيرات الظل الخارجي على النصوص** -توفر Aspose.Slides لبايثون عبر .NET [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) و[**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) التي تتيح لك تطبيق تأثيرات الظل على النص الذي تحمله TextFrame. اتبع هذه الخطوات: - -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. احصل على مرجع لشريحة باستخدام فهرسها. -3. أضف شكلاً تلقائيًا من نوع المستطيل إلى الشريحة. -4. الوصول إلى TextFrame المرتبطة بالشكل التلقائي. -5. تعيين FillType للشكل التلقائي إلى NoFill. -6. قم بتثبيت فئة OuterShadow. -7. تعيين BlurRadius للظل. -8. تعيين اتجاه الظل. -9. تعيين مسافة الظل. -10. تعيين RectangleAlign إلى TopLeft. -11. تعيين PresetColor للظل إلى اللون الأسود. -12. كتابة العرض التقديمي كملف PPTX. - -هذا الرمز التجريبي بلغة بايثون - هو تنفيذ للخطوات أعلاه - يوضح لك كيفية تطبيق تأثير الظل الخارجي على نص: - +توفر Aspose.Slides for Python via .NET الفئة [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) والفئة [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) التي تسمح لك بتطبيق تأثيرات الظل على نص داخل TextFrame. اتبع الخطوات التالية: + +1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. احصل على مرجع الشريحة باستخدام فهرستها. +3. أضف AutoShape من نوع Rectangle إلى الشريحة. +4. وصول إلى TextFrame المرتبط بـ AutoShape. +5. اضبط FillType للـ AutoShape إلى NoFill. +6. أنشئ مثيلًا من فئة OuterShadow. +7. ضبط BlurRadius للظل. +8. ضبط Direction للظل. +9. ضبط Distance للظل. +10. ضبط RectanglelAlign إلى TopLeft. +11. ضبط PresetColor للظل إلى Black. +12. احفظ العرض التقديمي كملف PPTX. + +يعرض هذا الكود في Python—تنفيذ الخطوات أعلاه—كيفية تطبيق تأثير الظل الخارجي على نص: ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as pres: - # احصل على مرجع الشريحة + # الحصول على مرجع الشريحة sld = pres.slides[0] - # أضف شكلاً تلقائيًا من نوع المستطيل + # إضافة شكل تلقائي من نوع مستطيل ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50) - # أضف TextFrame إلى المستطيل + # إضافة إطار نص إلى المستطيل ashp.add_text_frame("Aspose TextBox") - # تعطيل تعبئة الشكل في حالة رغبتنا في الحصول على ظل النص + # تعطيل تعبئة الشكل في حال رغبتنا بالحصول على ظل النص ashp.fill_format.fill_type = slides.FillType.NO_FILL - # أضف ظل خارجي وقم بتعيين جميع المعلمات اللازمة + # إضافة ظل خارجي وتعيين جميع المعلمات الضرورية ashp.effect_format.enable_outer_shadow_effect() shadow = ashp.effect_format.outer_shadow_effect shadow.blur_radius = 4.0 @@ -332,48 +324,47 @@ with slides.Presentation() as pres: shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT shadow.shadow_color.preset_color = slides.PresetColor.BLACK - # كتابة العرض التقديمي إلى القرص + #كتابة العرض التقديمي إلى القرص pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **تطبيق تأثير الظل الداخلي على الأشكال** -اتبع هذه الخطوات: - -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. احصل على مرجع الشريحة. -3. أضف شكلاً تلقائيًا من نوع المستطيل. -4. قم بتمكين تأثير الظل الداخلي. -5. تعيين جميع المعلمات اللازمة. -6. تعيين ColorType كـ Scheme. -7. تعيين لون المخطط. -8. كتابة العرض التقديمي كملف [PPTX](https://docs.fileformat.com/presentation/pptx/) . - -هذا الرمز التجريبي (استنادًا إلى الخطوات أعلاه) يوضح لك كيفية إضافة موصل بين شكلين في بايثون: - +اتبع الخطوات التالية: + +1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. احصل على مرجع الشريحة. +3. أضف AutoShape من نوع Rectangle. +4. فعّل InnerShadowEffect. +5. اضبط جميع المعلمات اللازمة. +6. اضبط ColorType إلى Scheme. +7. اضبط Scheme Color. +8. احفظ العرض التقديمي كملف [PPTX](https://docs.fileformat.com/presentation/pptx/). + +يعرض هذا الكود (المستند إلى الخطوات أعلاه) كيفية إضافة موصل بين شكلين في Python: ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as presentation: - # احصل على مرجع لشريحة + # الحصول على مرجع الشريحة slide = presentation.slides[0] - # أضف شكلاً تلقائيًا من نوع المستطيل + # إضافة AutoShape من نوع Rectangle ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300) ashp.fill_format.fill_type = slides.FillType.NO_FILL - # أضف TextFrame إلى المستطيل + # إضافة TextFrame إلى Rectangle ashp.add_text_frame("Aspose TextBox") port = ashp.text_frame.paragraphs[0].portions[0] pf = port.portion_format pf.font_height = 50 - # تمكين تأثير الظل الداخلي + # تمكين inner_shadow_effect ef = pf.effect_format ef.enable_inner_shadow_effect() - # تعيين جميع المعلمات اللازمة + # تعيين جميع المعلمات الضرورية ef.inner_shadow_effect.blur_radius = 8.0 ef.inner_shadow_effect.direction = 90.0 ef.inner_shadow_effect.distance = 6.0 @@ -382,9 +373,28 @@ with slides.Presentation() as presentation: # تعيين ColorType كـ Scheme ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME - # تعيين لون المخطط + # تعيين Scheme Color ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1 # حفظ العرض التقديمي presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني استخدام تأثيرات WordArt مع خطوط أو نصوص بلغات مختلفة (مثل العربية أو الصينية)؟** + +نعم، يدعم Aspose.Slides Unicode ويعمل مع جميع الخطوط والنصوص الرئيسية. يمكن تطبيق تأثيرات WordArt مثل الظل، التعبئة، والحد بغض النظر عن اللغة، رغم أن توفر الخطوط وعرضها قد يعتمد على خطوط النظام. + +**هل يمكنني تطبيق تأثيرات WordArt على عناصر ماستر الشريحة؟** + +نعم، يمكنك تطبيق تأثيرات WordArt على الأشكال في ماستر الشرائح، بما في ذلك نواقل العناوين، التذييلات، أو النص الخلفي. سيعكس أي تعديل يُجرى على تخطيط الماستر عبر جميع الشرائح المرتبطة. + +**هل تؤثر تأثيرات WordArt على حجم ملف العرض؟** + +قليلاً. قد تزيد تأثيرات WordArt مثل الظلال، التوهج، وتعبئة التدرجات من حجم الملف قليلاً بسبب إضافة بيانات تنسيق، لكن الفرق عادةً ما يكون ضئيلًا. + +**هل يمكنني معاينة نتيجة تأثيرات WordArt دون حفظ العرض؟** + +نعم، يمكنك تحويل الشرائح التي تحتوي على WordArt إلى صور (مثل PNG أو JPEG) باستخدام طريقة `get_image` من فئة [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) أو فئة [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). يتيح لك ذلك معاينة النتيجة في الذاكرة أو على الشاشة قبل حفظ أو تصدير العرض بالكامل. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 7b65ecede3..599f34aabd 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,44 @@ --- -title: محور الرسم البياني +title: تخصيص محاور المخططات في العروض التقديمية باستخدام بايثون +linktitle: محور المخطط type: docs url: /ar/python-net/chart-axis/ -keywords: "محور الرسم البياني في PowerPoint، الرسوم البيانية التقديمية، بايثون، manipulate محور الرسم البياني، بيانات الرسم البياني" -description: "تعديل محور الرسم البياني في PowerPoint باستخدام بايثون" +keywords: +- محور المخطط +- المحور العمودي +- المحور الأفقي +- تخصيص المحور +- معالجة المحور +- إدارة المحور +- خصائص المحور +- القيمة القصوى +- القيمة الصغرى +- خط المحور +- تنسيق التاريخ +- عنوان المحور +- موضع المحور +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "اكتشف كيفية استخدام Aspose.Slides لبايثون عبر .NET لتخصيص محاور المخططات في عروض PowerPoint و OpenDocument التقديمية للتقارير والتصورات." --- +## **الحصول على القيم القصوى للمحور العمودي في المخططات** +Aspose.Slides for Python عبر .NET تتيح لك الحصول على القيم الصغرى والعظمى على محور عمودي. اتبع الخطوات التالية: -## **الحصول على القيم القصوى على المحور العمودي في الرسوم البيانية** -Aspose.Slides لبايثون عبر .NET يتيح لك الحصول على القيم الدنيا والقصوى على محور عمودي. اتبع هذه الخطوات: - -1. أنشئ مثيل من [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) class. +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. الوصول إلى الشريحة الأولى. -1. إضافة رسم بياني مع بيانات افتراضية. +1. إضافة مخطط ببيانات افتراضية. 1. الحصول على القيمة القصوى الفعلية على المحور. -1. الحصول على القيمة الدنيا الفعلية على المحور. +1. الحصول على القيمة الصغرى الفعلية على المحور. 1. الحصول على الوحدة الرئيسية الفعلية للمحور. 1. الحصول على الوحدة الفرعية الفعلية للمحور. 1. الحصول على مقياس الوحدة الرئيسية الفعلية للمحور. 1. الحصول على مقياس الوحدة الفرعية الفعلية للمحور. -هذا الرمز النموذجي - تنفيذ للخطوات أعلاه - يوضح لك كيفية الحصول على القيم المطلوبة في بايثون: - +هذا الكود المثال—تنفيذ للخطوات أعلاه—يظهر لك كيفية الحصول على القيم المطلوبة في Python: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -36,35 +53,34 @@ with slides.Presentation() as pres: majorUnit = chart.axes.horizontal_axis.actual_major_unit minorUnit = chart.axes.horizontal_axis.actual_minor_unit - # Saves the presentation + # يحفظ العرض التقديمي pres.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **تبديل البيانات بين المحاور** -Aspose.Slides يتيح لك بسرعة تبديل البيانات بين المحاور - البيانات الممثلة على المحور العمودي (محور y) تنتقل إلى المحور الأفقي (محور x) والعكس صحيح. - -يظهر لك هذا الرمز في بايثون كيفية إجراء مهمة تبديل البيانات بين المحاور على رسم بياني: +Aspose.Slides يسمح لك بسرعة بتبديل البيانات بين المحاور—البيانات الموجودة على المحور العمودي (y-axis) تنتقل إلى المحور الأفقي (x-axis) والعكس بالعكس. +هذا الكود Python يوضح كيفية تنفيذ مهمة تبديل البيانات بين المحاور في مخطط: ```py import aspose.slides.charts as charts import aspose.slides as slides -# Creates empty presentation +# إنشاء عرض تقديمي فارغ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300) - #Switches rows and columns + #تبديل الصفوف والأعمدة chart.chart_data.switch_row_column() - # Saves presentation + # حفظ العرض التقديمي pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعطيل المحور العمودي لرسوم بيانية الخطوط** -يوضح لك هذا الرمز في بايثون كيفية إخفاء المحور العمودي لرسم بياني للخط: +## **تعطيل المحور العمودي للمخططات الخطية** +هذا الكود Python يوضح لك كيفية إخفاء المحور العمودي لمخطط خطي: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -76,10 +92,10 @@ with slides.Presentation() as pres: pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعطيل المحور الأفقي لرسوم بيانية الخطوط** -يظهر لك هذا الرمز كيفية إخفاء المحور الأفقي لرسم بياني للخط: +## **تعطيل المحور الأفقي للمخططات الخطية** +هذا الكود يوضح لك كيفية إخفاء المحور الأفقي لمخطط خطي: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -91,10 +107,10 @@ with slides.Presentation() as pres: pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX) ``` -## **تغيير محور الفئات** -باستخدام خاصية **CategoryAxisType**، يمكنك تحديد نوع محور الفئات المفضل لديك (**تاريخ** أو **نص**). يظهر هذا الرمز في بايثون العملية: +## **تغيير محور الفئة** +باستخدام الخاصية **CategoryAxisType**، يمكنك تحديد نوع محور الفئة المفضل لديك (**date** أو **text**). هذا الكود في Python يوضح العملية: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -108,9 +124,9 @@ with slides.Presentation(path + "ExistingChart.pptx") as presentation: presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعيين تنسيق التاريخ لقيمة محور الفئات** -Aspose.Slides لبايثون عبر .NET يتيح لك تعيين تنسيق التاريخ لقيمة محور الفئات. يتم توضيح العملية في هذا الرمز في بايثون: +## **ضبط تنسيق التاريخ لقيمة محور الفئة** +Aspose.Slides for Python عبر .NET تتيح لك ضبط تنسيق التاريخ لقيمة محور الفئة. تم توضيح العملية في هذا الكود Python: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -146,9 +162,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعيين زاوية الدوران لعنوان محور الرسم البياني** -Aspose.Slides لبايثون عبر .NET يتيح لك تعيين زاوية الدوران لعنوان محور الرسم البياني. يوضح هذا الرمز في بايثون العملية: +## **ضبط زاوية الدوران لعنوان محور المخطط** +Aspose.Slides for Python عبر .NET تتيح لك ضبط زاوية الدوران لعنوان محور المخطط. هذا الكود Python يوضح العملية: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -161,9 +177,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعيين محور الوضع في محور الفئات أو القيم** -Aspose.Slides لبايثون عبر .NET يتيح لك تعيين محور الوضع في محور الفئات أو القيم. يظهر هذا الرمز في بايثون كيفية إجراء المهمة: +## **ضبط موضع المحور في محور الفئة أو قيم المحور** +Aspose.Slides for Python عبر .NET تتيح لك ضبط موضع المحور في محور الفئة أو قيم المحور. هذا الكود Python يوضح كيفية تنفيذ المهمة: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -175,9 +191,9 @@ with slides.Presentation() as pres: pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX) ``` -## **تمكين عرض وحدة التسمية على محور قيمة الرسم البياني** -Aspose.Slides لبايثون عبر .NET يتيح لك تكوين رسم بياني لعرض وحدة تسمية على محور قيمة الرسم البياني. يتم توضيح العملية في هذا الرمز في بايثون: +## **تمكين ملصق وحدة العرض على محور قيم المخطط** +Aspose.Slides for Python عبر .NET تتيح لك تكوين المخطط لإظهار ملصق وحدة على محور قيم المخطط. هذا الكود Python يوضح العملية: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -186,4 +202,15 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300) chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS pres.save("Result.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**كيف يمكنني تعيين القيمة التي يتقاطع عندها محور مع الآخر (تقاطع المحور)؟** + +توفر المحاور [إعداد التقاطع](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/cross_type/): يمكنك اختيار التقاطع عند الصفر أو عند أقصى فئة/قيمة أو عند قيمة رقمية محددة. هذا مفيد لتحريك محور X إلى الأعلى أو الأسفل أو لتأكيد خط أساس. + +**كيف يمكنني موضع تسميات العلامات بالنسبة للمحور (جنبًا إلى جنب، خارجًا، داخلًا)؟** + +قم بتعيين [موقع التسمية](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/major_tick_mark/) إلى "cross" أو "outside" أو "inside". يؤثر ذلك على قابلية القراءة ويساعد في توفير المساحة، خاصةً في المخططات الصغيرة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index 7a1e37dee3..7325bc3e0a 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,79 +1,101 @@ --- -title: علامة بيانات الرسم البياني +title: إدارة علامات بيانات المخطط في العروض التقديمية باستخدام بايثون +linktitle: علامة البيانات type: docs url: /ar/python-net/chart-data-marker/ -keywords: "خيارات علامات الرسم البياني، عرض PowerPoint، Python، Aspose.Slides لـ Python عبر .NET" -description: "تعيين خيارات علامات الرسم البياني في عروض PowerPoint باستخدام Python" +keywords: +- مخطط +- نقطة بيانات +- علامة +- خيارات العلامة +- حجم العلامة +- نوع التعبئة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية تخصيص علامات بيانات المخطط في Aspose.Slides، مما يعزز تأثير العرض التقديمي عبر صيغ PPT و PPTX و ODP من خلال أمثلة شفرة واضحة." --- -## **تعيين خيارات علامات الرسم البياني** -يمكن تعيين العلامات على نقاط بيانات الرسم البياني داخل سلسلة معينة. لتعيين خيارات علامات الرسم البياني، يرجى اتباع الخطوات أدناه: +## **ضبط خيارات علامة المخطط** +يمكن تعيين العلامات على نقاط بيانات المخطط داخل السلسلات المحددة. لضبط خيارات علامة المخطط، يرجى اتباع الخطوات أدناه: -- إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- إنشاء الرسم البياني الافتراضي. +- إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +- إنشاء المخطط الافتراضي. - تعيين الصورة. -- أخذ السلسلة الأولى من الرسم البياني. +- أخذ السلسلة الأولى للمخطط. - إضافة نقطة بيانات جديدة. -- كتابة العرض التقديمي على القرص. - -في المثال المعطى أدناه، قمنا بتعيين خيارات علامات الرسم البياني على مستوى نقاط البيانات. +- كتابة العرض التقديمي إلى القرص. +في المثال الموضح أدناه، قمنا بضبط خيارات علامة المخطط على مستوى نقاط البيانات. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# إنشاء مثيل من فئة Presentation -with slides.Presentation() as presentation: + # إنشاء نسخة من فئة Presentation class + with slides.Presentation() as presentation: + + slide = presentation.slides[0] + + # إنشاء المخطط الافتراضي + chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 0, 0, 400, 400) + + # الحصول على فهرس ورقة عمل بيانات المخطط الافتراضية + defaultWorksheetIndex = 0 + + # الحصول على ورقة عمل بيانات المخطط + fact = chart.chart_data.chart_data_workbook + + # حذف سلسلة العرض التوضيحية + chart.chart_data.series.clear() + + # إضافة سلسلة جديدة + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) + + # تعيين الصورة + image1 = draw.Bitmap(path + "aspose-logo.jpg") + imgx1 = presentation.images.add_image(image1) - slide = presentation.slides[0] + # تعيين الصورة + image2 = draw.Bitmap(path + "Tulips.jpg") + imgx2 = presentation.images.add_image(image2) - # إنشاء الرسم البياني الافتراضي - chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 0, 0, 400, 400) + # أخذ أول سلسلة في المخطط + series = chart.chart_data.series[0] - # الحصول على فهرس ورقة بيانات الرسم البياني الافتراضية - defaultWorksheetIndex = 0 + # إضافة نقطة جديدة (1:3) هناك. + point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) + point.marker.format.fill.fill_type = slides.FillType.PICTURE + point.marker.format.fill.picture_fill_format.picture.image = imgx1 - # الحصول على ورقة بيانات الرسم البياني - fact = chart.chart_data.chart_data_workbook + point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 2.5)) + point.marker.format.fill.fill_type = slides.FillType.PICTURE + point.marker.format.fill.picture_fill_format.picture.image = imgx2 - # حذف السلاسل التجريبية - chart.chart_data.series.clear() + point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 3.5)) + point.marker.format.fill.fill_type = slides.FillType.PICTURE + point.marker.format.fill.picture_fill_format.picture.image = imgx1 - # إضافة سلسلة جديدة - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) - - # تعيين الصورة - image1 = draw.Bitmap(path + "aspose-logo.jpg") - imgx1 = presentation.images.add_image(image1) + point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 4, 1, 4.5)) + point.marker.format.fill.fill_type = slides.FillType.PICTURE + point.marker.format.fill.picture_fill_format.picture.image = imgx2 - # تعيين الصورة - image2 = draw.Bitmap(path + "Tulips.jpg") - imgx2 = presentation.images.add_image(image2) + # تغيير علامة سلسلة المخطط + series.marker.size = 15 - # أخذ السلسلة الأولى من الرسم البياني - series = chart.chart_data.series[0] + # حفظ العرض التقديمي إلى القرص + presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) +``` - # إضافة نقطة جديدة (1:3) هناك. - point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) - point.marker.format.fill.fill_type = slides.FillType.PICTURE - point.marker.format.fill.picture_fill_format.picture.image = imgx1 - point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 2.5)) - point.marker.format.fill.fill_type = slides.FillType.PICTURE - point.marker.format.fill.picture_fill_format.picture.image = imgx2 +## **الأسئلة المتكررة** - point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 3.5)) - point.marker.format.fill.fill_type = slides.FillType.PICTURE - point.marker.format.fill.picture_fill_format.picture.image = imgx1 +**ما هي أشكال العلامات المتوفرة بشكل افتراضي؟** - point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 4, 1, 4.5)) - point.marker.format.fill.fill_type = slides.FillType.PICTURE - point.marker.format.fill.picture_fill_format.picture.image = imgx2 +الأشكال القياسية متوفرة (دائرة، مربع، معين، مثلث، إلخ)؛ القائمة معرفة بواسطة تعداد [MarkerStyleType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/markerstyletype/) . إذا كنت بحاجة إلى شكل غير قياسي، استخدم علامة بملئ صورة لمحاكاة الرسومات المخصصة. - # تغيير علامة سلسلة الرسم البياني - series.marker.size = 15 +**هل تُحافظ العلامات عند تصدير المخطط إلى صورة أو SVG؟** - # كتابة العرض التقديمي على القرص - presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +نعم. عند تحويل المخططات إلى [raster formats](/slides/ar/python-net/convert-powerpoint-to-png/) أو حفظ [shapes as SVG](/slides/ar/python-net/render-a-slide-as-an-svg-image/)، تحتفظ العلامات بمظهرها وإعداداتها، بما في ذلك الحجم والملئ والحد. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index d27484fbc4..9a410be04b 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,100 +1,121 @@ --- -title: الرسم البياني +title: تخصيص وسائط المخططات في العروض التقديمية باستخدام Python +linktitle: وسائط المخطط type: docs url: /ar/python-net/chart-legend/ -keywords: "legenda الرسم البياني، حجم خط legenda، عرض PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "تعيين موضع وحجم الخط لlegenda الرسم البياني في عروض PowerPoint في بايثون" +keywords: +- وسائط المخطط +- موضع الوسيط +- حجم الخط +- PowerPoint +- OpenDocument +- العرض التقديمي +- Python +- Aspose.Slides +description: "تخصيص وسائط المخططات باستخدام Aspose.Slides for Python عبر .NET لتحسين عروض PowerPoint و OpenDocument مع تنسيق وسائط مخصص." --- -## **موضع legenda** -لتعيين خصائص legenda. يرجى اتباع الخطوات أدناه: +## **نظرة عامة** -- إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- الحصول على مرجع للشريحة. -- إضافة رسم بياني على الشريحة. -- تعيين خصائص legenda. -- كتابة العرض التقديمي كملف PPTX. +يوفر Aspose.Slides for Python تحكمًا كاملاً في وسائط توضيح المخططات حتى تتمكن من جعل تسميات البيانات واضحة وجاهزة للعرض. يمكنك إظهار أو إخفاء الوسيط، واختيار موقعه على الشريحة، وضبط التخطيط لمنع التداخل مع منطقة الرسم. تتيح لك واجهة برمجة التطبيقات تنسيق النص والعلامات، وضبط الحشو والخلفية بدقة، وتنسيق الحدود والملء لتتناسب مع النمط الخاص بك. يمكن للمطورين أيضًا الوصول إلى عناصر الوسيط الفردية لإعادة تسميتها أو تصفيتها، مما يضمن عرض السلاسل الأكثر صلة فقط. مع هذه القدرات، تظل مخططاتك قابلة للقراءة ومتسقة ومتوافقة مع معايير تصميم العرض التقديمي. -في المثال الموضح أدناه، قمنا بتعيين الموضع والحجم للlegenda الرسم البياني. +## **تحديد موقع الوسيط** +باستخدام Aspose.Slides، يمكنك التحكم بسرعة في موقع ظهور وسائط توضيح المخطط وكيفية ملائمتها لتخطيط الشريحة. تعرف على كيفية وضع الوسيط بدقة. + +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. الحصول على مرجع إلى الشريحة. +1. إضافة مخطط إلى الشريحة. +1. تعيين خصائص الوسيط. +1. حفظ العرض التقديمي كملف PPTX. + +في المثال أدناه، نقوم بتعيين موضع وحجم وسائط المخطط: ```py import aspose.slides.charts as charts import aspose.slides as slides -# إنشاء مثيل من فئة Presentation +# إنشاء مثال من فئة Presentation. with slides.Presentation() as presentation: - # الحصول على مرجع للشريحة + # الحصول على مرجع إلى الشريحة. slide = presentation.slides[0] - # إضافة رسم بياني عمودي مجمع على الشريحة - chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 500, 500) + # إضافة مخطط عمودي مجمع إلى الشريحة. + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 300) - # تعيين خصائص legenda - chart.legend.x = 50 / chart.width - chart.legend.y = 50 / chart.height + # تعيين خصائص وسيلة الإيضاح. + chart.legend.x = 80 / chart.width + chart.legend.y = 20 / chart.height chart.legend.width = 100 / chart.width chart.legend.height = 100 / chart.height - # كتابة العرض التقديمي إلى القرص - presentation.save("Legend_out.pptx", slides.export.SaveFormat.PPTX) + # حفظ العرض التقديمي إلى القرص. + presentation.save("legend_positioning.pptx", slides.export.SaveFormat.PPTX) ``` +## **ضبط حجم خط الوسيط** -## **تعيين حجم خط legenda** -تتيح Aspose.Slides لـ بايثون عبر .NET للمطورين تعيين حجم خط legenda. يرجى اتباع الخطوات أدناه: - -- إنشاء مثيل من فئة `Presentation`. -- إنشاء الرسم البياني الافتراضي. -- تعيين حجم الخط. -- تعيين القيمة الدنيا للمحور. -- تعيين القيمة القصوى للمحور. -- كتابة العرض التقديمي إلى القرص. +يجب أن يكون وسيط المخطط قابلًا للقراءة كما البيانات التي يوضحها. يوضح هذا القسم كيفية تعديل حجم خط الوسيط لتتطابق مع خطوط العرض التقديمي وتحسين إمكانية الوصول. +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. إنشاء مخطط. +1. ضبط حجم الخط. +1. حفظ العرض التقديمي إلى القرص. ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - chart.legend.text_format.portion_format.font_height = 20 - chart.axes.vertical_axis.is_automatic_min_value = False - chart.axes.vertical_axis.min_value = -5 - chart.axes.vertical_axis.is_automatic_max_value = False - chart.axes.vertical_axis.max_value = 10 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + chart.legend.text_format.portion_format.font_height = 20 - pres.save("output.pptx", slides.export.SaveFormat.PPTX) + presentation.save("font_size.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعيين حجم خط legenda الفردية** -تتيح Aspose.Slides لـ بايثون عبر .NET للمطورين تعيين حجم خط عناصر legenda الفردية. يرجى اتباع الخطوات أدناه: +## **ضبط حجم الخط لمدخل وسيط معين** -- إنشاء مثيل من فئة `Presentation`. -- إنشاء الرسم البياني الافتراضي. -- الوصول إلى عنصر legenda. -- تعيين حجم الخط. -- تعيين القيمة الدنيا للمحور. -- تعيين القيمة القصوى للمحور. -- كتابة العرض التقديمي إلى القرص. +يتيح لك Aspose.Slides ضبط مظهر وسائط المخطط بدقة عن طريق تنسيق العناصر الفردية. يوضح المثال أدناه كيفية استهداف عنصر وسيط معين وتعيين خصائصه دون تغيير باقي الوسيط. +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. إنشاء مخطط. +1. الوصول إلى مدخل وسيط. +1. تعيين خصائص المدخل. +1. حفظ العرض التقديمي إلى القرص. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw - - -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - tf = chart.legend.entries[1].text_format - - tf.portion_format.font_bold = 1 - tf.portion_format.font_height = 20 - tf.portion_format.font_italic = 1 - tf.portion_format.fill_format.fill_type = slides.FillType.SOLID - tf.portion_format.fill_format.solid_fill_color.color = draw.Color.blue - - pres.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + text_format = chart.legend.entries[1].text_format + + text_format.portion_format.font_bold = slides.NullableBool.TRUE + text_format.portion_format.font_height = 20 + text_format.portion_format.font_italic = slides.NullableBool.TRUE + text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID + text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.blue + + presentation.save("legend_entry.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني تفعيل الوسيط بحيث يقوم المخطط تلقائيًا بتخصيص مساحة له بدلاً من تغطيته؟** + +نعم. استخدم وضع عدم التغطية ([overlay](https://reference.aspose.com/slides/python-net/aspose.slides.charts/legend/overlay/)=`false`); في هذه الحالة، ستقلص منطقة الرسم لتستوعب الوسيط. + +**هل يمكنني إنشاء تسميات متعددة الأسطر للوسيط؟** + +نعم. تُلف التسميات الطويلة تلقائيًا عندما تكون المساحة غير كافية؛ وتدعم فواصل السطر القسرية عبر أحرف السطر الجديد في اسم السلسلة. + +**كيف أجعل الوسيط يتبع نظام ألوان نمط العرض التقديمي؟** + +لا تقم بتعيين ألوان/ملء/خطوط صريحة للوسيط أو نصه. سيُورث ذلك من النمط وسيتم تحديثه بشكل صحيح عند تغيير التصميم. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index eec2fd172e..0a95fff7ea 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,33 @@ --- -title: منطقة تخطيط الرسم البياني +title: "تخصيص مناطق رسم المخططات في العروض التقديمية باستخدام بايثون" +linktitle: "منطقة الرسم" type: docs url: /ar/python-net/chart-plot-area/ -keywords: "منطقة تخطيط الرسم البياني، عرض PowerPoint، Python، Aspose.Slides لـ Python عبر .NET" -description: "احصل على عرض وارتفاع منطقة تخطيط الرسم البياني. حدد وضع التخطيط. عرض PowerPoint في Python" +keywords: +- مخطط +- منطقة الرسم +- عرض منطقة الرسم +- ارتفاع منطقة الرسم +- حجم منطقة الرسم +- وضع التخطيط +- PowerPoint +- عرض تقديمي +- Python +- Aspose.Slides +description: "اكتشف كيفية تخصيص مناطق رسم المخططات في عروض PowerPoint و OpenDocument باستخدام Aspose.Slides لبايثون عبر .NET. حسّن مظهر الشرائح بسهولة." --- -## **احصل على عرض وارتفاع منطقة تخطيط الرسم البياني** -يوفر Aspose.Slides لـ Python عبر .NET واجهة برمجة تطبيقات بسيطة لـ. - -1. أنشئ مثيلًا من [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) class. -1. الوصول إلى الشريحة الأولى. -1. أضف الرسم البياني ببيانات افتراضية. -1. استدعِ الطريقة IChart.ValidateChartLayout() قبل الحصول على القيم الفعلية. -1. احصل على الموقع الفعلي X (الأيسر) لعنصر الرسم البياني بالنسبة لزاوية الرسم البياني العلوية اليسرى. -1. احصل على الجزء العلوي الفعلي لعنصر الرسم البياني بالنسبة لزاوية الرسم البياني العلوية اليسرى. -1. احصل على عرض العنصر الفعلي للرسم البياني. -1. احصل على ارتفاع العنصر الفعلي للرسم البياني. +## **الحصول على عرض وارتفاع مساحة رسم المخطط** +توفر Aspose.Slides لـ Python عبر .NET واجهة برمجة تطبيقات بسيطة لـ . +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الوصول إلى الشريحة الأولى. +3. إضافة مخطط ببيانات افتراضية. +4. استدعاء الطريقة IChart.ValidateChartLayout() قبل الحصول على القيم الفعلية. +5. الحصول على الموقع الفعلي X (اليسار) لعنصر المخطط بالنسبة إلى الزاوية اليسرى العليا للمخطط. +6. الحصول على الجزء العلوي الفعلي لعنصر المخطط بالنسبة إلى الزاوية اليسرى العليا للمخطط. +7. الحصول على العرض الفعلي لعنصر المخطط. +8. الحصول على الارتفاع الفعلي لعنصر المخطط. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -31,19 +41,18 @@ with slides.Presentation() as pres: w = chart.plot_area.actual_width h = chart.plot_area.actual_height - # احفظ العرض التقديمي مع الرسم البياني + # حفظ العرض التقديمي مع المخطط pres.save("Chart_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **حدد وضع التخطيط لمنطقة تخطيط الرسم البياني** -يوفر Aspose.Slides لـ Python عبر .NET واجهة برمجة تطبيقات بسيطة لتحديد وضع التخطيط لمنطقة تخطيط الرسم البياني. تمت إضافة خاصية **LayoutTargetType** إلى **ChartPlotArea** و **IChartPlotArea** classes. إذا تم تعريف تخطيط منطقة التخطيط يدويًا، فإن هذه الخاصية تحدد ما إذا كان يجب تخطيط منطقة التخطيط حسب داخلها (لا تشمل المحاور وعلامات المحاور) أو خارجها (تشمل المحاور وعلامات المحاور). هناك قيمتان ممكنتان محددتان في **LayoutTargetType** enum. - -- **LayoutTargetType.Inner** - تحدد أن حجم منطقة التخطيط يجب أن يحدد حجم منطقة التخطيط، لا تشمل علامات النقر وعلامات المحاور. -- **LayoutTargetType.Outer** - تحدد أن حجم منطقة التخطيط يجب أن يحدد حجم منطقة التخطيط وعلامات النقر وعلامات المحاور. +## **تحديد وضع تخطيط مساحة رسم المخطط** +توفر Aspose.Slides لـ Python عبر .NET واجهة برمجة تطبيقات بسيطة لتعيين وضع تخطيط مساحة رسم المخطط. تم إضافة الخاصية **LayoutTargetType** إلى الفئات **ChartPlotArea** و **IChartPlotArea**. إذا تم تعريف تخطيط مساحة الرسم يدويًا، تحدد هذه الخاصية ما إذا كان سيتم تخطيط المساحة من الداخل (بدون المحاور وعناوين المحاور) أو من الخارج (بما في ذلك المحاور وعناوين المحاور). هناك قيمتان محتملتان معرفتان في تعداد **LayoutTargetType**. -تم تقديم كود عينة أدناه. +- **LayoutTargetType.Inner** - يحدد أن حجم مساحة الرسم يحدد حجم المساحة، دون إشمال العلامات والمحاور وعناوينها. +- **LayoutTargetType.Outer** - يحدد أن حجم مساحة الرسم يحدد حجم المساحة، بالإضافة إلى العلامات والمحاور وعناوينها. +الكود العيني موضح أدناه. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -58,4 +67,19 @@ with slides.Presentation() as presentation: chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**بأي وحدة يتم إرجاع actual_x و actual_y و actual_width و actual_height؟** +بالنقاط؛ 1 بوصة = 72 نقطة. هذه هي وحدات إحداثيات Aspose.Slides. + +**كيف يختلف Plot Area عن Chart Area من حيث المحتوى؟** +Plot Area هي منطقة رسم البيانات (السلاسل، خطوط الشبكة، خطوط الاتجاه، إلخ)؛ بينما Chart Area تشمل العناصر المحيطة (العنوان، الوسيلة الإيضاحية، إلخ). في المخططات ثلاثية الأبعاد، تشمل Plot Area أيضًا الجدران/الأرضية والمحاور. + +**كيف يتم تفسير X و Y والعرض والارتفاع في Plot Area عندما يكون التخطيط يدويًا؟** +تكون كسورًا (0–1) من الحجم الكلي للمخطط؛ في هذا الوضع يتم تعطيل التموضع التلقائي وتُستخدم الكسور التي تم تحديدها. + +**لماذا تغير موقع Plot Area بعد إضافة/تحريك الوسيلة الإيضاحية؟** +الوسيلة الإيضاحية تقع في مساحة المخطط خارج Plot Area لكنها تؤثر على التخطيط والمساحة المتاحة، لذا قد يتحرك Plot Area عندما يكون التموضع التلقائي مفعلاً. (هذا سلوك قياسي في مخططات PowerPoint.) \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md index 160e9f67d8..56cad5b60e 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md @@ -1,70 +1,77 @@ --- -title: شريط الخطأ +title: تخصيص أشرطة الخطأ في مخططات العرض التقديمي باستخدام بايثون +linktitle: شريط الخطأ type: docs url: /ar/python-net/error-bar/ -keywords: "شريط الخطأ، قيم شريط الخطأ، عرض تقديمي على PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "إضافة شريط خطأ إلى عروض PowerPoint التقديمية في بايثون" +keywords: +- شريط الخطأ +- قيمة مخصصة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية إضافة وتخصيص أشرطة الخطأ في المخططات باستخدام Aspose.Slides لبايثون عبر .NET - تحسين تصورات البيانات في عروض PowerPoint وOpenDocument." --- -## **إضافة شريط خطأ** -توفر Aspose.Slides لـ بايثون عبر .NET واجهة برمجة تطبيقات بسيطة لإدارة قيم شريط الخطأ. يتم تطبيق كود العينة عند استخدام نوع قيمة مخصص. لتحديد قيمة، استخدم خاصية **ErrorBarCustomValues** لنقطة بيانات محددة في مجموعة **DataPoints** للسلاسل: +## **إضافة شريط الأخطاء** +توفر Aspose.Slides for Python عبر .NET واجهة برمجة تطبيقات بسيطة لإدارة قيم أشرطة الأخطاء. يطبق الكود النموذجي عند استخدام نوع قيمة مخصص. لتحديد قيمة، استخدم الخاصية **ErrorBarCustomValues** لنقطة بيانات محددة في مجموعة **DataPoints** الخاصة بالسلسلة: -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. أضف مخطط فقاعي إلى الشريحة المطلوبة. -1. الوصول إلى سلسلة المخطط الأولى وتعيين تنسيق شريط الخطأ X. -1. الوصول إلى سلسلة المخطط الأولى وتعيين تنسيق شريط الخطأ Y. -1. تعيين قيم الشريط والتنسيق. +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. إضافة مخطط فقاعة إلى الشريحة المطلوبة. +1. الوصول إلى أول سلسلة في المخطط وتعيين تنسيق شريط الأخطاء X. +1. الوصول إلى أول سلسلة في المخطط وتعيين تنسيق شريط الأخطاء Y. +1. تعيين قيم الأشرطة وتنسيقها. 1. كتابة العرض التقديمي المعدل إلى ملف PPTX. - ```py import aspose.slides.charts as charts import aspose.slides as slides -# إنشاء عرض تقديمي فارغ -with slides.Presentation() as presentation: - # إنشاء مخطط فقاعي - chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - - # إضافة شرائط الخطأ وتعيين تنسيقها - errBarX = chart.chart_data.series[0].error_bars_x_format - errBarY = chart.chart_data.series[0].error_bars_y_format - errBarX.is_visible = True - errBarY.is_visible = True - errBarX.value_type = charts.ErrorBarValueType.FIXED - errBarX.value = 0.1 - errBarY.value_type = charts.ErrorBarValueType.PERCENTAGE - errBarY.value = 5 - errBarX.type = charts.ErrorBarType.PLUS - errBarY.format.line.width = 2 - errBarX.has_end_cap = True - - # حفظ العرض التقديمي - presentation.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX) + # إنشاء عرض تقديمي فارغ + with slides.Presentation() as presentation: + # إنشاء مخطط فقاعة + chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) + + # إضافة أشرطة الأخطاء وتعيين تنسيقها + errBarX = chart.chart_data.series[0].error_bars_x_format + errBarY = chart.chart_data.series[0].error_bars_y_format + errBarX.is_visible = True + errBarY.is_visible = True + errBarX.value_type = charts.ErrorBarValueType.FIXED + errBarX.value = 0.1 + errBarY.value_type = charts.ErrorBarValueType.PERCENTAGE + errBarY.value = 5 + errBarX.type = charts.ErrorBarType.PLUS + errBarY.format.line.width = 2 + errBarX.has_end_cap = True + + # حفظ العرض التقديمي + presentation.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **إضافة قيمة شريط خطأ مخصص** -توفر Aspose.Slides لـ بايثون عبر .NET واجهة برمجة تطبيقات بسيطة لإدارة قيم شريط الخطأ المخصصة. يتم تطبيق كود العينة عندما تكون خاصية **IErrorBarsFormat.ValueType** مساوية لـ **Custom**. لتحديد قيمة، استخدم خاصية **ErrorBarCustomValues** لنقطة بيانات محددة في مجموعة **DataPoints** للسلاسل: -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. أضف مخطط فقاعي إلى الشريحة المطلوبة. -1. الوصول إلى سلسلة المخطط الأولى وتعيين تنسيق شريط الخطأ X. -1. الوصول إلى سلسلة المخطط الأولى وتعيين تنسيق شريط الخطأ Y. -1. الوصول إلى نقاط البيانات الفردية لسلسلة المخطط وتعيين قيم شريط الخطأ لنقطة البيانات الفردية. -1. تعيين قيم الشريط والتنسيق. -1. كتابة العرض التقديمي المعدل إلى ملف PPTX. +## **إضافة قيمة مخصصة لشريط الأخطاء** +توفر Aspose.Slides for Python عبر .NET واجهة برمجة تطبيقات بسيطة لإدارة قيم أشرطة الأخطاء المخصصة. يطبق الكود النموذجي عندما تكون الخاصية **IErrorBarsFormat.ValueType** مساوية لـ **Custom**. لتحديد قيمة، استخدم الخاصية **ErrorBarCustomValues** لنقطة بيانات محددة في مجموعة **DataPoints** الخاصة بالسلسلة: +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. إضافة مخطط فقاعة إلى الشريحة المطلوبة. +1. الوصول إلى أول سلسلة في المخطط وتعيين تنسيق شريط الأخطاء X. +1. الوصول إلى أول سلسلة في المخطط وتعيين تنسيق شريط الأخطاء Y. +1. الوصول إلى نقاط البيانات الفردية في سلسلة المخطط وتعيين قيم شريط الأخطاء لنقطة البيانات الفردية. +1. تعيين قيم الأشرطة وتنسيقها. +1. كتابة العرض التقديمي المعدل إلى ملف PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides # إنشاء عرض تقديمي فارغ with slides.Presentation() as presentation: - # إنشاء مخطط فقاعي + # إنشاء مخطط فقاعة chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # إضافة شرائط خطأ مخصصة وتعيين تنسيقها + # إضافة أشرطة الأخطاء المخصصة وتعيين تنسيقها series = chart.chart_data.series[0] errBarX = series.error_bars_x_format errBarY = series.error_bars_y_format @@ -73,14 +80,14 @@ with slides.Presentation() as presentation: errBarX.value_type = charts.ErrorBarValueType.CUSTOM errBarY.value_type = charts.ErrorBarValueType.CUSTOM - # الوصول إلى نقاط بيانات سلسلة المخطط وتعيين قيم شرائط الخطأ لنقاط البيانات الفردية + # الوصول إلى نقطة بيانات سلسلة المخطط وتعيين قيم أشرطة الأخطاء للنقطة الفردية points = series.data_points points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_minus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_minus_values = charts.DataSourceType.DOUBLE_LITERALS - # تعيين شرائط الخطأ لنقاط سلسلة المخطط + # تعيين أشرطة الأخطاء لنقاط سلسلة المخطط for i in range(len(points)): points[i].error_bars_custom_values.x_minus.as_literal_double = i + 1 points[i].error_bars_custom_values.x_plus.as_literal_double = i + 1 @@ -89,4 +96,19 @@ with slides.Presentation() as presentation: # حفظ العرض التقديمي presentation.save("ErrorBarsCustomValues_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**ماذا يحدث لأشرطة الأخطاء عند تصدير عرض تقديمي إلى PDF أو صور؟** + +يتم عرضها كجزء من المخطط ويتم الحفاظ عليها أثناء التحويل مع بقية تنسيق المخطط، بشرط وجود نسخة أو محرك عرض متوافق. + +**هل يمكن دمج أشرطة الأخطاء مع العلامات وملصقات البيانات؟** + +نعم. أشرطة الأخطاء عنصر منفصل ومتوافق مع العلامات وملصقات البيانات؛ إذا تداخلت العناصر، قد تحتاج إلى تعديل التنسيق. + +**أين يمكنني العثور على قائمة الخصائص والقيم التعداد (enums) للعمل مع أشرطة الأخطاء في واجهة برمجة التطبيقات؟** + +في مرجع واجهة برمجة التطبيقات: الفئة [ErrorBarsFormat](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarsformat/) والعدادات المتعلقة [ErrorBarType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbartype/) و[ErrorBarValueType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarvaluetype/). \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md index 707e09bede..7aa0547d7e 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md @@ -1,90 +1,104 @@ --- -title: خط الاتجاه +title: إضافة خطوط الاتجاه إلى مخططات العرض التقديمي في Python +linktitle: خط الاتجاه type: docs url: /ar/python-net/trend-line/ -keywords: "خط الاتجاه، خط مخصص عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "إضافة خط اتجاه وخط مخصص إلى عروض PowerPoint في بايثون" +keywords: +- مخطط +- خط الاتجاه +- خط اتجاه أسي +- خط اتجاه خطي +- خط اتجاه لوغاريتمي +- خط اتجاه متوسط متحرك +- خط اتجاه متعدد الحدود +- خط اتجاه أسّي +- خط اتجاه مخصص +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "أضف وخصص خطوط الاتجاه بسرعة في مخططات PowerPoint و OpenDocument باستخدام Aspose.Slides for Python عبر .NET — دليل عملي وأمثلة شفرة لتحسين دقة التنبؤ وجذب جمهورك." --- -## **إضافة خط اتجاه** -توفر Aspose.Slides لبايثون عبر .NET واجهة برمجة تطبيقات بسيطة لإدارة خطوط الاتجاه المختلفة في المخططات: +## **إضافة خط الاتجاه** +Aspose.Slides for Python عبر .NET توفر واجهة برمجة تطبيقات بسيطة لإدارة خطوط الاتجاه المختلفة في المخططات: -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. الحصول على مرجع الشريحة باستخدام فهرسها. -1. إضافة مخطط مع بيانات افتراضية إلى جانب أي نوع مرغوب (هذا المثال يستخدم ChartType.CLUSTERED_COLUMN). -1. إضافة خط اتجاه أسي لسلسلة المخطط 1. -1. إضافة خط اتجاه خطي لسلسلة المخطط 1. -1. إضافة خط اتجاه لوغاريتمي لسلسلة المخطط 2. -1. إضافة خط اتجاه متوسط متحرك لسلسلة المخطط 2. -1. إضافة خط اتجاه متعدد الحدود لسلسلة المخطط 3. -1. إضافة خط اتجاه قوى لسلسلة المخطط 3. -1. كتابة العرض التقديمي المعدل إلى ملف PPTX. +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. الحصول على مرجع الشريحة باستخدام فهرسها. +3. إضافة مخطط ببيانات افتراضية مع أي نوع مرغوب (هذا المثال يستخدم ChartType.CLUSTERED_COLUMN). +4. إضافة خط اتجاه أسي للسلسلة 1 في المخطط. +5. إضافة خط اتجاه خطّي للسلسلة 1 في المخطط. +6. إضافة خط اتجاه لوغاريتمي للسلسلة 2 في المخطط. +7. إضافة خط اتجاه متوسط متحرك للسلسلة 2 في المخطط. +8. إضافة خط اتجاه متعدد الحدود للسلسلة 3 في المخطط. +9. إضافة خط اتجاه قوّي للسلسلة 3 في المخطط. +10. حفظ العرض التقديمي المعدل إلى ملف PPTX. الكود التالي يستخدم لإنشاء مخطط مع خطوط الاتجاه. - ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# إنشاء عرض تقديمي فارغ -with slides.Presentation() as pres: + # إنشاء عرض تقديمي فارغ + with slides.Presentation() as pres: + + # إنشاء مخطط عمود مجمع + chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) + + # إضافة خط اتجاه أسي للسلسلة 1 + tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) + tredLinep.display_equation = False + tredLinep.display_r_squared_value = False + + # إضافة خط اتجاه خطي للسلسلة 1 + tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) + tredLineLin.trendline_type = charts.TrendlineType.LINEAR + tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID + tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red + + + # إضافة خط اتجاه لوغاريتمي للسلسلة 2 + tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) + tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC + tredLineLog.add_text_frame_for_overriding("New log trend line") + + # إضافة خط اتجاه متوسط متحرك للسلسلة 2 + tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) + tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE + tredLineMovAvg.period = 3 + tredLineMovAvg.trendline_name = "New TrendLine Name" + + # إضافة خط اتجاه متعدد الحدود للسلسلة 3 + tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) + tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL + tredLinePol.forward = 1 + tredLinePol.order = 3 + + # إضافة خط اتجاه أسّي للسلسلة 3 + tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) + tredLinePower.trendline_type = charts.TrendlineType.POWER + tredLinePower.backward = 1 - # إنشاء مخطط عمودي مجمع - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) - - # إضافة خط اتجاه أسي لسلسلة المخطط 1 - tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) - tredLinep.display_equation = False - tredLinep.display_r_squared_value = False - - # إضافة خط اتجاه خطي لسلسلة المخطط 1 - tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) - tredLineLin.trendline_type = charts.TrendlineType.LINEAR - tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID - tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red - - - # إضافة خط اتجاه لوغاريتمي لسلسلة المخطط 2 - tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) - tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC - tredLineLog.add_text_frame_for_overriding("خط الاتجاه اللوغاريتمي الجديد") - - # إضافة خط اتجاه متوسط متحرك لسلسلة المخطط 2 - tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) - tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE - tredLineMovAvg.period = 3 - tredLineMovAvg.trendline_name = "اسم خط الاتجاه الجديد" - - # إضافة خط اتجاه متعدد الحدود لسلسلة المخطط 3 - tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) - tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL - tredLinePol.forward = 1 - tredLinePol.order = 3 - - # إضافة خط اتجاه قوى لسلسلة المخطط 3 - tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) - tredLinePower.trendline_type = charts.TrendlineType.POWER - tredLinePower.backward = 1 - - # حفظ العرض التقديمي - pres.save("Charttrend_lines_out.pptx", slides.export.SaveFormat.PPTX) + # حفظ العرض التقديمي + pres.save("Charttrend_lines_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **إضافة خط مخصص** -توفر Aspose.Slides لبايثون عبر .NET واجهة برمجة تطبيقات بسيطة لإضافة خطوط مخصصة في مخطط. لإضافة خط عادي بسيط إلى شريحة مختارة من العرض التقديمي، يرجى اتباع الخطوات أدناه: +Aspose.Slides for Python عبر .NET توفر واجهة برمجة تطبيقات بسيطة لإضافة خطوط مخصصة في المخطط. لإضافة خط بسيط إلى شريحة مختارة من العرض التقديمي، يرجى اتباع الخطوات التالية: -- إنشاء مثيل من فئة Presentation -- الحصول على مرجع شريحة باستخدام فهرسها -- إنشاء مخطط جديد باستخدام طريقة AddChart المعروضة بواسطة كائن Shapes -- إضافة شكل أوتوماتيكي من نوع خط باستخدام طريقة AddAutoShape المعروضة بواسطة كائن Shapes -- تعيين لون شكل الخطوط. -- كتابة العرض التقديمي المعدل كملف PPTX +- إنشاء نسخة من الفئة Presentation +- الحصول على مرجع شريحة باستخدام الفهرس الخاص بها +- إنشاء مخطط جديد باستخدام طريقة AddChart المتوفرة في كائن Shapes +- إضافة AutoShape من نوع خط باستخدام طريقة AddAutoShape المتوفرة في كائن Shapes +- تعيين لون خطوط الشكل. +- حفظ العرض التقديمي المعدل كملف PPTX الكود التالي يستخدم لإنشاء مخطط مع خطوط مخصصة. - ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -96,4 +110,15 @@ with slides.Presentation() as pres: shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red pres.save("AddCustomLines.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**ماذا يعني 'forward' و 'backward' لخط الاتجاه؟** + +إنهما أطوال خط الاتجاه الممتدة إلى الأمام/الخلف: للمخططات المبعثرة (XY) — بوحدات المحور؛ للمخططات غير المبعثرة — بعدد الفئات. يُسمح فقط بالقيم غير السالبة. + +**هل سيُحافظ على خط الاتجاه عند تصدير العرض التقديمي إلى PDF أو SVG، أو عند تحويل شريحة إلى صورة؟** + +نعم. تقوم Aspose.Slides بتحويل العروض التقديمية إلى [PDF](/slides/ar/python-net/convert-powerpoint-to-pdf/)/[SVG](/slides/ar/python-net/render-a-slide-as-an-svg-image/) وتُصوّر المخططات كصور؛ خطوط الاتجاه، كجزء من المخطط، تُحافظ عليها هذه العمليات. كما تتوفر طريقة لـ[تصدير صورة للمخطط](/slides/ar/python-net/create-shape-thumbnails/) نفسه. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md index e1f1d45a9f..3f61d32fe6 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md @@ -1,59 +1,67 @@ --- -title: الرسم البياني ثلاثي الأبعاد +title: تخصيص المخططات ثلاثية الأبعاد في العروض التقديمية باستخدام بايثون +linktitle: مخطط 3D type: docs url: /ar/python-net/3d-chart/ -keywords: "رسم بياني ثلاثي الأبعاد, rotationX, rotationY, depthpercent, عرض PowerPoint, Python, Aspose.Slides لـ Python عبر .NET" -description: "تعيين rotationX و rotationY و depthpercents للرسم البياني ثلاثي الأبعاد في عرض PowerPoint في Python" +keywords: +- مخطط ثلاثي الأبعاد +- دوران +- عمق +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية إنشاء وتخصيص المخططات ثلاثية الأبعاد في Aspose.Slides للبايثون عبر .NET، مع دعم ملفات PPT و PPTX و ODP—عزز عروضك التقديمية اليوم." --- -## **تعيين الخصائص RotationX و RotationY و DepthPercents للرسم البياني ثلاثي الأبعاد** -توفر Aspose.Slides لـ Python عبر .NET واجهة برمجة تطبيقات بسيطة لتعيين هذه الخصائص. ستساعدك المقالة التالية على كيفية تعيين خصائص مختلفة مثل دوران X و Y و **DepthPercents** وما إلى ذلك. يقوم الكود النموذجي بتطبيق الإعدادات المذكورة أعلاه. - -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. الوصول إلى الشريحة الأولى. -1. إضافة رسم بياني مع بيانات افتراضية. -1. تعيين خصائص Rotation3D. -1. كتابة العرض المعدل إلى ملف PPTX. +## **ضبط خصائص RotationX و RotationY و DepthPercents لمخطط ثلاثي الأبعاد** +توفر Aspose.Slides for Python عبر .NET واجهة برمجة تطبيقات بسيطة لضبط هذه الخصائص. سيساعدك المقال التالي على تعيين خصائص مختلفة مثل دوران X، دوران Y، **DepthPercents** وغيرها. يطبق مثال الشيفرة ضبط الخصائص المذكورة أعلاه. +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الوصول إلى الشريحة الأولى. +3. إضافة مخطط ببيانات افتراضية. +4. ضبط خصائص Rotation3D. +5. كتابة العرض التقديمي المعدل إلى ملف PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Create an instance of Presentation class +# إنشاء نسخة من فئة Presentation with slides.Presentation() as presentation: - # Access first slide + # الوصول إلى الشريحة الأولى slide = presentation.slides[0] - # Add chart with default data + # إضافة مخطط ببيانات افتراضية chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN_3D, 0, 0, 500, 500) - # Setting the index of chart data sheet + # تحديد فهرس ورقة بيانات المخطط defaultWorksheetIndex = 0 - # Getting the chart data worksheet + # الحصول على ورقة عمل بيانات المخطط fact = chart.chart_data.chart_data_workbook - # Add series + # إضافة سلسلة chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type) chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type) - # Add Catrgories + # إضافة فئات chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")) chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")) chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")) - # Set Rotation3D properties + # ضبط خصائص Rotation3D chart.rotation_3d.right_angle_axes = True chart.rotation_3d.rotation_x = 40 chart.rotation_3d.rotation_y = 270 chart.rotation_3d.depth_percents = 150 - # Take second chart series + # اختيار السلسلة الثانية للمخطط series = chart.chart_data.series[1] - # Now populating series data + # الآن تعبئة بيانات السلسلة series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) @@ -61,9 +69,24 @@ with slides.Presentation() as presentation: series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60)) - # Set OverLap value + # ضبط قيمة OverLap series.parent_series_group.overlap = 100 - # Write presentation to disk + # كتابة العرض التقديمي إلى القرص presentation.save("Rotation3D_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**ما أنواع المخططات التي تدعم وضع 3D في Aspose.Slides؟** + +يدعم Aspose.Slides صيغ 3D لمخططات الأعمدة، بما فيها Column 3D، Clustered Column 3D، Stacked Column 3D، و100% Stacked Column 3D، بالإضافة إلى الأنواع الثلاثية الأبعاد ذات الصلة التي تُعرض عبر تعداد [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/). للحصول على قائمة دقيقة ومحدثة، راجع أعضاء [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) في مرجع API للإصدار المثبت لديك. + +**هل يمكنني الحصول على صورة نقطية لمخطط 3D لتقرير أو للويب؟** + +نعم. يمكنك تصدير المخطط إلى صورة عبر [chart API](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) أو [تحويل الشريحة بالكامل](/slides/ar/python-net/convert-powerpoint-to-png/) إلى صيغ مثل PNG أو JPEG. هذا مفيد عندما تحتاج إلى معاينة دقيقة بالبكسل أو تريد تضمين المخطط في وثائق أو لوحات معلومات أو صفحات ويب دون الحاجة إلى PowerPoint. + +**ما مدى كفاءة بناء وعرض مخططات 3D الكبيرة؟** + +تعتمد الأداء على حجم البيانات وتعقيد العناصر البصرية. للحصول على أفضل النتائج، حافظ على الحد الأدنى من تأثيرات 3D، تجنب القوام الثقيلة على الجدران ومساحات الرسم، قلل عدد نقاط البيانات لكل سلسلة قدر الإمكان، وقم بالإخراج بدقة وأبعاد مناسبة تتماشى مع شاشة العرض أو متطلبات الطباعة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md index 8558e77705..4ee9c8350e 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md @@ -1,14 +1,23 @@ --- -title: رسم بياني فقاعة +title: تخصيص مخططات الفقاعات في العروض التقديمية باستخدام بايثون +linktitle: مخطط الفقاعات type: docs url: /ar/python-net/bubble-chart/ -keywords: "رسم بياني فقاعة، حجم الرسم البياني، عرض تقديمي لـ PowerPoint، Python، Aspose.Slides لـ Python عبر .NET" -description: "حجم الرسم البياني الفقاعة في عروض PowerPoint التقديمية باستخدام Python" +keywords: +- مخطط الفقاعات +- حجم الفقاعة +- تحجيم الحجم +- تمثيل الحجم +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "إنشاء وتخصيص مخططات فقاعات قوية في PowerPoint وOpenDocument باستخدام Aspose.Slides for Python via .NET لتعزيز تصور البيانات بسهولة." --- -## **تغيير حجم رسم بياني فقاعة** -توفر Aspose.Slides لـ Python عبر .NET دعمًا لتغيير حجم رسم بياني الفقاعة. تم إضافة خصائص **ChartSeries.bubble_size_scale** و **ChartSeriesGroup.bubble_size_scale**. أدناه مثال توضيحي. - +## **تحجيم حجم مخطط الفقاعات** +توفر Aspose.Slides for Python via .NET دعمًا لتحجيم حجم مخطط الفقاعات. في Aspose.Slides for Python via .NET تم إضافة خصائص **ChartSeries.bubble_size_scale** و **ChartSeriesGroup.bubble_size_scale**. أدناه مثال توضيحي. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -22,9 +31,9 @@ with slides.Presentation() as pres: -## **تمثيل البيانات كأحجام لرسم بياني فقاعة** -تمت إضافة خاصية **bubble_size_representation** إلى فئات ChartSeries و ChartSeriesGroup. تحدد **bubble_size_representation** كيفية تمثيل قيم حجم الفقاعة في الرسم البياني الفقاعة. القيم الممكنة هي: **BubbleSizeRepresentationType.AREA** و **BubbleSizeRepresentationType.WIDTH**. بناءً عليه، تم إضافة تعداد **BubbleSizeRepresentationType** لتحديد الطرق الممكنة لتمثيل البيانات كأحجام لرسم بياني فقاعة. الكود التوضيحي موضح أدناه. +## **تمثيل البيانات كأحجام مخطط الفقاعات** +تمت إضافة الخاصية **bubble_size_representation** إلى فئات ChartSeries و ChartSeriesGroup. تحدد **bubble_size_representation** كيفية تمثيل قيم حجم الفقاعات في مخطط الفقاعات. القيم المحتملة هي: **BubbleSizeRepresentationType.AREA** و **BubbleSizeRepresentationType.WIDTH**. بناءً على ذلك، تمت إضافة تعداد **BubbleSizeRepresentationType** لتحديد الطرق المحتملة لتمثيل البيانات كأحجام مخطط الفقاعات. تم توفير عينة من الشيفرة أدناه. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -33,4 +42,19 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True) chart.chart_data.series_groups[0].bubble_size_representation = charts.BubbleSizeRepresentationType.WIDTH pres.save("Presentation_BubbleSizeRepresentation.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يتم دعم "مخطط الفقاعات مع تأثير ثلاثي الأبعاد"، وكيف يختلف عن المخطط العادي؟** + +نعم. هناك نوع مخطط منفصل يسمى "Bubble with 3-D". يطبق تنسيقًا ثلاثي الأبعاد على الفقاعات لكنه لا يضيف محورًا إضافيًا؛ تبقى البيانات X-Y-S (الحجم). النوع متاح في تعداد [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/). + +**هل هناك حد لعدد السلاسل والنقاط في مخطط الفقاعات؟** + +ليس هناك حد صارم على مستوى واجهة برمجة التطبيقات؛ يتم تحديد القيود بناءً على الأداء وإصدار PowerPoint المستهدف. يُنصح بالحفاظ على عدد النقاط معقولًا لتسهيل القراءة وسرعة العرض. + +**كيف سيؤثر التصدير على مظهر مخطط الفقاعات (PDF، صور)؟** + +يحافظ التصدير إلى الصيغ المدعومة على مظهر المخطط؛ يتم عملية العرض بواسطة محرك Aspose.Slides. بالنسبة إلى الصيغ النقطية/الخطية، تُطبق قواعد العرض العامة للرسومات (الدقة، مضاد التعرجات)، لذا اختر DPI كافي للطباعة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md index a3f0c825dc..cdb126ca74 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md @@ -1,91 +1,117 @@ --- -title: نقاط بيانات خريطة الشجرة ورسم الشمس +title: تخصيص نقاط البيانات في مخططات Treemap و Sunburst باستخدام Python +linktitle: نقاط البيانات في مخططات Treemap و Sunburst type: docs url: /ar/python-net/data-points-of-treemap-and-sunburst-chart/ -keywords: "رسم الشمس، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "إضافة رسم الشمس في عرض PowerPoint باستخدام بايثون" +keywords: +- مخطط treemap +- مخطط sunburst +- نقطة بيانات +- لون التسمية +- لون الفرع +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعرف على كيفية إدارة نقاط البيانات في مخططات treemap و sunburst باستخدام Aspose.Slides for Python عبر .NET، ومتوافق مع تنسيقات PowerPoint و OpenDocument." --- -من بين أنواع الرسوم البيانية في PowerPoint الأخرى، هناك نوعان "هرميان" - **خريطة الشجرة** و **رسم الشمس** (المعروف أيضًا باسم رسم الشمس، مخطط الشمس، الرسم الشعاعي أو مخطط الفطيرة متعدد المستويات). تعرض هذه الرسوم البيانية بيانات هرمية منظمة كشجرة - من الأوراق إلى قمة الفرع. يتم تعريف الأوراق بواسطة نقاط بيانات السلسلة، وكل مستوى تجميع متداخل لاحق يتم تعريفه بواسطة الفئة المقابلة. يسمح Aspose.Slides لبايثون عبر .NET بتنسيق نقاط بيانات رسم الشمس وخريطة الشجرة في بايثون. +## **المقدمة** -إليك رسم شمس، حيث تحدد البيانات في عمود Series1 العقدة الورقية، بينما تحدد الأعمدة الأخرى نقاط البيانات الهرمية: - -![todo:image_alt_text](https://lh6.googleusercontent.com/TSSU5O7SLOi5NZD9JaubhgGU1QU5tYKc23RQX_cal3tlz5TpOvsgUFLV_rHvruwN06ft1XYgsLhbeEDXzVqdAybPIbpfGy-lwoQf_ydxDwcjAeZHWfw61c4koXezAAlEeCA7x6BZ) - -لنبدأ بإضافة رسم شمس جديد إلى العرض: +إلى جانب أنواع مخططات PowerPoint الأخرى، هناك نوعان هرميان — **Treemap** و **Sunburst** (المعروف أيضًا باسم مخطط Sunburst، مخطط Sunburst، مخطط شعاعي، رسم بياني شعاعي، أو مخطط فطيرة متعدد المستويات). تعرض هذه المخططات بيانات هرمية منظمة كشجرة — من الأوراق إلى أعلى الفرع. تُعرف الأوراق بنقاط بيانات السلسلة، ويُحدد كل مستوى تجميع متداخل لاحق بالفئة المقابلة. يسمح Aspose.Slides for Python via .NET لك بتنسيق نقاط بيانات مخططات Sunburst و Treemap في Python. +إليك مثال على مخطط Sunburst حيث تُعرّف البيانات في عمود Series1 عقد الأوراق، بينما تُعرّف الأعمدة الأخرى نقاط البيانات الهرمية: +![مثال على مخطط Sunburst](sunburst_example.png) +لنبدأ بإضافة مخطط Sunburst جديد إلى العرض التقديمي: ```py -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) ``` -{{% alert color="primary" title="انظر أيضًا" %}} -- [**إنشاء رسم شمس**](/slides/ar/python-net/adding-charts/#addingcharts-creatingsunburstchart) + +{{% alert color="primary" title="انظر أيضًا" %}} +- [**إنشاء مخططات Sunburst**](/slides/ar/python-net/create-chart/#create-sunburst-charts) {{% /alert %}} +إذا كنت بحاجة إلى تنسيق نقاط بيانات المخطط، استخدم واجهات برمجة التطبيقات التالية: -إذا كانت هناك حاجة لتنسيق نقاط بيانات الرسم، يجب علينا استخدام ما يلي: - -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/)،  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) الصفوف  -و [**IChartDataPoint.DataPointLevels**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapoint/) الخاصية  -تقدم الوصول لتنسيق نقاط بيانات خريطة الشجرة ورسم الشمس.  -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/) -تستخدم للوصول إلى الفئات متعددة المستويات - يمثل الحاوية لـ  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) الكائنات. -بشكل أساسي هي غلاف لـ  -[**IChartCategoryLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartCategoryLevelsManager/) مع -الخصائص المضافة المحددة لنقاط البيانات.  -لدى [**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) صفان: [**Format**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) و  -[**DataLabel** ](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) والتي -تقدم الوصول إلى الإعدادات المقابلة. -## **عرض قيمة نقطة البيانات** -عرض قيمة نقطة البيانات "Leaf 4": +[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/)، [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/)، وخاصية [ChartDataPoint.data_point_levels](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapoint/data_point_levels/). تُتيح لك الوصول إلى تنسيق نقاط البيانات في مخططات Treemap و Sunburst. يُستخدم ChartDataPointLevelsManager للوصول إلى الفئات متعددة المستويات؛ فهو يمثل حاوية لكائنات ChartDataPointLevel. وهو في الأساس غلاف حول ChartCategoryLevelsManager مع خصائص إضافية خاصة بنقاط البيانات. نوع ChartDataPointLevel يكشف عن خاصيتين — [format](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/format/) و [label](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/label/) — واللتان توفران الوصول إلى الإعدادات المقابلة. +## **عرض قيم نقاط البيانات** +يوضح هذا القسم كيفية عرض القيمة لنقطة بيانات فردية في مخططات Treemap و Sunburst. ستتعرف على كيفية تمكين تسميات القيم للنقاط المحددة. +عرض قيمة نقطة البيانات "Leaf 4": ```py - dataPoints = chart.chart_data.series[0].data_points - dataPoints[3].data_point_levels[0].label.data_label_format.show_value = True +data_points = chart.chart_data.series[0].data_points +data_points[3].data_point_levels[0].label.data_label_format.show_value = True ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/bKHMf5Bj37ZkMwUE1OfXjw7_CRmDhafhQOUuVWDmitwbtdkwD68ibWluY6Q1HQz_z2Q-BR_SBrBPZ_gID5bGH0PUqI5w37S22RT-ZZal6k7qIDstKntYi5QXS8z-SgpnsI78WGiu) -## **تعيين تسمية نقطة البيانات واللون** -تعيين تسمية البيانات "Branch 1" لعرض اسم السلسلة ("Series1") بدلاً من اسم الفئة. ثم تعيين لون النص إلى الأصفر: +![قيمة نقطة البيانات](data_point_value.png) + +## **ضبط التسميات والألوان لنقاط البيانات** +يوضح هذا القسم كيفية تعيين تسميات وألوان مخصصة لنقطة بيانات فردية في مخططات Treemap و Sunburst. ستتعلم كيفية الوصول إلى نقطة بيانات محددة، وتعيين تسمية، وتطبيق تعبئة صلبة لتسليط الضوء على العقد المهمة. +ضبط تسمية البيانات "Branch 1" لعرض اسم السلسلة ("Series1") بدلاً من اسم الفئة، ثم تعيين لون النص إلى أصفر: ```py - branch1Label = dataPoints[0].data_point_levels[2].label - branch1Label.data_label_format.show_category_name = False - branch1Label.data_label_format.show_series_name = True +branch1_label = data_points[0].data_point_levels[2].label +branch1_label.data_label_format.show_category_name = False +branch1_label.data_label_format.show_series_name = True - branch1Label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID - branch1Label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow +branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID +branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/I9g0kewJnxkhUVlfSWRN39Ng-wzjWyRwF3yTbOD9HhLTLBt_sMJiEfDe7vOfqRNx89o9AVZsYTW3Vv_TIuj4EgM4_UEEi7zQ3jdvaO8FoG2JcsOqNRgbiE5HQZNz8xx_q9qdj8JQ) -## **تعيين لون فرع نقطة البيانات** -تغيير لون فرع "Stem 4": +![تسمية ولون نقطة البيانات](data_point_color.png) + +## **ضبط ألوان الفروع لنقاط البيانات** + +استخدم ألوان الفروع للتحكم في كيفية تجميع العقد الأصلية والفرعية بصريًا في مخططات Treemap و Sunburst. يوضح هذا القسم كيفية تعيين لون فرع مخصص لنقطة بيانات معينة لتسليط الضوء على الأشجار الفرعية المهمة وتحسين قابلية قراءة المخطط. +تغيير لون فرع "Stem 4": ```py -import aspose.slides.charts as charts import aspose.slides as slides +import aspose.slides.charts as charts import aspose.pydrawing as draw -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) - dataPoints = chart.chart_data.series[0].data_points +with slides.Presentation() as presentation: + slide = presentation.slides[0] - stem4branch = dataPoints[9].data_point_levels[1] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) + data_points = chart.chart_data.series[0].data_points + + stem4_branch = data_points[9].data_point_levels[1] - stem4branch.format.fill.fill_type = slides.FillType.SOLID - stem4branch.format.fill.solid_fill_color.color = draw.Color.red + stem4_branch.format.fill.fill_type = slides.FillType.SOLID + stem4_branch.format.fill.solid_fill_color.color = draw.Color.red - pres.save("pres.pptx", slides.export.SaveFormat.PPTX) + presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX) ``` -![todo:image_alt_text](https://lh5.googleusercontent.com/Zll4cpQ5tTDdgwmJ4yuupolfGaANR8SWWTU3XaJav_ZVXVstV1pI1z1OFH-gov6FxPoDz1cxmMyrgjsdYGS24PlhaYa2daKzlNuL1a0xYcqEiyyO23AE6JMOLavWpvqA6SzOCA6_) + +![لون الفرع](branch_color.png) + +## **الأسئلة المتكررة** + +**هل يمكنني تغيير ترتيب (فرز) المقاطع في مخطط Sunburst/Treemap؟** + +لا. يقوم PowerPoint بفرز المقاطع تلقائيًا (عادةً حسب القيم المتناقصة، باتجاه عقارب الساعة). يطابق Aspose.Slides هذا السلوك: لا يمكنك تغيير الترتيب مباشرة؛ يمكنك تحقيق ذلك عبر معالجة البيانات مسبقًا. + +**كيف يؤثر سمة العرض التقديمي على ألوان المقاطع والتسميات؟** + +ترث ألوان المخطط سمة/لوحة ألوان العرض التقديمي ما لم تقم بتعيين التعبئات/الخطوط صراحةً. للحصول على نتائج متسقة، احرص على تثبيت التعبئات الصلبة وتنسيق النص في المستويات المطلوبة. + +**هل سيحافظ التصدير إلى PDF/PNG على ألوان الفروع المخصصة وإعدادات التسميات؟** + +نعم. عند تصدير العرض التقديمي، تُحفظ إعدادات المخطط (التعبئات، التسميات) في صيغ الإخراج لأن Aspose.Slides يقوم بتصوير المخطط مع تطبيق تنسيقه. + +**هل يمكنني حساب الإحداثيات الفعلية لتسمية/عنصر من أجل وضع طبقة تغطية مخصصة فوق المخطط؟** + +نعم. بعد التحقق من تخطيط المخطط، تتوفر `actual_x`/`actual_y` للعناصر (على سبيل المثال، [DataLabel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/datalabel/))، مما يساعد في وضع الطبقات بدقة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md index 877d55d0d2..152e1b9daa 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md @@ -1,22 +1,30 @@ --- -title: مخطط الدونات +title: تخصيص مخططات الدونات في العروض التقديمية باستخدام بايثون +linktitle: مخطط الدونات type: docs weight: 30 url: /ar/python-net/doughnut-chart/ -keywords: "مخطط الدونات, فتحة مركزية, تقديم PowerPoint, بايثون, Aspose.Slides لـ Python عبر .NET" -description: "حدد الفتحة المركزية في مخطط الدونات في تقديم PowerPoint في بايثون" +keywords: +- مخطط الدونات +- الفجوة المركزية +- حجم الفتحة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "اكتشف كيفية إنشاء وتخصيص مخططات الدونات في Aspose.Slides لبايثون عبر .NET، مع دعم صيغ PowerPoint و OpenDocument للعروض التقديمية الديناميكية." --- -## **حدد الفتحة المركزية في مخطط الدونات** -لتحديد حجم الفتحة في مخطط الدونات. يرجى اتباع الخطوات التالية: +## **تحديد الفجوة المركزية في مخطط الدونات** +لتحديد حجم الفتحة في مخطط الدونات، يرجى اتباع الخطوات أدناه: -- أنشئ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- أضف مخطط الدونات على الشريحة. -- حدد حجم الفتحة في مخطط الدونات. -- اكتب العرض التقديمي على القرص. +- إنشاء مثيل لفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +- إضافة مخطط دونات إلى الشريحة. +- تحديد حجم الفتحة في مخطط الدونات. +- كتابة العرض التقديمي إلى القرص. في المثال المعطى أدناه، قمنا بتعيين حجم الفتحة في مخطط الدونات. - ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -27,6 +35,18 @@ with slides.Presentation() as presentation: chart = presentation.slides[0].shapes.add_chart(charts.ChartType.DOUGHNUT, 50, 50, 400, 400) chart.chart_data.series_groups[0].doughnut_hole_size = 90 - # كتابة العرض التقديمي على القرص + # كتابة العرض التقديمي إلى القرص presentation.save("DoughnutHoleSize_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني إنشاء دونات متعددة المستويات مع حلقات متعددة؟** +نعم. أضف سلاسل متعددة إلى مخطط دونات واحد—كل سلسلة تصبح حلقة منفصلة. يتم تحديد ترتيب الحلقات بناءً على ترتيب السلاسل في المجموعة. + +**هل يتم دعم الدونات "المتفجرة" (شرائح منفصلة)؟** +نعم. هناك نوع مخطط Donut متفجرة [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) وخصية انفجار على نقاط البيانات؛ يمكنك فصل الشرائح الفردية. + +**كيف يمكنني الحصول على صورة لمخطط الدونات (PNG/SVG) لتقرير؟** +المخطط هو شكل؛ يمكنك تحويله إلى [raster image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) أو تصدير المخطط إلى [SVG image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/). \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md index 7d10564f90..1c6d24155d 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md @@ -1,102 +1,127 @@ --- -title: مخطط دائري +title: تخصيص مخططات الفطيرة في العروض التقديمية باستخدام Python +linktitle: مخطط الفطيرة type: docs url: /ar/python-net/pie-chart/ -keywords: "مخطط دائري، خيارات المخطط، ألوان الشرائح، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "خيارات مخطط دائري وألوان الشرائح في عرض PowerPoint باستخدام بايثون" +keywords: +- مخطط الفطيرة +- إدارة المخطط +- تخصيص المخطط +- خيارات المخطط +- إعدادات المخطط +- خيارات الرسم +- لون الشريحة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعرف على كيفية إنشاء وتخصيص مخططات الفطيرة باستخدام Python مع Aspose.Slides، وقابلة للتصدير إلى PowerPoint وOpenDocument، مما يعزز سرد البيانات الخاص بك في ثوانٍ." --- -## **خيارات المخطط الثانية لمخطط دائري من دائري ومخطط دائري من شريطي** -يدعم Aspose.Slides لبايثون عبر .NET الآن خيارات المخطط الثانية لمخطط دائري من دائري أو مخطط دائري من شريطي. في هذا الموضوع، سنرى مع مثال كيفية تحديد هذه الخيارات باستخدام Aspose.Slides. من أجل تحديد الخصائص، يرجى اتباع الخطوات أدناه: +## **خيارات الرسم الثانوي لفطيرة الفطيرة وبار الفطيرة** +Aspose.Slides for Python via .NET الآن يدعم خيارات الرسم الثانوي لمخطط Pie of Pie أو Bar of Pie. في هذا الموضوع، سنستعرض مثالاً يوضح كيفية تحديد هذه الخيارات باستخدام Aspose.Slides. لتحديد الخصائص، يرجى اتباع الخطوات التالية: -1. أنشئ كائن من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . -1. أضف المخطط إلى الشريحة. -1. حدد خيارات المخطط الثانية للمخطط. -1. احفظ العرض على القرص. - -في المثال المقدم أدناه، قمنا بتعيين خصائص مختلفة لمخطط دائري من دائري. +1. إنشاء كائن من فئة [العرض](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. إضافة مخطط إلى الشريحة. +1. تحديد خيارات الرسم الثانوي للمخطط. +1. كتابة العرض إلى القرص. +في المثال أدناه، قمنا بتعيين خصائص مختلفة لمخطط Pie of Pie. ```py import aspose.slides.charts as charts import aspose.slides as slides -# Create an instance of Presentation class +# إنشاء مثيل لفئة Presentation with slides.Presentation() as presentation: - # Add chart on slide + # إضافة مخطط إلى الشريحة chart = presentation.slides[0].shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 500, 400) - # Set different properties + # تعيين خصائص مختلفة chart.chart_data.series[0].labels.default_data_label_format.show_value = True chart.chart_data.series[0].parent_series_group.second_pie_size = 149 chart.chart_data.series[0].parent_series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE chart.chart_data.series[0].parent_series_group.pie_split_position = 53 - # Write presentation to disk + # كتابة العرض إلى القرص presentation.save("SecondPlotOptionsforCharts_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **ضبط ألوان شرائح المخطط الدائري التلقائية** -يوفر Aspose.Slides لبايثون عبر .NET واجهة برمجة تطبيقات بسيطة لضبط ألوان شرائح المخطط الدائري التلقائية. يقوم الرمز التجريبي بتطبيق إعداد الخصائص المذكورة أعلاه. -1. أنشئ كائن من فئة Presentation. + + +## **تعيين ألوان شرائح مخطط الفطيرة تلقائيًا** +Aspose.Slides for Python via .NET توفر واجهة برمجة تطبيقات بسيطة لتعيين ألوان شرائح مخطط الفطيرة تلقائيًا. يطبق رمز العينة الإعدادات المذكورة أعلاه. + +1. إنشاء نسخة من فئة Presentation. 1. الوصول إلى الشريحة الأولى. -1. إضافة مخطط مع البيانات الافتراضية. +1. إضافة مخطط ببيانات افتراضية. 1. تعيين عنوان المخطط. 1. تعيين السلسلة الأولى لعرض القيم. 1. تعيين فهرس ورقة بيانات المخطط. 1. الحصول على ورقة بيانات المخطط. -1. حذف السلاسل والفئات المُولَّدة تلقائيًا. +1. حذف السلاسل والفئات التي تم إنشاؤها افتراضيًا. 1. إضافة فئات جديدة. -1. إضافة سلاسل جديدة. - -احفظ العرض المعدل في ملف PPTX. +1. إضافة سلسلة جديدة. +اكتب العرض المعدل إلى ملف PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Instantiate Presentation class that represents PPTX file +# إنشاء كائن من فئة Presentation التي تمثل ملف PPTX with slides.Presentation() as presentation: - # Access first slide + # الوصول إلى الشريحة الأولى slide = presentation.slides[0] - # Add chart with default data + # إضافة مخطط ببيانات افتراضية chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) - # Setting chart Title - chart.chart_title.add_text_frame_for_overriding("عنوان عينة") + # تعيين عنوان المخطط + chart.chart_title.add_text_frame_for_overriding("Sample Title") chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1 chart.chart_title.height = 20 chart.has_title = True - # Set first series to Show Values + # تعيين السلسلة الأولى لعرض القيم chart.chart_data.series[0].labels.default_data_label_format.show_value = True - # Setting the index of chart data sheet + # تعيين فهرس ورقة بيانات المخطط defaultWorksheetIndex = 0 - # Getting the chart data worksheet + # الحصول على ورقة عمل بيانات المخطط fact = chart.chart_data.chart_data_workbook - # Delete default generated series and categories + # حذف السلاسل والفئات التي تم إنشاؤها افتراضيًا chart.chart_data.series.clear() chart.chart_data.categories.clear() - # Adding new categories - chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "الربع الأول")) - chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "الربع الثاني")) - chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "الربع الثالث")) + # إضافة فئات جديدة + chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr")) - # Adding new series - series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "السلسلة 1"), chart.type) + # إضافة سلسلة جديدة + series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type) - # Now populating series data + # الآن يتم ملء بيانات السلسلة series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) series.parent_series_group.is_color_varied = True presentation.save("Pie.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يتم دعم تنويعات 'Pie of Pie' و 'Bar of Pie'؟** + +نعم، المكتبة [تدعم](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) مخططًا ثانويًا لمخططات الفطيرة، بما في ذلك نوعي 'Pie of Pie' و 'Bar of Pie'. + +**هل يمكنني تصدير المخطط فقط كصورة (على سبيل المثال PNG)؟** + +نعم، يمكنك [تصدير المخطط نفسه كصورة](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) (مثل PNG) دون تصدير العرض بالكامل. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md index c4b4d74187..0c342df4d0 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md @@ -1,54 +1,72 @@ --- -title: صيغة جدول البيانات البيانية +title: تطبيق صيغ ورقة عمل المخطط في العروض التقديمية باستخدام بايثون +linktitle: صيغ ورقة العمل type: docs weight: 70 url: /ar/python-net/chart-worksheet-formulas/ -keywords: "جدول بيانات الرسم البياني، صيغة الرسم البياني، عرض PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "جدول بيانات الرسم البياني وصيغة في عرض PowerPoint باستخدام بايثون" +keywords: +- مخطط جدول البيانات +- ورقة عمل المخطط +- صيغة المخطط +- صيغة ورقة العمل +- صيغة جدول البيانات +- مصدر البيانات +- ثابت منطقي +- ثابت عددي +- ثابت نصي +- ثابت خطأ +- ثابت حسابي +- عامل مقارنة +- نمط A1 +- نمط R1C1 +- دالة معرفة مسبقًا +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تطبيق صيغ بنمط Excel في Aspose.Slides للـ Python عبر أوراق عمل المخطط في .NET وتوليد تقارير تلقائيًا عبر ملفات PPT و PPTX و ODP." --- - -## **حول صيغة جدول البيانات البيانية في العرض** -**جدول بيانات الرسم البياني** (أو ورقة عمل الرسم البياني) في العرض هو مصدر البيانات للرسم البياني. يحتوي جدول بيانات الرسم البياني على بيانات تمثل على الرسم البياني بشكل رسومي. عند إنشاء رسم بياني في PowerPoint، يتم أيضًا إنشاء ورقة العمل المرتبطة بهذا الرسم البياني تلقائيًا. تتوفر ورقة العمل الخاصة بالرسم البياني لجميع أنواع الرسوم البيانية: الرسم البياني الخطي، الرسم البياني الشريطي، الرسم البياني الشمسي، الرسم البياني الدائري، إلخ. لرؤية جدول بيانات الرسم البياني في PowerPoint، يجب النقر نقرًا مزدوجًا على الرسم البياني: +## **حول صيغة جدول البيانات للمخطط في العرض التقديمي** +**جدول بيانات المخطط** (أو ورقة عمل المخطط) في العرض التقديمي هو مصدر بيانات المخطط. جدول بيانات المخطط يحتوي على بيانات يتم تمثيلها على المخطط بطريقة رسومية. عند إنشاء مخطط في PowerPoint، يتم إنشاء ورقة العمل المرتبطة بهذا المخطط تلقائيًا أيضًا. يتم إنشاء ورقة عمل المخطط لجميع أنواع المخططات: مخطط خطي، مخطط شريطي، مخطط شمسية، مخطط دائري، إلخ. لعرض جدول بيانات المخطط في PowerPoint يجب النقر مزدوجًا على المخطط: ![todo:image_alt_text](chart-worksheet-formulas_1.png) -يحتوي جدول بيانات الرسم البياني على أسماء عناصر الرسم البياني (اسم الفئة: *الفئة1*، اسم السلسلة) وجدول ببيانات رقمية مناسبة لهذه الفئات والسلاسل. بشكل افتراضي، عند إنشاء رسم بياني جديد - يتم إعداد بيانات جدول بيانات الرسم البياني مع البيانات الافتراضية. بعد ذلك، يمكنك تغيير بيانات جدول البيانات في ورقة العمل يدويًا. +يحتوي جدول بيانات المخطط على أسماء عناصر المخطط (اسم الفئة: *Category1*، اسم السلسلة) وجدول ببيانات رقمية مناسبة لهذه الفئات والسلاسل. بشكل افتراضي، عندما تنشئ مخططًا جديدًا – يتم ضبط بيانات جدول بيانات المخطط على البيانات الافتراضية. ثم يمكنك تعديل بيانات جدول البيانات في ورقة العمل يدويًا. -عادةً ما يمثل الرسم البياني بيانات معقدة (مثل المحللين الماليين، والمحليين العلميين)، حيث تحتوي الخلايا على قيم محسوبة من القيم في خلايا أخرى أو من بيانات ديناميكية أخرى. حساب قيمة خلية يدويًا وترميزها بشكل ثابت في الخلية، يجعل من الصعب تغييرها في المستقبل. إذا قمت بتغيير قيمة خلية معينة، فإن جميع الخلايا المعتمدة عليها ستحتاج أيضًا إلى التحديث. علاوة على ذلك، قد تعتمد بيانات الجدول على بيانات من جداول أخرى، مما يخلق مخطط بيانات تقديمية معقدة يتطلب تحديثه بسهولة ومرونة. +عادةً ما يمثل المخطط بيانات معقدة (مثل المحللين الماليين أو العلماء)، حيث الخلايا محسوبة من القيم في خلايا أخرى أو من بيانات ديناميكية أخرى. حساب قيمة الخلية يدويًا وتثبيتها داخل الخلية يجعل من الصعب تغييرها في المستقبل. إذا قمت بتغيير قيمة خلية معينة، سيتوجب تحديث جميع الخلايا التابعة لها أيضًا. علاوة على ذلك، قد تعتمد بيانات الجدول على بيانات جداول أخرى، مما يخلق مخطط بيانات عرض تقديمي معقد يحتاج إلى تحديث سهل ومرن. -**صيغة جدول بيانات الرسم البياني** في العرض هي تعبير لحساب وتحديث بيانات جدول بيانات الرسم البياني تلقائيًا. تحدد صيغة جدول البيانات منطق حساب البيانات لخلية معينة أو مجموعة من الخلايا. صيغة جدول البيانات هي صيغة رياضية أو صيغة منطقيّة، تستخدم: مراجع الخلايا، وظائف رياضية، عوامل منطقية، عوامل حسابية، وظائف تحويل، ثوابت سلسلة، إلخ. يتم كتابة تعريف الصيغة في خلية، وهذه الخلية لا تحتوي على قيمة بسيطة. تقوم صيغة جدول البيانات بحساب القيمة وإرجاعها، ثم يتم تعيين هذه القيمة للخلية. صيغة جدول بيانات الرسم البياني في العروض هي في الواقع نفسها كصيغ Excel، وتدعم نفس الوظائف والعوامل والثوابت الافتراضية في تنفيذها. +**صيغة جدول بيانات المخطط** في العرض التقديمي هي تعبير لحساب وتحديث بيانات جدول بيانات المخطط تلقائيًا. تُعرّف صيغة جدول البيانات منطق حساب البيانات لخلية معينة أو مجموعة خلايا. صيغة جدول البيانات هي صيغة رياضية أو منطقية، تستخدم: مراجع الخلايا، الدوال الرياضية، العوامل المنطقية، العوامل الحسابية، دوال التحويل، الثوابت النصية، إلخ. تُكتب تعريف الصيغة داخل خلية، وهذه الخلية لا تحتوي على قيمة بسيطة. تقوم صيغة جدول البيانات بحساب القيمة وإرجاعها، ثم تُعيّن هذه القيمة للخلية. صيغ جدول بيانات المخططات في العروض التقديمية هي في الواقع نفس صيغ Excel، وتدعم نفس الدوال الافتراضية والعوامل والثوابت لتطبيقها. -في [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) يتم تمثيل جدول بيانات الرسم البياني مع -[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) خاصية نوع +في [**Aspose.Slides** ](https://products.aspose.com/slides/python-net/) يُمثَّل جدول بيانات المخطط بـ +[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) الخاصية من نوع [**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/). -يمكن تعيين وتغيير صيغة جدول البيانات مع -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) خاصية. -الدالة التالية مدعومة للصيغ في Aspose.Slides: - -- ثوابت منطقية -- ثوابت عددية -- ثوابت سلسلة -- ثوابت خطأ -- عوامل رياضية +يمكن تعيين صيغة جدول البيانات وتغييرها عبر الخاصية +[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/). +الوظائف التالية مدعومة للصيغ في Aspose.Slides: + +- الثوابت المنطقية +- الثوابت العددية +- الثوابت النصية +- ثوابت الأخطاء +- عوامل حسابية - عوامل مقارنة -- مراجع خلايا على نمط A1 -- مراجع خلايا على نمط R1C1 -- وظائف محددة مسبقًا - +- مراجع خلايا بنمط A1 +- مراجع خلايا بنمط R1C1 +- الدوال المعرفة مسبقًا -عادةً ما تخزن جداول البيانات آخر قيم محسوبة للصيغ. إذا لم تتغير بيانات الرسم البياني بعد تحميل العرض - فإن خاصية **IChartDataCell.Value** تعيد تلك القيم عند القراءة. ولكن، إذا تم تغيير بيانات جدول البيانات، عند القراءة فإن خاصية **ChartDataCell.Value** ترمي استثناء **CellUnsupportedDataException** للصيغ غير المدعومة. يحدث هذا لأنه عند بنجاح تحليله، يتم تحديد اعتمادات الخلايا وتحديد صحة القيم الأخيرة. لكن، إذا لم يمكن تحليل الصيغة، فلا يمكن ضمان صحة قيمة الخلية. -## **إضافة صيغة جدول بيانات الرسم البياني إلى العرض** -أولاً، أضف رسمًا بيانيًا مع بعض البيانات النموذجية إلى الشريحة الأولى من عرض تقديمي جديد باستخدام -[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). -تتم إنشاء ورقة العمل الخاصة بالرسم البياني تلقائيًا ويمكن الوصول إليها باستخدام -[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) الخاصية: - +عادةً ما تُخزن الجداول القيم المحسوبة الأخيرة للصيغة. إذا لم يتم تغيير بيانات المخطط بعد تحميل العرض التقديمي – خاصية **IChartDataCell.Value** تُعيد تلك القيم عند القراءة. ولكن إذا تم تغيير بيانات جدول البيانات، عند قراءة خاصية **ChartDataCell.Value** تُرمى الاستثناء **CellUnsupportedDataException** لل صيغ غير المدعومة. يحدث هذا لأنه عندما تُحلل الصيغ بنجاح، يتم تحديد تبعيات الخلايا وتحديد صحة القيم الأخيرة. أما إذا تعذّر تحليل الصيغة، لا يمكن ضمان صحة قيمة الخلية. +## **إضافة صيغة جدول بيانات المخطط إلى العرض التقديمي** +أولاً، أضف مخططًا يحتوي على بعض البيانات النموذجية إلى الشريحة الأولى من عرض تقديمي جديد باستخدام +[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). +تُنشأ ورقة عمل المخطط تلقائيًا ويمكن الوصول إليها عبر الخاصية +[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/): ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -61,12 +79,10 @@ with slides.Presentation() as presentation: -لنكتب بعض القيم في الخلايا باستخدام -[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) الخاصية -لنمط **Object**، مما يعني أنه يمكنك تعيين أي قيمة إلى الخاصية: - - +لنكتب بعض القيم في الخلايا باستخدام الخاصية +[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) +من نوع **Object**، مما يعني أنه يمكنك تعيين أي قيمة للخاصية: ```py workbook.get_cell(0, "F2").value = -2.5 workbook.get_cell(0, "G3").value = 6.3 @@ -75,28 +91,25 @@ with slides.Presentation() as presentation: -الآن لكتابة الصيغة في الخلية، يمكنك استخدام -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) الخاصية: +الآن لكتابة صيغة إلى الخلية، يمكنك استخدام الخاصية +[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): ```py workbook.get_cell(0, "B2").formula = "F2+G3+H4+1" ``` -*ملاحظة*: يتم استخدام خاصية [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) لتعيين مراجع الخلايا على نمط A1.  +*ملاحظة*: الخاصية [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) تُستخدم لتعيين مراجع خلايا بنمط A1. -لتعيين الإشارة المرجعية في صيغة [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) ، يمكنك استخدام خاصية -[**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): +لتعيين مرجع الخلية [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)، يمكنك استخدام الخاصية [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): ```py workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]" ``` -ثم استخدم الطريقة [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) لحساب جميع الصيغ داخل دفتر العمل وتحديث قيم الخلايا المقابلة: - - +ثم استخدم طريقة [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) لحساب جميع الصيغ داخل دفتر العمل وتحديث قيم الخلايا المقابلة: ```py workbook.calculate_formulas() print(workbook.get_cell(0, "B2").value) # 7.8 @@ -104,111 +117,102 @@ with slides.Presentation() as presentation: ``` -## **ثوابت منطقية** -يمكنك استخدام الثوابت المنطقية مثل *FALSE* و *TRUE* في صيغ الخلايا: - +## **الثوابت المنطقية** +يمكنك استخدام الثوابت المنطقية مثل *FALSE* و *TRUE* في صيغ الخلايا: -## **ثوابت عددية** -يمكن استخدام الأرقام في التدوين العادي أو العلمي لإنشاء صيغة جدول بيانات الرسم البياني: +## **الثوابت العددية** +يمكن استخدام الأرقام بنظام عادي أو علمي لإنشاء صيغ جدول بيانات المخطط: -## **ثوابت سلسلة** -الثابت السلسلي (أو الأدبي) هو قيمة محددة تستخدم كما هي ولا تتغير. يمكن أن تكون الثوابت السلسلية: تواريخ، نصوص، أرقام، إلخ: +## **الثوابت النصية** +الثابت النصي (أو الحرفي) هو قيمة محددة تُستخدم كما هي ولا تتغير. قد تكون الثوابت النصية: تواريخ، نصوص، أرقام، إلخ: -## **ثوابت خطأ** -في بعض الأحيان ليس من الممكن حساب النتيجة بواسطة الصيغة. في هذه الحالة، يتم عرض رمز الخطأ في الخلية بدلاً من قيمتها. لكل نوع من الخطأ رمز محدد: -- #DIV/0! - تحاول الصيغة القسمة على الصفر. -- #GETTING_DATA - قد يظهر في خلية، بينما لا تزال قيمتها قيد الحساب. -- #N/A - المعلومات مفقودة أو غير متوفرة. بعض الأسباب يمكن أن تكون: الخلايا المستخدمة في الصيغة فارغة، وجود مسافة إضافية، خطأ في الكتابة، إلخ. -- #NAME? - لا يمكن العثور على خلية معينة أو كائنات صيغة أخرى باسمها.  -- #NULL! - قد يظهر عندما يكون هناك خطأ في الصيغة، مثل: (,) أو استخدام مسافة بدلاً من النقطتين (:). -- #NUM! - قد تكون القيمة العددية في الصيغة غير صالحة، طويلة جدًا أو صغيرة جدًا، إلخ. -- #REF! - مرجع خلية غير صالح. -- #VALUE! - نوع قيمة غير متوقع. على سبيل المثال، تم تعيين قيمة سلسلة إلى خلية عددية. +## **ثوابت الأخطاء** +أحيانًا لا يمكن حساب النتيجة عبر الصيغة. في هذه الحالة يُظهر رمز الخطأ في الخلية بدلاً من قيمتها. لكل نوع من الأخطاء رمز محدد: +- #DIV/0! - تحاول الصيغة القسمة على صفر. +- #GETTING_DATA - قد يُظهر على خلية بينما لا تزال قيمتها تُحسب. +- #N/A - المعلومات مفقودة أو غير متوفرة. قد تكون الأسباب: الخلايا المستخدمة في الصيغة فارغة، وجود فراغ زائد، خطأ إملائي، إلخ. +- #NAME? - لا يمكن العثور على خلية معينة أو كائن صيغة آخر باسمها. +- #NULL! - قد يظهر عندما يكون هناك خطأ في الصيغة، مثل: (,) أو استخدام فراغ بدلاً من النقطتين (:). +- #NUM! - الرقم في الصيغة قد يكون غير صالح، طويل جدًا أو قصير جدًا، إلخ. +- #REF! - مرجع خلية غير صالح. +- #VALUE! - نوع قيمة غير متوقع. على سبيل المثال، قيمة نصية تم تعيينها إلى خلية رقمية. -## **عوامل حسابية** -يمكنك استخدام جميع العوامل الحسابية في صيغ ورقة العمل للرسم البياني: +## **العوامل الحسابية** +يمكنك استخدام جميع العوامل الحسابية في صيغ ورقة عمل المخطط: -|**العامل** |**المعنى** |**مثال**| +|**العامل**|**المعنى**|**مثال**| | :- | :- | :- | -|+ (علامة الجمع) |إaddition أو جمع أحادي|2 + 3| -|- (علامة الطرح) |طرح أو نفي |2 - 3
-3| -|* (نجمة)|ضرب |2 * 3| -|/ (شرط أمامي)|قسمة |2 / 3| -|% (علامة النسبة) |نسبة |30%| -|^ (علامة الأس) |رفع للقوة |2 ^ 3| - +|+ (علامة الجمع)|العملية الجمع أو الإشارة الموجبة الأحادية|2 + 3| +|- (علامة الطرح)|العملية الطرح أو النفي|2 - 3
-3| +|* (نجمة)|الضرب|2 * 3| +|/ (شرطة مائلة)|القسمة|2 / 3| +|% (نسبة مئوية)|النسبة المئوية|30%| +|^ (سقف)|الرفع للأس|2 ^ 3| -*ملاحظة*: لتغيير ترتيب التقييم، ضع بين قوسين الجزء من الصيغة المراد حسابه أولاً. +*ملاحظة*: لتغيير ترتيب التقييم، ضع الجزء الذي يُحسب أولاً بين أقواس. -## **عوامل مقارنة** -يمكنك مقارنة قيم الخلايا باستخدام عوامل المقارنة. عند المقارنة بين قيمتين باستخدام هذه العوامل، تكون النتيجة قيمة منطقية إما *TRUE* أو FALSE: +## **العوامل المقارنة** +يمكنك مقارنة قيم الخلايا باستخدام عوامل المقارنة. عندما يتم مقارنة قيمتين باستخدام هذه العوامل، تكون النتيجة قيمة منطقية إما *TRUE* أو FALSE: - -|**العامل** |**المعنى** |**المعنى** | +|**العامل**|**المعنى**|**مثال**| | :- | :- | :- | -|= (علامة المساواة) |تساوي |A2 = 3| -|<> (علامة عدم المساواة) |لا تساوي|A2 <> 3| -|> (علامة أكبر من) |أكبر من|A2 > 3| -|>= (علامة أكبر من أو يساوي)|أكبر من أو يساوي|A2 >= 3| -|< (علامة أقل من)|أقل من|A2 < 3| -|<= (علامة أقل من أو يساوي)|أقل من أو يساوي|A2 <= 3| - -## **مراجع خلايا على نمط A1** -**مراجع خلايا على نمط A1** تستخدم لورقات العمل، حيث يحتوي العمود على معرف حرف (مثل "*A*") والصف يحتوي على معرف رقمي (مثل "*1*"). يمكن استخدام مراجع خلايا على نمط A1 بالطريقة التالية: - +|= (علامة المساواة)|مساوٍ لـ|A2 = 3| +|<> (علامة عدم المساواة)|غير مساوي لـ|A2 <> 3| +|> (علامة أكبر من)|أكبر من|A2 > 3| +|>= (علامة أكبر من أو مساوي)|أكبر من أو مساوي لـ|A2 >= 3| +|< (علامة أصغر من)|أصغر من|A2 < 3| +|<= (علامة أصغر من أو مساوي)|أصغر من أو مساوي لـ|A2 <= 3| +## **مراجع خلايا بنمط A1** +**مراجع خلايا بنمط A1** تُستخدم في أوراق العمل التي تكون فيها الأعمدة محددة بحرف (مثال: "*A*") والصفوف بأرقام (مثال: "*1*"). يمكن استخدام مراجع خلايا نمط A1 بالطريقة التالية: |**مرجع الخلية**|**مثال**||| | :- | :- | :- | :- | -||مطلق |نسبي |مختلط| -|خلية |$A$2 |A2|

A$2

$A2

| -|صف |$2:$2 |2:2 |-| -|عمود |$A:$A |A:A |-| -|نطاق |$A$2:$C$4 |A2:C4|

$A$2:C4

A$2:$C4

| - - -إليك مثال حول كيفية استخدام مرجع خلية على نمط A1 في صيغة: - +||مطلق|نسبي|مختلط| +|خلية|$A$2|A2|

A$2

$A2

| +|صف|$2:$2|2:2|‑| +|عمود|$A:$A|A:A|‑| +|نطاق|$A$2:$C$4|A2:C4|

$A$2:C4

A$2:$C4

| +إليك مثالًا على استخدام مرجع خلية بنمط A1 في صيغة: -## **مراجع خلايا على نمط R1C1** -**مراجع خلايا على نمط R1C1** تستخدم لورقات العمل، حيث يحتوي كل من الصف والعمود على معرف رقمي. يمكن استخدام مراجع خلايا على نمط R1C1 بالطريقة التالية: +## **مراجع خلايا بنمط R1C1** +**مراجع خلايا بنمط R1C1** تُستخدم في أوراق العمل التي يكون لكل من الصف والعمود معرف رقمي. يمكن استخدام مراجع خلايا نمط R1C1 بالطريقة التالية: |**مرجع الخلية**|**مثال**||| | :- | :- | :- | :- | -||مطلق |نسبي |مختلط| -|خلية |R2C3|R[2]C[3]|R2C[3]
R[2]C3| -|صف |R2|R[2]|-| -|عمود |C3|C[3]|-| -|نطاق |R2C3:R5C7|R[2]C[3]:R[5]C[7] |R2C3:R[5]C[7]
R[2]C3:R5C[7]| +||مطلق|نسبي|مختلط| +|خلية|R2C3|R[2]C[3]|R2C[3]
R[2]C3| +|صف|R2|R[2]|‑| +|عمود|C3|C[3]|‑| +|نطاق|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]
R[2]C3:R5C[7]| +إليك مثالًا على استخدام مرجع خلية بنمط A1 في صيغة: -إليك مثال حول كيفية استخدام مرجع خلية على نمط A1 في صيغة: - -## **وظائف محددة مسبقًا** -هناك وظائف محددة مسبقًا، يمكن استخدامها في الصيغ لتبسيط تنفيذها. تقوم هذه الوظائف بتجميع العمليات الأكثر شيوعًا المستخدمة، مثل:  +## **الدوال المعرفة مسبقًا** +هناك دوال معرفة مسبقًا يمكن استخدامها في الصيغ لتبسيط تنفيذها. هذه الدوال تغلف أكثر العمليات شيوعًا، مثل: - ABS - AVERAGE @@ -221,9 +225,19 @@ with slides.Presentation() as presentation: - FIND - FINDB - IF -- INDEX (شكل مرجعي) -- LOOKUP (شكل متجه) -- MATCH (شكل متجه) +- INDEX (نموذج المرجع) +- LOOKUP (نموذج المتجه) +- MATCH (نموذج المتجه) - MAX - SUM -- VLOOKUP \ No newline at end of file +- VLOOKUP + +## **الأسئلة المتكررة** + +**هل تدعم ملفات Excel الخارجية كمصدر بيانات لمخطط يحتوي على صيغ؟** + +نعم. يدعم Aspose.Slides ملفات عمل خارجية كمصدر بيانات [المخطط](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatasourcetype/)، مما يتيح لك استخدام صيغ من ملف XLSX خارج العرض التقديمي. + +**هل يمكن لصيغ المخطط الإشارة إلى أوراق داخل نفس دفتر العمل عبر اسم الورقة؟** + +نعم. تتبع الصيغ نموذج المرجعية القياسي في Excel، لذا يمكنك الإشارة إلى أوراق أخرى داخل نفس دفتر العمل أو دفتر عمل خارجي. للمراجع الخارجية، يجب تضمين المسار واسم دفتر العمل باستخدام تركيب Excel. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md index 1eb1ba87d2..7a06a6fc2b 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md @@ -1,22 +1,24 @@ --- -title: تصدير الرسم البياني +title: تصدير مخططات العرض التقديمي باستخدام Python +linktitle: تصدير مخطط type: docs weight: 90 url: /ar/python-net/export-chart/ keywords: -- رسم بياني -- صورة الرسم البياني -- استخراج صورة الرسم البياني +- مخطط +- مخطط إلى صورة +- مخطط كصورة +- استخراج صورة المخطط - PowerPoint +- OpenDocument - عرض تقديمي -- بايثون -- Aspose.Slides لـ بايثون -description: "الحصول على صور الرسوم البيانية من عروض PowerPoint في بايثون" +- Python +- Aspose.Slides +description: "تعرف على كيفية تصدير مخططات العروض التقديمية باستخدام Aspose.Slides للغة Python عبر .NET، مع دعم صيغ PPT و PPTX و ODP، وتبسيط إعداد التقارير في أي سير عمل." --- -## **الحصول على صورة الرسم البياني** -تقدم Aspose.Slides لـ بايثون عبر .NET الدعم لاستخراج صورة لرسم بياني محدد. مثال على ذلك موضح أدناه.  - +## **الحصول على صورة المخطط** +توفر Aspose.Slides for Python عبر .NET دعمًا لاستخراج صورة مخطط محدد. مثال العينة التالي مُقدَّم. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -27,4 +29,22 @@ with slides.Presentation("test.pptx") as presentation: with chart.get_image() as image: image.save("image.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل يمكنني تصدير مخطط كمتجه (SVG) بدلاً من صورة نقطية؟** +نعم. المخطط هو شكل، ويمكن حفظ محتوياته كملف SVG باستخدام [طريقة حفظ الشكل إلى SVG](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/write_as_svg/). + +**كيف يمكنني تحديد الحجم الدقيق للمخطط المُصدَر بالبكسل؟** +استخدم الإصدارات الزائدة لـ image-rendering التي تسمح لك بتحديد الحجم أو المقياس—المكتبة تدعم تصيير الكائنات بالأبعاد أو المقياس المحدد. + +**ماذا أفعل إذا ظهرت الخطوط في التسميات والأسطورة بشكل غير صحيح بعد التصدير؟** +[حمّل الخطوط المطلوبة](/slides/ar/python-net/custom-font/) عبر [FontsLoader](https://reference.aspose.com/slides/python-net/aspose.slides/fontsloader/) حتى يحافظ تصيير المخطط على المقاييس ومظهر النص. + +**هل يحترم التصدير موضوع PowerPoint والأنماط والتأثيرات؟** +نعم. يقوم عارض Aspose.Slides باتباع تنسيق العرض التقديمي (المواضيع، الأنماط، التعبئات، التأثيرات)، لذلك يُحافظ على مظهر المخطط. + +**أين يمكنني العثور على إمكانيات التصيير/التصدير المتاحة بخلاف صور المخططات؟** +اطلع على قسم التصدير في [API](https://reference.aspose.com/slides/python-net/aspose.slides.export/)/[التوثيق](/slides/ar/python-net/convert-powerpoint/) للحصول على أهداف الإخراج ([PDF](/slides/ar/python-net/convert-powerpoint-to-pdf/)، [SVG](/slides/ar/python-net/render-a-slide-as-an-svg-image/)، [XPS](/slides/ar/python-net/convert-powerpoint-to-xps/)، [HTML](/slides/ar/python-net/convert-powerpoint-to-html/)، إلخ) والخيارات المتعلقة بالتصيير. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md index d3090e05e5..bf34e9187d 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md @@ -1,33 +1,44 @@ --- -title: تصدير معادلات رياضية +title: "تصدير المعادلات الرياضية من العروض التقديمية في بايثون" +linktitle: "تصدير المعادلات" type: docs weight: 30 url: /ar/python-net/exporting-math-equations/ -keywords: "تصدير المعادلات الرياضية، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "تصدير معادلات PowerPoint الرياضية باستخدام بايثون" +keywords: +- "تصدير المعادلات الرياضية" +- MathML +- LaTeX +- PowerPoint +- "العرض التقديمي" +- Python +- Aspose.Slides +description: "تمكين تصدير سلس للمعادلات الرياضية من PowerPoint إلى MathML باستخدام Aspose.Slides for Python عبر .NET — الحفاظ على التنسيق وتعزيز التوافق." --- -تتيح لك Aspose.Slides لبايثون عبر .NET تصدير المعادلات الرياضية من العروض التقديمية. على سبيل المثال، قد تحتاج إلى استخراج المعادلات الرياضية من الشرائح (من عرض تقديمي محدد) واستخدامها في برنامج أو منصة أخرى. +## **المقدمة** -{{% alert color="primary" %}} - -يمكنك تصدير المعادلات إلى MathML، وهو تنسيق أو معيار شائع للمعادلات الرياضية ومحتوى مشابه الذي يُرى على الويب وفي العديد من التطبيقات. +Aspose.Slides for Python عبر .NET يتيح لك تصدير المعادلات الرياضية من العروض التقديمية. على سبيل المثال، قد تحتاج إلى استخراج المعادلات من شرائح محددة وإعادة استخدامها في برنامج أو منصة أخرى. +{{% alert color="primary" %}} +يمكنك تصدير المعادلات إلى MathML، وهو معيار واسع الاستخدام لتمثيل المحتوى الرياضي على الويب وفي العديد من التطبيقات. {{% /alert %}} -بينما يستطيع البشر بسهولة كتابة الشفرة لبعض تنسيقات المعادلات مثل LaTeX، فإنهم يواجهون صعوبة في كتابة الشفرة لـ MathML لأن هذا الأخير من المفترض أن يتم توليده تلقائيًا بواسطة التطبيقات. تقرأ البرامج وت解析 MathML بسهولة لأن شفرته مكتوبة بصيغة XML، لذا يُستخدم MathML بشكل شائع كتنسق للإخراج والطباعة في العديد من المجالات. +## **حفظ المعادلات الرياضية كـ MathML** -تظهر لك هذه الشفرة النموذجية كيفية تصدير معادلة رياضية من عرض تقديمي إلى MathML: +على الرغم من أن البشر يمكنهم كتابة LaTeX بسهولة، فإن MathML يتم إنشاؤه عادةً تلقائيًا بواسطة التطبيقات. نظرًا لأن MathML يعتمد على XML، يمكن للبرامج قراءته وتحليله بشكل موثوق، لذا يُستخدم بشكل شائع كصيغة إخراج وطباعة عبر العديد من المجالات. +يعرض الكود المثال التالي كيفية تصدير معادلة رياضية من عرض تقديمي إلى MathML: ```py import aspose.slides as slides import aspose.slides.mathtext as math -with slides.Presentation() as pres: - autoShape = pres.slides[0].shapes.add_math_shape(0, 0, 500, 50) - mathParagraph = autoShape.text_frame.paragraphs[0].portions[0].math_paragraph +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50) + math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph - mathParagraph.add( + math_paragraph.add( math.MathematicalText("a"). set_superscript("2"). join("+"). @@ -35,6 +46,29 @@ with slides.Presentation() as pres: join("="). join(math.MathematicalText("c").set_superscript("2"))) - with open("mathml.xml", "wb") as stream: - mathParagraph.write_as_math_ml(stream) -``` \ No newline at end of file + with open("mathml.xml", "wb") as file_stream: + math_paragraph.write_as_math_ml(file_stream) +``` + + +## **الأسئلة المتكررة** + +**ما الذي يتم تصديره إلى MathML بالضبط—فقرة أم كتلة صيغة فردية؟** + +يمكنك تصدير إما فقرة رياضية كاملة ([MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/)) أو كتلة فردية ([MathBlock](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathblock/)) إلى MathML. كلا النوعين يوفران طريقة للكتابة إلى MathML. + +**كيف يمكنني معرفة أن كائنًا على الشريحة هو صيغة رياضية وليس نصًا عاديًا أو صورة؟** + +توجد الصيغة داخل [MathPortion](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathportion/) ولها [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/). الصور وأجزاء النص العادية التي لا تحتوي على [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) ليست صيغًا قابلة للتصدير. + +**من أين يأتي MathML في العرض التقديمي—هل هو خاص بـ PowerPoint أم معيار؟** + +يستهدف التصدير MathML القياسي (XML). يستخدم Aspose Presentation MathML—المجموعة الفرعية التقديمية من المعيار—والتي تُستخدم على نطاق واسع عبر التطبيقات والويب. + +**هل يدعم تصدير الصيغ داخل الجداول، SmartArt، المجموعات، إلخ؟** + +نعم، إذا كانت تلك الكائنات تحتوي على أجزاء نصية مع [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) (أي صيغ PowerPoint حقيقية)، فسيتم تصديرها. إذا تم تضمين صيغة كصورة، فلن يتم تصديرها. + +**هل يؤدي تصدير إلى MathML إلى تعديل العرض التقديمي الأصلي؟** + +لا. كتابة MathML هي تسلسل لمحتوى الصيغة؛ ولا تعدل ملف العرض التقديمي. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md index 0bc826f639..2ceff1351a 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md @@ -1,39 +1,50 @@ --- -title: ActiveX +title: إدارة عناصر التحكم ActiveX في العروض التقديمية باستخدام بايثون +linktitle: ActiveX type: docs weight: 80 url: /ar/python-net/activex/ -keywords: "ActiveX, عناصر التحكم في ActiveX, عرض PowerPoint, بايثون, Aspose.Slides لـ بايثون عبر .NET" -description: "إدارة عناصر التحكم في ActiveX في عرض PowerPoint باستخدام بايثون" +keywords: +- ActiveX +- عنصر تحكم ActiveX +- إدارة ActiveX +- إضافة ActiveX +- تعديل ActiveX +- مشغل وسائط +- PowerPoint +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعرف على كيفية استفادة Aspose.Slides for Python عبر .NET من ActiveX لأتمتة وتحسين عروض PowerPoint التقديمية، مما يمنح المطورين تحكمًا قويًا في الشرائح." --- -تستخدم عناصر التحكم في ActiveX في العروض التقديمية. يسمح لك Aspose.Slides لـ بايثون عبر .NET بإدارة عناصر التحكم في ActiveX، ولكن إدارتها أكثر تعقيدًا وتختلف عن الأشكال العادية في العرض التقديمي. اعتبارًا من Aspose.Slides لـ بايثون عبر .NET 6.9.0، يدعم المكون إدارة عناصر التحكم في ActiveX. في الوقت الحالي، يمكنك الوصول إلى عنصر التحكم في ActiveX المضاف بالفعل في عرضك التقديمي وتعديله أو حذفه باستخدام خصائصه المختلفة. تذكر، عناصر التحكم في ActiveX ليست أشكالًا وليست جزءًا من IShapeCollection في العرض التقديمي ولكنها جزء من IControlCollection المنفصلة. يوضح هذا المقال كيفية العمل معهم. -## **تعديل عناصر التحكم في ActiveX** +تُستخدم عناصر التحكم ActiveX في العروض التقديمية. يتيح Aspose.Slides for Python عبر .NET إدارة عناصر التحكم ActiveX، لكن إدارتها أكثر تعقيدًا وتختلف عن الأشكال العادية في العرض. بدءًا من Aspose.Slides for Python عبر .NET 6.9.0، يدعم المكوّن إدارة عناصر التحكم ActiveX. في الوقت الحالي، يمكنك الوصول إلى عنصر التحكم ActiveX المضاف بالفعل في عرضك وتعديله أو حذفه باستخدام خصائصه المختلفة. تذكر أن عناصر التحكم ActiveX ليست أشكالًا ولا تُعد جزءًا من IShapeCollection في العرض بل هي جزء منفصل من IControlCollection. تُظهر هذه المقالة كيفية العمل معها. + +## **تعديل عناصر التحكم ActiveX** لإدارة عنصر تحكم ActiveX بسيط مثل مربع نص وزر أمر بسيط على شريحة: -1. إنشاء مثيل من فئة Presentation وتحميل العرض التقديمي مع عناصر التحكم في ActiveX بداخله. -1. الحصول على مرجع الشريحة من خلال فهرسها. -1. الوصول إلى عناصر التحكم في ActiveX في الشريحة عن طريق الوصول إلى IControlCollection. -1. الوصول إلى عنصر تحكم ActiveX المسمى TextBox1 باستخدام كائن ControlEx. -1. تغيير الخصائص المختلفة لعنصر التحكم في ActiveX المسمى TextBox1 بما في ذلك النص، الخط، ارتفاع الخط وموقع الإطار. +1. إنشاء مثيل لفئة Presentation وتحميل العرض الذي يحتوي على عناصر تحكم ActiveX. +1. الحصول على مرجع الشريحة حسب فهرستها. +1. الوصول إلى عناصر التحكم ActiveX في الشريحة عبر IControlCollection. +1. الوصول إلى عنصر التحكم ActiveX TextBox1 باستخدام كائن ControlEx. +1. تغيير الخصائص المختلفة لعنصر التحكم ActiveX TextBox1 بما في ذلك النص، الخط، ارتفاع الخط وموقع الإطار. 1. الوصول إلى عنصر التحكم الثاني المسمى CommandButton1. -1. تغيير عنوان الزر، الخط والموقع. -1. نقل موقع إطارات عناصر التحكم في ActiveX. -1. كتابة العرض التقديمي المعدل إلى ملف PPTX. - -تقوم الشيفرة البرمجية أدناه بتحديث عناصر التحكم في ActiveX على الشرائح في العرض التقديمي كما هو موضح أدناه. +1. تغيير تسمية الزر، الخط والموقع. +1. تحريك موقع إطارات عناصر التحكم ActiveX. +1. كتابة العرض المعدل إلى ملف PPTX. +يُحدّث المقتطف البرمجي أدناه عناصر التحكم ActiveX في شرائح العرض كما هو موضح أدناه. ```py import aspose.slides as slides import aspose.pydrawing as draw import io -# Accessing the presentation with ActiveX controls +# الوصول إلى العرض مع عناصر التحكم ActiveX with slides.Presentation(path + "ActiveX.pptm") as presentation: - # Accessing the first slide in presentation + # الوصول إلى الشريحة الأولى في العرض slide = presentation.slides[0] - # changing TextBox text + # تغيير نص مربع النص control = slide.controls[0] if control.name == "TextBox1" and control.properties != None: @@ -41,7 +52,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control.properties.remove("Value") control.properties.add("Value", newText) - # changing substitute image. Powerpoint will replace this image during activeX activation, so sometime it's OK to leave image unchanged. + # تغيير صورة الاستبدال. سيستبدل PowerPoint هذه الصورة أثناء تنشيط ActiveX، لذا في بعض الأحيان يمكن ترك الصورة دون تعديل. bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: @@ -54,36 +65,36 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: graphics.draw_string(newText, font, brush, 10, 4) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_DARK), 1) as pen: - graphics.draw_lines(pen, [ - draw.PointF(0, bmp.height - 1), - draw.PointF(0, 0), + graphics.draw_lines(pen, [ + draw.PointF(0, bmp.height - 1), + draw.PointF(0, 0), draw.PointF(bmp.width - 1, 0) ]) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_DARK_DARK), 1) as pen: graphics.draw_lines(pen, [ - draw.PointF(1, bmp.height - 2), - draw.PointF(1, 1), + draw.PointF(1, bmp.height - 2), + draw.PointF(1, 1), draw.PointF(bmp.width - 2, 1) ]) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_LIGHT), 1) as pen: - graphics.draw_lines(pen, + graphics.draw_lines(pen, [ - draw.PointF(1, bmp.height - 1), + draw.PointF(1, bmp.height - 1), draw.PointF(bmp.width - 1, bmp.height - 1), draw.PointF(bmp.width - 1, 1)]) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_LIGHT_LIGHT), 1) as pen: graphics.draw_lines(pen, - [ - draw.PointF(0, bmp.height), - draw.PointF(bmp.width, bmp.height), + [ + draw.PointF(0, bmp.height), + draw.PointF(bmp.width, bmp.height), draw.PointF(bmp.width, 0) ]) bmp_bytes = io.BytesIO() bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # changing Button caption + # تغيير تسمية الزر control = slide.controls[1] if control.name == "CommandButton1" and control.properties != None: @@ -91,7 +102,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control.properties.remove("Caption") control.properties.add("Caption", newCaption) - # changing substitute + # تغيير الاستبدال bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.CONTROL)) as brush: @@ -101,97 +112,111 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: font = draw.Font("Arial", 14) with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.WINDOW_TEXT)) as brush: textSize = graphics.measure_string(newCaption, font, 65535) - graphics.draw_string(newCaption, font, brush, - (bmp.width - textSize.width) / 2, + graphics.draw_string(newCaption, font, brush, + (bmp.width - textSize.width) / 2, (bmp.height - textSize.height) / 2) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_LIGHT_LIGHT), 1) as pen: - graphics.draw_lines(pen, - [ - draw.PointF(0, bmp.height - 1), - draw.PointF(0, 0), + graphics.draw_lines(pen, + [ + draw.PointF(0, bmp.height - 1), + draw.PointF(0, 0), draw.PointF(bmp.width - 1, 0) ]) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_LIGHT), 1) as pen: - graphics.draw_lines(pen, - [ - draw.PointF(1, bmp.height - 2), - draw.PointF(1, 1), + graphics.draw_lines(pen, + [ + draw.PointF(1, bmp.height - 2), + draw.PointF(1, 1), draw.PointF(bmp.width - 2, 1) ]) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_DARK), 1) as pen: - graphics.draw_lines(pen, - [ + graphics.draw_lines(pen, + [ draw.PointF(1, bmp.height - 1), draw.PointF(bmp.width - 1, bmp.height - 1), draw.PointF(bmp.width - 1, 1) ]) with draw.Pen(draw.Color.from_known_color(draw.KnownColor.CONTROL_DARK_DARK), 1) as pen: - graphics.draw_lines(pen, - [ - draw.PointF(0, bmp.height), - draw.PointF(bmp.width, bmp.height), + graphics.draw_lines(pen, + [ + draw.PointF(0, bmp.height), + draw.PointF(bmp.width, bmp.height), draw.PointF(bmp.width, 0) ]) bmp_bytes = io.BytesIO() bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # Moving ActiveX frames 100 points down + # تحريك إطارات ActiveX للأسفل بمقدار 100 نقطة for ctl in slide.controls: frame = control.frame control.frame = slides.ShapeFrame( - frame.x, - frame.y + 100, - frame.width, - frame.height, - frame.flip_h, - frame.flip_v, + frame.x, + frame.y + 100, + frame.width, + frame.height, + frame.flip_h, + frame.flip_v, frame.rotation) - # Save the presentation with Edited ActiveX Controls + # حفظ العرض مع عناصر التحكم ActiveX المعدلة presentation.save("withActiveX-edited_out.pptm", slides.export.SaveFormat.PPTM) - # Now removing controls + # الآن يتم إزالة العناصر slide.controls.clear() - # Saving the presentation with cleared ActiveX controls + # حفظ العرض مع عناصر التحكم ActiveX التي تم مسحها presentation.save("withActiveX.cleared_out.pptm", slides.export.SaveFormat.PPTM) ``` -## **إضافة عنصر التحكم في مشغل وسائط ActiveX** -لإضافة عنصر التحكم في مشغل وسائط ActiveX، يرجى تنفيذ الخطوات التالية: - -1. إنشاء مثيل من فئة Presentation وتحميل العرض التقديمي النموذجي مع عناصر التحكم في مشغل الوسائط ActiveX بداخله. -1. إنشاء مثيل من فئة Presentation الهدف وإنشاء مثيل فارغ للعرض التقديمي. -1. استنساخ الشريحة مع عنصر التحكم في مشغل الوسائط ActiveX في العرض التقديمي النموذجي إلى Presentation الهدف. -1. الوصول إلى الشريحة المستنسخة في Presentation الهدف. -1. الوصول إلى عناصر التحكم في ActiveX في الشريحة عن طريق الوصول إلى IControlCollection. -1. الوصول إلى عنصر التحكم في مشغل الوسائط ActiveX وتعيين مسار الفيديو باستخدام خصائصه. -1. حفظ العرض التقديمي إلى ملف PPTX. +## **إضافة عنصر تحكم ActiveX مشغل وسائط** +لإضافة عنصر تحكم ActiveX مشغل وسائط، يرجى تنفيذ الخطوات التالية: +1. إنشاء مثيل لفئة Presentation وتحميل عرض العينة الذي يحتوي على عناصر تحكم ActiveX لمشغل الوسائط. +1. إنشاء مثيل لفئة Presentation الهدف وتوليد مثيل عرض فارغ. +1. استنساخ الشريحة التي تحتوي على عنصر تحكم ActiveX مشغل الوسائط في عرض القالب إلى عرض الهدف. +1. الوصول إلى الشريحة المستنسخة في عرض الهدف. +1. الوصول إلى عناصر التحكم ActiveX في الشريحة عبر IControlCollection. +1. الوصول إلى عنصر التحكم ActiveX مشغل الوسائط وتحديد مسار الفيديو عبر خصائصه. +1. حفظ العرض إلى ملف PPTX. ```py import aspose.slides as slides -# Instantiate Presentation class that represents PPTX file +# إنشاء كائن من فئة Presentation التي تمثل ملف PPTX with slides.Presentation(path + "template.pptx") as presentation: - # Create empty presentation instance + # إنشاء نسخة عرض فارغة with slides.Presentation() as newPresentation: - # Remove default slide + # إزالة الشريحة الافتراضية newPresentation.slides.remove_at(0) - # Clone slide with Media Player ActiveX Control + # استنساخ الشريحة التي تحتوي على عنصر تحكم Media Player ActiveX newPresentation.slides.insert_clone(0, presentation.slides[0]) - # Access the Media Player ActiveX control and set the video path + # الوصول إلى عنصر تحكم Media Player ActiveX وتعيين مسار الفيديو prop = newPresentation.slides[0].controls[0].properties prop.remove("URL") prop.add("URL", "Wildlife.mp4") - # Save the Presentation + # حفظ العرض newPresentation.save("LinkingVideoActiveXControl_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**هل يحتفظ Aspose.Slides بعناصر التحكم ActiveX عند القراءة وإعادة الحفظ إذا تعذّر تنفيذها في بيئة تشغيل Python؟** + +نعم. يعامل Aspose.Slides هذه العناصر كجزء من العرض ويمكنه قراءة/تعديل خصائصها وإطاراتها؛ لا يتطلب تنفيذ العناصر نفسها للحفاظ عليها. + +**كيف تختلف عناصر التحكم ActiveX عن كائنات OLE في العرض؟** + +عناصر التحكم ActiveX هي عناصر تحكم تفاعلية مُدارة (أزرار، مربعات نص، مشغّل وسائط)، بينما تشير [OLE](/slides/ar/python-net/manage-ole/) إلى كائنات تطبيق مدمجة (على سبيل المثال، ورقة عمل Excel). تُخزن وتُعالج بطريقة مختلفة وتملك نماذج خصائص مختلفة. + +**هل تعمل أحداث ActiveX والماكروهات VBA إذا تم تعديل الملف بواسطة Aspose.Slides؟** + +يحافظ Aspose.Slides على العلامات الوصفية والبيانات الموجودة؛ إلا أن الأحداث والماكروهات تعمل فقط داخل PowerPoint على ويندوز عندما تسمح الأمان بذلك. المكتبة لا تُنفّذ VBA. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md index 8196ba16d6..44298038c6 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md @@ -1,78 +1,129 @@ --- -title: إنشاء مصغرات الأشكال +title: إنشاء صور مصغرة لأشكال العرض التقديمي في بايثون +linktitle: صور مصغرة للأشكال type: docs weight: 70 url: /ar/python-net/create-shape-thumbnails/ -keywords: "مصغرات الأشكال. عرض تقديمي PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "مصغرات الأشكال في عرض PowerPoint باستخدام بايثون" +keywords: +- صورة مصغرة للشكل +- صورة الشكل +- رسم الشكل +- تصيير الشكل +- PowerPoint +- العرض التقديمي +- Python +- Aspose.Slides +description: "إنشاء صور مصغرة عالية الجودة للأشكال من شرائح PowerPoint وOpenDocument باستخدام Aspose.Slides لبايثون عبر .NET – إنشاء وتصدير صور مصغرة للعرض التقديمي بسهولة." --- -تُستخدم Aspose.Slides لـ بايثون عبر .NET لإنشاء ملفات العرض التقديمي حيث تكون كل صفحة عبارة عن شريحة. يمكن عرض هذه الشرائح من خلال فتح ملفات العرض التقديمي باستخدام Microsoft PowerPoint. ولكن في بعض الأحيان، قد يحتاج المطورون إلى عرض صور الأشكال بشكل منفصل في عارض الصور. في مثل هذه الحالات، تساعدك Aspose.Slides لـ بايثون عبر .NET في توليد صور مصغرة لأشكال الشرائح. كيفية استخدام هذه الميزة موصوفة في هذه المقالة. -تشرح هذه المقالة كيفية توليد مصغرات الشرائح بطرق مختلفة: +## **المقدمة** -- توليد مصغر شكل داخل شريحة. -- توليد مصغر شكل لشكل الشريحة بأبعاد محددة بواسطة المستخدم. -- توليد مصغر شكل في حدود مظهر الشكل. -- توليد مصغر للعقدة الفرعية في SmartArt. -## **توليد مصغر شكل من الشريحة** -لتوليد مصغر شكل من أي شريحة باستخدام Aspose.Slides لـ بايثون عبر .NET: +تُستخدم Aspose.Slides for Python عبر .NET لإنشاء ملفات عروض تقديمية تكون كل صفحة فيها شريحة. يمكنك عرض هذه الشرائح في Microsoft PowerPoint عن طريق فتح ملف العرض. ومع ذلك، قد يحتاج المطورون أحيانًا إلى عرض صور الأشكال بشكل منفصل في عارض صور. في مثل هذه الحالات، يمكن لـ Aspose.Slides إنشاء صور مصغرة لأشكال الشرائح. يشرح هذا المقال كيفية استخدام هذه الميزة. -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. الحصول على مرجع لأي شريحة باستخدام معرفها أو فهرسها. -1. الحصول على صورة مصغر شكل الشريحة المرجعية على المقياس الافتراضي. -1. حفظ صورة المصغر في أي تنسيق صورة مرغوب فيه. +## **إنشاء صور مصغرة للأشكال من الشرائح** -المثال أدناه يُولد مصغر شكل. +عندما تحتاج إلى معاينة لكائن محدد بدلاً من الشريحة بأكملها، يمكنك إنشاء صورة مصغرة لشكل فردي. تتيح لك Aspose.Slides تصدير أي شكل إلى صورة، مما يجعل إنشاء معاينات خفيفة الوزن أو أيقونات أو موارد للمعالجة اللاحقة أمرًا سهلاً. + +لإنشاء صورة مصغرة من أي شكل: + +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. الحصول على مرجع إلى شريحة باستخدام معرفها أو فهرستها. +1. الحصول على مرجع إلى شكل على تلك الشريحة. +1. إنشاء صورة مصغرة للشكل. +1. حفظ صورة المصغرة بالتنسيق المطلوب. ```py import aspose.slides as slides -# إنشاء فئة Presentation تمثل ملف العرض التقديمي -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # إنشاء صورة بمقياس كامل - with presentation.slides[0].shapes[0].get_image() as bitmap: - # حفظ الصورة على القرص بتنسيق PNG - bitmap.save("Shape_thumbnail_out.png", slides.ImageFormat.PNG) +# إنشاء كائن من فئة Presentation لفتح ملف العرض. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # إنشاء صورة بمقياس افتراضي. + with shape.get_image() as thumbnail: + # حفظ الصورة إلى القرص بتنسيق PNG. + thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG) ``` -## **توليد مصغر بمعامل تغيير الحجم محدد بواسطة المستخدم** -لتوليد مصغر الشكل لأي شكل شريحة باستخدام Aspose.Slides لـ بايثون عبر .NET: -1. إنشاء مثيل من فئة `Presentation`. -1. الحصول على مرجع لأي شريحة باستخدام معرفها أو فهرسها. -1. الحصول على صورة المصغر للشريحة المرجعية مع حدود الشكل. -1. حفظ صورة المصغر في أي تنسيق صورة مرغوب فيه. +## **إنشاء صور مصغرة بمعامل قياس مخصص** + +يعرض هذا القسم كيفية إنشاء صور مصغرة للأشكال بمعامل قياس يحدده المستخدم في Aspose.Slides. من خلال التحكم في المقياس، يمكنك ضبط حجم الصورة المصغرة لتتناسب مع المعاينات أو الصادرات أو الشاشات عالية الدقة. -المثال أدناه يُولد مصغرًا مع توليد مصغر بمعامل تغيير الحجم محدد بواسطة المستخدم. +لإنشاء صورة مصغرة لأي شكل على شريحة: + +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. الحصول على شريحة باستخدام معرفها أو فهرستها. +1. الحصول على الشكل المستهدف على تلك الشريحة. +1. إنشاء صورة مصغرة للشكل باستخدام المقياس المحدد. +1. حفظ صورة المصغرة بالتنسيق المطلوب. ```py import aspose.slides as slides -# إنشاء فئة Presentation تمثل ملف العرض التقديمي -with slides.Presentation(path + "HelloWorld.pptx") as p: - # إنشاء صورة بمقياس كامل - with p.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.SHAPE, 1, 1) as bitmap: - # حفظ الصورة على القرص بتنسيق PNG - bitmap.save("Scaling Factor Thumbnail_out.png", slides.ImageFormat.PNG) +scale_x = 2.0 +scale_y = scale_x + +# إنشاء كائن من فئة Presentation لفتح ملف العرض. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # إنشاء صورة بالمقياس المحدد. + with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail: + # حفظ الصورة إلى القرص بتنسيق PNG. + thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG) ``` -## **إنشاء مصغر لمظهر الشكل** -تسمح هذه الطريقة بإنشاء مصغرات للأشكال للمطورين بتوليد مصغر في حدود مظهر الشكل. تأخذ هذه الطريقة بعين الاعتبار جميع تأثيرات الشكل. يُقيد المصغر المُولد من حيث حدود الشريحة. لتوليد مصغر لأي شكل شريحة في حدود مظهره، استخدم كود المثال أدناه: -1. إنشاء مثيل من فئة `Presentation`. -1. الحصول على مرجع لأي شريحة باستخدام معرفها أو فهرسها. -1. الحصول على صورة المصغر للشريحة المرجعية مع حدود الشكل كمظهر. -1. حفظ صورة المصغر في أي تنسيق صورة مرغوب فيه. +## **إنشاء صور مصغرة باستخدام حدود مظهر الشكل** + +يعرض هذا القسم كيفية إنشاء صورة مصغرة ضمن حدود مظهر الشكل. يأخذ ذلك في الاعتبار جميع تأثيرات الشكل. تُقيَّد الصورة المصغرة التي تم إنشاؤها بحدود الشريحة. + +لإنشاء صورة مصغرة لأي شكل شريحة ضمن حدود مظهره: -المثال أدناه يُنشئ مصغرًا عند توليد مصغر بمعامل تغيير الحجم محدد بواسطة المستخدم. +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. الحصول على شريحة باستخدام معرفها أو فهرستها. +1. الحصول على الشكل المستهدف على تلك الشريحة. +1. إنشاء صورة مصغرة للشكل باستخدام الحدود المحددة. +1. حفظ صورة المصغرة بالتنسيق المرغوب للصور. ```py import aspose.slides as slides -# إنشاء فئة Presentation تمثل ملف العرض التقديمي -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # إنشاء صورة بمظهر محدد - with presentation.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.APPEARANCE, 1, 1) as bitmap: - # حفظ الصورة على القرص بتنسيق PNG - bitmap.save("Shape_thumbnail_Bound_Shape_out.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +image_bounds = slides.ShapeThumbnailBounds.APPEARANCE + +# إنشاء كائن من فئة Presentation لفتح ملف العرض. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # إنشاء صورة شكل بحدود المظهر. + with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail: + # حفظ الصورة إلى القرص بتنسيق PNG. + thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG) +``` + + +## **الأسئلة المتكررة** + +**ما صيغ الصور التي يمكن استخدامها عند حفظ صور المصغرة للأشكال؟** + +[PNG, JPEG, BMP, GIF, TIFF](https://reference.aspose.com/slides/python-net/aspose.slides/imageformat/)، وغيرها. يمكن أيضًا [تصدير الأشكال كـ SVG متجهة](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) عن طريق حفظ محتوى الشكل كملف SVG. + +**ما الفرق بين حدود SHAPE وAPPEARANCE عند إنشاء صورة مصغرة؟** + +`SHAPE` يستخدم هندسة الشكل؛ `APPEARANCE` يأخذ [التأثيرات البصرية](/slides/ar/python-net/shape-effect/) (الظلال، التوهجات، إلخ) في الاعتبار. + +**ماذا يحدث إذا تم وضع علامة على شكل كـ مخفي؟ هل سيستمر في إنشاء صورة مصغرة؟** + +يبقى الشكل المخفي جزءًا من النموذج ويمكن إنشاء صورة له؛ علم الإخفاء يؤثر على عرض الشريحة في العرض التقديمي ولكنه لا يمنع إنشاء صورة الشكل. + +**هل تدعم الأشكال الجماعية والمخططات وSmartArt وغيرها من الكائنات المعقدة؟** + +نعم. يمكن حفظ أي كائن ممثل كـ [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) (بما في ذلك [GroupShape](https://reference.aspose.com/slides/python-net/aspose.slides/groupshape/)، [Chart](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/)، و[SmartArt](https://reference.aspose.com/slides/python-net/aspose.slides.smartart/smartart/)) كصورة مصغرة أو كملف SVG. + +**هل تؤثر الخطوط المثبتة على النظام على جودة الصور المصغرة لأشكال النص؟** + +نعم. يجب عليك [توفير الخطوط المطلوبة](/slides/ar/python-net/custom-font/) (أو [تكوين استبدالات الخطوط](/slides/ar/python-net/font-substitution/)) لتجنب العروض الاحتياطية غير المرغوبة وإعادة تدفق النص. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md index 4cf3934ea7..d8d4767250 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md @@ -1,96 +1,114 @@ --- -title: رسوم متحركة للشكل +title: تطبيق رسوم متحركة للأشكال في العروض التقديمية باستخدام Python +linktitle: رسوم متحركة للأشكال type: docs weight: 60 url: /ar/python-net/shape-animation/ -keywords: "رسوم متحركة في PowerPoint، عرض PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "إنشاء رسوم متحركة في PowerPoint باستخدام بايثون" +keywords: +- شكل +- رسوم متحركة +- تأثير +- شكل متحرك +- نص متحرك +- إضافة رسوم متحركة +- الحصول على رسوم متحركة +- استخراج رسوم متحركة +- إضافة تأثير +- الحصول على تأثير +- استخراج تأثير +- صوت التأثير +- تطبيق رسوم متحركة +- PowerPoint +- عرض تقديمي +- Python +- Aspose.Slides +description: "اكتشف كيفية إنشاء وتخصيص رسوم متحركة للأشكال في عروض PowerPoint وعروض OpenDocument باستخدام Aspose.Slides للـ Python عبر .NET. تميز!" --- -الرسوم المتحركة هي تأثيرات بصرية يمكن تطبيقها على النصوص، الصور، الأشكال، أو [المخططات](/slides/ar/python-net/animated-charts/). إنها تضفي الحياة على العروض التقديمية أو مكوناتها. +الرسوم المتحركة هي تأثيرات مرئية يمكن تطبيقها على النصوص أو الصور أو الأشكال أو [المخططات](/slides/ar/python-net/animated-charts/). إنها تضيف الحياة إلى العروض التقديمية أو مكوّناتها. -### **لماذا استخدام الرسوم المتحركة في العروض التقديمية؟** +## **لماذا نستخدم الرسوم المتحركة في العروض التقديمية؟** -باستخدام الرسوم المتحركة، يمكنك +باستخدام الرسوم المتحركة، يمكنك * التحكم في تدفق المعلومات -* التأكيد على النقاط المهمة -* زيادة الاهتمام أو المشاركة بين جمهورك -* جعل المحتوى أسهل قراءة أو استيعاب أو معالجة -* جذب انتباه قرائك أو مشاهديك إلى أجزاء مهمة في عرض تقديمي +* تأكيد النقاط المهمة +* زيادة الاهتمام أو المشاركة لدى الجمهور +* جعل المحتوى أسهل للقراءة أو الاستيعاب أو المعالجة +* جذب انتباه القراء أو المشاهدين إلى الأجزاء الهامة في العرض -يوفر PowerPoint العديد من الخيارات والأدوات للرسوم المتحركة وتأثيرات الرسوم المتحركة عبر فئات **الدخول**، **الخروج**، **التأكيد**، و**مسارات الحركة**. +يوفر PowerPoint العديد من الخيارات والأدوات للرسوم المتحركة وتأثيراتها عبر فئات **الدخول**، **الخروج**، **التأكيد**، و**مسارات الحركة**. -### **الرسوم المتحركة في Aspose.Slides** +## **الرسوم المتحركة في Aspose.Slides** -* توفر Aspose.Slides الفئات والأنواع التي تحتاجها للعمل مع الرسوم المتحركة تحت مساحة [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/)، -* توفر Aspose.Slides أكثر من **150 تأثير رسوم متحركة** تحت تعداد [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). هذه التأثيرات هي في الأساس نفس (أو مكافئة) التأثيرات المستخدمة في PowerPoint. +* توفر Aspose.Slides الفئات والأنواع التي تحتاجها للعمل مع الرسوم المتحركة ضمن مساحة الاسم [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) ، +* توفر Aspose.Slides أكثر من **150 تأثيرًا للرسوم المتحركة** ضمن تعداد [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). هذه التأثيرات هي في الأساس نفس التأثيرات (أو ما يعادلها) المستخدمة في PowerPoint. ## **تطبيق الرسوم المتحركة على مربع النص** -تسمح لك Aspose.Slides لـ بايثون عبر .NET بتطبيق الرسوم المتحركة على النص في شكل. +تتيح Aspose.Slides للـ Python عبر .NET تطبيق الرسوم المتحركة على النص داخل الشكل. -1. أنشئ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أضف شكل `مستطيل` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. أضف نصاً إلى `IAutoShape.TextFrame`. -5. احصل على تسلسل رئيسي من التأثيرات. -6. أضف تأثير الرسوم المتحركة إلى [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -7. قم بتعيين خاصية `TextAnimation.BuildType` إلى القيمة من تعداد `BuildType`. -8. اكتب العرض التقديمي على القرص كملف PPTX. - -يظهر هذا الكود بلغة بايثون كيفية تطبيق تأثير `Fade` على AutoShape وتعيين الرسوم المتحركة للنص إلى قيمة *بواسطة الفقرات من المستوى الأول*: +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الحصول على مرجع الشريحة عبر فهرستها. +3. إضافة `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) . +4. إضافة نص إلى `IAutoShape.TextFrame` . +5. الحصول على تسلسل رئيسي من التأثيرات. +6. إضافة تأثير رسوم متحركة إلى [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) . +7. ضبط خاصية `TextAnimation.BuildType` إلى القيمة من تعداد `BuildType` . +8. كتابة العرض التقديمي إلى القرص كملف PPTX . +يعرض هذا الكود Python كيفية تطبيق تأثير `Fade` على AutoShape وتعيين تحريك النص إلى قيمة *By 1st Level Paragraphs* : ```python import aspose.slides as slides -# ينشئ مثيل من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. +# ينشئ كائنًا من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. with slides.Presentation() as pres: sld = pres.slides[0] - # يضيف AutoShape جديدة مع نص + # يضيف AutoShape جديدًا مع نص autoShape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 100) textFrame = autoShape.text_frame - textFrame.text = "الفقرة الأولى \nالفقرة الثانية \n الفقرة الثالثة" + textFrame.text = "First paragraph \nSecond paragraph \n Third paragraph" # يحصل على التسلسل الرئيسي للشريحة. sequence = sld.timeline.main_sequence - # يضيف تأثير الرسوم المتحركة Fade للشكل + # يضيف تأثير الرسوم المتحركة Fade إلى الشكل effect = sequence.add_effect(autoShape, slides.animation.EffectType.FADE, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.ON_CLICK) - # يقوم بتحريك نص الشكل بواسطة فقرات المستوى الأول + # يُحرك نص الشكل حسب الفقرات من المستوى الأول effect.text_animation.build_type = slides.animation.BuildType.BY_LEVEL_PARAGRAPHS1 # يحفظ ملف PPTX على القرص pres.save("AnimText_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="primary" %}} -بخلاف تطبيق الرسوم المتحركة على النص، يمكنك أيضاً تطبيق الرسوم المتحركة على [فقرة](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) واحدة. انظر [**النص المتحرك**](/slides/ar/python-net/animated-text/). +{{% alert color="primary" %}} -{{% /alert %}} +بالإضافة إلى تطبيق الرسوم المتحركة على النص، يمكنك أيضًا تطبيقها على [Paragraph] واحد. راجع [**Animated Text**](/slides/ar/python-net/animated-text/). -## **تطبيق الرسوم المتحركة على PictureFrame** +{{% /alert %}} -1. أنشئ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أضف أو احصل على [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) في الشريحة. -4. احصل على التسلسل الرئيسي للتأثيرات. -5. أضف تأثير الرسوم المتحركة إلى [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) . -6. اكتب العرض التقديمي على القرص كملف PPTX. +## **تطبيق الرسوم المتحركة على PictureFrame** -يظهر هذا الكود بلغة بايثون كيفية تطبيق تأثير `Fly` على إطار الصورة: +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الحصول على مرجع الشريحة عبر فهرستها. +3. إضافة أو الحصول على [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) على الشريحة. +4. الحصول على التسلسل الرئيسي للتأثيرات. +5. إضافة تأثير رسوم متحركة إلى [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) . +6. كتابة العرض التقديمي إلى القرص كملف PPTX . +يعرض هذا الكود Python كيفية تطبيق تأثير `Fly` على إطار صورة : ```python import aspose.slides as slides import aspose.pydrawing as draw -# ينشئ مثيل من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. + +# ينشئ فئة عرض تقديمي تمثل ملف عرض تقديمي. with slides.Presentation() as pres: - # تحميل الصورة لإضافتها في مجموعة صور العرض التقديمي + # تحميل الصورة لإضافتها إلى مجموعة صور العرض التقديمي img = draw.Bitmap("aspose-logo.jpg") image = pres.images.add_image(img) @@ -100,41 +118,41 @@ with slides.Presentation() as pres: # يحصل على التسلسل الرئيسي للشريحة. sequence = pres.slides[0].timeline.main_sequence - # يضيف تأثير الرسوم المتحركة Fly من اليسار إلى إطار الصورة + # يضيف تأثير التحليق من اليسار إلى إطار الصورة effect = sequence.add_effect(picFrame, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.LEFT, slides.animation.EffectTriggerType.ON_CLICK) - # يحفظ ملف PPTX على القرص + # حفظ ملف PPTX على القرص pres.save("AnimImage_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **تطبيق الرسوم المتحركة على الشكل** -1. أنشئ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أضف شكل `مستطيل` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. أضف [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) `Bevel` (عند النقر على هذا الكائن، يتم تشغيل الرسوم المتحركة). -5. أنشئ تسلسل تأثيرات على شكل البيفل. -6. أنشئ `UserPath` مخصص. -7. أضف أوامر للحركة إلى `UserPath`. -8. اكتب العرض التقديمي على القرص كملف PPTX. +## **تطبيق الرسوم المتحركة على الشكل** -يظهر هذا الكود بلغة بايثون كيفية تطبيق تأثير `PathFootball` (ممر كرة القدم) على شكل: +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الحصول على مرجع الشريحة عبر فهرستها. +3. إضافة `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) . +4. إضافة `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) (عند النقر على هذا الكائن، يتم تشغيل الرسوم المتحركة). +5. إنشاء تسلسل من التأثيرات على شكل الـ Bevel. +6. إنشاء مسار مخصص `UserPath` . +7. إضافة أوامر للانتقال إلى `UserPath` . +8. كتابة العرض التقديمي إلى القرص كملف PPTX . +يعرض هذا الكود Python كيفية تطبيق تأثير `PathFootball` (مسار كرة القدم) على شكل : ```python import aspose.slides.animation as anim import aspose.slides as slides import aspose.pydrawing as draw -# ينشئ فئة العرض التي تمثل ملف PPTX +# ينشئ فئة عرض تقديمي تمثل ملف PPTX with slides.Presentation() as pres: sld = pres.slides[0] - # ينشئ تأثير PathFootball لشكل موجود من الصفر. + # ينشئ تأثير PathFootball للشكل الموجود من الصفر. ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 150, 250, 25) - ashp.add_text_frame("مربع نص متحرك") + ashp.add_text_frame("Animated TextBox") # يضيف تأثير الرسوم المتحركة PathFootBall. pres.slides[0].timeline.main_sequence.add_effect(ashp, @@ -142,10 +160,10 @@ with slides.Presentation() as pres: anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS) - # ينشئ نوعاً من "زر". + # ينشئ نوعًا من "زر". shapeTrigger = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.BEVEL, 10, 10, 20, 20) - # ينشئ تسلسل تأثيرات للزر. + # ينشئ تسلسلًا من التأثيرات للزر. seqInter = pres.slides[0].timeline.interactive_sequences.add(shapeTrigger) # ينشئ مسار مستخدم مخصص. سيتم نقل كائننا فقط بعد النقر على الزر. @@ -154,7 +172,7 @@ with slides.Presentation() as pres: anim.EffectSubtype.NONE, anim.EffectTriggerType.ON_CLICK) - # يضيف أوامر للحركة منذ أن المسار الذي تم إنشاؤه فارغ. + # يضيف أوامر للتحريك لأن المسار الذي تم إنشاؤه فارغ. motionBhv = fxUserPath.behaviors[0] pts = [draw.PointF(0.076, 0.59)] @@ -167,94 +185,152 @@ with slides.Presentation() as pres: pres.save("AnimExample_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **الحصول على تأثيرات الرسوم المتحركة المطبقة على الشكل** -يمكنك أن تقرر معرفة جميع تأثيرات الرسوم المتحركة المطبقة على شكل واحد. +تظهر الأمثلة التالية كيفية استخدام طريقة `get_effects_by_shape` من الفئة [Sequence](https://reference.aspose.com/slides/python-net/aspose.slides.animation/sequence/) للحصول على جميع تأثيرات الرسوم المتحركة المطبقة على شكل. -يظهر هذا الكود بلغة بايثون كيفية الحصول على جميع التأثيرات المطبقة على شكل محدد: +**المثال 1: الحصول على تأثيرات الرسوم المتحركة المطبقة على شكل في شريحة عادية** +سابقًا، تعلمت كيفية إضافة تأثيرات الرسوم المتحركة إلى الأشكال في عروض PowerPoint. يوضح الكود النموذجي التالي كيفية الحصول على التأثيرات المطبقة على الشكل الأول في الشريحة العادية الأولى في العرض `AnimExample_out.pptx` . ```python import aspose.slides as slides -# ينشئ مثيل من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. -with slides.Presentation("AnimExample_out.pptx") as pres: - firstSlide = pres.slides[0] +with slides.Presentation("AnimExample_out.pptx") as presentation: + first_slide = presentation.slides[0] - # يحصل على التسلسل الرئيسي للشريحة. - sequence = firstSlide.timeline.main_sequence + # يحصل على التسلسل الرئيسي للرسوم المتحركة للشريحة. + sequence = first_slide.timeline.main_sequence + + # يحصل على الشكل الأول في الشريحة الأولى. + shape = first_slide.shapes[0] + + # يحصل على تأثيرات الرسوم المتحركة المطبقة على الشكل. + shape_effects = sequence.get_effects_by_shape(shape) + + if len(shape_effects) > 0: + print("The shape", shape.name, "has", len(shape_effects), "animation effects.") +``` + + +**المثال 2: الحصول على جميع تأثيرات الرسوم المتحركة، بما في ذلك تلك الموروثة من العناصر النائبة** + +إذا كان الشكل في شريحة عادية يحتوي على عناصر نائبة موجودة في شريحة التخطيط و/أو شريحة القالب، وتم إضافة تأثيرات رسوم متحركة إلى هذه العناصر النائبة، فستُعرض جميع تأثيرات الشكل أثناء عرض الشرائح، بما في ذلك تلك الموروثة من العناصر النائبة. + +لنفترض أن لدينا ملف عرض PowerPoint `sample.pptx` يحتوي على شريحة واحدة تحتوي فقط على شكل تذييل بنص "Made with Aspose.Slides" وتم تطبيق تأثير **Random Bars** على الشكل. + +![تأثير رسوم متحركة لشكل الشريحة](slide-shape-animation.png) + +كما نفترض أن تأثير **Split** تم تطبيقه على عنصر النائب في تذييل شريحة **التخطيط**. + +![تأثير رسوم متحركة لشكل التخطيط](layout-shape-animation.png) + +وأخيرًا، تم تطبيق تأثير **Fly In** على عنصر النائب في تذييل شريحة **القالب**. + +![تأثير رسوم متحركة لشكل القالب](master-shape-animation.png) + +يظهر الكود النموذجي التالي كيفية استخدام طريقة `get_base_placeholder` من الفئة [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) للوصول إلى عناصر النائب للشكل والحصول على تأثيرات الرسوم المتحركة المطبقة على شكل التذييل، بما في ذلك تلك الموروثة من العناصر النائبة الموجودة في شريحة التخطيط والقالب . +```py +import aspose.slides as slides + +def print_effects(effects): + for effect in effects: + print(effect.type.name, effect.subtype.name) +``` + +```py +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # يحصل على أول شكل على الشريحة. - shape = firstSlide.shapes[0] + # الحصول على تأثيرات الرسوم المتحركة للشكل في الشريحة العادية. + shape = slide.shapes[0] + shape_effects = slide.timeline.main_sequence.get_effects_by_shape(shape) - # يحصل على جميع تأثيرات الرسوم المتحركة المطبقة على الشكل. - shapeEffects = sequence.get_effects_by_shape(shape) + # الحصول على تأثيرات الرسوم المتحركة للعنصر النائب في شريحة التخطيط. + layout_shape = shape.get_base_placeholder() + layout_shape_effects = slide.layout_slide.timeline.main_sequence.get_effects_by_shape(layout_shape) - if len(shapeEffects) > 0: - print("الشكل " + shape.name + " لديه " + str(len(shapeEffects)) + " تأثيرات رسوم متحركة.") + # الحصول على تأثيرات الرسوم المتحركة للعنصر النائب في شريحة القالب. + master_shape = layout_shape.get_base_placeholder() + master_shape_effects = slide.layout_slide.master_slide.timeline.main_sequence.get_effects_by_shape(master_shape) + + print("Main sequence of shape effects:") + print_effects(master_shape_effects) + print_effects(layout_shape_effects) + print_effects(shape_effects) +``` + + +الإخراج: +```text +Main sequence of shape effects: +FLY BOTTOM +SPLIT VERTICAL_IN +RANDOM_BARS HORIZONTAL ``` + ## **تغيير خصائص توقيت تأثير الرسوم المتحركة** -تسمح لك Aspose.Slides لـ بايثون عبر .NET بتغيير خصائص توقيت تأثير الرسوم المتحركة. +تتيح Aspose.Slides للـ Python عبر .NET تغيير خصائص التوقيت لتأثير الرسوم المتحركة. هذه هي لوحة توقيت الرسوم المتحركة في Microsoft PowerPoint: ![example1_image](shape-animation.png) -هذه هي المطابقات بين توقيت PowerPoint وخصائص `Effect.Timing`: +هذه هي العلاقات بين توقيت PowerPoint وخصائص `Effect.Timing` : -- قائمة السحب الخاصة بتوقيت PowerPoint **Start** تتطابق مع خاصية [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) . -- تتوافق **مدة** توقيت PowerPoint مع خاصية `Effect.Timing.Duration`. تستغرق مدة الرسوم المتحركة (بالثواني) الوقت الإجمالي الذي تستغرقه الرسوم المتحركة لإكمال دورة واحدة. -- تتوافق **تأخير** توقيت PowerPoint مع خاصية `Effect.Timing.TriggerDelayTime`. +- القائمة المنسدلة **Start** في PowerPoint Timing تتطابق مع خاصية [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) . +- **Duration** في PowerPoint Timing يتطابق مع خاصية `Effect.Timing.Duration` . مدة الرسوم المتحركة (بالثواني) هي إجمالي الوقت الذي تستغرقه الرسوم المتحركة لإكمال دورة واحدة. +- **Delay** في PowerPoint Timing يتطابق مع خاصية `Effect.Timing.TriggerDelayTime` . -هذه هي كيفية تغيير خصائص توقيت التأثير: +بهذا الشكل يمكنك تغيير خصائص توقيت التأثير: -1. [تطبيق](#apply-animation-to-shape) أو احصل على تأثير الرسوم المتحركة. -2. قم بتعيين قيم جديدة لخصائص `Effect.Timing` التي تحتاجها. +1. [تطبيق](#apply-animation-to-shape) أو الحصول على تأثير الرسوم المتحركة. +2. ضبط قيم جديدة لخصائص `Effect.Timing` التي تحتاجها. 3. احفظ ملف PPTX المعدل. -هذا الكود بلغة بايثون يوضح العملية: - +يعرض هذا الكود Python العملية : ```python import aspose.slides as slides -# ينشئ مثيل من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. +# ينشئ فئة عرض تقديمي تمثل ملف عرض تقديمي. with slides.Presentation("AnimExample_out.pptx") as pres: # يحصل على التسلسل الرئيسي للشريحة. sequence = pres.slides[0].timeline.main_sequence - # يحصل على أول تأثير من التسلسل الرئيسي. + # يحصل على التأثير الأول في التسلسل الرئيسي. effect = sequence[0] - # يغير نوع التأثير TriggerType ليبدأ عند النقر + # يغيّر TriggerType للتأثير لجعله يبدأ عند النقر effect.timing.trigger_type = slides.animation.EffectTriggerType.ON_CLICK - # يغير مدة التأثير + # يغيّر مدة التأثير effect.timing.duration = 3 - # يغير TriggerDelayTime للتأثير + # يغيّر TriggerDelayTime للتأثير effect.timing.trigger_delay_time = 0.5 # يحفظ ملف PPTX على القرص pres.save("AnimExample_changed.pptx", slides.export.SaveFormat.PPTX) ``` + ## **صوت تأثير الرسوم المتحركة** -تقدم Aspose.Slides هذه الخصائص للسماح لك بالعمل مع الأصوات في تأثيرات الرسوم المتحركة: +توفر Aspose.Slides هذه الخصائص لتتيح لك العمل مع الأصوات في تأثيرات الرسوم المتحركة: - `sound` - `stop_previous_sound` -### **إضافة صوت تأثير الرسوم المتحركة** - -يظهر هذا الكود بلغة بايثون كيفية إضافة صوت تأثير الرسوم المتحركة وإيقافه عند بدء التأثير التالي: +### **إضافة صوت لتأثير الرسوم المتحركة** +يعرض هذا الكود Python كيفية إضافة صوت لتأثير الرسوم المتحركة وإيقافه عندما يبدأ التأثير التالي : ```python import aspose.slides as slides with Presentation("AnimExample_out.pptx") as pres: - # يضيف الصوت إلى مجموعة الصوتيات في العرض التقديمي + # يضيف صوتًا إلى مجموعة أصوات العرض التقديمي effect_sound = pres.audios.add_audio(open("sampleaudio.wav", "rb").read()) first_slide = pres.slides[0] @@ -262,37 +338,37 @@ with Presentation("AnimExample_out.pptx") as pres: # يحصل على التسلسل الرئيسي للشريحة. sequence = first_slide.timeline.main_sequence - # يحصل على أول تأثير من التسلسل الرئيسي + # يحصل على التأثير الأول في التسلسل الرئيسي first_effect = sequence[0] - # يتحقق من التأثير لـ "لا صوت" + # يتحقق من أن التأثير لا يحتوي على صوت if not first_effect.stop_previous_sound and first_effect.sound is None: - # يضيف الصوت للتأثير الأول + # يضيف صوتًا للتأثير الأول first_effect.sound = effect_sound # يحصل على أول تسلسل تفاعلي في الشريحة. interactive_sequence = first_slide.timeline.interactive_sequences[0] - # يحدد علامة "إيقاف الصوت السابق" للتأثير + # يضبط علامة "إيقاف الصوت السابق" للتأثير interactive_sequence[0].stop_previous_sound = True - # يكتب ملف PPTX على القرص + # يحفظ ملف PPTX على القرص pres.save("AnimExample_Sound_out.pptx", slides.export.SaveFormat.PPTX) ``` -### **استخراج صوت تأثير الرسوم المتحركة** -1. أنشئ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. احصل على التسلسل الرئيسي للتأثيرات. -4. استخراج `sound` المدمج إلى كل تأثير رسوم متحركة. +### **استخراج صوت تأثير الرسوم المتحركة** -يظهر هذا الكود بلغة بايثون كيفية استخراج الصوت المدمج في تأثير الرسوم المتحركة: +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الحصول على مرجع الشريحة عبر فهرستها. +3. الحصول على التسلسل الرئيسي للتأثيرات. +4. استخراج الصوت `sound` المضمن في كل تأثير رسوم متحركة. +يعرض هذا الكود Python كيفية استخراج الصوت المضمن في تأثير الرسوم المتحركة : ```python import aspose.slides as slides -# ينشئ مثيل من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. +# ينشئ كائنًا من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. with slides.Presentation("EffectSound.pptx") as presentation: slide = presentation.slides[0] @@ -303,86 +379,102 @@ with slides.Presentation("EffectSound.pptx") as presentation: if effect.sound is None: continue - # استخراج الصوت من التأثير في مصفوفة بايت + # يستخرج صوت التأثير كمصفوفة بايت audio = effect.sound.binary_data ``` + ## **بعد الرسوم المتحركة** -تسمح لك Aspose.Slides لـ .NET بتغيير خاصية بعد الرسوم المتحركة لتأثير الرسوم المتحركة. +تتيح Aspose.Slides للـ .NET تغيير خاصية After animation لتأثير الرسوم المتحركة. هذه هي لوحة تأثير الرسوم المتحركة والقائمة الموسعة في Microsoft PowerPoint: ![example1_image](shape-after-animation.png) -تتطابق قائمة PowerPoint **بعد الرسوم المتحركة** مع الخصائص التالية: - -- خاصية `after_animation_type` التي تصف نوع الرسوم المتحركة بعد: - * تتطابق PowerPoint **الألوان الإضافية** مع النوع [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; - * تطابق عنصر القائمة **عدم التعتيم** في PowerPoint مع النوع [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (نوع الرسوم المتحركة بعد الافتراضي) ; - * تتطابق عنصر القائمة **إخفاء بعد الرسوم المتحركة** مع النوع [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; - * تتطابق عنصر القائمة **إخفاء عند النقر بالفأرة التالية** مع النوع [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; -- خاصية `after_animation_color` التي تحدد تنسيق لون الرسوم المتحركة بعد. تعمل هذه الخاصية بالتعاون مع النوع [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) . إذا قمت بتغيير النوع إلى آخر، سيتم مسح لون الرسوم المتحركة بعد. +قائمة منسدلة **After animation** في PowerPoint تتطابق مع هذه الخصائص: -يظهر هذا الكود بلغة بايثون كيفية تغيير تأثير الرسوم المتحركة بعد: +- خاصية `after_animation_type` التي تصف نوع بعد الرسوم المتحركة : + * **More Colors** في PowerPoint يتطابق مع نوع [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; + * **Don't Dim** في PowerPoint يتطابق مع نوع [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (نوع بعد الرسوم المتحركة الافتراضي) ; + * **Hide After Animation** في PowerPoint يتطابق مع نوع [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; + * **Hide on Next Mouse Click** في PowerPoint يتطابق مع نوع [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; +- خاصية `after_animation_color` التي تحدد تنسيق لون بعد الرسوم المتحركة. تعمل هذه الخاصية بالتزامن مع نوع [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) . إذا غيرت النوع إلى نوع آخر، سيتم مسح لون بعد الرسوم المتحركة. +يعرض هذا الكود Python كيفية تغيير تأثير بعد الرسوم المتحركة : ```python import aspose.slides as slides -# ينشئ مثيل من فئة العرض التقديمي التي تمثل ملف عرض تقديمي. +# ينشئ فئة عرض تقديمي تمثل ملف عرض تقديمي with slides.Presentation("AnimImage_out.pptx") as pres: first_slide = pres.slides[0] - # يحصل على أول تأثير من التسلسل الرئيسي + # يحصل على التأثير الأول في التسلسل الرئيسي first_effect = first_slide.timeline.main_sequence[0] - # يغير نوع الرسوم المتحركة بعد إلى لون + # يغيّر نوع الحركة بعد الرسوم المتحركة إلى اللون first_effect.after_animation_type = AfterAnimationType.COLOR # يحدد لون التعتيم بعد الرسوم المتحركة first_effect.after_animation_color.color = Color.alice_blue - # يكتب ملف PPTX على القرص + # يحفظ ملف PPTX على القرص pres.save("AnimImage_AfterAnimation.pptx", slides.export.SaveFormat.PPTX) ``` + ## **تحريك النص** -تقدم Aspose.Slides هذه الخصائص للسماح لك بالعمل مع كتلة *تحريك النص* لتأثير الرسوم المتحركة: +توفر Aspose.Slides هذه الخصائص لتتيح لك العمل مع قسم *تحريك النص* في تأثير الرسوم المتحركة : -- `animate_text_type` الذي يصف نوع تحريك النص للتأثير. يمكن تحريك نص الشكل: - - جميعًا في آن واحد ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) النوع) - - بواسطة الكلمات ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) النوع) - - بواسطة الحروف ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) النوع) -- `delay_between_text_parts` تحدد تأخيرًا بين أجزاء النص المتحرك (كلمات أو حروف). تحدد القيمة الإيجابية النسبة المئوية لمدة التأثير. تحدد القيمة السلبية التأخير بالثواني. +- `animate_text_type` التي تصف نوع تحريك النص في التأثير. يمكن تحريك نص الشكل : + - كلّها مرة واحدة ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) النوع) + - حسب الكلمات ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) النوع) + - حسب الحرف ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) النوع) +- `delay_between_text_parts` تحدد تأخيرًا بين أجزاء النص المتحركة (كلمات أو أحرف). القيمة الموجبة تحدد نسبة مدة التأثير. القيمة السالبة تحدد التأخير بالثواني. -هذه هي كيفية تغيير خصائص تأثير تحريك النص: +بهذا الشكل يمكنك تغيير خصائص تحريك النص في التأثير : -1. [تطبيق](#apply-animation-to-shape) أو احصل على تأثير الرسوم المتحركة. -2. قم بتعيين خاصية `build_type` إلى قيمة [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) لإيقاف وضع الرسوم المتحركة *بواسطة الفقرات*. -3. قم بتعيين قيم جديدة لخصائص `animate_text_type` و`delay_between_text_parts`. +1. [تطبيق](#apply-animation-to-shape) أو الحصول على تأثير الرسوم المتحركة. +2. ضبط خاصية `build_type` إلى القيمة [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) لإيقاف وضع التحريك *By Paragraphs*. +3. ضبط قيم جديدة لخصائص `animate_text_type` و `delay_between_text_parts` . 4. احفظ ملف PPTX المعدل. -هذا الكود بلغة بايثون يوضح العملية: - +يعرض هذا الكود Python العملية : ```python import aspose.slides as slides with slides.Presentation("AnimTextBox_out.pptx") as pres: first_slide = pres.slides[0] - # يحصل على أول تأثير من التسلسل الرئيسي + # يحصل على التأثير الأول في التسلسل الرئيسي first_effect = first_slide.timeline.main_sequence[0] - # يغير نوع تأثير الرسوم المتحركة للنص إلى "كشكل واحد" + # يغيّر نوع تحريك النص للتأثير إلى "As One Object" first_effect.text_animation.build_type = slides.animation.BuildType.AS_ONE_OBJECT - # يغير نوع تأثير تحريك النص إلى "بواسطة الكلمات" + # يغيّر نوع تحريك النص للتأثير إلى "By word" first_effect.animate_text_type = slides.animation.AnimateTextType.BY_WORD - # يحدد التأخير بين الكلمات إلى 20% من مدة التأثير + # يحدد التأخير بين الكلمات إلى 20٪ من مدة التأثير first_effect.delay_between_text_parts = 20 - # يكتب ملف PPTX على القرص + # يحفظ ملف PPTX على القرص pres.save("AnimTextBox_AnimateText.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +``` + + +## **الأسئلة الشائعة** + +**كيف يمكنني ضمان حفظ الرسوم المتحركة عند نشر العرض التقديمي على الويب؟** + +[التصدير إلى HTML5](/slides/ar/python-net/export-to-html5/) وتفعيل [الخيارات](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) المسؤولة عن الرسوم المتحركة للأشكال ([shape](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/)) والانتقالات ([transition](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/)). لا يقوم HTML العادي بتشغيل رسوم المتحركة للشرائح، في حين يدعم HTML5 ذلك. + +**كيف يؤثر تغيير ترتيب الـ z-order (ترتيب الطبقات) للأشكال على الرسوم المتحركة؟** + +الرسوم المتحركة وترتيب الرسم مستقلان: يتحكم التأثير في توقيت ونوع الظهور/الاختفاء، بينما يحدد ترتيب الـ z-order ما يغطي ما. النتيجة المرئية تُحدَّد بتواصلهما. (هذا هو سلوك PowerPoint العام؛ نموذج Aspose.Slides للرسوم المتحركة والأشكال يتبع نفس المنطق.) + +**هل هناك قيود عند تحويل الرسوم المتحركة إلى فيديو لبعض التأثيرات؟** + +بشكل عام، يتم دعم [الرسوم المتحركة](/slides/ar/python-net/convert-powerpoint-to-video/)، لكن قد تُعرض حالات نادرة أو تأثيرات محددة بطريقة مختلفة. يوصى باختبار التأثيرات المستخدمة وإصدار المكتبة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md index e9486342d3..e04ed1e86d 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md @@ -1,26 +1,37 @@ --- -title: تأثير الشكل +title: تطبيق تأثيرات الأشكال في العروض التقديمية باستخدام بايثون +linktitle: تأثير الشكل type: docs weight: 30 url: /ar/python-net/shape-effect -keywords: "تأثير الشكل، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "تطبيق تأثير على شكل PowerPoint في بايثون" +keywords: +- تأثير الشكل +- تأثير الظل +- تأثير الانعكاس +- تأثير التوهج +- تأثير الحواف الناعمة +- تنسيق التأثير +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "حوّل ملفات PPT و PPTX و ODP الخاصة بك باستخدام تأثيرات الأشكال المتقدمة عبر Aspose.Slides للبايثون—أنشئ شرائح جذابة ومحترفة في ثوانٍ." --- -بينما يمكن استخدام التأثيرات في PowerPoint لجعل الشكل بارزًا، إلا أنها تختلف عن [التعبئات](/slides/ar/python-net/shape-formatting/#gradient-fill) أو الحواف. باستخدام تأثيرات PowerPoint، يمكنك إنشاء انعكاسات مقنعة على شكل، ونشر توهج شكل، إلخ. +بينما يمكن استخدام التأثيرات في PowerPoint لجعل الشكل يبرز، فإنها تختلف عن [fills](/slides/ar/python-net/shape-formatting/#gradient-fill) أو الخطوط الخارجية. باستخدام تأثيرات PowerPoint، يمكنك إنشاء انعكاسات مقنعة على الشكل، أو نشر توهج الشكل، إلخ. تأثير الشكل -* يوفر PowerPoint ستة تأثيرات يمكن تطبيقها على الأشكال. يمكنك تطبيق تأثير واحد أو أكثر على شكل. +* يوفر PowerPoint ستة تأثيرات يمكن تطبيقها على الأشكال. يمكنك تطبيق واحد أو أكثر من التأثيرات على الشكل. -* تبدو بعض مجموعات التأثيرات أفضل من غيرها. لهذه السبب، تقدم PowerPoint خيارات تحت **preset**. خيارات preset هي في الأساس مجموعة معروفة ذات مظهر جيد من اثنين أو أكثر من التأثيرات. بهذه الطريقة، من خلال اختيار preset، لن تضطر إلى إضاعة الوقت في اختبار أو دمج تأثيرات مختلفة للعثور على مجموعة جميلة. +* بعض تركيبات التأثيرات تبدو أفضل من غيرها. لهذا السبب، تتوفر خيارات PowerPoint تحت **Preset**. خيارات Preset هي في الأساس تركيبة معروفة المظهر من اثنين أو أكثر من التأثيرات. بهذه الطريقة، باختيار إعداد مسبق، لن تضطر إلى إضاعة الوقت في اختبار أو دمج تأثيرات مختلفة للعثور على تركيبة جميلة. -توفر Aspose.Slides خصائص وطرق تحت فئة [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) التي تسمح لك بتطبيق نفس التأثيرات على الأشكال في عروض PowerPoint. +توفر Aspose.Slides خصائص وأساليب تحت فئة [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) التي تتيح لك تطبيق نفس التأثيرات على الأشكال في عروض PowerPoint. ## **تطبيق تأثير الظل** -يظهر لك هذا الكود البرمجي بلغة بايثون كيفية تطبيق تأثير الظل الخارجي (`outer_shadow_effect`) على مستطيل: - +هذا الشيفرة Python توضح لك كيفية تطبيق تأثير الظل الخارجي (`outer_shadow_effect`) على مستطيل: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -36,10 +47,10 @@ with slides.Presentation() as pres: pres.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **تطبيق تأثير الانعكاس** -يظهر لك هذا الكود البرمجي بلغة بايثون كيفية تطبيق تأثير الانعكاس على شكل: +## **تطبيق تأثير الانعكاس** +هذا الشيفرة Python توضح لك كيفية تطبيق تأثير الانعكاس على شكل: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -56,10 +67,10 @@ with slides.Presentation() as pres: pres.save("reflection.pptx", slides.export.SaveFormat.PPTX) ``` -## **تطبيق تأثير التوهج** -يظهر لك هذا الكود البرمجي بلغة بايثون كيفية تطبيق تأثير التوهج على شكل: +## **تطبيق تأثير التوهج** +هذا الشيفرة Python توضح لك كيفية تطبيق تأثير التوهج على شكل: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -74,10 +85,10 @@ with slides.Presentation() as pres: pres.save("glow.pptx", slides.export.SaveFormat.PPTX) ``` -## **تطبيق تأثير الحواف الناعمة** -يظهر لك هذا الكود البرمجي بلغة بايثون كيفية تطبيق الحواف الناعمة على شكل: +## **تطبيق تأثير الحواف الناعمة** +هذا الشيفرة Python توضح لك كيفية تطبيق الحواف الناعمة على شكل: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -89,4 +100,19 @@ with slides.Presentation() as pres: shape.effect_format.soft_edge_effect.radius = 15 pres.save("softEdges.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل يمكنني تطبيق عدة تأثيرات على نفس الشكل؟** + +نعم، يمكنك دمج تأثيرات مختلفة، مثل الظل، والانعكاس، والتوهج، على شكل واحد لإنشاء مظهر أكثر ديناميكية. + +**ما هي الأشكال التي يمكنني تطبيق التأثيرات عليها؟** + +يمكنك تطبيق التأثيرات على أشكال متنوعة، بما في ذلك الأشكال التلقائية، المخططات، الجداول، الصور، كائنات SmartArt، كائنات OLE، وأكثر. + +**هل يمكنني تطبيق التأثيرات على مجموعة من الأشكال؟** + +نعم، يمكنك تطبيق التأثيرات على مجموعات الأشكال. سيُطبق التأثير على المجموعة بأكملها. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md index 2629df899c..5ad15eac75 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md @@ -1,360 +1,389 @@ --- -title: موصل +title: إدارة الموصلات في العروض التقديمية باستخدام بايثون +linktitle: موصل type: docs weight: 10 url: /ar/python-net/connector/ -keywords: "ربط الأشكال، الموصلات، أشكال PowerPoint، عرض PowerPoint، Python، Aspose.Slides لـ Python عبر .NET" -description: "ربط أشكال PowerPoint في Python" +keywords: +- موصل +- نوع الموصل +- نقطة الموصل +- خط الموصل +- زاوية الموصل +- ربط الأشكال +- PowerPoint +- عرض تقديمي +- Python +- Aspose.Slides +description: "مكّن تطبيقات بايثون من رسم وربط وتوجيه الخطوط تلقائيًا في شرائح PowerPoint وOpenDocument — احصل على تحكم كامل في الموصلات المستقيمة، الزاوية والمنحنية." --- -موصل PowerPoint هو خط خاص يربط شكلين معًا ويبقى متصلًا بالأشكال حتى عندما يتم تحريكها أو إعادة وضعها على شريحة معينة. +## **المقدمة** -عادةً ما تكون الموصلات متصلة بـ *نقاط الاتصال* (نقاط خضراء)، التي توجد على جميع الأشكال بشكل افتراضي. تظهر نقاط الاتصال عندما يقترب مؤشر الفأرة منها. - -*نقاط التعديل* (نقاط برتقالية)، التي توجد فقط على موصلات معينة، تُستخدم لتعديل مواضع وأشكال الموصلات. +موصل PowerPoint هو خط متخصص يربط شكلين ويبقى ملتصقًا عندما يتم تحريك الأشكال أو إعادة وضعها على الشريحة. يلتصق الموصلون بـ **نقاط الاتصال** (النقاط الخضراء) على الأشكال. تظهر نقاط الاتصال عندما يقترب المؤشر منها. **مقابض الضبط** (النقاط الصفراء)، المتوفرة على بعض الموصلات، تتيح لك تعديل موضع وشكل الموصل. ## **أنواع الموصلات** -في PowerPoint، يمكنك استخدام موصلات مستقيمة، وزاوية (ملوية)، ومقوسة. +في PowerPoint، يمكنك استخدام ثلاثة أنواع من الموصلات: مستقيم، كوع (زاوي)، ومنحني. -توفر Aspose.Slides هذه الموصلات: +يدعم Aspose.Slides الأنواع التالية من الموصلات: -| الموصل | الصورة | عدد نقاط التعديل | -| ------------------------------ | ------------------------------------------------------------ | --------------------------- | -| `ShapeType.LINE` | ![shapetype-lineconnector](shapetype-lineconnector.png) | 0 | -| `ShapeType.STRAIGHT_CONNECTOR1` | ![shapetype-straightconnector1](shapetype-straightconnector1.png) | 0 | -| `ShapeType.BENT_CONNECTOR2` | ![shapetype-bent-connector2](shapetype-bent-connector2.png) | 0 | -| `ShapeType.BENT_CONNECTOR3` | ![shapetype-bentconnector3](shapetype-bentconnector3.png) | 1 | -| `ShapeType.BENT_CONNECTOR4` | ![shapetype-bentconnector4](shapetype-bentconnector4.png) | 2 | -| `ShapeType.BENT_CONNECTOR5` | ![shapetype-bentconnector5](shapetype-bentconnector5.png) | 3 | -| `ShapeType.CURVED_CONNECTOR2` | ![shapetype-curvedconnector2](shapetype-curvedconnector2.png) | 0 | -| `ShapeType.CURVED_CONNECTOR3` | ![shapetype-curvedconnector3](shapetype-curvedconnector3.png) | 1 | -| `ShapeType.CURVED_CONNECTOR4` | ![shapetype-curvedconnector4](shapetype-curvedconnector4.png) | 2 | -| `ShapeType.CURVED_CONNECTOR5` | ![shapetype.curvedconnector5](shapetype.curvedconnector5.png) | 3 | +| نوع الموصل | صورة | عدد نقاط الضبط | +| ------------------------------- | --------------------------------------------------------- | --------------------------- | +| `ShapeType.LINE` | ![موصل خط](shapetype-lineconnector.png) | 0 | +| `ShapeType.STRAIGHT_CONNECTOR1` | ![موصل مستقيم 1](shapetype-straightconnector1.png) | 0 | +| `ShapeType.BENT_CONNECTOR2` | ![موصل منحني 2](shapetype-bent-connector2.png) | 0 | +| `ShapeType.BENT_CONNECTOR3` | ![موصل منحني 3](shapetype-bentconnector3.png) | 1 | +| `ShapeType.BENT_CONNECTOR4` | ![موصل منحني 4](shapetype-bentconnector4.png) | 2 | +| `ShapeType.BENT_CONNECTOR5` | ![موصل منحني 5](shapetype-bentconnector5.png) | 3 | +| `ShapeType.CURVED_CONNECTOR2` | ![موصل مقوس 2](shapetype-curvedconnector2.png) | 0 | +| `ShapeType.CURVED_CONNECTOR3` | ![موصل مقوس 3](shapetype-curvedconnector3.png) | 1 | +| `ShapeType.CURVED_CONNECTOR4` | ![موصل مقوس 4](shapetype-curvedconnector4.png) | 2 | +| `ShapeType.CURVED_CONNECTOR5` | ![موصل مقوس 5](shapetype.curvedconnector5.png) | 3 | -## **ربط الأشكال باستخدام الموصلات** +## **ربط الأشكال بالموصلات** -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. احصل على مرجع الشريحة من خلال فهرسها. -1. أضف شكلين [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) إلى الشريحة باستخدام طريقة `add_auto_shape` المعروضة بواسطة كائن `Shapes`. -1. أضف موصلًا باستخدام طريقة `add_auto_shape` المعروضة بواسطة كائن `Shapes` عن طريق تعريف نوع الموصل. -1. قم بربط الأشكال باستخدام الموصل. -1. استدعِ طريقة `reroute` لتطبيق أقصر مسار اتصال. -1. احفظ العرض التقديمي. +يوضح هذا القسم كيفية ربط الأشكال بالموصلات في Aspose.Slides. ستضيف موصلاً إلى شريحة، وتلصق بدايته ونهايته بالأشكال المستهدفة. يضمن استخدام مواقع الاتصال أن يبقى الموصل "ملتصقًا" بالأشكال حتى عندما تتحرك أو يتغير حجمها. -هذا الكود بلغة Python يوضح لك كيفية إضافة موصل (موصل مائل) بين شكلين (بيضاوي ومستطيل): +1. إنشاء مثال من الفئة [العرض](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. الحصول على مرجع إلى الشريحة عبر فهرسها. +1. إضافة كائنين من النوع [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) إلى الشريحة باستخدام طريقة `add_auto_shape` التي يوفرها كائن [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. إضافة موصل باستخدام طريقة `add_connector` التي يوفرها كائن [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) وتحديد نوع الموصل. +1. ربط الأشكال بالموصل. +1. استدعاء طريقة `reroute` لتطبيق أقصر مسار اتصال. +1. حفظ العرض. ```python import aspose.slides as slides -# ينشئ مثيلًا لفئة العرض التقديمي التي تمثل ملف PPTX -with slides.Presentation() as input: - # يصل إلى مجموعة الأشكال لشريحة معينة - shapes = input.slides[0].shapes +# إنشاء كائن من فئة Presentation لإنشاء ملف PPTX. +with slides.Presentation() as presentation: + + # الوصول إلى مجموعة الأشكال للشريحة الأولى. + shapes = presentation.slides[0].shapes - # يضيف شكل بيضاوي - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # إضافة شكل AutoShape إهليلجي. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # يضيف شكل مستطيل - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100) + # إضافة شكل AutoShape مستطيل. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # يضيف شكل موصل إلى مجموعة أشكال الشريحة + # إضافة موصل إلى الشريحة. connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) - # يربط الأشكال باستخدام الموصل + # ربط الأشكال بالموصل. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # يستدعي reroute الذي يحدد المسار الأقصر التلقائي بين الأشكال + # استدعاء reroute لتعيين أقصر مسار. connector.reroute() - # يحفظ العرض التقديمي - input.save("Connecting shapes using connectors_out.pptx", slides.export.SaveFormat.PPTX) - + # حفظ العرض. + presentation.save("connected_shapes.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="ملحوظة" color="warning" %}} - -تقوم طريقة `connector.reroute` بإعادة توجيه موصل وتلزمها بأن تأخذ أقصر مسار ممكن بين الأشكال. لتحقيق هدفها، قد تقوم الطريقة بتغيير نقاط `start_shape_connection_site_index` و `end_shape_connection_site_index`. - -{{% /alert %}} -## **تحديد نقطة الاتصال** +{{% alert title="NOTE" color="warning" %}} +`طريقة connector.reroute` تعيد توجيه الموصل، مما يجبره على اتخاذ أقصر مسار ممكن بين الأشكال. للقيام بذلك، قد تقوم الطريقة بتغيير قيم `start_shape_connection_site_index` و `end_shape_connection_site_index`. +{{% /alert %}} -إذا كنت ترغب في أن يربط موصل شكلين باستخدام نقاط محددة على الأشكال، يجب عليك تحديد نقاط الاتصال المفضلة لديك بهذه الطريقة: +## **تحديد نقاط الاتصال** -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. احصل على مرجع الشريحة من خلال فهرسها. -1. أضف شكلين [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) إلى الشريحة باستخدام طريقة `add_auto_shape` المعروضة بواسطة كائن `Shapes`. -1. أضف موصلًا باستخدام طريقة `add_connector` المعروضة بواسطة كائن `Shapes` عن طريق تعريف نوع الموصل. -1. قم بربط الأشكال باستخدام الموصل. -1. قم بتعيين نقاط الاتصال المفضلة لديك على الأشكال. -1. احفظ العرض التقديمي. +يوضح هذا القسم كيفية إرفاق موصل بنقطة اتصال محددة على شكل في Aspose.Slides. من خلال استهداف مواقع الاتصال الدقيقة، يمكنك التحكم في توجيه الموصل وتخطيطه، مما ينتج مخططات نظيفة ومتوقعة في عروضك. -هذا الكود بلغة Python يوضح عملية حيث يتم تحديد نقطة الاتصال المفضلة: +1. إنشاء مثال من الفئة [العرض](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. الحصول على مرجع إلى الشريحة عبر فهرسها. +1. إضافة كائنين من النوع [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) إلى الشريحة باستخدام طريقة `add_auto_shape` التي يوفرها كائن [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. إضافة موصل باستخدام طريقة `add_connector` على كائن [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) وتحديد نوع الموصل. +1. ربط الأشكال بالموصل. +1. ضبط نقاط الاتصال المفضلة على الأشكال. +1. حفظ العرض. ```python import aspose.slides as slides -# ينشئ مثيلًا لفئة العرض التقديمي التي تمثل ملف PPTX +# إنشاء كائن من فئة Presentation لإنشاء ملف PPTX. with slides.Presentation() as presentation: - # يصل إلى مجموعة الأشكال لشريحة معينة + + # الوصول إلى مجموعة الأشكال للشريحة الأولى. shapes = presentation.slides[0].shapes - # يضيف شكل موصل إلى مجموعة أشكال الشريحة - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) + # إضافة شكل AutoShape إهليلجي. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # يضيف شكل بيضاوي - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # إضافة شكل AutoShape مستطيل. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # يضيف شكل مستطيل - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 100, 100) + # إضافة موصل إلى مجموعة أشكال الشريحة. + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) - # يربط الأشكال باستخدام الموصل + # ربط الأشكال بالموصل. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # يحدد فهرس نقطة الاتصال المفضلة على الشكل البيضاوي - wantedIndex = 6 + # تعيين فهرس موقع الاتصال المفضَّل على الشكل الإهليلجي. + site_index = 6 - # يتحقق مما إذا كان الفهرس المفضل أقل من العدد الأقصى لمواقع الاتصال - if ellipse.connection_site_count > wantedIndex: - # يحدد نقطة الاتصال المفضلة على الشكل البيضاوي - connector.start_shape_connection_site_index = wantedIndex - - # يحفظ العرض التقديمي - presentation.save("Connecting_Shape_on_desired_connection_site_out.pptx", slides.export.SaveFormat.PPTX) + # التحقق من أن الفهرس المفضَّل ضمن عدد مواقع الاتصال المتاحة. + if ellipse.connection_site_count > site_index: + # تعيين موقع الاتصال المفضَّل على شكل AutoShape الإهليلجي. + connector.start_shape_connection_site_index = site_index + # حفظ العرض. + presentation.save("connection_points.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعديل نقطة الموصل** -يمكنك تعديل موصل موجود من خلال نقاط التعديل الخاصة به. يمكن تعديل فقط الموصلات التي تحتوي على نقاط تعديل بهذه الطريقة. راجع الجدول تحت **[أنواع الموصلات](/slides/ar/python-net/connector/#types-of-connectors)** +## **ضبط نقاط الموصل** -#### **حالة بسيطة** +يمكنك تعديل الموصلات باستخدام نقاط الضبط الخاصة بها. فقط الموصلات التي تُظهر نقاط الضبط يمكن تحريرها بهذه الطريقة. للحصول على تفاصيل حول أي الموصلات تدعم الضبط، راجع الجدول تحت [أنواع الموصلات](/slides/ar/python-net/connector/#connector-types). -اعتبر حالة يمر فيها موصل بين شكلين (A و B) عبر شكل ثالث (C): +### **حالة بسيطة** -![connector-obstruction](connector-obstruction.png) +اعتبر حالة يكون فيها موصل بين شكلين (A و B) يتقاطع مع شكل ثالث (C): -الكود: +![عائق الموصل](connector-obstruction.png) ```python import aspose.slides as slides import aspose.pydrawing as draw -with slides.Presentation() as pres: - sld = pres.slides[0] - shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) - - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) + + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) + connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.black - - connector.start_shape_connected_to = shapeFrom - connector.end_shape_connected_to = shapeTo + + connector.start_shape_connected_to = shape_from + connector.end_shape_connected_to = shape_to connector.start_shape_connection_site_index = 2 ``` -لتجنب أو تجاوز الشكل الثالث، يمكننا تعديل الموصل عن طريق تحريك خطه العمودي إلى اليسار بهذه الطريقة: -![connector-obstruction-fixed](connector-obstruction-fixed.png) +لتجنب الشكل الثالث، اضبط الموصل بنقل جزئه الرأسي إلى اليسار: +![عائق الموصل المُثبت](connector-obstruction-fixed.png) ```python - adj2 = connector.adjustments[1] - adj2.raw_value += 10000 + adjustment2 = connector.adjustments[1] + adjustment2.raw_value += 10000 ``` + ### **حالات معقدة** -لإجراء تعديلات أكثر تعقيدًا، يجب أن تأخذ هذه الأمور بعين الاعتبار: +للمزيد من الضبط المتقدم، ضع في الاعتبار ما يلي: -* نقطة التعديل للموصل مرتبطة ارتباطًا وثيقًا بصيغة تحسب وتحدد موقعها. لذلك قد تؤدي التغييرات في موقع النقطة إلى تغيير شكل الموصل. -* يتم تحديد نقاط تعديل الموصل بترتيب صارم في مصفوفة. يتم ترقيم نقاط التعديل من نقطة بدء الموصل إلى نقطة نهايته. -* تعكس قيم نقاط التعديل نسبة عرض/ارتفاع شكل الموصل. - * يتم تحديد الشكل بحدود نقطة بدء الموصل ونقطة انتهاء الموصل مضروبًا في 1000. - * تحدد النقطة الأولى، والثانية، والثالثة النسبة من العرض، والنسبة من الارتفاع، والنسبة من العرض (مرة أخرى) على التوالي. -* لحسابات تحدد إحداثيات نقاط تعديل الموصل، عليك أن تأخذ في الاعتبار دوران الموصل وانعكاسه. **ملحوظة** أن زاوية الدوران لجميع الموصلات المعروضة تحت **[أنواع الموصلات](/slides/ar/python-net/connector/#types-of-connectors)** هي 0. +- نقطة الضبط للموصل تخضع لصيغة تحدد موضعها. تغيير هذه النقطة يمكن أن يغير الشكل الكلي للموصل. +- نقاط ضبط الموصل مخزنة في مصفوفة مرتبة بشكل صارم، مرقمة من بداية الموصل إلى نهايته. +- قيم نقاط الضبط تمثل نسبًا مئوية لعرض/ارتفاع شكل الموصل. + - الشكل محاط بنقطة بداية ونهاية الموصل ويتم تحجيمه بـ 1000. + - تمثل النقطة الأولى والثانية والثالثة على التوالي: نسبة العرض، نسبة الارتفاع، ونسبة العرض مرة أخرى. +- عند حساب إحداثيات نقاط الضبط، يجب أخذ دوران وانعكاس الموصل في الاعتبار. **ملاحظة:** لجميع الموصلات المذكورة تحت [أنواع الموصلات](/slides/ar/python-net/connector/#connector-types)، زاوية الدوران هي 0. #### **الحالة 1** -اعتبر حالة يرتبط فيها كائنين من إطار النص معًا من خلال موصل: - -![connector-shape-complex](connector-shape-complex.png) - -الكود: +اعتبر حالة يكون فيها كائنان من نوع إطار نص مرتبطين بموصل: +![الأشكال المرتبطة](connector-shape-complex.png) ```python import aspose.slides as slides import aspose.pydrawing as draw -# ينشئ مثيلًا لفئة العرض التقديمي التي تمثل ملف PPTX -with slides.Presentation() as pres: - # يحصل على الشريحة الأولى في العرض التقديمي - sld = pres.slides[0] - # يضيف أشكالًا سيتم ربطها معًا من خلال موصل - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) - shapeFrom.text_frame.text = "من" - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) - shapeTo.text_frame.text = "إلى" - # يضيف موصل - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) - # يحدد اتجاه الموصل +# إنشاء كائن من فئة Presentation لإنشاء ملف PPTX. +with slides.Presentation() as presentation: + + # الحصول على الشريحة الأولى. + slide = presentation.slides[0] + + # الحصول على الشريحة الأولى. + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) + shape_from.text_frame.text = "From" + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) + shape_to.text_frame.text = "To" + + # إضافة موصل. + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) + # تحديد اتجاه الموصل. connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE - # يحدد لون الموصل + # تحديد لون الموصل. connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.crimson - # يحدد سمك خط الموصل + # تحديد سمك خط الموصل. connector.line_format.width = 3 - # يربط الأشكال معًا باستخدام الموصل - connector.start_shape_connected_to = shapeFrom + # ربط الأشكال بالموصل. + connector.start_shape_connected_to = shape_from connector.start_shape_connection_site_index = 3 - connector.end_shape_connected_to = shapeTo + connector.end_shape_connected_to = shape_to connector.end_shape_connection_site_index = 2 - # يحصل على نقاط التعديل للموصل - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] + # الحصول على نقاط ضبط الموصل. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] ``` -**التعديل** -يمكننا تغيير قيم نقاط تعديل الموصل من خلال زيادة النسبة المئوية للعرض والارتفاع بمقدار 20% و200%، على التوالي: +**الضبط** + +قم بتغيير قيم نقاط ضبط الموصل بزيادة نسبة العرض بنسبة 20% ونسبة الارتفاع بنسبة 200% على التوالي: ```python - # يغير قيم نقاط التعديل - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + # تغيير قيم نقاط الضبط. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + النتيجة: -![connector-adjusted-1](connector-adjusted-1.png) +![ضبط الموصل 1](connector-adjusted-1.png) -لتعريف نموذج يسمح لنا بتحديد إحداثيات وشكل الأجزاء الفردية من الموصل، دعونا ننشئ شكلًا يتوافق مع المكون الأفقي للموصل عند النقطة connector.adjustments[0]: +لتعريف نموذج يسمح لنا بتحديد إحداثيات وشكل أقسام الموصل، أنشئ شكلاً يتطابق مع المكوّن العمودي للموصل عند `connector.adjustments[0]`: ```python - # رسم المكون العمودي للموصل - - x = connector.x + connector.width * adjValue_0.raw_value / 100000 + # ارسم المكوّن العمودي للموصل. + x = connector.x + connector.width * adjustment_0.raw_value / 100000 y = connector.y - height = connector.height * adjValue_1.raw_value / 100000 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) + height = connector.height * adjustment_1.raw_value / 100000 + + slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) ``` + النتيجة: -![connector-adjusted-2](connector-adjusted-2.png) +![ضبط الموصل 2](connector-adjusted-2.png) #### **الحالة 2** -في **الحالة 1**، قمنا بعرض عملية تعديل موصل بسيطة باستخدام مبادئ أساسية. في الحالات العادية، يجب أن تأخذ دوران الموصل وعرضه (الذي يتم ضبطه بواسطة connector.rotation و connector.frame.flip_h و connector.frame.flip_v) في الاعتبار. سنوضح الآن هذه العملية. +في **الحالة 1**، أظهرنا ضبط موصل بسيط باستخدام المبادئ الأساسية. في السيناريوهات المعتادة، يجب مراعاة دوران الموصل وإعدادات عرضه (المتحكم بها بواسطة `connector.rotation`، `connector.frame.flip_h`، و `connector.frame.flip_v`). إليك كيفية سير العملية. -أولاً، دعونا نضيف كائن إطار نص جديد (**إلى 1**) إلى الشريحة (لأغراض الربط) وننشئ موصلًا جديدًا (أخضر) يربطه بالأشياء التي أنشأناها بالفعل. +أولاً، أضف كائن إطار نص جديد (**To 1**) إلى الشريحة (للاتصال)، وأنشئ موصلاً أخضرًا جديدًا يربطه بالكائنات الموجودة. ```python - # ينشئ كائن ربط جديد - shapeTo_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) - shapeTo_1.text_frame.text = "إلى 1" - # ينشئ موصلًا جديدًا + # إنشاء كائن هدف جديد. + shape_to_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) + shape_to_1.text_frame.text = "To 1" + + # إنشاء موصل جديد. connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.medium_aquamarine connector.line_format.width = 3 - # يربط الأشياء باستخدام الموصل الجديد + + # ربط الكائنات باستخدام الموصل الذي تم إنشاؤه حديثًا. connector.start_shape_connected_to = shapeFrom connector.start_shape_connection_site_index = 2 - connector.end_shape_connected_to = shapeTo_1 + connector.end_shape_connected_to = shape_to_1 connector.end_shape_connection_site_index = 3 - # يحصل على نقاط تعديل الموصل - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] - # يغير قيم نقاط التعديل - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + + # الحصول على نقاط ضبط الموصل. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] + + # تغيير قيم نقاط الضبط. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + النتيجة: -![connector-adjusted-3](connector-adjusted-3.png) +![ضبط الموصل 3](connector-adjusted-3.png) -ثانيًا، دعونا ننشئ شكلًا سيتوافق مع المكون الأفقي للموصل الذي يمر عبر نقطة تعديل الموصل الجديدة connector.adjustments[0]. سنستخدم القيم من بيانات الموصل لـ connector.rotation و connector.frame.flip_h و connector.frame.flip_v ونطبق صيغة تحويل الإحداثيات الشائعة للدوران حول نقطة معينة x0: +ثانيًا، أنشئ شكلاً يتطابق مع الجزء **الأفقي** من الموصل الذي يمر عبر نقطة الضبط الجديدة للموصل، `connector.adjustments[0]`. استخدم القيم من `connector.rotation`، `connector.frame.flip_h`، و `connector.frame.flip_v`، وطبق صيغة تحويل الإحداثيات القياسية للدوران حول نقطة معينة `x0`: X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; - Y = (x — x0) * sin(alpha) + (y — y0) * cos(alpha) + y0; -في حالتنا، زواية دوران الكائن 90 درجة والموصل يظهر عموديًا، لذا فالكود المقابل هو: +في حالتنا، زاوية دوران الكائن هي 90 درجة والموصل يُعرض رأسيًا، لذا يكون الكود المقابل: ```python - # يحفظ إحداثيات الموصل + # احفظ إحداثيات الموصل. x = connector.x y = connector.y - # يصحح إحداثيات الموصل في حال ظهرت + + # صحح إحداثيات الموصل إذا كان مقلوبًا. if connector.frame.flip_h == 1: x += connector.width if connector.frame.flip_v == 1: y += connector.height - # يأخذ في نقطة التعديل قيمة كإحداثية + # استخدم قيمة نقطة الضبط كإحداثي. x += connector.width * adjValue_0.raw_value / 100000 - # يحول الإحداثيات حيث أن Sin(90) = 1 و Cos(90) = 0 + # حوّل الإحداثيات لأن sin(90°) = 1 و cos(90°) = 0. xx = connector.frame.center_x - y + connector.frame.center_y yy = x - connector.frame.center_x + connector.frame.center_y - # يحدد عرض المكون الأفقي باستخدام قيمة نقطة التعديل الثانية + # حدد عرض الجزء الأفقي باستخدام قيمة نقطة الضبط الثانية. width = connector.height * adjValue_1.raw_value / 100000 shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, xx, yy, width, 0) shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red ``` + النتيجة: -![connector-adjusted-4](connector-adjusted-4.png) +![ضبط الموصل 4](connector-adjusted-4.png) -لقد أظهرنا حسابات تتعلق بالتعديلات البسيطة ونقاط التعديل المعقدة (نقاط التعديل ذات زوايا الدوران). باستخدام المعرفة المكتسبة، يمكنك تطوير نموذج خاص بك (أو كتابة كود) للحصول على كائن `GraphicsPath` أو حتى تعيين قيم نقطة تعديل الموصل بناءً على إحداثيات الشريحة المحددة. +لقد أظهرنا حسابات تتضمن ضبطًا بسيطًا ونقاط ضبط أكثر تعقيدًا (تلك التي تأخذ الدوران في الاعتبار). باستخدام هذه المعرفة، يمكنك تطوير نموذجك الخاص—أو كتابة كود—للحصول على كائن `GraphicsPath` أو حتى ضبط قيم نقاط ضبط الموصل بناءً على إحداثيات شريحة معينة. -## **العثور على زاوية خطوط الموصل** +## **إيجاد زوايا خط الموصل** -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. احصل على مرجع الشريحة من خلال فهرسها. -1. الوصول إلى شكل خط الموصل. -1. استخدم عرض الخط وارتفاعه، وارتفاع إطار الشكل، وعرض إطار الشكل لحساب الزاوية. +استخدم المثال أدناه لتحديد زاوية خطوط الموصل على شريحة باستخدام Aspose.Slides. ستتعلم كيفية قراءة نقاط نهاية الموصل وحساب اتجاهه لتتمكن من محاذاة الأسهم، التسميات، وغيرها من الأشكال بدقة. -هذا الكود بلغة Python يوضح عملية قمنا فيها بحساب الزاوية لشكل خط الموصل: +1. إنشاء مثال من الفئة [العرض](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. الحصول على مرجع إلى الشريحة عبر الفهرس. +1. الوصول إلى شكل خط الموصل. +1. استخدم عرض وارتفاع الخط، وعرض وارتفاع إطار الشكل، لحساب الزاوية. ```python import aspose.slides as slides import math -def get_direction(w, h, flipH, flipV): - endLineX = w * (-1 if flipH else 1) - endLineY = h * (-1 if flipV else 1) - endYAxisX = 0 - endYAxisY = h - angle = math.atan2(endYAxisY, endYAxisX) - math.atan2(endLineY, endLineX) +def get_direction(w, h, flip_h, flip_v): + end_line_x = w * (-1 if flip_h else 1) + end_line_y = h * (-1 if flip_v else 1) + end_y_axis_x = 0 + end_y_axis_y = h + angle = math.atan2(end_y_axis_y, end_y_axis_x) - math.atan2(end_line_y, end_line_x) if (angle < 0): angle += 2 * math.pi return angle * 180.0 / math.pi -with slides.Presentation(path + "ConnectorLineAngle.pptx") as pres: - slide = pres.slides[0] - for i in range(len(slide.shapes)): - dir = 0.0 - shape = slide.shapes[i] - if (type(shape) is slides.AutoShape): - if shape.shape_type == slides.ShapeType.LINE: - dir = get_direction(shape.width, shape.Height, shape.frame.flip_h, shape.frame.flip_v) +with slides.Presentation("connector_line_angle.pptx") as presentation: + slide = presentation.slides[0] + for shape_index in range(len(slide.shapes)): + direction = 0.0 + shape = slide.shapes[shape_index] + if type(shape) is slides.AutoShape and shape.shape_type == slides.ShapeType.LINE: + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) elif type(shape) is slides.Connector: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + print(direction) +``` + + +## **الأسئلة الشائعة** + +**كيف يمكنني معرفة ما إذا كان يمكن "لصق" موصل إلى شكل محدد؟** + +تحقق من أن الشكل يوفر [مواقع الاتصال](https://reference.aspose.com/slides/python-net/aspose.slides/shape/connection_site_count/). إذا لم تكن هناك أي موقع أو كان العدد صفرًا، فإن اللصق غير متاح؛ في هذه الحالة استخدم نقاط النهاية الحرة وضعها يدويًا. من المنطقي التحقق من عدد المواقع قبل الإرفاق. + +**ماذا يحدث للموصل إذا حذفت أحد الأشكال المتصلة؟** + +ستنفصل نهاياته؛ يبقى الموصل على الشريحة كخط عادي بنقطة بداية/نهاية حرة. يمكنك إما حذفه أو إعادة تعيين الوصلات، وإذا لزم الأمر، [إعادة توجيه](https://reference.aspose.com/slides/python-net/aspose.slides/connector/reroute/). + +**هل يتم الحفاظ على ربط الموصلات عند نسخ شريحة إلى عرض آخر؟** - print(dir) -``` \ No newline at end of file +عادةً نعم، بشرط نسخ الأشكال المستهدفة أيضًا. إذا تم إدراج الشريحة في ملف آخر بدون الأشكال المتصلة، تصبح النهايات حرة وستحتاج إلى إرفاقها مرة أخرى. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md index bc3ca5775d..8898d9d488 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md @@ -1,161 +1,208 @@ --- -title: شكل مخصص +title: تخصيص الأشكال في العروض التقديمية باستخدام بايثون +linktitle: شكل مخصص type: docs weight: 20 url: /ar/python-net/custom-shape/ -keywords: "شكل PowerPoint، شكل مخصص، عرض PowerPoint، بايثون، Aspose.Slides لـ Python عبر .NET" -description: "إضافة شكل مخصص في عرض PowerPoint باستخدام بايثون" +keywords: +- شكل مخصص +- إضافة شكل +- إنشاء شكل +- تغيير شكل +- هندسة الشكل +- مسار الهندسة +- نقاط المسار +- تحرير النقاط +- إضافة نقطة +- إزالة نقطة +- عملية تحرير +- زاوية منحنية +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "إنشاء وتخصيص الأشكال في عروض PowerPoint وOpenDocument باستخدام Aspose.Slides لبايثون عبر .NET: مسارات الهندسة، الزوايا المنحنية، الأشكال المركبة." --- -# تغيير شكل باستخدام نقاط تحرير +## **نظرة عامة** -اعتبر مربعًا. في PowerPoint، باستخدام **نقاط التحرير**، يمكنك +تخيل مربعًا. باستخدام **نقاط التحرير** في PowerPoint، يمكنك: -* تحريك زاوية المربع إلى الداخل أو الخارج -* تحديد الانحناء لزاوية أو نقطة -* إضافة نقاط جديدة إلى المربع -* التلاعب بالنقاط على المربع، إلخ. +* تحريك زاوية المربع إلى الداخل أو الخارج، +* تعديل انحناء زاوية أو نقطة، +* إضافة نقاط جديدة إلى المربع، +* تعديل نقاطه. -بشكل أساسي، يمكنك إجراء المهام الموضحة على أي شكل. باستخدام نقاط التحرير، يمكنك تغيير شكل أو إنشاء شكل جديد من شكل موجود. +يمكنك تطبيق هذه العمليات على أي شكل. باستخدام **نقاط التحرير**، يمكنك تعديل شكل موجود أو إنشاء شكل جديد من شكل موجود. -## نصائح تحرير الشكل +## **نصائح تحرير الأشكال** -![overview_image](custom_shape_0.png) +!["تحرير النقاط" الأمر](custom_shape_0.png) -قبل أن تبدأ في تحرير أشكال PowerPoint من خلال نقاط التحرير، قد ترغب في مراعاة هذه النقاط حول الأشكال: +قبل أن تبدأ بتحرير أشكال PowerPoint باستخدام **نقاط التحرير**، خذ بعين الاعتبار هذه الملاحظات حول الأشكال: -* يمكن أن يكون الشكل (أو مساره) مغلقًا أو مفتوحًا. -* عندما يكون الشكل مغلقًا، فإنه يفتقر إلى نقطة بداية أو نهاية. عندما يكون الشكل مفتوحًا، فإنه يحتوي على بداية ونهاية. -* تتكون جميع الأشكال من 2 نقطة تثبيت على الأقل مرتبطة ببعضها بخطوط. -* الخط إما مستقيم أو منحني. تحدد نقاط التثبيت طبيعة الخط. -* توجد نقاط التثبيت كنقاط زاوية، نقاط مستقيمة، أو نقاط سلسة: - * نقطة الزاوية هي نقطة تلتقي فيها خطان مستقيمان بزاوية. - * النقطة السلسة هي نقطة حيث توجد مقبضان في خط مستقيم وتلتقي مقاطع الخط في منحنى سلس. في هذه الحالة، تكون جميع المقابض متباعدة عن نقطة التثبيت بنفس المسافة. - * النقطة المستقيمة هي نقطة حيث توجد مقبضان في خط مستقيم وتلتقي مقاطع ذلك الخط في منحنى سلس. في هذه الحالة، لا تحتاج المقابض إلى أن تكون متباعدة عن نقطة التثبيت بنفس المسافة. -* من خلال تحريك أو تحرير نقاط التثبيت (التي تغير زاوية الخطوط)، يمكنك تغيير مظهر الشكل. +* يمكن أن يكون الشكل (أو مساره) **مغلقًا** أو **مفتوحًا**. +* الشكل المغلق لا يمتلك نقطة بداية ولا نقطة نهاية؛ الشكل المفتوح له بداية ونهاية. +* كل شكل يحتوي على نقطتي ربط على الأقل متصلتين بأجزاء مستقيمة. +* الجزء يمكن أن يكون مستقيمًا أو منحنيًا؛ تحدد نقاط الربط طبيعة الجزء. +* نقاط الربط يمكن أن تكون **زاوية** أو **سلسة** أو **مستقيمة**: + * النقطة **الزاوية** هي المكان الذي يلتقي فيه جزآن مستقيمان بزاوية. + * النقطة **السلسة** لها مقبضان على خط واحد، وتكوين القطع المتصلة ينتج انحناءً سلسًا. في هذه الحالة، يكون المقابضان على نفس البعد من نقطة الربط. + * النقطة **المستقيمة** أيضًا لها مقبضان على خط واحد، وتكوين القطع المتصلة ينتج انحناءً سلسًا. في هذه الحالة، لا يلزم أن يكون المقبضان على نفس البعد من نقطة الربط. +* بتحريك أو تعديل نقاط الربط (وبالتالي تغيير زوايا الأجزاء)، يمكنك تغيير مظهر الشكل. -لتحرير أشكال PowerPoint من خلال نقاط التحرير، توفر **Aspose.Slides** فئة [**GeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) وواجهة [**IGeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). +لتحرير أشكال PowerPoint، توفر Aspose.Slides الفئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -* تمثل مثيل [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) مسار الهندسة لكائن [IGeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/). -* لاسترداد `GeometryPath` من مثيل `IGeometryShape`، يمكنك استخدام طريقة [IGeometryShape.GetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/). -* لتعيين `GeometryPath` لشكل ما، يمكنك استخدام هذه الطرق: [IGeometryShape.SetGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) لأشكال *صلبة* و [IGeometryShape.SetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) لأشكال *تركيبية*. -* لإضافة مقاطع، يمكنك استخدام الطرق الموجودة تحت [IGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). -* باستخدام الخاصيتين [IGeometryPath.Stroke](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) و [IGeometryPath.FillMode](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) ، يمكنك تعيين مظهر لمسار الهندسة. -* باستخدام خاصية [IGeometryPath.PathData](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/properties/pathdata)، يمكنك استرداد مسار الهندسة لشكل `GeometryShape` كمصفوفة من مقاطع المسار. -* للوصول إلى خيارات تخصيص هندسة الشكل الإضافية، يمكنك تحويل [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) إلى [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -* استخدم طريقتي `GeometryPathToGraphicsPath` و `GraphicsPathToGeometryPath` (من فئة [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/)) لتحويل `GeometryPath` إلى `GraphicsPath` والعكس. +* كائن [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) يمثل مسار الهندسة لكائن [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +* لاسترجاع [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) من كائن [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/)، استخدم طريقة [GeometryShape.get_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/get_geometry_paths/). +* لتعيين [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) لشكل، استخدم [GeometryShape.set_geometry_path](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_path/) للأشكال الصلبة و[GeometryShape.set_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_paths/) للأشكال المركبة. +* لإضافة أجزاء، استخدم الأساليب الموجودة في [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +* استخدم الخاصيتين [GeometryPath.stroke](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/stroke/) و[GeometryPath.fill_mode](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/fill_mode/) للتحكم في مظهر مسار الهندسة. +* استخدم الخاصية [GeometryPath.path_data](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/path_data/) لاسترجاع مسار هندسة الشكل كمصفوفة من أجزاء المسار. ## **عمليات تحرير بسيطة** -هذا الكود بلغة البايثون يوضح لك كيفية +تُستخدم الطرق التالية لعمليات التحرير البسيطة. **إضافة خط** إلى نهاية مسار: - ```py line_to(point) line_to(x, y) ``` -**إضافة خط** إلى موضع محدد على مسار: + +**إضافة خط** في موقع محدد داخل مسار: ```py line_to(point, index) line_to(x, y, index) ``` -**إضافة منحنى بيزيه مكعب** في نهاية مسار: + +**إضافة منحنى بيزيه تكعيبي** إلى نهاية مسار: ```py cubic_bezier_to(point1, point2, point3) cubic_bezier_to(x1, y1, x2, y2, x3, y3) ``` -**إضافة منحنى بيزيه مكعب** إلى الموضع المحدد على مسار: + +**إضافة منحنى بيزيه تكعيبي** في موقع محدد داخل مسار: ```py cubic_bezier_to(point1, point2, point3, index) cubic_bezier_to(x1, y1, x2, y2, x3, y3, index) ``` -**إضافة منحنى بيزيه رباعي** في نهاية مسار: + + +**إضافة منحنى بيزيه تربيعي** إلى نهاية مسار: ```py quadratic_bezier_to(point1, point2) quadratic_bezier_to(x1, y1, x2, y2) ``` -**إضافة منحنى بيزيه رباعي** إلى موضع محدد على مسار: + +**إضافة منحنى بيزيه تربيعي** في موقع محدد داخل مسار: ```py quadratic_bezier_to(point1, point2, index) quadratic_bezier_to(x1, y1, x2, y2, index) ``` -**إضافة قوس محدد** إلى مسار: + + +**إلحاق قوس** إلى مسار: ```py arc_to(width, heigth, startAngle, sweepAngle) ``` -**إغلاق الشكل الحالي** لمسار: + + +**إغلاق الشكل الحالي** في مسار: ```py close_figure() ``` -**تعيين الموضع للنقطة التالية**: + + +**تعيين الموقع للنقطة التالية**: ```py move_to(point) move_to(x, y) ``` -**إزالة مقطع المسار** عند مؤشر معين: + +**إزالة جزء من المسار** عند فهرس محدد: ```py remove_at(index) ``` -## إضافة نقاط مخصصة إلى الشكل -1. أنشئ مثيلًا من فئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) واضبط [ShapeType.Rectangle](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) -2. احصل على مثيل من فئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) من الشكل. -3. أضف نقطة جديدة بين نقطتين علويتين على المسار. -4. أضف نقطة جديدة بين نقطتين سفليتين على المسار. -6. طبق المسار على الشكل. -هذا الكود بلغة البايثون يوضح لك كيفية إضافة نقاط مخصصة إلى شكل: +## **إضافة نقاط مخصصة إلى الأشكال** + +في هذا القسم ستتعلم كيفية تعريف شكل حر بإضافة تسلسل النقاط الخاص بك. من خلال تحديد نقاط مرتبة وأنواع الأجزاء (مستقيمة أو منحنية) وإغلاق المسار اختياريًا، يمكنك رسم رسومات مخصصة دقيقة—مثل مضلعات، أيقونات، تعليقات توضيحية أو شعارات—مباشرةً على الشرائح. + +1. أنشئ كائنًا من الفئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) وحدد [ShapeType.RECTANGLE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). +2. احصل على كائن [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) من الشكل. +3. أدخل نقطة جديدة بين النقطتين العلويتين في المسار. +4. أدخل نقطة جديدة بين النقطتين السفليتين في المسار. +5. طبّق المسار المحدث على الشكل. + +الكود التالي بلغة Python يوضح كيفية إضافة نقاط مخصصة إلى شكل: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath = shape.get_geometry_paths()[0] +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) + + geometry_path = shape.get_geometry_paths()[0] + geometry_path.line_to(100, 50, 1) + geometry_path.line_to(100, 50, 4) + + shape.set_geometry_path(geometry_path) - geometryPath.line_to(100, 50, 1) - geometryPath.line_to(100, 50, 4) - shape.set_geometry_path(geometryPath) + presentation.save("custom_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example1_image](custom_shape_1.png) -## إزالة نقاط من الشكل +![نقاط مخصصة](custom_shape_1.png) -1. أنشئ مثيلًا من فئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) واضبط نوع [ShapeType.Heart](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). -2. احصل على مثيل من فئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) من الشكل. -3. قم بإزالة المقطع من المسار. -4. طبق المسار على الشكل. +## **إزالة نقاط من الأشكال** -هذا الكود بلغة البايثون يوضح لك كيفية إزالة نقاط من شكل: +أحيانًا يحتوي الشكل المخصص على نقاط غير ضرورية تعقّد الهندسة أو تؤثر على طريقة عرضه. يوضح هذا القسم كيفية إزالة نقاط معينة من مسار الشكل لتبسيط الحدود والحصول على نتائج أنقى وأكثر دقة. +1. أنشئ كائنًا من الفئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) وحدد نوعه [ShapeType.HEART](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). +2. احصل على كائن [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) من الشكل. +3. أزل جزءًا من المسار. +4. طبّق المسار المحدث على الشكل. + +الكود التالي بلغة Python يوضح كيفية إزالة نقاط من شكل: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) - path = shape.get_geometry_paths()[0] - path.remove_at(2) - shape.set_geometry_path(path) + path = shape.get_geometry_paths()[0] + path.remove_at(2) + + shape.set_geometry_path(path) + + presentation.save("removed_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example2_image](custom_shape_2.png) -## إنشاء شكل مخصص -1. احسب النقاط للشكل. -2. أنشئ مثيلًا من فئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -3. قم بملء المسار بالنقاط. -4. أنشئ مثيلًا من فئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -5. طبق المسار على الشكل. +![نقاط مُزالة](custom_shape_2.png) + +## **إنشاء أشكال مخصصة** -هذا الكود بلغة البايثون يوضح لك كيفية إنشاء شكل مخصص: +أنشئ أشكالًا متجهة مخصصة بتعريف [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) وتكوينه من خطوط، أقواس، ومنحنيات بيزيه. يوضح هذا القسم كيفية بناء هندسة مخصصة من الصفر وإضافة الشكل الناتج إلى شريحتك. +1. احسب نقاط الشكل. +2. أنشئ كائنًا من الفئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +3. عبّئ المسار بالنقاط. +4. أنشئ كائنًا من الفئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +5. طبّق المسار على الشكل. + +الكود التالي بلغة Python يوضح كيفية إنشاء شكل مخصص: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -178,127 +225,149 @@ for angle in range(-90, 270, step): y = r * math.sin(radians) points.append(draw.PointF(x + R, y + R)) -starPath = slides.GeometryPath() -starPath.move_to(points[0]) +star_path = slides.GeometryPath() +star_path.move_to(points[0]) for i in range(len(points)): - starPath.line_to(points[i]) + star_path.line_to(points[i]) + +star_path.close_figure() + +with slides.Presentation() as presentation: + slide = presentation.slides[0] -starPath.close_figure() + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) + shape.set_geometry_path(star_path) -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) - shape.set_geometry_path(starPath) + presentation.save("custom_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example3_image](custom_shape_3.png) -## إنشاء شكل مخصص مركب -1. أنشئ مثيلًا من فئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) . -2. أنشئ مثيلًا أول من فئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) . -3. أنشئ مثيلًا ثاني من فئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) . -4. طبق المسارات على الشكل. +![شكل مخصص](custom_shape_3.png) + +## **إنشاء أشكـال مركبة مخصصة** + +إنشاء شكل مركب مخصص يتيح لك دمج مسارات هندسية متعددة في شكل واحد قابل لإعادة الاستخدام على الشريحة. عرّف وادمج هذه المسارات لبناء رسومات بصرية معقدة تتجاوز المجموعة القياسية من الأشكال. -هذا الكود بلغة البايثون يوضح لك كيفية إنشاء شكل مخصص مركب: +1. أنشئ كائنًا من الفئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +2. أنشئ النسخة الأولى من الفئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +3. أنشئ النسخة الثانية من الفئة [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +4. طبّق كلا المسارين على الشكل. +الكود التالي بلغة Python يوضح كيفية إنشاء شكل مركب مخصص: ```py import aspose.slides as slides -import aspose.pydrawing as draw -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath0 = slides.GeometryPath() - geometryPath0.move_to(0, 0) - geometryPath0.line_to(shape.width, 0) - geometryPath0.line_to(shape.width, shape.height/3) - geometryPath0.line_to(0, shape.height / 3) - geometryPath0.close_figure() + geometry_path_0 = slides.GeometryPath() + geometry_path_0.move_to(0, 0) + geometry_path_0.line_to(shape.width, 0) + geometry_path_0.line_to(shape.width, shape.height/3) + geometry_path_0.line_to(0, shape.height / 3) + geometry_path_0.close_figure() - geometryPath1 = slides.GeometryPath() - geometryPath1.move_to(0, shape.height/3 * 2) - geometryPath1.line_to(shape.width, shape.height / 3 * 2) - geometryPath1.line_to(shape.width, shape.height) - geometryPath1.line_to(0, shape.height) - geometryPath1.close_figure() + geometry_path_1 = slides.GeometryPath() + geometry_path_1.move_to(0, shape.height/3 * 2) + geometry_path_1.line_to(shape.width, shape.height / 3 * 2) + geometry_path_1.line_to(shape.width, shape.height) + geometry_path_1.line_to(0, shape.height) + geometry_path_1.close_figure() - shape.set_geometry_paths([ geometryPath0, geometryPath1]) + shape.set_geometry_paths([ geometry_path_0, geometry_path_1]) + + presentation.save("composite_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example4_image](custom_shape_4.png) -## **إنشاء شكل مخصص بأركان منحنيه** -هذا الكود بلغة البايثون يوضح لك كيفية إنشاء شكل مخصص بأركان منحنيه (داخلية): +![شكل مركب](custom_shape_4.png) + +## **إنشاء أشكال مخصصة بزوايا منحنية** + +يُظهر هذا القسم كيفية رسم شكل مخصص بزوايا منحنية بسلاسة باستخدام مسار هندسي. ستدمج أجزاء مستقيمة وأقواس دائرية لتشكيل الخط الخارجي وتضيف الشكل النهائي إلى شريحتك. +الكود التالي بلغة Python يوضح كيفية إنشاء شكل مخصص بزوايا منحنية: ```py import aspose.slides as slides import aspose.pydrawing as draw -shapeX = 20 -shapeY = 20 -shapeWidth = 300 -shapeHeight = 200 +shape_x = 20 +shape_y = 20 +shape_width = 300 +shape_height = 200 -leftTopSize = 50 -rightTopSize = 20 -rightBottomSize = 40 -leftBottomSize = 10 +left_top_size = 50 +right_top_size = 20 +right_bottom_size = 40 +left_bottom_size = 10 with slides.Presentation() as presentation: - childShape = presentation.slides[0].shapes.add_auto_shape( - slides.ShapeType.CUSTOM, shapeX, shapeY, shapeWidth, shapeHeight) + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape( + slides.ShapeType.CUSTOM, shape_x, shape_y, shape_width, shape_height) + + point1 = draw.PointF(left_top_size, 0) + point2 = draw.PointF(shape_width - right_top_size, 0) + point3 = draw.PointF(shape_width, shape_height - right_bottom_size) + point4 = draw.PointF(left_bottom_size, shape_height) + point5 = draw.PointF(0, left_top_size) + + geometry_path = slides.GeometryPath() + geometry_path.move_to(point1) + geometry_path.line_to(point2) + geometry_path.arc_to(right_top_size, right_top_size, 180, -90) + geometry_path.line_to(point3) + geometry_path.arc_to(right_bottom_size, right_bottom_size, -90, -90) + geometry_path.line_to(point4) + geometry_path.arc_to(left_bottom_size, left_bottom_size, 0, -90) + geometry_path.line_to(point5) + geometry_path.arc_to(left_top_size, left_top_size, 90, -90) + geometry_path.close_figure() + + shape.set_geometry_path(geometry_path) + + presentation.save("curved_corners.pptx", slides.export.SaveFormat.PPTX) +``` - geometryPath = slides.GeometryPath() - point1 = draw.PointF(leftTopSize, 0) - point2 = draw.PointF(shapeWidth - rightTopSize, 0) - point3 = draw.PointF(shapeWidth, shapeHeight - rightBottomSize) - point4 = draw.PointF(leftBottomSize, shapeHeight) - point5 = draw.PointF(0, leftTopSize) +![زوايا منحنية](custom_shape_6.png) - geometryPath.move_to(point1) - geometryPath.line_to(point2) - geometryPath.arc_to(rightTopSize, rightTopSize, 180, -90) - geometryPath.line_to(point3) - geometryPath.arc_to(rightBottomSize, rightBottomSize, -90, -90) - geometryPath.line_to(point4) - geometryPath.arc_to(leftBottomSize, leftBottomSize, 0, -90) - geometryPath.line_to(point5) - geometryPath.arc_to(leftTopSize, leftTopSize, 90, -90) +## **تحديد ما إذا كانت هندسة الشكل مغلقة** - geometryPath.close_figure() +يُعرّف الشكل المغلق بأنه الشكل الذي تتصل جميع حدوده معًا، مكونًا حدًا واحدًا دون فجوات. قد يكون هذا الشكل شكلًا هندسيًا بسيطًا أو مخططًا مخصصًا معقدًا. يوضح المثال البرمجي التالي كيفية فحص ما إذا كانت هندسة الشكل مغلقة: +```py +def is_geometry_closed(geometry_shape): + is_closed = None - childShape.set_geometry_path(geometryPath) + for geometry_path in geometry_shape.get_geometry_paths(): + data_length = len(geometry_path.path_data) + if data_length == 0: + continue - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` + last_segment = geometry_path.path_data[data_length - 1] + is_closed = last_segment.path_command == PathCommandType.CLOSE -## تحويل GeometryPath إلى GraphicsPath (System.Drawing.Drawing2D) + if not is_closed: + return False -1. أنشئ مثيلًا من فئة [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) . -2. أنشئ مثيلًا من فئة [GrpahicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) من مساحة الاسم [System.Drawing.Drawing2D](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -3. قم بتحويل مثيل [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) إلى مثيل [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) باستخدام [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/). -4. طبق المسارات على الشكل. + return is_closed +``` -هذا الكود بلغة البايثون — وهو تطبيق للخطوات أعلاه — يوضح عملية تحويل **GeometryPath** إلى **GraphicsPath**: -```py -import aspose.slides as slides -import aspose.pydrawing as draw +## **الأسئلة المتكررة** -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 100) +**ماذا يحدث للملء والحدود بعد استبدال الهندسة؟** - originalPath = shape.get_geometry_paths()[0] - originalPath.fill_mode = slides.PathFillModeType.NONE +يبقى النمط مع الشكل؛ فقط الشكل الخارجي يتغيّر. يُطبّق الملء والحدود تلقائيًا على الهندسة الجديدة. - gPath = draw.drawing2d.GraphicsPath() +**كيف يمكنني تدوير الشكل المخصص مع هندسته بشكل صحيح؟** - gPath.add_string("النص في الشكل", draw.FontFamily("Arial"), 1, 40, draw.PointF(10, 10), draw.StringFormat.generic_default) +استخدم خاصية [rotation](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/rotation/) لل shape؛ الهندسة تدور مع الشكل لأنها مرتبطة بنظام إحداثيات الشكل نفسه. - textPath = slides.util.ShapeUtil.graphics_path_to_geometry_path(gPath) - textPath.fill_mode = slides.PathFillModeType.NORMAL +**هل يمكنني تحويل الشكل المخصص إلى صورة لتثبيت النتيجة؟** - shape.set_geometry_paths([originalPath, textPath]) -``` -![example5_image](custom_shape_5.png) \ No newline at end of file +نعم. صدّر المنطقة المطلوبة من [slide](/slides/ar/python-net/convert-powerpoint-to-png/) أو الشكل نفسه [shape](/slides/ar/python-net/create-shape-thumbnails/) إلى تنسيق نقطي؛ هذا يبسط العمل اللاحق مع الهندسات الثقيلة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md index a7fed4486b..8fb0166c6d 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md @@ -1,75 +1,98 @@ --- -title: بيضاوي +title: إضافة إهليلجات إلى العروض التقديمية في بايثون +linktitle: إهليلج type: docs weight: 30 url: /ar/python-net/ellipse/ -keywords: "بيضاوي، شكل PowerPoint، عرض PowerPoint، بايثون، Aspose.Slides لـ Python عبر .NET" -description: "إنشاء بيضاوي في عرض PowerPoint باستخدام بايثون" +keywords: +- إهليلج +- شكل +- إضافة إهليلج +- إنشاء إهليلج +- رسم إهليلج +- إهليلج منسق +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية إنشاء وتنسيق وتعديل أشكال الإهليلج في Aspose.Slides for Python via .NET عبر عروض PPT و PPTX و ODP — تشمل أمثلة التعليمات البرمجية." --- +## **إنشاء إهليلج** +في هذا الموضوع، سنعرّف المطورين على إضافة أشكال إهليلجية إلى الشرائح باستخدام Aspose.Slides for Python via .NET. توفر Aspose.Slides for Python via .NET مجموعة أسهل من واجهات برمجة التطبيقات لرسم أنواع مختلفة من الأشكال ببضع أسطر من الشيفرة فقط. لإضافة إهليلج بسيط إلى شريحة محددة في العرض التقديمي، يرجى اتباع الخطوات أدناه: -## **إنشاء بيضاوي** -في هذا الموضوع، سوف نقدم للمطورين كيفية إضافة أشكال بيضاوية إلى شرائحهم باستخدام Aspose.Slides لـ Python عبر .NET. تقدم Aspose.Slides لـ Python عبر .NET مجموعة أسهل من واجهات برمجة التطبيقات لرسم أنواع مختلفة من الأشكال في بضع أسطر من التعليمات البرمجية فقط. لإضافة بيضاوي بسيط إلى شريحة محددة من العرض، يرجى اتباع الخطوات أدناه: - -1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class -1. الحصول على مرجع لشريحة باستخدام الفهرس الخاص بها -1. إضافة AutoShape من نوع بيضاوي باستخدام طريقة AddAutoShape المعروضة بواسطة كائن IShapes -1. كتابة العرض المعدل كملف PPTX - -في المثال المعطى أدناه، قمنا بإضافة بيضاوي إلى الشريحة الأولى. +1. إنشاء مثيل من [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)فئة +1. الحصول على مرجع شريحة باستخدام Index +1. إضافة AutoShape من نوع Ellipse باستخدام طريقة AddAutoShape المتوفرة في كائن IShapes +1. كتابة العرض التقديمي المعدل كملف PPTX +في المثال الموضح أدناه، أضفنا إهليلجًا إلى الشريحة الأولى. ```py import aspose.slides as slides -# Instantiate Prseetation class that represents the PPTX +# إنشاء مثيل من فئة Presentation التي تمثل ملف PPTX with slides.Presentation() as pres: - # Get the first slide + # الحصول على الشريحة الأولى sld = pres.slides[0] - # Add autoshape of ellipse type + # إضافة AutoShape من نوع إهليلج sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - #Write the PPTX file to disk + #حفظ ملف PPTX إلى القرص pres.save("EllipseShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` +## **إنشاء إهليلج منسق** +لإضافة إهليلج منسق بشكل أفضل إلى شريحة، يرجى اتباع الخطوات أدناه: -## **إنشاء بيضاوي منسق** -لإضافة بيضاوي منسق بشكل أفضل إلى شريحة، يرجى اتباع الخطوات أدناه: - -1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class. -1. الحصول على مرجع لشريحة باستخدام الفهرس الخاص بها. -1. إضافة AutoShape من نوع بيضاوي باستخدام طريقة AddAutoShape المعروضة بواسطة كائن IShapes. -1. تعيين نوع التعبئة للبيضاوي إلى صلب. -1. تعيين لون البيضاوي باستخدام خاصية SolidFillColor.Color المعروضة بواسطة كائن FillFormat المرتبط بكائن IShape. -1. تعيين لون خطوط البيضاوي. -1. تعيين عرض خطوط البيضاوي. -1. كتابة العرض المعدل كملف PPTX. - -في المثال المعطى أدناه، قمنا بإضافة بيضاوي منسق إلى الشريحة الأولى من العرض. +1. إنشاء مثيل من [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)فئة +1. الحصول على مرجع شريحة باستخدام Index +1. إضافة AutoShape من نوع Ellipse باستخدام طريقة AddAutoShape المتوفرة في كائن IShapes +1. ضبط نوع التعبئة للإهليلج إلى Solid +1. ضبط لون الإهليلج باستخدام الخاصية SolidFillColor.Color المتوفرة في كائن FillFormat المرتبط بكائن IShape +1. ضبط لون خطوط الإهليلج +1. ضبط عرض خطوط الإهليلج +1. كتابة العرض التقديمي المعدل كملف PPTX +في المثال الموضح أدناه، أضفنا إهليلجًا منسقًا إلى الشريحة الأولى من العرض التقديمي. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instantiate Prseetation class that represents the PPTX +# إنشاء نسخة من فئة Presentation التي تمثل ملف PPTX with slides.Presentation() as pres: - # Get the first slide + # الحصول على الشريحة الأولى sld = pres.slides[0] - # Add autoshape of ellipse type + # إضافة AutoShape من نوع إهليلج shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Apply some formatting to ellipse shape + # تطبيق بعض التنسيق على شكل الإهليلج shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Apply some formatting to the line of Ellipse + # تطبيق بعض التنسيق على خط الإهليلج shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - #Write the PPTX file to disk + #حفظ ملف PPTX إلى القرص pres.save("EllipseShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**كيف يمكنني ضبط الموضع الدقيق وحجم الإهليلج بالنسبة لوحدات الشريحة؟** + +عادةً ما يتم تحديد الإحداثيات والأحجام **بالنقاط**. للحصول على نتائج متوقعة، احسب بناءً على حجم الشريحة وحول المليمترات أو الإنش المطلوبة إلى نقاط قبل تعيين القيم. + +**كيف يمكنني وضع إهليلج فوق أو تحت عناصر أخرى (التحكم في ترتيب التراص)؟** + +عدل ترتيب الرسم للعنصر عن طريق إحضاره إلى الأمام أو إرساله إلى الخلف. يتيح ذلك للإهليلج أن يتداخل مع العناصر الأخرى أو يكشف ما تحتها. + +**كيف يمكنني تحريك ظهور أو إبراز الإهليلج؟** + +[تطبيق](/slides/ar/python-net/shape-animation/) تأثيرات الدخول أو التأكيد أو الخروج على الشكل، وقم بتكوين المشغلات والتوقيت لتحديد متى وكيفية تشغيل الرسوم المتحركة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md index d6b5c86269..fdd3227cee 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md @@ -1,78 +1,112 @@ --- -title: خط +title: إنشاء أشكال الخط في العروض التقديمية باستخدام بايثون +linktitle: خط type: docs weight: 50 url: /ar/python-net/line/ -keywords: "خط, شكل باوربوينت, عرض باوربوينت, بايثون, Aspose.Slides لـ بايثون عبر .NET" -description: "إضافة خط في عرض باوربوينت في بايثون" +keywords: +- خط +- إنشاء خط +- إضافة خط +- خط عادي +- تكوين الخط +- تخصيص الخط +- نمط الشرط +- رأس السهم +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية تعديل تنسيق الخط في عروض PowerPoint و OpenDocument باستخدام Aspose.Slides for Python via .NET. اكتشف الخصائص والطرق والأمثلة." --- -يدعم Aspose.Slides لـ بايثون عبر .NET إضافة أنواع مختلفة من الأشكال إلى الشرائح. في هذا الموضوع، سنبدأ العمل مع الأشكال من خلال إضافة الخطوط إلى الشرائح. باستخدام Aspose.Slides لـ بايثون عبر .NET، يمكن للمطورين ليس فقط إنشاء خطوط بسيطة، ولكن يمكن أيضًا رسم بعض الخطوط الزخرفية على الشرائح. -## **إنشاء خط بسيط** -لإضافة خط بسيط إلى شريحة مختارة من العرض، يرجى اتباع الخطوات أدناه: +## **نظرة عامة** -- أنشئ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- احصل على مرجع لشريحة باستخدام الفهرس الخاص بها. -- أضف شكل تلقائي من نوع خط باستخدام طريقة [add_auto_shape](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) المعروضة بواسطة كائن الأشكال. -- قم بكتابة العرض المعدل كملف PPTX. +يُدعم Aspose.Slides for Python via .NET إضافة أنواع مختلفة من الأشكال إلى الشرائح. في هذا الموضوع، سنبدأ العمل مع الأشكال بإضافة خطوط إلى الشرائح. باستخدام Aspose.Slides، يمكن للمطورين ليس فقط إنشاء خطوط بسيطة، بل يمكن أيضاً رسم خطوط مزخرفة على الشرائح. -في المثال أدناه، أضفنا خطًا إلى الشريحة الأولى من العرض. +## **إنشاء خطوط عادية** +استخدم Aspose.Slides لإضافة خط عادي إلى شريحة كفاصل بسيط أو موصل. لإضافة خط عادي إلى شريحة محددة في عرض تقديمي، اتبع الخطوات التالية: + +1. إنشاء مثال من فئة [العرض التقديمي](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الحصول على مرجع إلى الشريحة بواسطة الفهرس. +3. إضافة [الشكل التلقائي](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) من النوع `LINE` باستخدام طريقة `add_auto_shape` على كائن [مجموعة الأشكال](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) . +4. حفظ العرض التقديمي كملف PPTX. + +في المثال أدناه، يتم إضافة خط إلى الشريحة الأولى من العرض التقديمي. ```py import aspose.slides as slides -# إنشاء مثيل لفئة PresentationEx التي تمثل ملف PPTX -with slides.Presentation() as pres: - # الحصول على الشريحة الأولى - sld = pres.slides[0] +# إنشاء مثيل لفئة Presentation. +with slides.Presentation() as presentation: - # إضافة شكل تلقائي من نوع خط - sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + # الحصول على الشريحة الأولى. + slide = presentation.slides[0] - # كتابة ملف PPTX على القرص - pres.save("LineShape1_out.pptx", slides.export.SaveFormat.PPTX) + # إضافة شكل تلقائي من النوع LINE. + slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # حفظ العرض التقديمي كملف PPTX. + presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX) ``` -## **إنشاء خط على شكل سهم** -يتيح Aspose.Slides لـ بايثون عبر .NET أيضًا للمطورين تكوين بعض خصائص الخط لجعله يبدو أكثر جاذبية. دعنا نحاول تكوين بعض الخصائص لجعل الخط يبدو كالسهم. يرجى اتباع الخطوات أدناه للقيام بذلك: -- أنشئ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- احصل على مرجع لشريحة باستخدام الفهرس الخاص بها. -- أضف شكل تلقائي من نوع خط باستخدام طريقة AddAutoShape المعروضة بواسطة كائن الأشكال. -- قم بتعيين نمط الخط إلى أحد الأنماط المعروضة بواسطة Aspose.Slides لـ بايثون عبر .NET. -- قم بتعيين عرض الخط. -- قم بتعيين [نمط الخط المنقّط](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) للخط إلى أحد الأنماط المعروضة بواسطة Aspose.Slides لـ بايثون عبر .NET. -- قم بتعيين [نمط رأس السهم](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) وطول نقطة البداية للخط. -- قم بتعيين نمط رأس السهم وطول نقطة النهاية للخط. -- قم بكتابة العرض المعدل كملف PPTX. +## **إنشاء خطوط على شكل أسهم** + +يتيح لك Aspose.Slides تكوين خصائص الخط لجعلها أكثر جاذبية بصريًا. أدناه، نقوم بتكوين بعض خصائص الخط لجعله يبدو كسهم. اتبع الخطوات التالية: +1. إنشاء مثال من فئة [العرض التقديمي](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. الحصول على مرجع إلى شريحة بواسطة الفهرس. +3. إضافة [الشكل التلقائي](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) من النوع `LINE` باستخدام طريقة `add_auto_shape` على كائن [مجموعة الأشكال](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) . +4. ضبط [نمط الخط](https://reference.aspose.com/slides/python-net/aspose.slides/linestyle/) . +5. ضبط عرض الخط. +6. ضبط [نمط الشرطرة للخط](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) . +7. ضبط [نمط رأس السهم](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) وطوله لنقطة بداية الخط. +8. ضبط نمط رأس السهم وطوله لنقطة نهاية الخط. +9. حفظ العرض التقديمي كملف PPTX. ```py import aspose.slides as slides import aspose.pydrawing as draw -# إنشاء مثيل لفئة PresentationEx التي تمثل ملف PPTX -with slides.Presentation() as pres: - # الحصول على الشريحة الأولى - sld = pres.slides[0] +# إنشاء كائن من فئة Presentation التي تمثل ملف PPTX. +with slides.Presentation() as presentation: + # الحصول على الشريحة الأولى. + slide = presentation.slides[0] + + # إضافة شكل تلقائي من النوع LINE. + shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # تطبيق تنسيق على الخط. + shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN + shape.line_format.width = 10 + + shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT + + shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT + shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL + + shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG + shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE + + shape.line_format.fill_format.fill_type = slides.FillType.SOLID + shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon + + # حفظ العرض التقديمي كملف PPTX. + presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX) +``` + - # إضافة شكل تلقائي من نوع خط - shp = sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) +## **الأسئلة الشائعة** - # تطبيق بعض التنسيقات على الخط - shp.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN - shp.line_format.width = 10 +**هل يمكنني تحويل خط عادي إلى موصل بحيث "ينتكِ" إلى الأشكال؟** - shp.line_format.dash_style = slides.LineDashStyle.DASH_DOT +لا. الخط العادي (وهو [الشكل التلقائي](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) من النوع [LINE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/)) لا يتحول تلقائيًا إلى موصل. لجعله ينتكِ إلى الأشكال، استخدم نوع [Connector](https://reference.aspose.com/slides/python-net/aspose.slides/connector/) المخصص و[واجهات برمجة التطبيقات المقابلة](/slides/ar/python-net/connector/) للاتصالات. - shp.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT - shp.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL +**ماذا أفعل إذا كانت خصائص الخط موروثة من السمة وكان من الصعب تحديد القيم النهائية؟** - shp.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG - shp.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE +[اقرأ الخصائص الفعّالة](/slides/ar/python-net/shape-effective-properties/) عبر صنفي [ILineFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilineformateffectivedata/)/[ILineFillFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilinefillformateffectivedata/)—فهذه الصنوف تأخذ بالفعل في الاعتبار الوراثة وأنماط السمة. - shp.line_format.fill_format.fill_type = slides.FillType.SOLID - shp.line_format.fill_format.solid_fill_color.color = draw.Color.maroon +**هل يمكنني قفل خط لمنعه من التعديل (النقل، تغيير الحجم)؟** - # كتابة ملف PPTX على القرص - pres.save("LineShape2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +نعم. توفر الأشكال كائنات [قفل](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) تتيح لك [منع عمليات التعديل](/slides/ar/python-net/applying-protection-to-presentation/). \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md index 63142f31e0..f7072c3293 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md @@ -1,18 +1,30 @@ --- -title: فقرة +title: الحصول على حدود الفقرة من العروض التقديمية في بايثون +linktitle: الفقرة type: docs weight: 60 url: /ar/python-net/paragraph/ -keywords: "فقرة، جزء، إحداثيات الفقرة، إحداثيات الجزء، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "الفقرة والجزء في عرض PowerPoint باستخدام بايثون" +keywords: +- حدود الفقرة +- حدود جزء النص +- إحداثيات الفقرة +- إحداثيات الجزء +- حجم الفقرة +- حجم جزء النص +- إطار النص +- PowerPoint +- OpenDocument +- العرض التقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية استرجاع حدود الفقرة وجزء النص في Aspose.Slides للبايثون عبر .NET لتحسين موضع النص في عروض PowerPoint و OpenDocument." --- -## **احصل على إحداثيات الفقرة والجزء في TextFrame** -باستخدام Aspose.Slides لبايثون عبر .NET، يمكن للمطورين الآن الحصول على الإحداثيات المستطيلة للفقرة داخل مجموعة الفقرات في TextFrame. كما يتيح لك الحصول على إحداثيات الجزء داخل مجموعة الأجزاء في فقرة. في هذا الموضوع، سنوضح بمساعدة مثال كيفية الحصول على الإحداثيات المستطيلة للفقرة مع موضع الجزء داخل الفقرة. +## **الحصول على إحداثيات الفقرة والجزء داخل TextFrame** +باستخدام Aspose.Slides للـ Python عبر .NET، يمكن للمطورين الآن الحصول على إحداثيات المستطيل للفقرة داخل مجموعة الفقرات في TextFrame. كما يتيح لك الحصول على إحداثيات الجزء داخل مجموعة الأجزاء لفقرة. في هذا الموضوع، سنشرح بمساعدة مثال كيفية الحصول على إحداثيات المستطيل للفقرة مع موضع الجزء داخل الفقرة. -## **الحصول على إحداثيات مستطيلة للفقرة** +## **الحصول على إحداثيات المستطيل للفقرة** تمت إضافة الطريقة الجديدة **GetRect()**. تتيح الحصول على مستطيل حدود الفقرة. - ```py import aspose.slides as slides @@ -23,12 +35,12 @@ with slides.Presentation(path + "Shapes.pptx") as presentation: rect = textFrame.paragraphs[0].get_rect() ``` -## **الحصول على حجم الفقرة والجزء داخل إطار نص خلية الجدول** ## -للحصول على حجم و[جزء](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) أو [فقرة](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) وإحداثياتها في إطار نص خلية الجدول، يمكنك استخدام [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) و[IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) الأساليب. +## **الحصول على حجم الفقرة والجزء داخل إطار نص خلية الجدول** ## -يظهر هذا الكود المعني العملية الموصوفة: +للحصول على حجم وإحداثيات [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) أو [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) داخل إطار نص خلية جدول، يمكنك استخدام طريقتي [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) و[IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). +يعرض كود العينة العملية الموضحة: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -38,6 +50,7 @@ with slides.Presentation(path + "source.pptx") as pres: cell = tbl.rows[1][1] + x = tbl.X + tbl.rows[1][1].offset_x y = tbl.Y + tbl.rows[1][1].offset_y @@ -60,4 +73,23 @@ with slides.Presentation(path + "source.pptx") as pres: rect.x + x, rect.y + y, rect.width, rect.height) shape.fill_format.fill_type = slides.FillType.NO_FILL -``` \ No newline at end of file +``` + + +## **FAQ** + +**بأي وحدات يتم إرجاع الإحداثيات للفقرة وأجزاء النص؟** + +بالنقاط، حيث 1 بوصة = 72 نقطة. ينطبق هذا على جميع الإحداثيات والأبعاد في الشريحة. + +**هل يؤثر التفاف النص على حدود الفقرة؟** + +نعم. إذا تم تمكين [wrapping](https://reference.aspose.com/slides/python-net/aspose.slides/textframeformat/wrap_text/) في [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)، يتم كسر النص لتناسب عرض المنطقة، مما يغير حدود الفقرة الفعلية. + +**هل يمكن تعيين إحداثيات الفقرة إلى بكسلات في الصورة المصدرة بشكل موثوق؟** + +نعم. احول النقاط إلى بكسلات باستخدام: pixels = points × (DPI / 72). النتيجة تعتمد على DPI المختار للعرض/التصدير. + +**كيف أحصل على معلمات تنسيق الفقرة "الفعّالة"، مع مراعاة وراثة النمط؟** + +استخدم [effective paragraph formatting data structure](/slides/ar/python-net/shape-effective-properties/); فهو يُعيد القيم النهائية المجمعة للمسافات البادئة، التباعد، الالتفاف، RTL، والمزيد. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md index 6c154df903..25e7444667 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md @@ -1,24 +1,48 @@ --- -title: جزء +title: إدارة أجزاء النص في العروض التقديمية باستخدام Python +linktitle: جزء النص type: docs weight: 70 url: /ar/python-net/portion/ -keywords: "جزء، شكل PowerPoint، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "احصل على جزء في عرض PowerPoint باستخدام بايثون" +keywords: +- جزء النص +- قطعة النص +- إحداثيات النص +- موضع النص +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية إدارة أجزاء النص في عروض PowerPoint وOpenDocument باستخدام Aspose.Slides للPython عبر .NET، مما يعزز الأداء والتخصيص." --- -## **احصل على إحداثيات موضع الجزء** -تمت إضافة طريقة **GetCoordinates()** إلى واجهة IPortion وفئة Portion التي تسمح باسترداد إحداثيات بداية الجزء: - +## **الحصول على إحداثيات أجزاء النص** +تمت إضافة طريقة [get_coordinates](https://reference.aspose.com/slides/python-net/aspose.slides/portion/get_coordinates/) إلى فئة [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) التي تسمح باسترجاع إحداثيات أجزاء النص: ```py import aspose.slides as slides -with slides.Presentation(path + "HelloWorld.pptx") as presentation: +with slides.Presentation("HelloWorld.pptx") as presentation: shape = presentation.slides[0].shapes[0] - textFrame = shape.text_frame + text_frame = shape.text_frame - for paragraph in textFrame.paragraphs: + for paragraph in text_frame.paragraphs: for portion in paragraph.portions: point = portion.get_coordinates() - print("الإحداثيات X =" + str(point.x) + " الإحداثيات Y =" + str(point.y)) -``` \ No newline at end of file + print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y)) +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني تطبيق ارتباط تشعبي على جزء فقط من النص داخل فقرة واحدة؟** +نعم، يمكنك [تعيين ارتباط تشعبي](/slides/ar/python-net/manage-hyperlinks/) إلى جزء فردي؛ فقط هذا الجزء سيكون قابلًا للنقر، وليس الفقرة بأكملها. + +**كيف يعمل وراثة الأنماط: ما الذي يتجاوز الـPortion وما الذي يُؤخذ من الـParagraph/ـTextFrame؟** +لدى خصائص مستوى الـPortion أعلى أسبقية. إذا لم يتم تعيين خاصية على الـ[Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/)، فإن المحرك يأخذها من الـ[Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/); وإذا لم تُحدد هناك أيضًا، فإنها تُؤخذ من الـ[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) أو نمط الـ[theme](https://reference.aspose.com/slides/python-net/aspose.slides.theme/theme/) . + +**ماذا يحدث إذا كان الخط المحدد للـPortion غير موجود على الجهاز/الخادم الهدف؟** +تُطبق [قواعد استبدال الخط](/slides/ar/python-net/font-selection-sequence/). قد يتغير تدفق النص: قد تتغير المقاييس، والفسرة، والعرض، وهو ما يؤثر على التحديد الدقيق للموقع. + +**هل يمكنني تعيين شفافية أو تدرج تعبئة نص خاص بالـPortion بشكل مستقل عن باقي الفقرة؟** +نعم، يمكن أن يختلف لون النص، والتعبئة، والشفافية على مستوى الـ[Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) عن القطع المجاورة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md index cb1c4c2b24..f66fdd2ee1 100644 --- a/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md +++ b/ar/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md @@ -1,35 +1,44 @@ --- -title: مستطيل +title: إضافة المستطيلات إلى العروض التقديمية في بايثون +linktitle: مستطيل type: docs weight: 80 url: /ar/python-net/rectangle/ -keywords: "إنشاء مستطيل، شكل PowerPoint، عرض PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "إنشاء مستطيل في عرض PowerPoint باستخدام بايثون" +keywords: +- إضافة مستطيل +- إنشاء مستطيل +- شكل مستطيل +- مستطيل بسيط +- مستطيل منسق +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "عزز عروض PowerPoint و OpenDocument التقديمية بإضافة مستطيلات باستخدام Aspose.Slides لبايثون عبر .NET—صمّم وعدّل الأشكال برمجيًا بسهولة." --- - ## **إنشاء مستطيل بسيط** -مثل المواضيع السابقة، هذا الموضوع يتعلق أيضًا بإضافة شكل وهذه المرة الشكل الذي سنتحدث عنه هو المستطيل. في هذا الموضوع، وصفنا كيف يمكن للمطورين إضافة مستطيلات بسيطة أو منسقة إلى شرائحهم باستخدام Aspose.Slides لـ بايثون عبر .NET. لإضافة مستطيل بسيط إلى شريحة مختارة من العرض، يرجى اتباع الخطوات أدناه: - -1. قم بإنشاء مثيل من [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class. -1. احصل على مرجع شريحة باستخدام الفهرس الخاص بها. -1. أضف IAutoShape من نوع المستطيل باستخدام طريقة AddAutoShape المتاحة بواسطة كائن IShapes. -1. اكتب العرض المعدل كملف PPTX. +مثل المواضيع السابقة، يتناول هذا الموضوع أيضًا إضافة شكل، وهذه المرة الشكل الذي سنناقشه هو المستطيل. في هذا الموضوع، وصفنا كيف يمكن للمطورين إضافة مستطيلات بسيطة أو منسقة إلى شرائحهم باستخدام Aspose.Slides for Python عبر .NET. لإضافة مستطيل بسيط إلى شريحة مختارة من العرض التقديمي، يرجى اتباع الخطوات أدناه: -في المثال المعطى أدناه، قمنا بإضافة مستطيل بسيط إلى الشريحة الأولى من العرض. +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. الحصول على مرجع الشريحة باستخدام فهرسها. +1. إضافة IAutoShape من النوع Rectangle باستخدام طريقة AddAutoShape التي يوفرها كائن IShapes. +1. كتابة العرض التقديمي المعدل كملف PPTX. +في المثال المعطى أدناه، قمنا بإضافة مستطيل بسيط إلى الشريحة الأولى من العرض التقديمي. ```py import aspose.slides as slides -# Instantiate Prseetation class that represents the PPTX +# إنشاء فئة Presentation التي تمثل PPTX with slides.Presentation() as pres: - # Get the first slide + # الحصول على الشريحة الأولى sld = pres.slides[0] - # Add autoshape of rectangle type + # إضافة شكل تلقائي من نوع مستطيل sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - #Write the PPTX file to disk + #كتابة ملف PPTX إلى القرص pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` @@ -37,37 +46,68 @@ with slides.Presentation() as pres: ## **إنشاء مستطيل منسق** لإضافة مستطيل منسق إلى شريحة، يرجى اتباع الخطوات أدناه: -1. قم بإنشاء مثيل من [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class. -1. احصل على مرجع شريحة باستخدام الفهرس الخاص بها. -1. أضف IAutoShape من نوع المستطيل باستخدام طريقة AddAutoShape المتاحة بواسطة كائن IShapes. -1. قم بتعيين نوع التعبئة للمستطيل إلى صلب. -1. قم بتعيين لون المستطيل باستخدام خاصية SolidFillColor.Color المتاحة بواسطة كائن FillFormat المرتبط بكائن IShape. -1. قم بتعيين لون خطوط المستطيل. -1. قم بتعيين عرض خطوط المستطيل. -1. اكتب العرض المعدل كملف PPTX. - يتم تنفيذ الخطوات أعلاه في المثال المعطى أدناه. +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. الحصول على مرجع الشريحة باستخدام فهرسها. +1. إضافة IAutoShape من النوع Rectangle باستخدام طريقة AddAutoShape التي يوفرها كائن IShapes. +1. تعيين نوع التعبئة للمستطيل إلى Solid. +1. تعيين لون المستطيل باستخدام خاصية SolidFillColor.Color التي يوفرها كائن FillFormat المرتبط بكائن IShape. +1. تعيين لون خطوط المستطيل. +1. تعيين عرض خطوط المستطيل. +1. كتابة العرض التقديمي المعدل كملف PPTX. +تم تنفيذ الخطوات السابقة في المثال المعطى أدناه. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instantiate Prseetation class that represents the PPTX +# إنشاء فئة Presentation التي تمثل ملف PPTX with slides.Presentation() as pres: - # Get the first slide + # الحصول على الشريحة الأولى sld = pres.slides[0] - # Add autoshape of rectangle type + # إضافة شكل تلقائي من نوع مستطيل shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # Apply some formatting to rectangle shape + # تطبيق بعض التنسيق على شكل المستطيل shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Apply some formatting to the line of rectangle + # تطبيق بعض التنسيق على خط المستطيل shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - #Write the PPTX file to disk + #كتابة ملف PPTX إلى القرص pres.save("RectShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**كيف يمكنني إضافة مستطيل بزوايا مستديرة؟** + +استخدم نوع الشكل [shape type](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) ذو الزوايا المستديرة واضبط نصف قطر الزاوية في خصائص الشكل؛ يمكن أيضًا تطبيق التقريب على كل زاوية عبر تعديل الهندسة. + +**كيف أملأ مستطيلًا بصورة (نقش)؟** + +حدد [fill type](https://reference.aspose.com/slides/python-net/aspose.slides/filltype/) للصور، قدم مصدر الصورة، وقم بتكوين [stretching/tiling modes](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillmode/) حسب الحاجة. + +**هل يمكن للمستطيل أن يكون له ظل وتوهج؟** + +نعم. [Outer/inner shadow, glow, and soft edges](/slides/ar/python-net/shape-effect/) متاحة مع معلمات قابلة للتعديل. + +**هل يمكنني تحويل المستطيل إلى زر مع ارتباط تشعبي؟** + +نعم. [Assign a hyperlink](/slides/ar/python-net/manage-hyperlinks/) للنقر على الشكل (الانتقال إلى شريحة، ملف، عنوان ويب، أو بريد إلكتروني). + +**كيف يمكنني حماية المستطيل من الحركة والتعديلات؟** + +[Use shape locks](/slides/ar/python-net/applying-protection-to-presentation/): يمكنك منع التحريك، تغيير الحجم، الاختيار، أو تحرير النص للحفاظ على التخطيط. + +**هل يمكنني تحويل المستطيل إلى صورة نقطية أو SVG؟** + +نعم. يمكنك [render the shape](http://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) إلى صورة بحجم/مقياس محدد أو [export it as SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) للاستخدام المتجهي. + +**كيف أحصل بسرعة على الخصائص الفعلية (الفعّالة) للمستطيل مع مراعاة الثيم والوراثة؟** + +[Use the shape’s effective properties](/slides/ar/python-net/shape-effective-properties/): تُعيد الواجهة البرمجية القيم المحسوبة التي تأخذ في الاعتبار أنماط الثيم، التخطيط، والإعدادات المحلية، مما يبسط تحليل التنسيق. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md index 3354fd847f..46dfdfa48e 100644 --- a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md +++ b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md @@ -1,40 +1,75 @@ --- -title: الخط الافتراضي +title: تخصيص الخطوط الافتراضية في العروض التقديمية باستخدام بايثون +linktitle: الخط الافتراضي type: docs weight: 30 url: /ar/python-net/default-font/ -keywords: "خطوط، خطوط افتراضية، تقديم عرض باوربوينت بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "خطوط باوربوينت الافتراضية في بايثون" +keywords: +- الخط الافتراضي +- خط عادي +- خط طبيعي +- خط آسيوي +- تصدير PDF +- تصدير XPS +- تصدير صور +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "قم بتعيين الخطوط الافتراضية في Aspose.Slides لـ Python لضمان التحويل الصحيح لعروض PowerPoint (PPT، PPTX) و OpenDocument (ODP) إلى PDF و XPS والصور." --- -## **استخدام الخطوط الافتراضية لتقديم العرض** -تتيح لك Aspose.Slides تعيين الخط الافتراضي لتقديم العرض إلى PDF، XPS أو صور مصغرة. توضح هذه المقالة كيفية تعريف DefaultRegular Font و DefaultAsian Font لاستخدامها كخطوط افتراضية. يرجى اتباع الخطوات أدناه لتحميل الخطوط من الأدلة الخارجية باستخدام Aspose.Slides لـ بايثون عبر .NET API: +## **استخدام الخطوط الافتراضية لتصيير العرض التقديمي** +Aspose.Slides يتيح لك ضبط الخط الافتراضي لتصيير العرض إلى PDF أو XPS أو مصغرات. يوضح هذا المقال كيف يتم تعريف DefaultRegular Font و DefaultAsian Font لاستخدامهما كخطوط افتراضية. يرجى اتباع الخطوات أدناه لتحميل الخطوط من أدلة خارجية باستخدام Aspose.Slides for Python عبر .NET API: 1. إنشاء مثيل من LoadOptions. -1. تعيين DefaultRegularFont إلى الخط المرغوب. في المثال التالي، لقد استخدمت Wingdings. -1. تعيين DefaultAsianFont إلى الخط المرغوب. لقد استخدمت Wingdings في العينة التالية. -1. تحميل العرض باستخدام Presentation وتعيين خيارات التحميل. -1. الآن، قم بإنشاء صورة مصغرة للشريحة، PDF و XPS للتحقق من النتائج. - -تنفيذ ما سبق موضح أدناه. +2. ضبط DefaultRegularFont إلى الخط المطلوب. في المثال التالي، استخدمت Wingdings. +3. ضبط DefaultAsianFont إلى الخط المطلوب. استخدمت Wingdings في العينة التالية. +4. تحميل العرض باستخدام Presentation وتعيين خيارات التحميل. +5. الآن، إنشاء مصغرة الشريحة، PDF و XPS للتحقق من النتائج. +التنفيذ المذكور أعلاه موضح أدناه. ```py import aspose.slides as slides -# استخدم خيارات التحميل لتعريف الخطوط الافتراضية العادية والآسيوية +# استخدم خيارات التحميل لتحديد الخطوط الافتراضية العادية والآسيوية loadOptions = slides.LoadOptions(slides.LoadFormat.AUTO) loadOptions.default_regular_font = "Wingdings" loadOptions.default_asian_font = "Wingdings" -# تحميل العرض +# تحميل العرض التقديمي with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: - # توليد صورة مصغرة للشريحة + # إنشاء صورة مصغرة للشريحة with pptx.slides[0].get_image(1, 1) as img: img.save("output_out.png", slides.ImageFormat.PNG) - # توليد PDF + # إنشاء ملف PDF pptx.save("output_out.pdf", slides.export.SaveFormat.PDF) - # توليد XPS + # إنشاء ملف XPS pptx.save("output_out.xps", slides.export.SaveFormat.XPS) -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**ما الذي تؤثر به المتغيرات default_regular_font و default_asian_font بالضبط—هل هو التصدير فقط أم أيضًا المصغرات، PDF، XPS، HTML و SVG؟** + +إنها تشارك في خط أنابيب التصيير لجميع المخرجات المدعومة. ويشمل ذلك مصغرات الشرائح، [PDF](/slides/ar/python-net/convert-powerpoint-to-pdf/)، [XPS](/slides/ar/python-net/convert-powerpoint-to-xps/)، [raster images](/slides/ar/python-net/convert-powerpoint-to-png/)، [HTML](/slides/ar/python-net/convert-powerpoint-to-html/)، و [SVG](/slides/ar/python-net/render-a-slide-as-an-svg-image/)، لأن Aspose.Slides يستخدم نفس منطق تخطيط وحل الرموز عبر هذه الأهداف. + +**هل تُطبق الخطوط الافتراضية عند قراءة وحفظ PPTX دون أي تصيير؟** + +لا. الخطوط الافتراضية تهم عندما يجب قياس النص ورسمه. حفظ العرض مباشرة لا يغيّر تشغيلات الخط المخزنة أو بنية الملف. الخطوط الافتراضية تتدخل أثناء العمليات التي تصيغ أو تعيد تدفق النص. + +**إذا أضفت مجلدات خطوط خاصة بي أو زودت الخطوط من الذاكرة، هل سيتم اعتبارها عند اختيار الخطوط الافتراضية؟** + +نعم. [Custom font sources](/slides/ar/python-net/custom-font/) توسع كتالوج العائلات والرموز المتاحة التي يمكن للمحرك استخدامها. الخطوط الافتراضية وأي [fallback rules](/slides/ar/python-net/fallback-font/) ستحلّ ضد تلك المصادر أولاً، مما يوفر تغطية أكثر موثوقية على الخوادم وفي الحاويات. + +**هل تؤثر الخطوط الافتراضية على مقاييس النص (kerning, advances) وبالتالي على فواصل السطر والالتفاف؟** + +نعم. تغيير الخط يغيّر مقاييس الرموز ويمكن أن يغيّر فواصل السطر والالتفاف وترقيم الصفحات أثناء التصيير. للحفاظ على استقرار التخطيط، [embed the original fonts](/slides/ar/python-net/embedded-font/) أو اختر عائلات افتراضية واحتياطية متوافقة من الناحية المترية. + +**هل هناك فائدة من ضبط الخطوط الافتراضية إذا كانت جميع الخطوط المستخدمة في العرض مدمجة؟** + +غالبًا لا تكون ضرورية، لأن [embedded fonts](/slides/ar/python-net/embedded-font/) تضمن بالفعل مظهرًا ثابتًا. ما زالت الخطوط الافتراضية تساعد كشبكة أمان للأحرف غير المشمولة في الجزء المدمج أو عندما يخلط ملف نصًا مدمجًا وغير مدمج. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md index c67530d538..676d0fb6e8 100644 --- a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md +++ b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md @@ -1,19 +1,44 @@ --- -title: خط الاستبدال +title: إدارة خطوط الاحتياطي للعروض التقديمية في بايثون +linktitle: خط احتياطي type: docs weight: 50 url: /ar/python-net/fallback-font/ -keywords: "خط الاستبدال، خط، عرض PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "خط الاستبدال في PowerPoint باستخدام بايثون" +keywords: +- خط احتياطي +- خط متاح +- استبدال الرموز +- تحديد الخط +- تحديد القاعدة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "شاهد كيف يستخدم Aspose.Slides لبايثون عبر .NET خطوط الاحتياطي للحفاظ على قابلية قراءة النص في عروض PowerPoint وOpenDocument عندما لا تكون الخطوط الأصلية متاحة." --- -## **خط الاستبدال** -يستخدم خط الاستبدال عندما يكون الخط المحدد للنص متاحًا في النظام، لكن لا يحتوي هذا الخط على رمز ضروري. في هذه الحالة، من الممكن استخدام أحد خطوط الاستبدال المحددة لاستبدال الرمز. +## **خط احتياطي** +يُستخدم الخط الاحتياطي عندما يكون الخط المحدد للنص متاحًا في النظام، ولكن هذا الخط لا يحتوي على الحرف الضروري. في هذه الحالة، يمكن استخدام أحد الخطوط الاحتياطية المحددة لاستبدال الحرف. -يسمح Aspose.Slides بإنشاء خطوط استبدال، وإضافتها إلى مجموعة خطوط الاستبدال، وتعيين مجموعة خطوط الاستبدال لعرض معين، وإزالة خطوط الاستبدال من العرض، وتحديد القواعد لتطبيق خطوط الاستبدال وأمور أخرى. +تتيح Aspose.Slides إنشاء خطوط احتياطية، وإضافتها إلى مجموعة الخطوط الاحتياطية، وتعيين مجموعة الخطوط الاحتياطية لعروض تقديمية معينة، وإزالة الخطوط الاحتياطية من العرض، وتحديد القواعد لتطبيق الخطوط الاحتياطية وغيرها. للتعرف على هذه الميزات، استخدم الروابط التالية: -- [إنشاء خط استبدال](/slides/ar/python-net/create-fallback-font) -- [إنشاء مجموعة خطوط الاستبدال](/slides/ar/python-net/create-fallback-fonts-collection) -- [عرض العرض باستخدام خط استبدال](/slides/ar/python-net/render-presentation-with-fallback-font) \ No newline at end of file +- [إنشاء خط احتياطي](/slides/ar/python-net/create-fallback-font) +- [إنشاء مجموعة خطوط احتياطية](/slides/ar/python-net/create-fallback-fonts-collection) +- [عرض تقديمي باستخدام الخط الاحتياطي](/slides/ar/python-net/render-presentation-with-fallback-font) + +## **الأسئلة الشائعة** + +**كيف تختلف الخطوط الاحتياطية عن استبدال الخط؟** + +يُطبق الخط الاحتياطي على مستوى كل حرف أو على نطاق من Unicode عندما يفتقر الخط الأساسي إلى حروف معينة؛ فهو يملأ الحروف المفقودة فقط. [استبدال](/slides/ar/python-net/font-substitution/) يستبدل الخط المفقود أو غير المتاح لقطعة نصية أو جزء كامل من النص بخط آخر. يمكن الجمع بينهما، لكن نطاق كل منهما ومنطق الاختيار مختلفان. + +**هل يتم حفظ إعدادات الخط الاحتياطي داخل ملف العرض التقديمي؟** + +لا. إعدادات الخط الاحتياطي توجد فقط أثناء المعالجة/العرض في المكتبة ولا يتم تسلسلها إلى ملف PPTX. لا يقوم العرض التقديمي بتخزين قواعد الخط الاحتياطي الخاصة بك. + +**هل يؤثر الخط الاحتياطي على العناصر التي تم إنشاؤها بواسطة كائنات PowerPoint (SmartArt، المخططات، WordArt)؟** + +نعم. يتم تمرير النص داخل هذه الكائنات عبر نفس خط معالجة العرض، لذا تُطبق قواعد الخط الاحتياطي نفسها عليها كما تُطبق على النص العادي. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md index 14944dd1fb..c108990ecb 100644 --- a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md +++ b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md @@ -1,14 +1,28 @@ --- -title: إنشاء خط احتياطي +title: تحديد الخطوط الاحتياطية للعروض التقديمية في بايثون +linktitle: خط احتياطي type: docs weight: 10 url: /ar/python-net/create-fallback-font/ -keywords: "خطوط, خط احتياطي, عرض PowerPoint بايثون, Aspose.Slides لبايثون عبر .NET" -description: "خط احتياطي في PowerPoint بايثون" +keywords: +- خط احتياطي +- قاعدة احتياطية +- تطبيق خط +- استبدال خط +- نطاق Unicode +- رموز مفقودة +- رموز صحيحة +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "إتقان Aspose.Slides لـ Python عبر .NET لتعيين الخطوط الاحتياطية في ملفات PPT و PPTX و ODP، وضمان عرض نص متسق على أي جهاز أو نظام تشغيل." --- -تدعم Aspose.Slides واجهة [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) و فئة [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) لتحديد القواعد التي تنطبق على خط احتياطي. تمثل فئة [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) ارتباطًا بين نطاق يونيكود المحدد، المستخدم للبحث عن الحروف الناقصة، وقائمة من الخطوط التي قد تحتوي على حروف مناسبة: +## **تحديد الخطوط الاحتياطية** +يدعم Aspose.Slides واجهة [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) و‑فئة [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) لتحديد القواعد التي تُطبق الخط الاحتياطي. تمثّل فئة [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) ارتباطًا بين نطاق Unicode المحدد، والذي يُستخدَم للبحث عن الرموز المفقودة، وقائمة من الخطوط التي قد تحتوي على الرموز المناسبة: ```py startUnicodeIndex = 0x0B80 endUnicodeIndex = 0x0BFF @@ -16,18 +30,41 @@ endUnicodeIndex = 0x0BFF firstRule = slides.FontFallBackRule(startUnicodeIndex, endUnicodeIndex, "Vijaya") secondRule = slides.FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic") -#باستخدام طرق متعددة، يمكنك إضافة قائمة الخطوط: -fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial"] +#باستخدام طرق متعددة يمكنك إضافة قائمة الخطوط: +fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial" ] thirdRule = slides.FontFallBackRule(0x1F300, 0x1F64F, fontNames) ``` -من الممكن أيضًا [إزالة()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) الخط الاحتياطي أو [إضافة خطوط احتياطية()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) إلى كائن [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) الموجود. -يمكن استخدام [FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) لتنظيم قائمة من [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) الكائنات، عندما تكون هناك حاجة لتحديد قواعد استبدال الخط الاحتياطي لعدة نطاقات يونيكود. +يمكن أيضًا [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) الخط الاحتياطي أو [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) إلى كائن [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) موجود. -{{% alert color="primary" title="انظر أيضًا" %}} -- [إنشاء مجموعة خطوط احتياطية](/slides/ar/python-net/create-fallback-fonts-collection/) -{{% /alert %}} \ No newline at end of file +يمكن استخدام [FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) لتنظيم قائمة من كائنات [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) عندما تحتاج إلى تحديد قواعد استبدال الخطوط الاحتياطية لعدة نطاقات Unicode. + +{{% alert color="primary" title="See also" %}} +- [Create Fallback Fonts Collection](/slides/ar/python-net/create-fallback-fonts-collection/) +{{% /alert %}} + +## **الأسئلة المتداولة** + +**ما الفرق بين الخط الاحتياطي، واستبدال الخط، وتضمين الخط؟** + +يُستخدم الخط الاحتياطي فقط للأحرف المفقودة في الخط الأساسي. [استبدال الخط](/slides/ar/python-net/font-substitution/) يُستبدل الخط المحدد بالكامل بخط آخر. [تضمين الخط](/slides/ar/python-net/embedded-font/) يُضمن الخطوط داخل ملف الإخراج بحيث يمكن للمستلمين عرض النص كما هو مقصود. + +**هل تُطبق الخطوط الاحتياطية أثناء التصدير مثل PDF أو PNG أو SVG، أم فقط عند العرض على الشاشة؟** + +نعم. تؤثر الخطوط الاحتياطية على جميع عمليات [العرض والتصدير](/slides/ar/python-net/convert-presentation/) حيث يجب رسم الأحرف ولكنها غير موجودة في الخط الأصلي. + +**هل يغيّر تكوين الخط الاحتياطي ملف العرض نفسه، وهل يبقى الإعداد محفوظًا للفتح المستقبلي؟** + +لا. قواعد الخط الاحتياطي هي إعدادات عرض زمن تشغيل في الكود الخاص بك؛ لا تُحفظ داخل ملف .pptx ولن تظهر في PowerPoint. + +**هل يؤثر نظام التشغيل (Windows/Linux/macOS) ومجموعة دلائل الخطوط على اختيار الخط الاحتياطي؟** + +نعم. المحرك يحدد الخطوط من المجلدات النظامية المتوفرة وأي [مسارات إضافية](/slides/ar/python-net/custom-font/) تقدّمها. إذا لم يكن الخط متاحًا فعليًا، لا يمكن للقاعدة التي تشير إليه أن تُفعَّل. + +**هل يعمل الخط الاحتياطي مع WordArt وSmartArt والمخططات؟** + +نعم. عند احتواء هذه الكائنات على نص، يُطبق نفس آلية استبدال الرموز لعرض الأحرف المفقودة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md index 958e7eb277..acd0e4db6e 100644 --- a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md +++ b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md @@ -1,24 +1,35 @@ --- -title: استبدال الخط +title: تبسيط استبدال الخطوط في العروض باستخدام بايثون +linktitle: استبدال الخطوط type: docs weight: 60 url: /ar/python-net/font-replacement/ -keywords: "خط, استبدال الخط, عرض PowerPoint, بايثون, Aspose.Slides لـ بايثون عبر .NET" -description: "استبدال الخطوط بشكل صريح في PowerPoint باستخدام بايثون" +keywords: +- خط +- استبدال الخط +- استبدال الخطوط +- تغيير الخط +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "استبدال الخطوط بسلاسة في Aspose.Slides Python عبر .NET لضمان تناسق الخطوط في عروض PowerPoint وOpenDocument." --- -إذا غيرت رأيك بشأن استخدام خط معين، يمكنك استبدال هذا الخط بخط آخر. سيتم استبدال جميع حالات الخط القديم بالخط الجديد. +## **استبدال الخطوط** -تتيح لك Aspose.Slides استبدال خط بهذه الطريقة: +إذا غيرت رأيك بشأن استخدام خط ما، يمكنك استبدال ذلك الخط بخط آخر. سيتم استبدال جميع حالات الخط القديم بالخط الجديد. -1. تحميل العرض التقديمي المعني. -2. تحميل الخط الذي سيتم استبداله. -3. تحميل الخط الجديد. -4. استبدال الخط. -5. كتابة العرض التقديمي المعدل كملف PPTX. +تسمح لك Aspose.Slides باستبدال الخط بهذه الطريقة: -هذا الكود بلغة بايثون يُظهر استبدال الخط: +1. قم بتحميل العرض التقديمي المناسب. +2. قم بتحميل الخط الذي سيتم استبداله. +3. قم بتحميل الخط الجديد. +4. استبدل الخط. +5. احفظ العرض التقديمي المعدل كملف PPTX. +يعرض هذا المثال بلغة Python كيفية استبدال الخط: ```py import aspose.pydrawing as draw import aspose.slides as slides @@ -38,8 +49,41 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: presentation.save("UpdatedFont_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="ملاحظة" color="warning" %}} -لتعيين قواعد تحدد ما يحدث في ظروف معينة (إذا كان لا يمكن الوصول إلى خط معين، على سبيل المثال)، انظر [**استبدال الخط**](/slides/ar/python-net/font-substitution/). +{{% alert title="Note" color="warning" %}} +لتحديد القواعد التي تحدد ما يحدث في ظروف معينة (مثل عدم إمكانية الوصول إلى خط)، راجع [**استبدال الخط**](/slides/ar/python-net/font-substitution/). +{{% /alert %}} -{{% /alert %}} \ No newline at end of file +## **الأسئلة الشائعة** + +**ما الفرق بين "استبدال الخط"، "استبدال الخطوط"، و"الخطوط الاحتياطية"?** + +الاستبدال هو تحويل مقصود من عائلة واحدة إلى أخرى عبر المستند بأكمله. [الاستبدال](/slides/ar/python-net/font-substitution/) هو قاعدة مثل "إذا كان الخط غير متاح، استخدم X". [الخط الاحتياطي](/slides/ar/python-net/fallback-font/) يُطبق بصورة انتقائية على الأحرف المفقودة عندما يكون الخط الأساسي مثبتًا لكنه لا يحتوي على الأحرف المطلوبة. + +**هل ينطبق الاستبدال على الشرائح الرئيسية، التخطيطات، الملاحظات، والتعليقات؟** + +نعم. يؤثر الاستبدال على جميع كائنات العرض التي تستخدم الخط الأصلي، بما في ذلك الشرائح الرئيسية والملاحظات؛ كما تُؤخذ التعليقات كجزء من المستند ويتم احتسابها بواسطة محرك الخط. + +**هل سيتغير الخط داخل كائنات OLE المضمنة (مثل Excel)؟** + +لا. [محتوى OLE](/slides/ar/python-net/manage-ole/) يتم التحكم فيه بواسطة تطبيقه الخاص. لا يُعيد الاستبدال في العرض تنسيق بيانات OLE الداخلية؛ قد يتم عرضها كصورة أو كمحتوى قابل للتحرير خارجيًا. + +**هل يمكنني استبدال خط فقط في جزء من العرض (حسب الشرائح أو المناطق)؟** + +يمكن إجراء استبدال موجه إذا قمت بتغيير الخط على مستوى الكائنات/النطاقات المطلوبة بدلاً من تطبيق استبدال شامل على المستند بأكمله. يظل منطق اختيار الخط العام أثناء عملية العرض كما هو. + +**كيف يمكنني تحديد الخطوط التي يستخدمها العرض مسبقًا؟** + +استخدم [مدير الخطوط](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/): فهو يوفر قائمة بـ [العائلات المستخدمة](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) ومعلومات حول [الاستبدالات/الخطوط "غير معروفة"](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_substitutions/)، مما يساعد في التخطيط للاستبدال. + +**هل يعمل استبدال الخط عند التحويل إلى PDF/صور؟** + +نعم. أثناء التصدير، تقوم Aspose.Slides بتطبيق نفس [تسلسل اختيار/استبدال الخط](/slides/ar/python-net/font-selection-sequence/)، لذا سيتم احترام الاستبدال الذي تم إجراؤه مسبقًا خلال التحويل. + +**هل أحتاج إلى تثبيت الخط المستهدف في النظام أم يمكنني إرفاق مجلد خطوط؟** + +التثبيت غير مطلوب: تسمح المكتبة بـ [تحميل خطوط خارجية](/slides/ar/python-net/custom-font/) من مجلدات المستخدم للاستخدام أثناء [العرض والتصدير](/slides/ar/python-net/convert-powerpoint/). + +**هل سيصلح الاستبدال مشكلة "التوفو" (المربعات) بدلاً من الأحرف؟** + +فقط إذا كان الخط المستهدف يحتوي فعليًا على الأحرف المطلوبة. إذا لم يكن كذلك، قم [بتهيئة الخط الاحتياطي](/slides/ar/python-net/fallback-font/) لتغطية الأحرف المفقودة. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md index adca4b202f..16d5bfba19 100644 --- a/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md +++ b/ar/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md @@ -1,52 +1,95 @@ --- -title: استبدال الخط +title: تهيئة استبدال الخطوط في العروض التقديمية باستخدام بايثون +linktitle: استبدال الخطوط type: docs weight: 70 url: /ar/python-net/font-substitution/ -keywords: "خط, استبدال الخط, عرض تقديمي PowerPoint, بايثون, Aspose.Slides لبايثون عبر .NET" -description: "استبدال الخط في PowerPoint باستخدام بايثون" +keywords: +- خط +- خط بديل +- استبدال الخط +- استبدال الخط +- استبدال الخط +- قاعدة الاستبدال +- قاعدة الاستبدال +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تمكين استبدال الخط المثالي في Aspose.Slides للبايثون عبر .NET عند تحويل عروض PowerPoint و OpenDocument إلى صيغ ملفات أخرى." --- -تتيح لك Aspose.Slides ضبط قواعد للخطوط تحدد ما يجب القيام به في ظروف معينة (على سبيل المثال، عندما لا يمكن الوصول إلى خط ما) بهذه الطريقة: +## **تحديد قواعد الاستبدال** -1. تحميل العرض التقديمي المعني. +تسمح لك Aspose.Slides بتعيين قواعد للخطوط تحدد ما يجب القيام به في ظروف معينة (على سبيل المثال عندما لا يمكن الوصول إلى خط) بهذه الطريقة: + +1. تحميل العرض التقديمي المناسب. 2. تحميل الخط الذي سيتم استبداله. 3. تحميل الخط الجديد. 4. إضافة قاعدة للاستبدال. -5. إضافة القاعدة إلى مجموعة قواعد استبدال الخطوط في العرض التقديمي. -6. توليد صورة الشريحة لملاحظة التأثير. - -هذا الشيفرة البرمجية في بايثون توضح عملية استبدال الخط: +5. إضافة القاعدة إلى مجموعة قواعد استبدال خطوط العرض التقديمي. +6. إنشاء صورة للشريحة لملاحظة التأثير. +هذا الكود Python يوضح عملية استبدال الخط: ```python import aspose.slides as slides -# Loads a presentation +# تحميل عرض تقديمي with slides.Presentation(path + "Fonts.pptx") as presentation: - # Loads the source font that will be replaced + # تحميل الخط الأصلي الذي سيتم استبداله sourceFont = slides.FontData("SomeRareFont") - # Load the new font + # تحميل الخط الجديد destFont = slides.FontData("Arial") - # Adds a font rule for font replacement + # إضافة قاعدة خط لاستبدال الخط fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE) - # Adds the rule to font substitute rules collection + # إضافة القاعدة إلى مجموعة قواعد استبدال الخطوط fontSubstRuleCollection = slides.FontSubstRuleCollection() fontSubstRuleCollection.add(fontSubstRule) - # Adds the font rule collection to rule list + # إضافة مجموعة قواعد الخط إلى قائمة القواعد presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection - #Arial font will be used in place of SomeRareFont when the latter is inaccessible + #Arial سيُستخدم بدلاً من SomeRareFont عندما يكون الأخير غير قابل للوصول with presentation.slides[0].get_image(1, 1) as bmp: - # Saves the image to disk in the JPEG format + # حفظ الصورة إلى القرص بصيغة JPEG bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG) ``` -{{% alert title="ملاحظة" color="warning" %}} -قد ترغب في مشاهدة [**استبدال الخط**](/slides/ar/python-net/font-replacement/). +{{% alert title="NOTE" color="warning" %}} +قد ترغب في الاطلاع على [**استبدال الخط**](/slides/ar/python-net/font-replacement/). +{{% /alert %}} + +## **الأسئلة المتكررة** + +**ما الفرق بين استبدال الخط واستبدال الخطوط؟** + +[استبدال](/slides/ar/python-net/font-replacement/) هو تجاوز قسري لخط بآخر عبر العرض التقديمي بأكمله. الاستبدال هو قاعدة تُفعَّل تحت شرط معين، مثل عدم توفر الخط الأصلي، ثم يُستخدم خط بديل محدد. + +**متى تُطبَّق قواعد الاستبدال بالضبط؟** + +تشارك القواعد في تسلسل [اختيار الخط](/slides/ar/python-net/font-selection-sequence/) القياسي الذي يُقَيم أثناء التحميل، والعرض، والتحويل؛ إذا كان الخط المختار غير متوفر، يتم تطبيق الاستبدال أو الاستبدال بالخطوط. + +**ما السلوك الافتراضي إذا لم يتم تكوين استبدال أو استبدال خطوط وكان الخط مفقودًا على النظام؟** + +سيحاول المكتبة اختيار أقرب خط نظام متاح، مشابهًا للسلوك الذي تتبعه PowerPoint. + +**هل يمكنني إرفاق خطوط خارجية مخصصة في وقت التشغيل لتجنب الاستبدال؟** + +نعم. يمكنك [إضافة خطوط خارجية](/slides/ar/python-net/custom-font/) في وقت التشغيل بحيث تأخذ المكتبة هذه الخطوط في الاعتبار للاختيار والعرض، بما في ذلك التحويلات اللاحقة. + +**هل توزع Aspose أي خطوط مع المكتبة؟** + +لا. لا توزع Aspose خطوطًا مدفوعة أو مجانية؛ أنت تضيف وتستخدم الخطوط وفقًا لتقديرك ومسؤوليتك. + +**هل هناك اختلافات في سلوك الاستبدال على Windows وLinux وmacOS؟** + +نعم. يبدأ اكتشاف الخطوط من دلائل الخطوط الخاصة بنظام التشغيل. مجموعة الخطوط المتاحة افتراضيًا ومسارات البحث تختلف بين الأنظمة، مما يؤثر على التوفر وحاجة الاستبدال. + +**كيف يجب أن أُعد البيئة لتقليل الاستبدال غير المتوقع أثناء التحويلات الجماعية؟** -{{% /alert %}} \ No newline at end of file +قُم بمزامنة مجموعة الخطوط عبر الأجهزة أو الحاويات، [أضف الخطوط الخارجية](/slides/ar/python-net/custom-font/) المطلوبة للمستندات الناتجة، و[ادمج الخطوط](/slides/ar/python-net/embedded-font/) في العروض التقديمية عندما يمكن ذلك حتى تكون الخطوط المختارة متاحة أثناء العرض. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-notes/_index.md b/ar/python-net/developer-guide/presentation-notes/_index.md index 9b5e2ad80f..5d22aa50c9 100644 --- a/ar/python-net/developer-guide/presentation-notes/_index.md +++ b/ar/python-net/developer-guide/presentation-notes/_index.md @@ -1,67 +1,87 @@ --- -title: ملاحظات العرض +title: إدارة ملاحظات العرض التقديمي في Python +linktitle: ملاحظات العرض التقديمي type: docs weight: 110 url: /ar/python-net/presentation-notes/ -keywords: "ملاحظات، ملاحظات PowerPoint، إضافة ملاحظات، إزالة ملاحظات، عرض PowerPoint، بايثون، Aspose.Slides لـ بايثون عبر .NET" -description: "إضافة وإزالة الملاحظات في عروض PowerPoint باستخدام بايثون" +keywords: +- ملاحظات +- شريحة ملاحظات +- إضافة ملاحظات +- إزالة ملاحظات +- نمط الملاحظات +- الملاحظات الرئيسية +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "قم بتخصيص ملاحظات العرض التقديمي باستخدام Aspose.Slides for Python عبر .NET. اعمل بسلاسة مع ملاحظات PowerPoint وOpenDocument لتعزيز إنتاجيتك." --- -يدعم Aspose.Slides إزالة شرائح الملاحظات من عرض تقديمي. في هذا الموضوع، سنقدم هذه الميزة الجديدة لإزالة الملاحظات وكذلك إضافة شرائح الملاحظات بأسلوب من أي عرض تقديمي. يوفر Aspose.Slides لـ بايثون عبر .NET ميزة إزالة ملاحظات أي شريحة بالإضافة إلى إضافة أسلوب للملاحظات الحالية. يمكن للمطورين إزالة الملاحظات بالطرق التالية: +Aspose.Slides يدعم إزالة شرائح الملاحظات من عرض تقديمي. في هذا الموضوع، سنقدم هذه الميزة الجديدة لإزالة الملاحظات وكذلك إضافة شرائح نمط الملاحظات من أي عرض تقديمي. Aspose.Slides for Python عبر .NET يوفر ميزة إزالة ملاحظات أي شريحة بالإضافة إلى إضافة نمط إلى الملاحظات الموجودة. يمكن للمطورين إزالة الملاحظات بالطرق التالية: -- إزالة ملاحظات شريحة معينة من عرض تقديمي. -- إزالة ملاحظات جميع الشرائح من عرض تقديمي. +- إزالة ملاحظات شريحة معينة من العرض التقديمي. +- إزالة ملاحظات جميع الشرائح من العرض التقديمي. ## **إزالة الملاحظات من الشريحة** -يمكن إزالة ملاحظات شريحة محددة كما هو موضح في المثال أدناه: - +يمكن إزالة ملاحظات بعض الشرائح المحددة كما هو موضح في المثال أدناه: ```py import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف العرض التقديمي +# إنشاء كائن Presentation يمثل ملف عرض تقديمي with slides.Presentation(path + "AccessSlides.pptx") as presentation: # إزالة ملاحظات الشريحة الأولى mgr = presentation.slides[0].notes_slide_manager mgr.remove_notes_slide() - # حفظ العرض التقديمي على القرص + # حفظ العرض التقديمي إلى القرص presentation.save("RemoveNotesAtSpecificSlide_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **إزالة الملاحظات من جميع الشرائح** -يمكن إزالة ملاحظات جميع الشرائح من عرض تقديمي كما هو موضح في المثال أدناه: - +يمكن إزالة ملاحظات جميع شرائح العرض التقديمي كما هو موضح في المثال أدناه: ```py import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف العرض التقديمي +# إنشاء كائن Presentation يمثل ملف عرض تقديمي with slides.Presentation(path + "AccessSlides.pptx") as presentation: # إزالة ملاحظات جميع الشرائح for i in range(len(presentation.slides)): mgr = presentation.slides[i].notes_slide_manager mgr.remove_notes_slide() - # حفظ العرض التقديمي على القرص + # حفظ العرض التقديمي إلى القرص presentation.save("RemoveNotesFromAllSlides_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **إضافة NotesStyle** -تم إضافة خاصية NotesStyle إلى [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) و [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) على التوالي. تحدد هذه الخاصية أسلوب نص الملاحظات.  يتم توضيح التنفيذ في المثال أدناه. - +تمت إضافة الخاصية NotesStyle إلى الواجهة [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) والفئة [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) على التوالي. تحدد هذه الخاصية نمط نص الملاحظات. يتم عرض التنفيذ في المثال أدناه. ```py import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف العرض التقديمي +# إنشاء كائن من فئة Presentation يمثل ملف العرض التقديمي with slides.Presentation(path + "AccessSlides.pptx") as presentation: notesMaster = presentation.master_notes_slide_manager.master_notes_slide if notesMaster != None: - # الحصول على أسلوب نص MasterNotesSlide + # الحصول على نمط نص MasterNotesSlide notesStyle = notesMaster.notes_style - # تعيين رمز نقطي للفقرتين من المستوى الأول + # تعيين رموز نقطية للفقرة من المستوى الأول paragraphFormat = notesStyle.get_level(0) paragraphFormat.bullet.type = slides.BulletType.SYMBOL - # حفظ ملف PPTX على القرص + # حفظ ملف PPTX إلى القرص presentation.save("AddNotesSlideWithNotesStyle_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**ما الكيان API الذي يوفر الوصول إلى ملاحظات شريحة معينة؟** + +يتم الوصول إلى الملاحظات عبر مدير ملاحظات الشريحة: تحتوي الشريحة على [NotesSlideManager](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/) و[property](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/notes_slide/) التي تُعيد كائن الملاحظات، أو `None` إذا لم تكن هناك ملاحظات. + +**هل هناك اختلافات في دعم الملاحظات عبر إصدارات PowerPoint التي يعمل معها المكتبة؟** + +تستهدف المكتبة مجموعة واسعة من تنسيقات Microsoft PowerPoint (97–newer) وODP؛ يتم دعم الملاحظات ضمن هذه التنسيقات دون الاعتماد على نسخة مثبتة من PowerPoint. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-properties/_index.md b/ar/python-net/developer-guide/presentation-properties/_index.md index 5502c98a92..b27a420322 100644 --- a/ar/python-net/developer-guide/presentation-properties/_index.md +++ b/ar/python-net/developer-guide/presentation-properties/_index.md @@ -1,156 +1,154 @@ --- -title: خصائص العرض +title: إدارة خصائص العروض التقديمية باستخدام بايثون +linktitle: خصائص العرض التقديمي type: docs weight: 70 url: /ar/python-net/presentation-properties/ -keywords: "خصائص PowerPoint، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "خصائص عرض PowerPoint في بايثون" +keywords: +- خصائص PowerPoint +- خصائص العرض التقديمي +- خصائص المستند +- خصائص مضمنة +- خصائص مخصصة +- خصائص متقدمة +- إدارة الخصائص +- تعديل الخصائص +- بيانات تعريف المستند +- تحرير بيانات التعريف +- لغة التدقيق +- اللغة الافتراضية +- PowerPoint +- OpenDocument +- العرض التقديمي +- Python +- Aspose.Slides +description: "تحكم في خصائص العروض التقديمية في Aspose.Slides للبايثون عبر .NET وسهّل البحث والعلامة التجارية وسير العمل في ملفات PowerPoint الخاصة بك." --- +## **حول خصائص العرض التقديمي** -## **مثال مباشر** -حاول [**البيانات التعريفية لـ Aspose.Slides**](https://products.aspose.app/slides/metadata) استخدام التطبيق عبر الإنترنت لرؤية كيفية العمل مع خصائص المستندات عبر واجهة برمجة تطبيقات Aspose.Slides: - -[](https://products.aspose.app/slides/metadata) - -[![todo:image_alt_text](slides-metadata.png)](https://products.aspose.app/slides/metadata) - - -## **حول خصائص العرض** -كما وصفنا سابقًا، يدعم Aspose.Slides لبايثون عبر .NET نوعين من خصائص المستندات، وهما **المضمنة** و**المخصصة**. لذا، يمكن للمطورين الوصول إلى كلا النوعين من الخصائص باستخدام Aspose.Slides لبايثون عبر واجهة برمجة التطبيقات من .NET. يوفر Aspose.Slides لبايثون عبر .NET فئة [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) التي تمثل خصائص المستندات المرتبطة بملف العرض من خلال خاصية [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/). يمكن للمطورين استخدام خاصية [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) المعروضة بواسطة كائن **Presentation** للوصول إلى خصائص مستندات ملفات العرض كما هو موضح أدناه: - - +كما وصفنا سابقًا أن Aspose.Slides for Python عبر .NET يدعم نوعين من خصائص المستند، وهما الخصائص **المضمنة** و **المخصصة**. وبالتالي يمكن للمطورين الوصول إلى كلا النوعين من الخصائص باستخدام واجهة برمجة تطبيقات Aspose.Slides for Python عبر .NET. توفر Aspose.Slides for Python عبر .NET فئة [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) التي تمثل خصائص المستند المرتبطة بملف عرض تقديمي من خلال الخاصية [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) . يمكن للمطورين استخدام الخاصية [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) التي ي exposeها كائن **Presentation** للوصول إلى خصائص المستند لملفات العرض التقديمي كما هو موضح أدناه: {{% alert color="primary" %}} - -يرجى ملاحظة أنه لا يمكنك تعيين قيم ضد حقول **Application** و**Producer**، لأن Aspose Ltd. وAspose.Slides لبايثون عبر .NET x.x.x ستظهر ضد هذه الحقول. - +يرجى ملاحظة أنه لا يمكنك تعيين قيم لحقول **Application** و **Producer**، لأن Aspose Ltd. و Aspose.Slides for Python عبر .NET x.x.x ستُعرض في هذه الحقول. {{% /alert %}} +## **إدارة خصائص العرض التقديمي** -## **إدارة خصائص العرض** -تقدم Microsoft PowerPoint ميزة إضافة بعض الخصائص إلى ملفات العرض. تسمح هذه الخصائص المفيدة بتخزين بعض المعلومات المفيدة جنبًا إلى جنب مع المستندات (ملفات العرض). هناك نوعان من خصائص المستندات على النحو التالي: +يوفر Microsoft PowerPoint ميزة لإضافة بعض الخصائص إلى ملفات العرض التقديمي. تسمح هذه الخصائص بتخزين معلومات مفيدة جنبًا إلى جنب مع المستندات (ملفات العرض التقديمي). هناك نوعان من خصائص المستند كما يلي -- خصائص محددة من النظام (مضمنة) -- خصائص محددة من المستخدم (مخصصة) +- خصائص معرفة بالنظام (المضمنة) +- خصائص معرفة من قبل المستخدم (المخصصة) + +تحتوي الخصائص **المضمنة** على معلومات عامة عن المستند مثل عنوان المستند، اسم المؤلف، إحصائيات المستند وما إلى ذلك. الخصائص **المخصصة** هي تلك التي يحددها المستخدمون كأزواج **اسم/قيمة**، حيث يتم تعريف كل من الاسم والقيمة من قبل المستخدم. باستخدام Aspose.Slides for Python عبر .NET، يمكن للمطورين الوصول إلى قيم الخصائص المضمنة وتعديلها وكذلك الخصائص المخصصة. يتيح Microsoft PowerPoint 2007 إدارة خصائص المستند لملفات العرض التقديمي. كل ما عليك فعله هو النقر على أيقونة Office ثم اختيار **Prepare | Properties | Advanced Properties** في Microsoft PowerPoint 2007. بعد اختيار عنصر القائمة **Advanced Properties**، سيظهر حوار يسمح لك بإدارة خصائص المستند لملف PowerPoint. في **حوار الخصائص**، يمكنك رؤية العديد من الصفحات مثل **General, Summary, Statistics, Contents and Custom**. تسمح جميع هذه الصفحات بتكوين أنواع مختلفة من المعلومات المتعلقة بملفات PowerPoint. يتم استخدام علامة تبويب **Custom** لإدارة الخصائص المخصصة لملفات PowerPoint. -تحتوي الخصائص **المضمنة** على معلومات عامة حول المستند مثل عنوان المستند، اسم المؤلف، إحصائيات المستند، وما إلى ذلك. الخصائص **المخصصة** هي تلك التي تم تحديدها من قبل المستخدمين كـ **اسم/قيمة**، حيث يتم تحديد كل من الاسم والقيمة بواسطة المستخدم. باستخدام Aspose.Slides لبايثون عبر .NET، يمكن للمطورين الوصول إلى القيم الخاصة بالخصائص المضمنة وكذلك الخصائص المخصصة وتعديلها. تسمح Microsoft PowerPoint 2007 بإدارة خصائص المستندات لملفات العرض. كل ما عليك فعله هو النقر على أيقونة المكتب ومن ثم اختيار **إعداد | خصائص | خصائص متقدمة** من قائمة Microsoft PowerPoint 2007. بعد اختيارك لعنصر قائمة **خصائص متقدمة**، ستظهر نافذة حوار تسمح لك بإدارة خصائص المستندات لملف PowerPoint. في **نافذة خصائص**، يمكنك أن ترى أن هناك العديد من صفحات التبويب مثل **عام، ملخص، إحصائيات، محتويات ومخصص**. تسمح جميع هذه الصفحات بتكوين أنواع مختلفة من المعلومات المتعلقة بملفات PowerPoint. يتم استخدام علامة **مخصص** لإدارة الخصائص المخصصة لملفات PowerPoint. ## **الوصول إلى الخصائص المضمنة** -تشمل هذه الخصائص كما تعرضها كائن **IDocumentProperties**: **Creator(المؤلف)**، **الوصف**، **الكلمات المفتاحية**، **تم الإنشاء** (تاريخ الإنشاء)، **تم التعديل** (تاريخ التعديل)، **تم الطباعة** (تاريخ آخر طباعة)، **آخر تعديل بواسطة**، **الكلمات المفتاحية**، **SharedDoc** (هل تم مشاركتها بين منتجين مختلفين؟)، **PresentationFormat**، **الموضوع** و**العنوان** +تتضمن هذه الخصائص التي ي exposeها كائن **IDocumentProperties** ما يلي: **Creator(Author)**، **Description**، **Keywords**، **Created** (تاريخ الإنشاء)، **Modified** (تاريخ التعديل)، **Printed** (تاريخ الطباعة الأخيرة)، **LastModifiedBy**، **Keywords**، **SharedDoc** (هل تم مشاركته بين منتجين مختلفين؟)، **PresentationFormat**، **Subject** و **Title** ```py import aspose.slides as slides -# إنشاء مثيل لفئة العرض (Presentation) التي تمثل العرض +# إنشاء كائن من الفئة Presentation التي تمثل العرض التقديمي with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: - # إنشاء مرجع للكائن المرتبط بالعرض + # إنشاء مرجع إلى الكائن المرتبط بالعرض التقديمي documentProperties = pres.document_properties # عرض الخصائص المضمنة - print("الفئة : " + documentProperties.category) - print("الحالة الحالية : " + documentProperties.content_status) - print("تاريخ الإنشاء : " + str(documentProperties.created_time)) - print("المؤلف : " + documentProperties.author) - print("الوصف : " + documentProperties.comments) - print("الكلمات المفتاحية : " + documentProperties.keywords) - print("آخر تعديل بواسطة : " + documentProperties.last_saved_by) - print("المشرف : " + documentProperties.manager) - print("تاريخ التعديل : " + str(documentProperties.last_saved_time)) - print("تنسيق العرض : " + documentProperties.presentation_format) - print("تاريخ آخر طباعة : " + str(documentProperties.last_printed)) - print("هل تم المشاركة بين المنتجين : " + str(documentProperties.shared_doc)) - print("الموضوع : " + documentProperties.subject) - print("العنوان : " + documentProperties.title) + print("category : " + documentProperties.category) + print("Current Status : " + documentProperties.content_status) + print("Creation Date : " + str(documentProperties.created_time)) + print("Author : " + documentProperties.author) + print("Description : " + documentProperties.comments) + print("KeyWords : " + documentProperties.keywords) + print("Last Modified By : " + documentProperties.last_saved_by) + print("Supervisor : " + documentProperties.manager) + print("Modified Date : " + str(documentProperties.last_saved_time)) + print("Presentation Format : " + documentProperties.presentation_format) + print("Last Print Date : " + str(documentProperties.last_printed)) + print("Is Shared between producers : " + str(documentProperties.shared_doc)) + print("Subject : " + documentProperties.subject) + print("Title : " + documentProperties.title) ``` + + ## **تعديل الخصائص المضمنة** -تعديل الخصائص المضمنة لملفات العرض سهل مثل الوصول إليها. يمكنك ببساطة تعيين قيمة نصية لأي خاصية مرغوبة وسيتم تعديل قيمة الخاصية. في المثال المقدم أدناه، أوضحنا كيف يمكننا تعديل خصائص الوثيقة المضمنة لملف العرض. +تعديل الخصائص المضمنة لملفات العرض التقديمي سهل بنفس قدر سهولة الوصول إليها. يمكنك ببساطة تعيين قيمة نصية لأي خاصية ترغب فيها ستتم تعديل قيمة الخاصية. في المثال الموضح أدناه، قد أبرزنا كيفية تعديل خصائص المستند المضمنة لملف العرض التقديمي. ```py import aspose.slides as slides -# إنشاء مثيل لفئة العرض التي تمثل العرض +# إنشاء كائن من الفئة Presentation التي تمثل العرض التقديمي with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation: - # إنشاء مرجع للكائن المرتبط بالعروض + # إنشاء مرجع إلى الكائن المرتبط بالعرض التقديمي documentProperties = presentation.document_properties # تعيين الخصائص المضمنة - documentProperties.author = "Aspose.Slides لـ .NET" - documentProperties.title = "تعديل خصائص العرض" - documentProperties.subject = "موضوع Aspose" - documentProperties.comments = "وصف Aspose" - documentProperties.manager = "مدير Aspose" + documentProperties.author = "Aspose.Slides for .NET" + documentProperties.title = "Modifying Presentation Properties" + documentProperties.subject = "Aspose Subject" + documentProperties.comments = "Aspose Description" + documentProperties.manager = "Aspose Manager" - # حفظ العرض في ملف + # حفظ العرض التقديمي إلى ملف presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **إضافة خصائص عرض مخصصة** -يسمح Aspose.Slides لبايثون عبر .NET أيضًا للمطورين بإضافة القيم المخصصة لخصائص مستند العرض. المثال أدناه يوضح كيفية تعيين الخصائص المخصصة لعروض تقديمية. +## **إضافة خصائص عرض تقديمي مخصصة** + +تتيح Aspose.Slides for Python عبر .NET أيضًا للمطورين إضافة القيم المخصصة لخصائص مستند العرض التقديمي. يتم إعطاء مثال أدناه يوضح كيفية تعيين الخصائص المخصصة لعرض تقديمي. ```py import aspose.slides as slides -# إنشاء مثيل لفئة العرض +# إنشاء كائن من الفئة Presentation with slides.Presentation() as presentation: # الحصول على خصائص المستند documentProperties = presentation.document_properties - # إضافة الخصائص المخصصة - documentProperties.set_custom_property_value("خصية مخصصة جديدة", 12) - documentProperties.set_custom_property_value("اسمي", "مدثر") - documentProperties.set_custom_property_value("مخصص", 124) + # إضافة خصائص مخصصة + documentProperties.set_custom_property_value("New Custom", 12) + documentProperties.set_custom_property_value("My Nam", "Mudassir") + documentProperties.set_custom_property_value("Custom", 124) - # الحصول على اسم الخاصية عند فهرس معين + # الحصول على اسم الخاصية عند الفهرس المحدد getPropertyName = documentProperties.get_custom_property_name(2) # إزالة الخاصية المحددة documentProperties.remove_custom_property(getPropertyName) - # حفظ العرض + # حفظ العرض التقديمي presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **الوصول إلى وتعديل الخصائص المخصصة** -يسمح Aspose.Slides لبايثون عبر .NET أيضًا للمطورين بالوصول إلى قيم الخصائص المخصصة. المثال أدناه يوضح كيفية الوصول إلى جميع هذه الخصائص المخصصة وتعديلها لعروض تقديمية. +تتيح Aspose.Slides for Python عبر .NET أيضًا للمطورين الوصول إلى قيم الخصائص المخصصة. يتم إعطاء مثال أدناه يوضح كيفية الوصول إلى جميع هذه الخصائص المخصصة وتعديلها لعرض تقديمي. ```py import aspose.slides as slides -# إنشاء مثيل لفئة العرض التي تمثل PPTX +# إنشاء كائن من الفئة Presentation التي تمثل ملف PPTX with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentation: - # إنشاء مرجع لكائن document_properties المرتبط بالعرض + # إنشاء مرجع إلى كائن document_properties المرتبط بالعرض التقديمي documentProperties = presentation.document_properties - # الوصول إلى وتعديل الخصائص المخصصة + # الوصول إلى الخصائص المخصصة وتعديلها for i in range(documentProperties.count_of_custom_properties): # عرض أسماء وقيم الخصائص المخصصة - print("اسم الخاصية المخصصة : " + documentProperties.get_custom_property_name(i)) - print("قيمة الخاصية المخصصة : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) + print("Custom Property Name : " + documentProperties.get_custom_property_name(i)) + print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) # تعديل قيم الخصائص المخصصة - documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "قيمة جديدة " + str(i + 1)) - # حفظ العرض في ملف + documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1)) + # حفظ العرض التقديمي إلى ملف presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **تحقق مما إذا كان العرض قد تم تعديله أو إنشاؤه** -يوفر Aspose.Slides لبايثون عبر .NET وسيلة للتحقق مما إذا كان العرض قد تم تعديله أو إنشاؤه. المثال أدناه يوضح كيفية التحقق مما إذا كان العرض قد تم إنشاؤه أو تعديله. - -```py -import aspose.slides as slides - -info =slides.PresentationFactory.instance.get_presentation_info(path + "AccessModifyingProperties.pptx") -props = info.read_document_properties() - -print(props.name_of_application) -print(props.app_version) -``` ## **تعيين لغة التدقيق** -يوفر Aspose.Slides خاصية `Language_Id` (المعروضة بواسطة فئة [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)) للسماح لك بتعيين لغة التدقيق لوثيقة PowerPoint. لغة التدقيق هي اللغة التي يتم فحص الإملاء والنحو بها في PowerPoint. - -هذا الكود بايثون يوضح لك كيفية تعيين لغة التدقيق لعرض PowerPoint: +توفر Aspose.Slides الخاصية `Language_Id` (المعروضة عبر الفئة [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)) لتسمح لك بتعيين لغة التدقيق لوثيقة PowerPoint. لغة التدقيق هي اللغة التي يتم فيها فحص الإملاء والقواعد في PowerPoint. +يعرض لك هذا الكود Python كيفية تعيين لغة التدقيق لملف PowerPoint: ```python import aspose.slides as slides @@ -173,10 +171,10 @@ with slides.Presentation(path + "SetProofingLanguage.pptx") as pres: paragraph.portions.add(new_portion) ``` -## **تعيين اللغة الافتراضية** -هذا الكود بايثون يوضح لك كيفية تعيين اللغة الافتراضية لعرض PowerPoint بالكامل: +## **تعيين اللغة الافتراضية** +يعرض لك هذا الكود Python كيفية تعيين اللغة الافتراضية لعرض تقديمي كامل في PowerPoint: ```python import aspose.slides as slides @@ -186,7 +184,28 @@ load_options.default_text_language = "en_US" with slides.Presentation(load_options) as pres: shp = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 150) text_frame = shp.text_frame - text_frame.text = "نص جديد" + text_frame.text = "New Text" print(text_frame.paragraphs[0].portions[0].portion_format.language_id) -``` \ No newline at end of file +``` + + +## **مثال مباشر** + +جرّب تطبيق الويب [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) للرؤية كيفية التعامل مع خصائص المستند عبر Aspose.Slides API: + +[![View & Edit PowerPoint Metadata](slides-metadata.png)](https://products.aspose.app/slides/metadata) + +## **FAQ** + +**كيف يمكنني إزالة خاصية مضمنة من عرض تقديمي؟** + +الخصائص المضمنة هي جزء لا يتجزأ من العرض التقديمي ولا يمكن إزالتها بالكامل. ومع ذلك، يمكنك إما تغيير قيمها أو تعيينها كقيمة فارغة إذا سمحت الخاصية بذلك. + +**ماذا يحدث إذا أضفت خاصية مخصصة موجودة بالفعل؟** + +إذا أضفت خاصية مخصصة موجودة بالفعل، سيتم استبدال قيمتها الحالية بالقيمة الجديدة. لا تحتاج إلى إزالة أو فحص الخاصية مسبقًا، حيث يقوم Aspose.Slides بتحديث قيمة الخاصية تلقائيًا. + +**هل يمكنني الوصول إلى خصائص العرض التقديمي دون تحميل العرض بالكامل؟** + +نعم، يمكنك الوصول إلى خصائص العرض التقديمي دون تحميل العرض بالكامل باستخدام طريقة [get_presentation_info](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/get_presentation_info/) من الفئة [PresentationFactory](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/). ثم استخدم طريقة [read_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/read_document_properties/) المقدمة من الفئة [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) لقراءة الخصائص بكفاءة، مما يوفر الذاكرة ويحسن الأداء. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md b/ar/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md index 7d1e9e9d56..256c38b7e8 100644 --- a/ar/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md +++ b/ar/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md @@ -1,66 +1,67 @@ --- -title: التوقيع الرقمي في PowerPoint +title: إضافة توقيعات رقمية إلى العروض التقديمية باستخدام بايثون +linktitle: التوقيع الرقمي type: docs weight: 10 url: /ar/python-net/digital-signature-in-powerpoint/ -keywords: "شهادة التوقيع الرقمي، هيئة الشهادات، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "إضافة توقيع رقمي أو شهادة في PowerPoint. هيئة الشهادات في بايثون" +keywords: +- توقيع رقمي +- شهادة رقمية +- سلطة شهادات +- شهادة PFX +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "تعلم كيفية توقيع ملفات PowerPoint و OpenDocument رقميًا باستخدام Aspose.Slides للبايثون عبر .NET. احمِ شرائحك في ثوانٍ مع أمثلة شفرة واضحة." --- - -**الشهادة الرقمية** تُستخدم لإنشاء عرض PowerPoint محمي بكلمة مرور، مُعلّم كأنه تم إنشاؤه بواسطة منظمة أو شخص معين. يمكن الحصول على الشهادة الرقمية عن طريق الاتصال بمنظمة مرخصة - هيئة الشهادات. بعد تثبيت الشهادة الرقمية في النظام، يمكن استخدامها لإضافة توقيع رقمي إلى العرض عبر ملف -> معلومات -> حماية العرض: +**الشهادة الرقمية** تُستخدم لإنشاء عرض تقديمي PowerPoint محمي بكلمة مرور، معلمة على أنه تم إنشاؤه بواسطة منظمة أو شخص معين. يمكن الحصول على الشهادة الرقمية عن طريق التواصل مع منظمة مخولة – سلطة شهادات. بعد تثبيت الشهادة الرقمية في النظام، يمكن استخدامها لإضافة توقيع رقمي إلى العرض عبر **ملف → معلومات → حماية العرض**: ![todo:image_alt_text](https://lh5.googleusercontent.com/OPGhgHMb_L54PGJztP5oIO9zhxGXzhtnbcrC-z7yLUrc_NkRX1obBfwffXhPV1NWBiqhidiupCphixNGl25LkfQhliG6MCM6E-x16ZuQgMyLABC9bQ446ohMluZr6-ThgQLXCOyy) - - -يمكن أن يحتوي العرض على أكثر من توقيع رقمي واحد. بعد إضافة التوقيع الرقمي إلى العرض، ستظهر رسالة خاصة في PowerPoint: +قد يحتوي العرض على أكثر من توقيع رقمي. بعد إضافة التوقيع الرقمي إلى العرض، ستظهر رسالة خاصة في PowerPoint: ![todo:image_alt_text](https://lh3.googleusercontent.com/7ZfH7wElhwcvgJ_btF3C32zasBRbT1yA4tFOpnNnUm0q57ayBKJr0Pb43Oi4RgeCoOmwhyxxz_g8kw3H3Qw8Iqeaka5Xipip9cqvwbadY4E40D_NhXnUnbtdXSHFX6fjNm_UBvLJ) +للتوقيع على العرض أو فحص صحة توقيعات العرض، توفر **Aspose.Slides API** الواجهة [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/) والواجهة [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) والخاصية [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/). حاليًا، تدعم التوقيعات الرقمية تنسيق PPTX فقط. - -لتوقيع العرض أو التحقق من صحة توقيعات العرض، توفر **واجهة برمجة تطبيقات Aspose.Slides** [**IDigitalSignature** ](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/)و [**IDigitalSignatureCollection** ](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/)و[ **IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/) خاصية. حاليًا، يتم دعم التوقيعات الرقمية لصيغة PPTX فقط. ## **إضافة توقيع رقمي من شهادة PFX** -يظهر نموذج الكود أدناه كيفية إضافة توقيع رقمي من شهادة PFX: - -1. افتح ملف PFX وأدخل كلمة مرور PFX إلى [**DigitalSignature** ](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/)الكائن. -1. أضف التوقيع الذي تم إنشاؤه إلى كائن العرض. +يوضح المثال البرمجي أدناه كيفية إضافة توقيع رقمي من شهادة PFX: +1. افتح ملف PFX ومرّر كلمة مرور PFX إلى كائن [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/). +2. أضف التوقيع الذي تم إنشاؤه إلى كائن العرض. ```py -#[TODO:Exception] RuntimeError: Proxy error(FileNotFoundException): Could not load file or assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. File was not found. +#[TODO:Exception] خطأ وقت التشغيل: خطأ وكيل(FileNotFoundException): تعذر تحميل الملف أو التجميع 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. لم يتم العثور على الملف. import aspose.slides as slides with slides.Presentation() as pres: - # إنشاء كائن DigitalSignature مع ملف PFX وكلمة مرور PFX + # إنشاء كائن DigitalSignature باستخدام ملف PFX وكلمة مرور PFX signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1") - # تعليق على التوقيع الرقمي الجديد - signature.comments = "اختبار التوقيع الرقمي لـ Aspose.Slides." + # تعليق توقيع رقمي جديد + signature.comments = "Aspose.Slides digital signing test." - # إضافة التوقيع الرقمي إلى العرض + # إضافة توقيع رقمي إلى العرض التقديمي pres.digital_signatures.add(signature) - # حفظ العرض + # حفظ العرض التقديمي pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX) ``` - -الآن يمكن التحقق مما إذا كان العرض قد تم توقيعه رقمياً ولم يتم تعديله: - - - +الآن أصبح من الممكن التحقق مما إذا كان العرض موقعًا رقمياً ولم يتم تعديله: ```py -# فتح العرض +# فتح العرض التقديمي with slides.Presentation("SomePresentationSigned.pptx") as pres: if len(pres.digital_signatures) > 0: allSignaturesAreValid = True - print("التوقيعات التي تمت استخدامها لتوقيع العرض: ") - # تحقق مما إذا كانت جميع التوقيعات الرقمية صالحة + print("Signatures used to sign the presentation: ") + # التحقق مما إذا كانت جميع التوقيعات الرقمية صالحة for signature in pres.digital_signatures : print(signature.certificate.subject_name.name + ", " + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID") @@ -68,7 +69,22 @@ with slides.Presentation("SomePresentationSigned.pptx") as pres: if allSignaturesAreValid: - print("العرض أصلي، جميع التوقيعات صالحة.") + print("Presentation is genuine, all signatures are valid.") else: - print("تم تعديل العرض منذ التوقيع.") -``` \ No newline at end of file + print("Presentation has been modified since signing.") +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني إزالة التوقيعات الموجودة من ملف؟** + +نعم. تدعم مجموعة التوقيعات الرقمية [إزالة العناصر الفردية](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/remove_at/) و[مسحها بالكامل](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/clear/); بعد حفظ الملف، لن يحتوي العرض على أي توقيعات. + +**هل يصبح الملف "للقراءة فقط" بعد التوقيع؟** + +لا. يحافظ التوقيع على النزاهة والملكية ولكنه لا يمنع التعديلات. لتقييد التحرير، يمكن دمجه مع ["وضع القراءة فقط" أو كلمة مرور](/slides/ar/python-net/password-protected-presentation/). + +**هل سيظهر التوقيع بشكل صحيح في إصدارات PowerPoint المختلفة؟** + +يُنشأ التوقيع لحاوية OOXML (PPTX). الإصدارات الحديثة من PowerPoint التي تدعم توقيعات OOXML تعرض حالة هذه التوقيعات بشكل صحيح. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md b/ar/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md index f842a02616..eeb45f820c 100644 --- a/ar/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md +++ b/ar/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md @@ -1,86 +1,109 @@ --- -title: عرض محمي بكلمة مرور +title: "حماية العروض التقديمية بكلمات مرور باستخدام بايثون" +linktitle: "حماية كلمة المرور" type: docs weight: 20 url: /ar/python-net/password-protected-presentation/ -keywords: "قفل PowerPoint، فتح PowerPoint، حماية PowerPoint، تعيين كلمة المرور، إضافة كلمة المرور، تشفير PowerPoint، فك تشفير PowerPoint، حماية الكتابة، أمان PowerPoint، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "حماية كلمة مرور PowerPoint، التشفير، والأمان في بايثون" - +keywords: +- "قفل PowerPoint" +- "قفل العرض التقديمي" +- "فتح قفل PowerPoint" +- "إلغاء قفل العرض التقديمي" +- "حماية PowerPoint" +- "حماية العرض التقديمي" +- "تعيين كلمة مرور" +- "إضافة كلمة مرور" +- "تشفير PowerPoint" +- "تشفير العرض التقديمي" +- "فك تشفير PowerPoint" +- "فك تشفير العرض التقديمي" +- "حماية الكتابة" +- "أمان PowerPoint" +- "أمان العرض التقديمي" +- "إزالة كلمة المرور" +- "إزالة الحماية" +- "إزالة التشفير" +- "تعطيل كلمة المرور" +- "تعطيل الحماية" +- "إزالة حماية الكتابة" +- "عرض PowerPoint" +- "Python" +- "Aspose.Slides" +description: "تعرف على طريقة قفل وإلغاء قفل عروض PowerPoint وOpenDocument المحمية بكلمة مرور بسهولة باستخدام Aspose.Slides لبايثون عبر .NET. عزّز إنتاجيتك واحمِ عروضك التقديمية من خلال دليلنا خطوة بخطوة." --- ## **حول حماية كلمة المرور** -### **كيف تعمل حماية كلمة المرور للعرض؟** -عند حماية عرض بكلمة مرور، فهذا يعني أنك تقوم بتعيين كلمة مرور تفرض قيودًا معينة على العرض. لإزالة القيود، يجب إدخال كلمة المرور. يُعتبر العرض المحمي بكلمة مرور عرضًا مقفلاً. +### **كيف تعمل حماية كلمة المرور للعروض التقديمية؟** +عند حماية عرض تقديمي بكلمة مرور، يعني ذلك أنك تقوم بتعيين كلمة مرور تفرض قيودًا معينة على العرض. لإزالة هذه القيود، يجب إدخال كلمة المرور. يُعتبر العرض المحمي بكلمة مرور عرضًا مقفلًا. عادةً، يمكنك تعيين كلمة مرور لفرض هذه القيود على العرض: - **التعديل** - إذا كنت تريد من مستخدمين معينين فقط تعديل عرضك، يمكنك تعيين قيود على التعديل. تمنع هذه القيود الأشخاص من تعديل أو تغيير أو نسخ الأشياء في عرضك (ما لم يتوفر لديهم كلمة المرور). + إذا كنت تريد أن يقوم بعض المستخدمين فقط بتعديل العرض الخاص بك، يمكنك تعيين قيد تعديل. يمنع هذا القيد الأشخاص من تعديل أو تغيير أو نسخ محتويات العرض (ما لم يقدموا كلمة المرور). - ومع ذلك، في هذه الحالة، حتى بدون كلمة المرور، سيكون بمقدور المستخدم الوصول إلى مستندك وفتحه. في وضع القراءة فقط، يمكن للمستخدم عرض المحتويات أو الأشياء - الروابط التشعبية، الرسوم المتحركة، التأثيرات، وغيرها - داخل عرضك، ولكنه لا يمكنه نسخ العناصر أو حفظ العرض. + ومع ذلك، في هذه الحالة، حتى بدون كلمة المرور، سيتمكن المستخدم من الوصول إلى المستند وفتحه. في وضع القراءة فقط، يمكن للمستخدم عرض المحتويات أو العناصر—الروابط التشعبية، الرسوم المتحركة، التأثيرات وغيرها—داخل العرض، لكنه لا يمكنه نسخ العناصر أو حفظ العرض. - **الفتح** - إذا كنت تريد من مستخدمين معينين فقط فتح عرضك، يمكنك تعيين قيود على الفتح. تمنع هذه القيود الأشخاص حتى من عرض محتويات عرضك (ما لم يقدموا كلمة المرور). + إذا كنت تريد أن يقوم بعض المستخدمين فقط بفتح العرض الخاص بك، يمكنك تعيين قيد فتح. يمنع هذا القيد الأشخاص من حتى مشاهدة محتويات العرض (ما لم يقدموا كلمة المرور). - تقنيًا، تمنع قيود الفتح أيضًا المستخدمين من تعديل عروضك: عندما لا يمكن للأشخاص فتح عرض، فلا يمكنهم تعديل أو إجراء تغييرات عليه. + تقنيًا، يمنع قيد الفتح أيضًا المستخدمين من تعديل العروض: عندما لا يستطيع الأشخاص فتح عرض تقديمي، لا يمكنهم تعديل أو إجراء تغييرات عليه. - **ملاحظة** أنه عند حماية عرض بكلمة مرور لمنع الفتح، يصبح ملف العرض مشفرًا. + **ملاحظة** أن حماية العرض بكلمة مرور لمنع الفتح تجعل ملف العرض مشفرًا. -## كيفية حماية عرض بكلمة مرور عبر الإنترنت +## كيفية حماية عرض تقديمي بكلمة مرور عبر الإنترنت -1. انتقل إلى صفحتنا [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). +1. انتقل إلى صفحة [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). ![todo:image_alt_text](slides-lock.png) -2. انقر على **إسقاط أو رفع ملفاتك**. +2. اضغط على **Drop or upload your files**. -3. حدد الملف الذي تريد حمايته بكلمة مرور على جهاز الكمبيوتر الخاص بك. +3. اختر الملف الذي تريد حمايته بكلمة مرور على جهازك. -4. أدخل كلمة المرور المفضلة لديك لحماية التعديل؛ أدخل كلمة المرور المفضلة لديك لحماية العرض. +4. أدخل كلمة المرور التي تفضلها لحماية التحرير؛ أدخل كلمة المرور التي تفضلها لحماية العرض. -5. إذا كنت تريد من المستخدمين رؤية عرضك كنسخة نهائية، قم بتحديد خانة **تحديد كنهائي**. +5. إذا كنت تريد أن يرى المستخدمون عرضك كنسخة نهائية، ضع علامة في خانة **Mark as final**. -6. انقر على **حمايه الآن.** +6. اضغط على **PROTECT NOW.** -7. انقر على **تنزيل الآن.** +7. اضغط على **DOWNLOAD NOW.** -## **حماية كلمة المرور للعروض في Aspose.Slides** +## **حماية كلمة المرور للعروض التقديمية في Aspose.Slides** **الصيغ المدعومة** -يدعم Aspose.Slides حماية كلمة المرور، والتشفير، والعمليات المماثلة للعروض في هذه الصيغ: +يدعم Aspose.Slides حماية كلمة المرور، والتشفير، والعمليات المشابهة للعروض التقديمية بهذه الصيغ: -- PPTX و PPT - عرض Microsoft PowerPoint -- ODP - عرض OpenDocument -- OTP - قالب عرض OpenDocument +- PPTX و PPT - Microsoft PowerPoint Presentation +- ODP - OpenDocument Presentation +- OTP - OpenDocument Presentation Template **العمليات المدعومة** -يسمح Aspose.Slides لك باستخدام حماية كلمة المرور على العروض لمنع التعديلات بهذه الطرق: +يسمح Aspose.Slides باستخدام حماية كلمة المرور على العروض لمنع التعديلات بالطرق التالية: -- تشفير عرض -- تعيين حماية الكتابة لعرض +- تشفير عرض تقديمي +- تعيين حماية كتابة للعرض **عمليات أخرى** -يسمح Aspose.Slides لك بإجراء مهام أخرى تتعلق بحماية كلمة المرور والتشفير بهذه الطرق: +يسمح Aspose.Slides بأداء مهام أخرى تتعلق بحماية كلمة المرور والتشفير بالطرق التالية: -- فك تشفير عرض؛ فتح عرض مشفر -- إزالة التشفير؛ تعطيل حماية كلمة المرور -- إزالة حماية الكتابة من عرض +- فك تشفير عرض تقديمي؛ فتح عرض مشفر +- إزالة التشفير؛ إلغاء حماية كلمة المرور +- إزالة حماية الكتابة من عرض تقديمي - الحصول على خصائص عرض مشفر - التحقق مما إذا كان العرض مشفرًا - التحقق مما إذا كان العرض محميًا بكلمة مرور. -## **تشفير عرض** - -يمكنك تشفير عرض عن طريق تعيين كلمة مرور. ثم، لتعديل العرض المقفل، يجب على المستخدم تقديم كلمة المرور. +## **تشفير عرض تقديمي** -لتشفير أو حماية عرض بكلمة مرور، يجب عليك استخدام طريقة التشفير (من [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)) لتعيين كلمة مرور للعرض. تمرر كلمة المرور إلى طريقة التشفير وتستخدم طريقة الحفظ لحفظ العرض المشفر الآن. +يمكنك تشفير عرض تقديمي عن طريق تعيين كلمة مرور. ثم، لتعديل العرض المقفل، يجب على المستخدم إدخال كلمة المرور. -تظهر لك هذه الشفرة المصدرية كيفية تشفير عرض: +لتشفير أو حماية عرض تقديمي بكلمة مرور، عليك استعمال طريقة `encrypt` من **ProtectionManager** لتعيين كلمة مرور للعرض. تمرر كلمة المرور إلى طريقة `encrypt` وتستخدم طريقة `save` لحفظ العرض المشفر الآن. +يعرض هذا المثال كيفية تشفير عرض تقديمي: ```py import aspose.slides as slides @@ -89,14 +112,14 @@ with slides.Presentation() as pres: pres.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **تعيين حماية الكتابة لعرض** -يمكنك إضافة علامة تفيد "لا تعدل" إلى عرض. بهذه الطريقة، تخبر المستخدمين أنك لا تريد منهم إجراء تغييرات على العرض. +## **تعيين حماية كتابة للعرض** -**ملاحظة** أن عملية حماية الكتابة لا تشفر العرض. لذلك، يمكن للمستخدمين - إذا أرادوا حقًا - تعديل العرض، ولكن لحفظ التغييرات، سيتعين عليهم إنشاء عرض باسم مختلف. +يمكنك إضافة علامة “لا تعدّل” إلى عرض تقديمي. بهذه الطريقة، تُخبر المستخدمين أنك لا ترغب في أن يجريوا تغييرات على العرض. -لتعيين حماية الكتابة، يجب عليك استخدام طريقة setWriteProtection. تظهر لك هذه الشفرة المصدرية كيفية تعيين حماية الكتابة لعرض: +**ملاحظة** أن عملية حماية الكتابة لا تشفر العرض. لذلك، يمكن للمستخدمين—إذا أرادوا—تعديل العرض، ولكن لحفظ التغييرات سيتعين عليهم حفظ العرض باسم مختلف. +لتعيين حماية كتابة، عليك استعمال طريقة `setWriteProtection`. يُظهر هذا المثال كيفية تعيين حماية كتابة للعرض: ```py import aspose.slides as slides @@ -105,12 +128,12 @@ with slides.Presentation() as pres: pres.save("write-protected-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **فك تشفير عرض؛ فتح عرض مشفر** -يسمح Aspose.Slides لك بتحميل ملف مشفر عن طريق تمرير كلمة مروره. لفك تشفير عرض، يجب عليك استدعاء طريقة [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) بدون معلمات. ثم سيتعين عليك إدخال كلمة المرور الصحيحة لتحميل العرض. +## **فك تشفير عرض تقديمي؛ فتح عرض مشفر** -تظهر لك هذه الشفرة المصدرية كيفية فك تشفير عرض: +يسمح Aspose.Slides بتحميل ملف مشفر بتمرير كلمة المرور الخاصة به. لفك تشفير عرض تقديمي، عليك استدعاء طريقة [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) دون أي معاملات. ثم سيتعين عليك إدخال كلمة المرور الصحيحة لتحميل العرض. +يعرض هذا المثال كيفية فك تشفير عرض تقديمي: ```py import aspose.slides as slides @@ -120,12 +143,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: print(pres.document_properties.author) ``` -## **إزالة التشفير؛ تعطيل حماية كلمة المرور** -يمكنك إزالة التشفير أو حماية كلمة المرور على عرض. بهذه الطريقة، يصبح بإمكان المستخدمين الوصول إلى العرض أو تعديله دون قيود. +## **إزالة التشفير؛ إلغاء حماية كلمة المرور** -لإزالة التشفير أو حماية كلمة المرور، يجب عليك استدعاء طريقة [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). تظهر لك هذه الشفرة المصدرية كيفية إزالة التشفير من عرض: +يمكنك إزالة التشفير أو حماية كلمة المرور من عرض تقديمي. بهذه الطريقة، يصبح بمقدور المستخدمين الوصول إلى العرض أو تعديله دون قيود. +لإزالة التشفير أو حماية كلمة المرور، عليك استدعاء طريقة [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). يُظهر هذا المثال كيفية إزالة التشفير من عرض تقديمي: ```py import aspose.slides as slides @@ -136,12 +159,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: pres.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **إزالة حماية الكتابة من عرض** -يمكنك استخدام Aspose.Slides لإزالة حماية الكتابة المستخدمة على ملف عرض. بهذه الطريقة، يحصل المستخدمون على تعديل كما يشاءون - ولا يحصلون على تحذيرات عند تنفيذ مثل هذه المهام. +## **إزالة حماية الكتابة من عرض تقديمي** -يمكنك إزالة حماية الكتابة من عرض باستخدام طريقة [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). تظهر لك هذه الشفرة المصدرية كيفية إزالة حماية الكتابة من عرض: +يمكنك استخدام Aspose.Slides لإزالة حماية الكتابة المستخدمة على ملف عرض تقديمي. بهذه الطريقة، يستطيع المستخدمون التعديل بحرية ولا يتلقون تحذيرات عند القيام بذلك. +يمكنك إزالة حماية الكتابة من عرض تقديمي باستخدام طريقة [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). يُظهر هذا المثال كيفية إزالة حماية الكتابة من عرض تقديمي: ```py import aspose.slides as slides @@ -150,14 +173,14 @@ with slides.Presentation("write-protected-pres.pptx") as pres: pres.save("write-protection-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **الحصول على خصائص عرض مشفر** -عادةً ما يعاني المستخدمون من صعوبة في الحصول على خصائص المستند لعرض مشفر أو محمي بكلمة مرور. ومع ذلك، يوفر Aspose.Slides آلية تسمح لك بحماية كلمة مرور عرض مع الاحتفاظ بالوسائل للمستخدمين للوصول إلى خصائص ذلك العرض. +## **الحصول على خصائص عرض مشفر** -**ملاحظة** أنه عند تشفير Aspose.Slides عرضًا، يتم أيضًا حماية خصائص مستند العرض بكلمة مرور بشكل افتراضي. ولكن إذا كنت بحاجة إلى جعل خصائص العرض قابلة للوصول (حتى بعد أن يتم تشفير العرض)، يسمح لك Aspose.Slides بالقيام بذلك بالضبط. +عادةً ما يواجه المستخدمون صعوبة في الحصول على خصائص المستند لعروض تقديمية مشفرة أو محمية بكلمة مرور. يوفر Aspose.Slides آلية تتيح لك حماية عرض تقديمي بكلمة مرور مع الحفاظ على إمكانية وصول المستخدمين إلى خصائص ذلك العرض. -إذا كنت ترغب في أن يحتفظ المستخدمون بالقدرة على الوصول إلى خصائص عرض قمت بتشفيره، يمكنك تعيين خاصية [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) إلى `True`. تظهر لك هذه الشفرة المصدرية كيفية تشفير عرض مع توفير الوسائل للمستخدمين للوصول إلى خصائص مستنداته: +**ملاحظة** أنه عندما يقوم Aspose.Slides بتشفير عرض تقديمي، تُحمي خصائص المستند الخاصة بالعرض أيضًا بكلمة مرور بشكل افتراضي. ولكن إذا كنت بحاجة إلى جعل خصائص العرض قابلة للوصول (حتى بعد تشفير العرض)، يتيح لك Aspose.Slides فعل ذلك بدقة. +إذا أردت أن يحتفظ المستخدمون بإمكانية الوصول إلى خصائص عرض تم تشفيره، يمكنك تعيين خاصية [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) إلى `True`. يُظهر هذا المثال كيفية تشفير عرض تقديمي مع توفير وسيلة للمستخدمين للوصول إلى خصائص المستند: ```py import aspose.slides as slides @@ -166,25 +189,25 @@ with slides.Presentation() as pres: pres.protection_manager.encrypt("123123") ``` -## **التحقق مما إذا كان العرض محميًا بكلمة مرور قبل تحميله** -قبل تحميل عرض، قد ترغب في التحقق والتأكيد من أن العرض لم يتم حمايته بكلمة مرور. بهذه الطريقة، يمكنك تجنب الأخطاء والقضايا المماثلة، التي تظهر عند تحميل عرض محمي بكلمة مرور بدون كلمة المرور الخاصة به. +## **التحقق مما إذا كان العرض محميًا بكلمة مرور قبل تحميله** -تظهر لك هذه الشفرة المصدرية كيفية فحص عرض لمعرفة ما إذا كان محميًا بكلمة مرور (بدون تحميل العرض نفسه): +قبل تحميل عرض تقديمي، قد ترغب في التحقق والتأكد من أن العرض لم يُحمَ بكلمة مرور. بهذه الطريقة، يمكنك تجنب الأخطاء والمشكلات المشابهة التي تظهر عندما يتم تحميل عرض محمي بكلمة مرور دون كلمة المرور. +يعرض هذا الشيفرة بلغة Python كيفية فحص عرض تقديمي لمعرفة ما إذا كان محميًا بكلمة مرور (دون تحميل العرض نفسه): ```python import aspose.slides as slides presentationInfo = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -print("العرض محمي بكلمة مرور: " + str(presentationInfo.is_password_protected)) +print("The presentation is password protected: " + str(presentationInfo.is_password_protected)) ``` -## **التحقق مما إذا كان العرض مشفرًا** -يسمح لك Aspose.Slides بالتحقق مما إذا كان العرض مشفرًا. لأداء هذه المهمة، يمكنك استخدام خاصية [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) التي تُعيد `True` إذا كان العرض مشفرًا أو `False` إذا لم يكن العرض مشفرًا. +## **التحقق مما إذا كان العرض مشفرًا** -تظهر لك هذه الشفرة المصدرية كيفية التحقق مما إذا كان العرض مشفرًا: +يسمح Aspose.Slides لك بالتحقق مما إذا كان العرض مشفرًا. لأداء هذه المهمة، يمكنك استعمال خاصية [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) التي تُرجع `True` إذا كان العرض مشفرًا أو `False` إذا لم يكن مشفرًا. +يعرض هذا المثال كيفية التحقق مما إذا كان العرض مشفرًا: ```py import aspose.slides as slides @@ -192,12 +215,12 @@ with slides.Presentation() as pres: print(str(pres.protection_manager.is_encrypted)) ``` -## **التحقق مما إذا كان العرض محميًا ضد الكتابة** -يسمح لك Aspose.Slides بالتحقق مما إذا كان العرض محميًا ضد الكتابة. لأداء هذه المهمة، يمكنك استخدام خاصية [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) التي تُعيد `True` إذا كان العرض مشفرًا أو `False` إذا لم يكن العرض مشفرًا. +## **التحقق مما إذا كان العرض محميًا من الكتابة** -تظهر لك هذه الشفرة المصدرية كيفية التحقق مما إذا كان العرض محميًا ضد الكتابة: +يسمح Aspose.Slides لك بالتحقق مما إذا كان العرض محميًا من الكتابة. لأداء هذه المهمة، يمكنك استعمال خاصية [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) التي تُرجع `True` إذا كان العرض محميًا من الكتابة أو `False` إذا لم يكن كذلك. +يعرض هذا المثال كيفية التحقق مما إذا كان العرض محميًا من الكتابة: ```py import aspose.slides as slides @@ -205,23 +228,38 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(pres.protection_manager.is_write_protected)) ``` -## **التحقق أو التأكيد من أن كلمة مرور معينة قد تم استخدامها لحماية عرض** -قد ترغب في التحقق والتأكيد من أن كلمة مرور معينة قد تم استخدامها لحماية مستند العرض. يوفر لك Aspose.Slides الوسائل للتحقق من كلمة المرور. +## **التحقق من أن كلمة مرور معينة قد استُخدمت لحماية عرض تقديمي** -تظهر لك هذه الشفرة المصدرية كيفية التحقق من كلمة المرور: +قد ترغب في التحقق والتأكد من أن كلمة مرور معينة قد استُخدمت لحماية مستند عرض تقديمي. يوفر Aspose.Slides الوسيلة للتحقق من كلمة المرور. +يعرض هذا المثال كيفية التحقق من كلمة مرور: ```py import aspose.slides as slides with slides.Presentation("write-protected-pres.pptx") as pres: - # تحقق مما إذا كانت "كلمة المرور" متطابقة مع + # تحقق مما إذا كانت "pass" مطابقة matched = pres.protection_manager.check_write_protection("my_password") print(str(matched)) ``` -يُعيد `True` إذا كان العرض قد تم تشفيره بكلمة المرور المحددة. خلاف ذلك، يُعيد `False`. -{{% alert color="primary" title="انظر أيضاً" %}} +تُرجع `True` إذا كان العرض قد تم تشفيره بكلمة المرور المحددة. وإلا، تُرجع `False`. + +{{% alert color="primary" title="انظر أيضًا" %}} - [التوقيع الرقمي في PowerPoint](/slides/ar/python-net/digital-signature-in-powerpoint/) -{{% /alert %}} \ No newline at end of file +{{% /alert %}} + +## **الأسئلة الشائعة** + +**ما هي طرق التشفير التي يدعمها Aspose.Slides؟** + +يدعم Aspose.Slides طرق تشفير حديثة، بما في ذلك الخوارزميات القائمة على AES، مما يضمن مستوى عاليًا من أمان البيانات لعروضك التقديمية. + +**ماذا يحدث إذا تم إدخال كلمة مرور غير صحيحة عند محاولة فتح عرض تقديمي؟** + +يتم طرح استثناء إذا استُخدمت كلمة مرور غير صحيحة، مما ينبهك إلى أن الوصول إلى العرض مرفوض. يساعد ذلك في منع الوصول غير المصرح به وحماية محتوى العرض. + +**هل هناك أي تأثير على الأداء عند العمل مع عروض تقديمية محمية بكلمة مرور؟** + +قد يُدخل عملية التشفير وفك التشفير قليلًا من الحمل الإضافي أثناء عمليات الفتح والحفظ. في معظم الحالات، يكون تأثير الأداء ضئيلًا ولا يؤثر بشكل كبير على الوقت الكلي لمعالجة مهام العرض. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md b/ar/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md index 09bed1b289..16edc031c1 100644 --- a/ar/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md +++ b/ar/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md @@ -1,25 +1,34 @@ --- -title: عرض فقط للقراءة +title: حفظ العروض التقديمية في وضع القراءة فقط باستخدام Python +linktitle: عرض تقديمي للقراءة فقط type: docs weight: 30 url: /ar/python-net/read-only-presentation/ -keywords: "إعداد فقط للقراءة، عرض PowerPoint، بايثون، Aspose.Slides لبايثون عبر .NET" -description: "عرض PowerPoint فقط للقراءة في بايثون" +keywords: +- قراءة فقط +- حماية العرض التقديمي +- منع التحرير +- PowerPoint +- العرض التقديمي +- Python +- Aspose.Slides +description: "تحميل وحفظ ملفات PowerPoint (PPT, PPTX) في وضع القراءة فقط باستخدام Aspose.Slides للـ Python عبر .NET، مما يوفر معاينات شرائح دقيقة دون تعديل عروضك التقديمية." --- -في PowerPoint 2019، قدمت مايكروسوفت إعداد **فتح دائمًا فقط للقراءة** كواحد من الخيارات التي يمكن للمستخدمين استخدامها لحماية عروضهم التقديمية. قد ترغب في استخدام هذا الإعداد فقط للقراءة لحماية عرض تقديمي عندما +## **تطبيق وضع القراءة فقط** -- ترغب في منع التحريرات غير المقصودة والحفاظ على محتوى عرضك التقديمي آمنًا. -- ترغب في تنبيه الناس أن العرض التقديمي الذي قدمته هو النسخة النهائية. +في PowerPoint 2019، أضافت Microsoft إعداد **Always Open Read-Only** كأحد الخيارات التي يمكن للمستخدمين استخدامها لحماية عروضهم التقديمية. قد ترغب في استخدام هذا الإعداد لحماية عرض تقديمي عندما -بعد اختيارك خيار **فتح دائمًا فقط للقراءة** لعرض تقديمي، عندما يقوم المستخدمون بفتح العرض التقديمي، يرون توصية **فقط للقراءة** وقد يرون رسالة بهذا الشكل: *لمنع التغييرات غير المقصودة، قام المؤلف بتعيين هذا الملف ليفتح فقط للقراءة.* +- تريد منع التعديلات غير المقصودة والحفاظ على محتوى العرض التقديمي آمنًا. +- تريد إبلاغ الأشخاص أن العرض التقديمي الذي قدمته هو النسخة النهائية. -توصية فقط للقراءة هي رادع بسيط لكنه فعال يثني عن التحرير لأن المستخدمين يجب عليهم تنفيذ مهمة لإزالته قبل السماح لهم بتحرير عرض تقديمي. إذا كنت لا تريد من المستخدمين إجراء تغييرات على عرض تقديمي وترغب في إخبارهم بذلك بطريقة مهذبة، فإن توصية فقط للقراءة قد تكون خيارًا جيدًا لك. +بعد اختيارك لخيار **Always Open Read-Only** للعرض التقديمي، عندما يفتح المستخدمون العرض التقديمي، يرون توصية **Read-Only** وقد يرون رسالة بهذه الصيغة: *لمنع التغييرات غير المقصودة، قام المؤلف بتعيين هذا الملف ليُفتح كقراءة فقط.* -> إذا تم فتح عرض تقديمي مع حماية **فقط للقراءة** في تطبيق Microsoft PowerPoint أقدم - والذي لا يدعم الوظيفة التي تم تقديمها حديثًا - فإن توصية **فقط للقراءة** تُ ignored (يتم فتح العرض التقديمي بشكل طبيعي). +تُعد توصية القراءة فقط رادعًا بسيطًا لكنه فعال يثني عن التحرير لأن المستخدمين يتعين عليهم تنفيذ مهمة لإزالتها قبل أن يُسمح لهم بتحرير العرض التقديمي. إذا كنت لا تريد للمستخدمين إجراء تغييرات على العرض التقديمي وتريد إبلاغهم بذلك بطريقة لطيفة، فقد تكون توصية القراءة فقط خيارًا جيدًا لك. -يسمح Aspose.Slides لبايثون عبر .NET لك بتعيين عرض تقديمي إلى **فقط للقراءة**، مما يعني أن المستخدمين (بعد فتحهم للعرض التقديمي) يرون توصية **فقط للقراءة**. تعرض لك كود العينة هذا كيفية تعيين عرض تقديمي إلى **فقط للقراءة** في بايثون باستخدام Aspose.Slides: +> إذا تم فتح عرض تقديمي محمي بـ **Read-Only** في نسخة أقدم من Microsoft PowerPoint — والتي لا تدعم الدالة التي تم تقديمها مؤخرًا — يتم تجاهل توصية **Read-Only** (يُفتح العرض التقديمي كالمعتاد). +Aspose.Slides for Python via .NET يتيح لك ضبط عرض تقديمي ليكون **Read-Only**، مما يعني أن المستخدمين (بعد فتحهم للعرض التقديمي) يرون توصية **Read-Only**. يُظهر لك مثال الشيفرة التالي كيفية ضبط عرض تقديمي ليكون **Read-Only** في Python باستخدام Aspose.Slides: ```py import aspose.slides as slides @@ -28,8 +37,27 @@ with slides.Presentation() as pres: pres.save("ReadOnlyPresentation.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -**ملاحظة**: توصية **فقط للقراءة** تهدف ببساطة إلى تثبيط التحرير أو منع المستخدمين من إجراء تغييرات غير مقصودة على عرض PowerPoint. إذا قرر شخص متحمس - يعرف ما الذي يفعله - تعديل عرضك التقديمي، يمكنه بسهولة إزالة إعداد فقط للقراءة. إذا كنت بحاجة بجدية إلى منع التحرير غير المصرح به، فمن الأفضل استخدام [حمايات أكثر صرامة تشمل التشفيرات وكلمات المرور](https://docs.aspose.com/slides/python-net/password-protected-presentation/). +**ملاحظة**: توصية **Read-Only** تهدف ببساطة إلى تثبيط التحرير أو منع المستخدمين من إجراء تغييرات غير مقصودة على عرض PowerPoint. إذا قرر شخص متحمس — يعرف ما يفعله — تعديل عرضك التقديمي، يمكنه بسهولة إزالة إعداد القراءة فقط. إذا كنت بحاجة فعلاً لمنع التحرير غير المصرح به، فإن استخدامك لـ [حمايات أكثر صرامة تتضمن التشفير وكلمات المرور](https://docs.aspose.com/slides/python-net/password-protected-presentation/) سيكون أفضل. + +{{% /alert %}} + +## **الأسئلة الشائعة** + +**كيف يختلف “Read-Only recommended” عن الحماية بكلمة مرور الكاملة؟** + +“Read-Only recommended” يعرض مجرد اقتراح لفتح الملف في وضع القراءة فقط ويسهل تجاوزه. [حماية بكلمة مرور](/slides/ar/python-net/password-protected-presentation/) تقيد فعليًا الفتح أو التحرير وتناسب عندما تحتاج إلى سيطرة أمان حقيقية. + +**هل يمكن دمج “Read-Only recommended” مع العلامات المائية لزيادة تثبيط التحرير؟** + +نعم. يمكن ربط التوصية بـ [العلامات المائية](/slides/ar/python-net/watermark/) كوسيلة ردع بصرية؛ فهما آليتان منفصلتان وتعملان معًا بشكل جيد. + +**هل يمكن لماكرو أو أداة خارجية تعديل الملف عندما تكون التوصية مفعلة؟** + +نعم. التوصية لا تمنع التغييرات البرمجية. لمنع التعديلات الآلية، استخدم [كلمات المرور والتشفير](/slides/ar/python-net/password-protected-presentation/). + +**كيف يرتبط “Read-Only recommended” بالإشارات “is_encrypted” و “is_write_protected”؟** -{{% /alert %}} \ No newline at end of file +هما إشارات مختلفة. “Read-Only recommended” هو تنبيه ناعم اختياري؛ [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_write_protected/) و [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_encrypted/) يشيران إلى قيود كتابة أو قراءة فعلية تعتمد على كلمات مرور أو تشفير. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-security/watermark/_index.md b/ar/python-net/developer-guide/presentation-security/watermark/_index.md index 214c1fd787..a2f94b8ae6 100644 --- a/ar/python-net/developer-guide/presentation-security/watermark/_index.md +++ b/ar/python-net/developer-guide/presentation-security/watermark/_index.md @@ -1,42 +1,55 @@ --- -title: علامة مائية +title: إضافة علامات مائية إلى العروض التقديمية في بايثون +linktitle: علامة مائية type: docs weight: 40 url: /ar/python-net/watermark/ keywords: - علامة مائية -- إضافة علامة مائية - علامة مائية نصية -- علامة مائية صورة -- باور بوينت +- علامة مائية صورية +- إضافة علامة مائية +- تغيير علامة مائية +- إزالة علامة مائية +- حذف علامة مائية +- إضافة علامة مائية إلى PPT +- إضافة علامة مائية إلى PPTX +- إضافة علامة مائية إلى ODP +- إزالة علامة مائية من PPT +- إزالة علامة مائية من PPTX +- إزالة علامة مائية من ODP +- حذف علامة مائية من PPT +- حذف علامة مائية من PPTX +- حذف علامة مائية من ODP +- PowerPoint +- OpenDocument - عرض تقديمي -- بايثون -- Aspose.Slides لـ بايثون عبر .NET -description: "إضافة علامات مائية نصية وصورية إلى عروض باور بوينت في بايثون" +- Python +- Aspose.Slides +description: "تعرّف على كيفية إدارة العلامات المائية النصية والصورية في عروض PowerPoint وOpenDocument باستخدام بايثون لتحديد مسودة، معلومات سرية، حقوق النشر، والمزيد." --- ## **حول العلامات المائية** -**العلامة المائية** في عرض تقديمي هي ختم نصي أو صوري يستخدم على شريحة أو عبر جميع شرائح العرض. عادة ما تُستخدم العلامة المائية للإشارة إلى أن العرض هو مسودة (مثل، علامة مائية "مسودة")، أنها تحتوي على معلومات سرية (مثل، علامة مائية "سري")، لتحديد الشركة التي تنتمي إليها (مثل، علامة مائية "اسم الشركة")، لتحديد مؤلف العرض، وما إلى ذلك. تساعد العلامة المائية في منع انتهاكات حقوق النشر بالإشارة إلى أنه لا ينبغي نسخ العرض. تُستخدم العلامات المائية في كلا من تنسيقات عروض باور بوينت وOpenOffice. في Aspose.Slides، يمكنك إضافة علامة مائية إلى تنسيقات ملفات باور بوينت PPT وPPTX وOpenOffice ODP. +**العلامة المائية** في العرض التقديمي هي ختم نصي أو صورة يُستعمل على شريحة أو على جميع شرائح العرض. عادةً تُستخدم العلامة المائية للإشارة إلى أن العرض مسودة (مثال: علامة مائية “مسودة”)، أو أنه يحتوي على معلومات سرية (مثال: علامة مائية “سري”)، لتحديد الشركة المالكة (مثال: علامة مائية “اسم الشركة”)، لتحديد مؤلف العرض، إلخ. تساعد العلامة المائية على منع انتهاكات حقوق النشر من خلال توضيح أن العرض لا يجوز نسخه. تُستعمل العلامات المائية في صيغ PowerPoint وOpenOffice. في Aspose.Slides يمكنك إضافة علامة مائية إلى صيغ ملفات PowerPoint PPT، PPTX، وصيغ OpenOffice ODP. -في [**Aspose.Slides**](https://products.aspose.com/slides/python-net/)، هناك طرق مختلفة يمكنك من خلالها إنشاء علامات مائية في مستندات باور بوينت أو OpenOffice وتعديل تصميمها وسلوكها. الجانب المشترك هو أنه لإضافة علامات مائية نصية، ينبغي عليك استخدام فئة [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)، ولإضافة علامات مائية صورة، استخدم فئة [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) أو املأ شكل علامة مائية بصورة. `PictureFrame` تنفذ الفئة [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) مما يتيح لك استخدام جميع إعدادات كائن الشكل المرنة. نظرًا لأن `TextFrame` ليست شكلاً وإعداداتها محدودة، فهي مغطاة ككائن [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). +في [**Aspose.Slides**](https://products.aspose.com/slides/python-net/)، توجد طرق متعددة لإنشاء علامات مائية في مستندات PowerPoint أو OpenOffice وتعديل تصميمها وسلوكها. الجانب المشترك هو أن لإضافة علامات مائية نصية يجب استخدام الفئة [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)، ولإضافة علامات مائية صورية، استخدم الفئة [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) أو املأ شكل العلامة المائية بصورة. `PictureFrame` تُنفذ الفئة [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) مما يتيح لك استخدام جميع إعدادات الشكل المرنة. بما أن `TextFrame` ليست شكلاً وإعداداتها محدودة، فتم تغليفها داخل كائن [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). -هناك طريقتان يمكن تطبيق العلامة المائية من خلالهما: على شريحة واحدة أو على جميع شرائح العرض. يتم استخدام القالب الرئيسي (Slide Master) لتطبيق علامة مائية على جميع شرائح العرض—تُضاف العلامة المائية إلى القالب الرئيسي، وتُصمم بالكامل هناك، وتطبق على جميع الشرائح دون التأثير على الإذن لتعديل العلامة المائية على الشرائح الفردية. +هناك طريقتان لتطبيق العلامة المائية: على شريحة واحدة أو على جميع شرائح العرض. يُستخدم الشريحة الرئيسة (Slide Master) لتطبيق العلامة المائية على جميع الشرائح — تُضاف العلامة المائية إلى الشريحة الرئيسة، تُصمم بالكامل هناك، وتُطبق على جميع الشرائح دون أن تؤثر على إذن تعديل العلامة المائية على الشرائح الفردية. -عادة ما تعتبر العلامة المائية غير متاحة للتحرير من قبل المستخدمين الآخرين. لمنع العلامة المائية (أو بالأحرى الشكل الأصلي للعلامة المائية) من التعديل، توفر Aspose.Slides وظيفة قفل الشكل. يمكن قفل شكل معين على شريحة عادية أو على قالب رئيسي. عند قفل شكل العلامة المائية على القالب الرئيسي، فإنه يبقى مقفلاً على جميع شرائح العرض. +عادةً يُنظر إلى العلامة المائية على أنها غير متاحة للتعديل من قبل المستخدمين الآخرين. لمنع تعديل العلامة المائية (أو شكلها الأصلي) توفر Aspose.Slides وظيفة قفل الشكل. يمكن قفل شكل محدد على شريحة عادية أو على الشريحة الرئيسة. عندما يُقفل شكل العلامة المائية على الشريحة الرئيسة، سيُقفل على جميع شرائح العرض. -يمكنك تعيين اسم للعلامة المائية بحيث إذا كنت ترغب في حذفها في المستقبل، يمكنك العثور عليها في أشكال الشريحة حسب الاسم. +يمكنك تعيين اسم للعلامة المائية حتى تتمكن لاحقًا من حذفها بسهولة عبر البحث عن الاسم في أشكال الشريحة. -يمكنك تصميم العلامة المائية بأي طريقة؛ ومع ذلك، عادة ما تكون هناك ميزات شائعة في العلامات المائية، مثل التمركز، الدوران، الموضع الأمامي، وما إلى ذلك. سوف ننظر في كيفية استخدام هذه الميزات في الأمثلة أدناه. +يمكنك تصميم العلامة المائية بأي طريقة؛ ومع ذلك، توجد عادةً ميزات مشتركة في العلامات المائية مثل المحاذاة المركزية، الدوران، وضعية الواجهة، إلخ. سنستعرض كيفية استخدام هذه الميزات في الأمثلة أدناه. ## **علامة مائية نصية** ### **إضافة علامة مائية نصية إلى شريحة** -لإضافة علامة مائية نصية في PPT أو PPTX أو ODP، يمكنك أولاً إضافة شكل إلى الشريحة، ثم إضافة إطار نصي إلى هذا الشكل. يتم تمثيل إطار النص بواسطة فئة [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). هذا النوع لا يُرث من [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)، الذي يحتوي على مجموعة واسعة من الخصائص لوضع العلامة المائية بطريقة مرنة. لذلك، يتم تغليف كائن [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) في كائن [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). لإضافة نص العلامة المائية إلى الشكل، استخدم طريقة [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) كما هو موضح أدناه. - +لإضافة علامة مائية نصية في PPT أو PPTX أو ODP، يمكنك أولاً إضافة شكل إلى الشريحة، ثم إضافة إطار نص إلى هذا الشكل. يُمثَّل إطار النص بالفئة [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). هذا النوع لا يُورث من الفئة [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)، التي تحتوي على مجموعة واسعة من الخصائص لتحديد موضع العلامة المائية بطريقة مرنة. لذلك يُغلف كائن [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) داخل كائن [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). لإضافة نص العلامة المائية إلى الشكل، استخدم طريقة [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) كما هو موضح أدناه. ```py -watermark_text = "سري" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: slide = presentation.slides[0] @@ -45,16 +58,16 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -{{% alert color="primary" title="انظر أيضاً" %}} + +{{% alert color="primary" title="انظر أيضًا" %}} - [كيفية استخدام فئة TextFrame](/slides/ar/python-net/text-formatting/) {{% /alert %}} -### **إضافة علامة مائية نصية إلى العرض التقديمي** - -إذا كنت ترغب في إضافة علامة مائية نصية إلى العرض التقديمي بالكامل (أي، جميع الشرائح مرة واحدة)، أضفها إلى [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). بقية المنطق مشابه لما هو عليه عند إضافة علامة مائية إلى شريحة واحدة — قم بإنشاء كائن [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) ثم أضف العلامة المائية إليه باستخدام طريقة [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str). +### **إضافة علامة مائية نصية إلى عرض تقديمي** +إذا رغبت في إضافة علامة مائية نصية إلى كامل العرض (أي جميع الشرائح مرة واحدة)، أضفها إلى [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). بقية المنطق مماثل لإضافة علامة مائية إلى شريحة واحدة — أنشئ كائنًا من [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) ثم أضف العلامة المائية إليه باستخدام طريقة [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str). ```py -watermark_text = "سري" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: master_slide = presentation.masters[0] @@ -63,33 +76,33 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -{{% alert color="primary" title="انظر أيضاً" %}} -- [كيفية استخدام القالب الرئيسي للشريحة](/slides/ar/python-net/slide-master/) -{{% /alert %}} -### **تعيين شفافية شكل العلامة المائية** +{{% alert color="primary" title="انظر أيضًا" %}} +- [كيفية استخدام الشريحة الرئيسة](/slides/ar/python-net/slide-master/) +{{% /alert %}} -بشكل افتراضي، يتم تنسيق الشكل المستطيل بألوان تعبئة وخط. تضع الأسطر التالية من التعليمات البرمجية الشكل في حالة شفافة. +### **ضبط شفافية شكل العلامة المائية** +بشكل افتراضي، يكون شكل المستطيل مُصممًا بألوان تعبئة وخط. تجعل السطور التالية من الكود الشكل شفافًا. ```py watermark_shape.fill_format.fill_type = FillType.NO_FILL watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL ``` -### **تعيين الخط لعلامة مائية نصية** -يمكنك تغيير خط نص العلامة المائية كما هو موضح أدناه. +### **ضبط الخط لعلامة مائية نصية** +يمكنك تغيير خط العلامة المائية النصية كما هو موضح أدناه. ```py text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format text_format.latin_font = FontData("Arial") text_format.font_height = 50 ``` -### **تعيين لون نص العلامة المائية** -لتعيين لون نص العلامة المائية، استخدم هذا الكود: +### **ضبط لون نص العلامة المائية** +لضبط لون نص العلامة المائية، استخدم الشيفرة التالية: ```py alpha = 150 red = 200 @@ -101,10 +114,10 @@ fill_format.fill_type = FillType.SOLID fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue) ``` -### **محاذاة علامة مائية نصية في المنتصف** -من الممكن محاذاة العلامة المائية في وسط الشريحة، ولتحقيق ذلك، يمكنك القيام بما يلي: +### **محاذاة علامة مائية نصية إلى الوسط** +يمكنك محاذاة العلامة المائية إلى وسط الشريحة، ويمكنك فعل ذلك كما يلي: ```py slide_size = presentation.slide_size.size @@ -119,16 +132,16 @@ watermark_shape = slide.shapes.add_auto_shape( watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -تظهر الصورة أدناه النتيجة النهائية. -![العلامة المائية النصية](text_watermark.png) +الصورة أدناه تُظهر النتيجة النهائية. + +![The text watermark](text_watermark.png) ## **علامة مائية صورية** ### **إضافة علامة مائية صورية إلى عرض تقديمي** -لإضافة علامة مائية صورية إلى شريحة عرض تقديمي، يمكنك القيام بما يلي: - +لإضافة علامة مائية صورية إلى شريحة من العرض، يمكنك تنفيذ الخطوات التالية: ```py with open("watermark.png", "rb") as image_stream: image = presentation.images.add_image(image_stream.read()) @@ -138,10 +151,10 @@ with open("watermark.png", "rb") as image_stream: watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH ``` -## **قفل علامة مائية من التحرير** -إذا كانت هناك حاجة لمنع تعديل علامة مائية، استخدم خاصية [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) على الشكل. من خلال هذه الخاصية، يمكنك حماية الشكل من التحديد، تغيير الحجم، إعادة التمركز، التجميع مع عناصر أخرى، قفل نصه من التحرير، والمزيد: +## **قفل علامة مائية من التحرير** +إذا كان من الضروري منع تحرير العلامة المائية، استخدم الخاصية [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) على الشكل. من خلال هذه الخاصية يمكنك حماية الشكل من الاختيار، تغيير الحجم، إعادة التحديد، التجميع مع عناصر أخرى، قفل النص من التحرير، وأكثر من ذلك: ```py # قفل شكل العلامة المائية من التعديل watermark_shape.auto_shape_lock.select_locked = True @@ -151,46 +164,73 @@ watermark_shape.auto_shape_lock.position_locked = True watermark_shape.auto_shape_lock.grouping_locked = True ``` -## **تقديم علامة مائية إلى الأمام** -في Aspose.Slides، يمكن تعيين ترتيب Z للأشكال عبر طريقة [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape). لتحقيق ذلك، تحتاج إلى استدعاء هذه الطريقة من قائمة شرائح العرض وتمرير مرجع الشكل ورقم ترتيبه إلى الطريقة. بهذه الطريقة، من الممكن تقديم شكل إلى المقدمة أو إرساله إلى الجزء الخلفي من الشريحة. هذه الميزة مفيدة بشكل خاص إذا كنت بحاجة إلى وضع علامة مائية أمام العرض: +## **إحضار علامة مائية إلى الواجهة** +في Aspose.Slides، يمكن تحديد ترتيب Z للأشكال عبر طريقة [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape). للقيام بذلك، استدعِ هذه الطريقة من قائمة شرائح العرض ومرّر مرجع الشكل ورقمه التسلسلي إلى الطريقة. بهذه الطريقة يمكن إحضار الشكل إلى الواجهة أو إرساله إلى الخلفية. هذه الميزة مفيدة خصوصًا إذا أردت وضع العلامة المائية أمام محتوى العرض: ```py shape_count = len(slide.shapes) slide.shapes.reorder(shape_count - 1, watermark_shape) ``` -## **تعيين دوران العلامة المائية** -إليك مثال على كيفية ضبط دوران العلامة المائية بحيث تكون موضوعة بشكل قطري عبر الشريحة: +## **ضبط دوران العلامة المائية** +فيما يلي مثال على الشيفرة لتعديل دوران العلامة المائية بحيث تكون مائلة قطريًا عبر الشريحة: ```py diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi watermark_shape.rotation = float(diagonal_angle) ``` -## **تعيين اسم لعلامة مائية** -تسمح لك Aspose.Slides بتعيين اسم لشكل. باستخدام اسم الشكل، يمكنك الوصول إليه في المستقبل لتعديله أو حذفه. لتعيين اسم الشكل للعلامة المائية، عيّنه إلى خاصية [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/): +## **تعيين اسم للعلامة المائية** +تسمح لك Aspose.Slides بتعيين اسم للشكل. باستخدام اسم الشكل يمكنك الوصول إليه لاحقًا لتعديله أو حذفه. لتعيين اسم لشكل العلامة المائية، عيّن الخاصية [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/): ```py -watermark_shape.name = "علامة مائية" +watermark_shape.name = "watermark" ``` -## **إزالة علامة مائية** -لإزالة شكل العلامة المائية، استخدم طريقة [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) للعثور عليه في أشكال الشريحة. ثم، مرر شكل العلامة المائية إلى طريقة [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape): +## **حذف علامة مائية** +لحذف شكل العلامة المائية، استخدم طريقة [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) للعثور عليه في أشكال الشريحة. ثم مرّر شكل العلامة المائية إلى طريقة [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape): ```py slide_shapes = list(slide.shapes) for shape in slide_shapes: - if shape.name == "علامة مائية": + if shape.name == "watermark": slide.shapes.remove(watermark_shape) ``` + ## **مثال حي** -قد ترغب في التحقق من **Aspose.Slides المجانية** [إضافة علامة مائية](https://products.aspose.app/slides/watermark) و[إزالة علامة مائية](https://products.aspose.app/slides/watermark/remove-watermark) الأدوات عبر الإنترنت. +قد ترغب في تجربة أدوات **Aspose.Slides مجانية** [إضافة علامة مائية](https://products.aspose.app/slides/watermark) و[إزالة علامة مائية](https://products.aspose.app/slides/watermark/remove-watermark) المتوفرة عبر الإنترنت. + +![Online tools to add and remove watermarks](online_tools.png) + +## **الأسئلة المتكررة** + +**ما هي العلامة المائية ولماذا يجب علي استخدامها؟** + +العلامة المائية هي تغطية نصية أو صورية تُطبق على الشرائح للمساعدة في حماية الملكية الفكرية، تعزيز التعرف على العلامة التجارية، أو منع الاستخدام غير المصرح به للعرض. + +**هل يمكنني إضافة علامة مائية إلى جميع الشرائح في عرض تقديمي؟** + +نعم، تتيح لك Aspose.Slides إضافة علامة مائية إلى كل شريحة في العرض. يمكنك تكرار العملية عبر جميع الشرائح وتطبيق إعدادات العلامة المائية بشكل فردي. + +**كيف يمكنني ضبط شفافية العلامة المائية؟** + +يمكنك ضبط شفافية العلامة المائية عن طريق تعديل إعدادات التعبئة ([FillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/fillformat/)) للشكل. يضمن ذلك أن تكون العلامة المائية خفيفة ولا تشوش محتوى الشريحة. + +**ما صيغ الصور المدعومة للعلامات المائية؟** + +تدعم Aspose.Slides صيغ صور متعددة مثل PNG وJPEG وGIF وBMP وSVG وغيرها. + +**هل يمكنني تخصيص الخط ونمط العلامة المائية النصية؟** + +نعم، يمكنك اختيار أي خط وحجم ونمط لتتناسب مع تصميم عرضك وتوفير اتساق العلامة التجارية. + +**كيف أغير موضع أو اتجاه العلامة المائية؟** -![أدوات على الإنترنت لإضافة وإزالة العلامات المائية](online_tools.png) \ No newline at end of file +يمكنك تعديل موضع واتجاه العلامة المائية عن طريق تعديل إحداثيات الشكل ([shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/))، وحجمه، وخصائص الدوران. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md b/ar/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md index 4d9c03aae2..cd828289ad 100644 --- a/ar/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md +++ b/ar/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md @@ -1,96 +1,111 @@ --- -title: الوصول إلى الشريحة في العرض التقديمي +title: الوصول إلى الشرائح في العروض التقديمية باستخدام بايثون +linktitle: الوصول إلى الشريحة type: docs weight: 20 url: /ar/python-net/access-slide-in-presentation/ -keywords: "الوصول إلى عرض PowerPoint، الوصول إلى الشريحة، تحرير خصائص الشريحة، تغيير موضع الشريحة، تعيين رقم الشريحة، الفهرس، المعرف، الموضع Python، Aspose.Slides" -description: "الوصول إلى شريحة PowerPoint بواسطة الفهرس أو المعرف أو الموضع في Python. تحرير خصائص الشريحة" +keywords: +- الوصول إلى الشريحة +- فهرس الشريحة +- معرف الشريحة +- موضع الشريحة +- تغيير الموضع +- خصائص الشريحة +- رقم الشريحة +- باوربوينت +- مستند مفتوح +- عرض تقديمي +- بايثون +- Aspose.Slides +description: "تعلم كيفية الوصول إلى الشرائح وإدارتها في عروض PowerPoint وOpenDocument باستخدام Aspose.Slides للبايثون عبر .NET. عزز الإنتاجية مع أمثلة الشيفرة." --- -تتيح لك Aspose.Slides الوصول إلى الشرائح بطريقتين: بواسطة الفهرس وبواسطة المعرف. +## **نظرة عامة** -## **الوصول إلى الشريحة بواسطة الفهرس** +توضح هذه المقالة كيفية الوصول إلى شرائح معينة في عرض PowerPoint باستخدام Aspose.Slides للغة Python. تُظهر كيفية فتح العرض، والإشارة إلى الشرائح وفق الفهرس أو المعرف الفريد، وقراءة المعلومات الأساسية للشرائح اللازمة للتنقل داخل الملف. باستخدام هذه التقنيات، يمكنك تحديد الشريحة المطلوبة بدقة للفحص أو المعالجة. -تكون جميع الشرائح في العرض التقديمي مرتبة رقمياً بناءً على موضع الشريحة بدءًا من 0. يمكن الوصول إلى الشريحة الأولى من خلال الفهرس 0؛ يتم الوصول إلى الشريحة الثانية من خلال الفهرس 1؛ وهكذا. +## **الوصول إلى شريحة حسب الفهرس** -تقوم فئة Presentation، التي تمثل ملف العرض التقديمي، بإظهار جميع الشرائح كمجموعة [ISlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/islidecollection/) (مجموعة من كائنات [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/)). يوضح لك هذا الكود Python كيفية الوصول إلى شريحة من خلال فهرسها: +يتم فهرسة الشرائح في العرض وفقًا للموضع بدءًا من 0. الشريحة الأولى لها فهرس 0، الشريحة الثانية لها فهرس 1، وهكذا. +تُصدر فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) (التي تمثل ملف عرض) الشرائح عبر [SlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) من كائنات [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). + +يعرض الشيفرة التالية بلغة Python كيفية الوصول إلى شريحة وفق فهرسها: ```python import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف عرض تقديمي -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # الحصول على مرجع الشريحة من خلال فهرسها +# إنشاء عرض تقديمي يمثل ملف عرض. +with slides.Presentation("sample.pptx") as presentation: + # احصل على شريحة حسب فهرستها. slide = presentation.slides[0] ``` -## **الوصول إلى الشريحة بواسطة المعرف** -تمتلك كل شريحة في العرض التقديمي معرفاً فريداً مرتبطاً بها. يمكنك استخدام طريقة `get_slide_by_id(id)` (المكشوفة من قبل فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) لاستهداف هذا المعرف. يوضح لك هذا الكود Python كيفية تقديم معرف شريحة صالح والوصول إلى تلك الشريحة من خلال طريقة `get_slide_by_id(id)`: +## **الوصول إلى شريحة حسب المعرف** + +كل شريحة في العرض لها معرف فريد مرتبط بها. يمكنك استخدام طريقة [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) (المُستَخرجة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) لاستهداف ذلك المعرف. +يعرض الشيفرة التالية بلغة Python كيفية توفير معرف شريحة صالح والوصول إلى تلك الشريحة عبر طريقة [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/): ```python import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف عرض تقديمي -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # الحصول على معرف الشريحة +# إنشاء عرض تقديمي يمثل ملف عرض. +with slides.Presentation("sample.pptx") as presentation: + # الحصول على معرف الشريحة. id = presentation.slides[0].slide_id - # الوصول إلى الشريحة من خلال معرفها + # الوصول إلى الشريحة باستخدام معرفها. slide = presentation.get_slide_by_id(id) ``` -## **تغيير موضع الشريحة** -تسمح لك Aspose.Slides بتغيير موضع الشريحة. على سبيل المثال، يمكنك تحديد أن الشريحة الأولى يجب أن تصبح الشريحة الثانية. +## **تغيير موضع الشريحة** -1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. الحصول على مرجع الشريحة (التي ترغب في تغيير موضعها) من خلال فهرسها -1. تعيين موضع جديد للشريحة من خلال خاصية `slide_number`. -1. حفظ العرض التقديمي المعدل. +تسمح لك Aspose.Slides بتغيير موضع الشريحة. على سبيل المثال، يمكنك جعل الشريحة الأولى تصبح الثانية. -يظهر لك هذا الكود Python عملية يتم فيها نقل الشريحة في الموضع 1 إلى الموضع 2: +1. أنشئ كائنًا من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. احصل على مرجع إلى الشريحة التي تريد تغيير موضعها بحسب فهرسها. +1. اضبط موضعًا جديدًا للشريحة عبر الخاصية [slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/slide/slide_number/). +1. احفظ العرض المُعدَّل. +يعرض الشيفرة التالية بلغة Python نقل الشريحة التي في الموضع 1 إلى الموضع 2: ```python import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف عرض تقديمي -with slides.Presentation(path + "ChangePosition.pptx") as pres: - # الحصول على الشريحة التي سيتم تغيير موضعها - sld = pres.slides[0] - # تعيين الموضع الجديد للشريحة - sld.slide_number = 2 - # حفظ العرض التقديمي المعدل - pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX) +# إنشاء كائن Presentation يمثل ملف عرض تقديمي. +with slides.Presentation("sample.pptx") as presentation: + # احصل على الشريحة التي سيتم تغيير موضعها. + slide = presentation.slides[0] + # حدد الموضع الجديد للشريحة. + slide.slide_number = 2 + # احفظ العرض التقديمي المعدل. + presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -أصبحت الشريحة الأولى هي الثانية؛ وأصبحت الشريحة الثانية هي الأولى. عند تغيير موضع الشريحة، يتم ضبط الشرائح الأخرى تلقائيًا. -## **تعيين رقم الشريحة** +تصبح الشريحة الأولى هي الثانية؛ وتصبح الشريحة الثانية هي الأولى. عند تغيير موضع شريحة، يتم تعديل باقي الشرائح تلقائيًا. -باستخدام خاصية `first_slide_number` (المكشوفة من قبل فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/))، يمكنك تحديد رقم جديد للشريحة الأولى في العرض التقديمي. تسبب هذه العملية في إعادة حساب أرقام الشرائح الأخرى. +## **تعيين رقم الشريحة** -1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. الحصول على رقم الشريحة. -1. تعيين رقم الشريحة. -1. حفظ العرض التقديمي المعدل. +باستخدام الخاصية [first_slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) (المُستَخرجة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/))، يمكنك تحديد رقم جديد للشريحة الأولى في العرض. يؤدي هذا الإجراء إلى إعادة حساب أرقام الشرائح الأخرى. -يظهر لك هذا الكود Python عملية يتم فيها تعيين رقم الشريحة الأولى إلى 10: +1. أنشئ كائنًا من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. اضبط رقم الشريحة. +1. احفظ العرض المُعدَّل. +يعرض الشيفرة التالية بلغة Python عملية يتم فيها تعيين رقم الشريحة الأولى إلى 10: ```python import aspose.slides as slides -# إنشاء كائن Presentation يمثل ملف عرض تقديمي -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # الحصول على رقم الشريحة - firstSlideNumber = presentation.first_slide_number - # تعيين رقم الشريحة +# إنشاء كائن Presentation يمثل ملف عرض تقديمي. +with slides.Presentation("sample.pptx") as presentation: + # تعيين رقم الشريحة. presentation.first_slide_number = 10 - # حفظ العرض التقديمي المعدل - presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX) + # حفظ العرض التقديمي المعدل. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -إذا كنت تفضل تخطي الشريحة الأولى، يمكنك بدء الترقيم من الشريحة الثانية (وإخفاء الترقيم للشريحة الأولى) بهذه الطريقة: +إذا كنت تفضل تخطي الشريحة الأولى، يمكنك بدء الترقيم من الشريحة الثانية (وحذف الرقم من الشريحة الأولى) كما يلي: ```python import aspose.slides as slides @@ -100,15 +115,30 @@ with slides.Presentation() as presentation: presentation.slides.add_empty_slide(layout_slide) presentation.slides.add_empty_slide(layout_slide) - # تعيين الرقم للشريحة الأولى في العرض التقديمي + # تعيين رقم الشريحة الأولى في العرض التقديمي. presentation.first_slide_number = 0 - # إظهار أرقام الشرائح لجميع الشرائح + # إظهار أرقام الشرائح لجميع الشرائح. presentation.header_footer_manager.set_all_slide_numbers_visibility(True) - # إخفاء رقم الشريحة للشريحة الأولى + # إخفاء رقم الشريحة في الشريحة الأولى. presentation.slides[0].header_footer_manager.set_slide_number_visibility(False) - # حفظ العرض التقديمي المعدل - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + # حفظ العرض التقديمي المعدل. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **الأسئلة المتكررة** + +**هل رقم الشريحة الذي يراه المستخدم يطابق الفهرس الصفري للمجموعة؟** + +يمكن أن يبدأ الرقم المعروض على الشريحة من قيمة عشوائية (مثل 10) ولا يلزم أن يطابق الفهرس؛ يتم التحكم في العلاقة عبر إعداد [first slide number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) للعرض. + +**هل تؤثر الشرائح المخفية على الفهرسة؟** + +نعم. تظل الشريحة المخفية في المجموعة وتُحسب في الفهرسة؛ "مخفي" يشير إلى العرض فقط، وليس إلى موقعها في المجموعة. + +**هل يتغير فهرس الشريحة عندما تُضاف أو تُحذف شرائح أخرى؟** + +نعم. الفهارس دائمًا تعكس الترتيب الحالي للشرائح وتُعاد حسابها عند عمليات الإدراج والحذف والنقل. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-slide/compare-slides/_index.md b/ar/python-net/developer-guide/presentation-slide/compare-slides/_index.md index fe91c82cca..9ee6cf72df 100644 --- a/ar/python-net/developer-guide/presentation-slide/compare-slides/_index.md +++ b/ar/python-net/developer-guide/presentation-slide/compare-slides/_index.md @@ -1,17 +1,24 @@ --- -title: قارن الشرائح +title: مقارنة شرائح العرض في بايثون +linktitle: مقارنة الشرائح type: docs weight: 50 url: /ar/python-net/compare-slides/ -keywords: "قارن شرائح PowerPoint, قارن شريحتين, عرض تقديمي, بايثون, Aspose.Slides" -description: "قارن شرائح العرض التقديمي PowerPoint في بايثون" +keywords: +- مقارنة الشرائح +- مقارنة الشرائح +- PowerPoint +- OpenDocument +- عرض +- Python +- Aspose.Slides +description: "قارن عروض PowerPoint و OpenDocument برمجيًا باستخدام Aspose.Slides لبايثون عبر .NET. حدد اختلافات الشرائح في الكود بسرعة." --- ## **قارن شريحتين** -تمت إضافة طريقة Equals إلى واجهة [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) وفئة [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). ترجع هذه الطريقة القيمة true للشرائح/التخطيطات والشرائح/الشرائح الرئيسية التي تتطابق في بنيتها ومحتواها الثابت. - -تكون شريحتان متساويتين إذا كانت جميع الأشكال، والأنماط، والنصوص، والحركة، وما إلى ذلك، متطابقة. لا تأخذ المقارنة في الاعتبار قيم المعرف الفريدة، مثل SlideId والمحتوى الديناميكي، مثل قيمة التاريخ الحالية في عنصر النمط الخاص بالتاريخ. +تمت إضافة طريقة Equals إلى الواجهة [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) والفئة [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). تعيد true للشرائح/التخطيطات والشرائح/الرئيسية التي تكون مطابقة في هيكلها والمحتوى الثابت. +تكون الشريحتان متساويتين إذا كانت جميع الأشكال والأنماط والنصوص والرسوم المتحركة والإعدادات الأخرى ... . لا تأخذ المقارنة في الاعتبار قيم المعرفات الفريدة، مثل SlideId، والمحتوى الديناميكي، مثل قيمة التاريخ الحالية في عنصر نائب التاريخ. ```py import aspose.slides as slides @@ -20,5 +27,20 @@ with slides.Presentation(path + "AccessSlides.pptx") as p1: for i in range(len(p1.masters)): for j in range(len(p2.masters)): if p1.masters[i] == p2.masters[j]: - print("الشريحة الرئيسية في العرض 1#{0} هي مساوية للشريحة الرئيسية في العرض 2#{1}".format(i,j)) -``` \ No newline at end of file + print("Presentation1 MasterSlide#{0} is equal to Presentation2 MasterSlide#{1}".format(i,j)) +``` + + +## **الأسئلة المتكررة** + +**هل يؤثر كون الشريحة مخفية على مقارنة الشرائح نفسها؟** + +[Hidden status](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) هي خاصية على مستوى العرض/التشغيل، وليست محتوى بصري. يتم تحديد مساواة شريحتين محددتين بواسطة هيكلهما والمحتوى الثابت؛ مجرد كون الشريحة مخفية لا يجعل الشرائح مختلفة. + +**هل تُؤخذ الروابط الفائقة ومعلماتها في الاعتبار؟** + +نعم. الروابط هي جزء من المحتوى الثابت للشريحة. إذا اختلف URL أو إجراء الرابط الفائق، يُعامل ذلك عادةً كفرق في المحتوى الثابت. + +**إذا كان المخطط يشير إلى ملف Excel خارجي، هل سيتم أخذ محتويات ذلك الملف في الاعتبار؟** + +لا. يتم إجراء المقارنة بناءً على الشرائح نفسها. عادةً لا يتم قراءة مصادر البيانات الخارجية أثناء المقارنة؛ يُؤخذ فقط ما هو موجود في هيكل الشريحة وحالتها الثابتة في الاعتبار. \ No newline at end of file diff --git a/ar/python-net/developer-guide/presentation-via-vba/_index.md b/ar/python-net/developer-guide/presentation-via-vba/_index.md index 6bc0586799..153d9c0237 100644 --- a/ar/python-net/developer-guide/presentation-via-vba/_index.md +++ b/ar/python-net/developer-guide/presentation-via-vba/_index.md @@ -1,110 +1,175 @@ --- -title: العرض عبر VBA +title: إدارة مشاريع VBA في العروض التقديمية باستخدام بايثون +linktitle: العرض التقديمي عبر VBA type: docs weight: 250 url: /ar/python-net/presentation-via-vba/ -keywords: "ماكرو، ماكروز، VBA، ماكرو VBA، إضافة ماكرو، إزالة ماكرو، إضافة VBA، إزالة VBA، استخراج ماكرو، استخراج VBA، ماكرو باوربوينت، عرض باوربوينت، بايثون، Aspose.Slides لـ Python عبر .NET" -description: "إضافة وإزالة واستخراج ماكرو VBA في عروض باوربوينت باستخدام بايثون" +keywords: +- ماكرو +- VBA +- ماكرو VBA +- إضافة ماكرو +- إزالة ماكرو +- استخراج ماكرو +- إضافة VBA +- إزالة VBA +- استخراج VBA +- PowerPoint +- OpenDocument +- عرض تقديمي +- بايثون +- Aspose.Slides +description: "اكتشف كيفية إنشاء ومعالجة عروض PowerPoint وOpenDocument عبر VBA باستخدام Aspose.Slides للغة بايثون عبر .NET لتبسيط سير عملك." --- -تحتوي مساحة أسماء [Aspose.Slides.Vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) على فصول وواجهات للعمل مع الماكروز وكود VBA. +## **نظرة عامة** -{{% alert title="ملاحظة" color="warning" %}} +تناقش هذه المقالة القدرات الأساسية لـ Aspose.Slides للغة بايثون عبر .NET للعمل مع الماكرو في عروض PowerPoint التقديمية. توفر المكتبة أدوات مريحة لإضافة الماكرو وإزالتها واستخراجها، مما يتيح لك أتمتة إنشاء وتعديل العروض التقديمية. -عند تحويل عرض يحتوي على ماكروز إلى تنسيق ملف مختلف (PDF، HTML، إلخ)، تتجاهل Aspose.Slides جميع الماكروز (لا يتم نقل الماكروز إلى الملف الناتج). +- تسريع تطوير العروض التقديمية — أتمتة المهام الروتينية تقلل الوقت اللازم لإعداد المواد. +- ضمان المرونة — إمكانية إدارة الماكرو تسمح لك بتخصيص العروض وفقًا للمهام والسيناريوهات المحددة. +- دمج البيانات — دمج بسيط مع مصادر البيانات الخارجية يساعد على الحفاظ على محتوى الشرائح محدثًا. +- تبsimplify الصيانة — إدارة الماكرو المركزية تجعل تطبيق التغييرات وتحديث العروض أسهل. -عند إضافة ماكروز إلى عرض أو إعادة حفظ عرض يحتوي على ماكروز، تكتب Aspose.Slides ببساطة البايتات الخاصة بالماكروز. +تستمر المقالة في تقديم أمثلة عملية حول كيفية استخدام Aspose.Slides للعمل بفعالية مع الماكرو في PowerPoint. -Aspose.Slides **لا** تقوم بتشغيل الماكروز في العرض. +توفر مساحة الأسماء [aspose.slides.vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) فئات للعمل مع الماكرو وكود VBA. -{{% /alert %}} +{{% alert title="Note" color="warning" %}} +عند تحويل عرض تقديمي يحتوي على ماكرو إلى تنسيق آخر (PDF، HTML، إلخ)، يتجاهل Aspose.Slides الماكرو — لا يتم نقلها إلى ملف الإخراج. + +عند إضافة ماكرو إلى عرض تقديمي أو حفظ عرض تقديمي يحتوي على ماكرو مرة أخرى، يقوم Aspose.Slides بكتابة بايتات الماكرو كما هي. -## **إضافة ماكروز VBA** +Aspose.Slides **أبدًا** لا ينفّذ الماكرو في العرض التقديمي. +{{% /alert %}} -توفر Aspose.Slides فصل [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) للسماح لك بإنشاء مشاريع VBA (ومراجع المشاريع) وتحرير الوحدات الحالية. يمكنك استخدام واجهة [IVbaProject](https://reference.aspose.com/slides/net/aspose.slides.vba/ivbaproject/) لإدارة VBA المدمجة في العرض. +## **إضافة ماكرو VBA** -1. أنشئ مثيلاً لفصل [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . -1. استخدم المنشئ [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) لإضافة مشروع VBA جديد. -1. أضف وحدة إلى VbaProject. -1. قم بتعيين كود المصدر للوحدة. -1. أضف مراجع إلى . -1. أضف مراجع إلى **Microsoft Office**. -1. اربط المراجع بمشروع VBA. -1. احفظ العرض. +يوفر Aspose.Slides الفئة [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) لإنشاء مشاريع VBA (ومراجع المشروع) وتحرير الوحدات الموجودة. -يوضح لك هذا الكود باللغة بايثون كيفية إضافة ماكرو VBA من الصفر إلى عرض: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. استخدم مُنشئ [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) لإضافة مشروع VBA جديد. +3. أضف وحدة إلى مشروع VBA. +4. حدد شفرة المصدر للوحدة. +5. أضف إشارة إلى ``. +6. أضف إشارة إلى **Microsoft Office**. +7. ربط الإشارات بمشروع VBA. +8. احفظ العرض التقديمي. +يعرض الشيفرة Python التالية كيفية إضافة ماكرو VBA من الصفر إلى عرض تقديمي: ```python import aspose.slides as slides -# ينشئ مثيلاً لفصل العرض +# إنشاء نسخة من فئة Presentation. with slides.Presentation() as presentation: - # ينشئ مشروع VBA جديد + + # إنشاء مشروع VBA جديد. presentation.vba_project = slides.vba.VbaProject() - # يضيف وحدة فارغة إلى مشروع VBA + # إضافة وحدة فارغة إلى مشروع VBA. module = presentation.vba_project.modules.add_empty_module("Module") - - # يعين كود المصدر للوحدة - module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub" - # ينشئ مرجعًا إلى - stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") + # تعيين شفرة المصدر للوحدة. + module.source_code = """ + Sub Test(oShape As Shape) + MsgBox "Hello, world!" + End Sub + """ - # ينشئ مرجعًا إلى Office - officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") + # إنشاء إشارة إلى . + stdole_reference = slides.vba.VbaReferenceOleTypeLib("stdole", + "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - # يضيف مراجع إلى مشروع VBA - presentation.vba_project.references.add(stdoleReference) - presentation.vba_project.references.add(officeReference) + # إنشاء إشارة إلى Microsoft Office. + office_reference = slides.vba.VbaReferenceOleTypeLib("Office", + "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") - - # يحفظ العرض - presentation.save("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) -``` - -{{% alert color="primary" %}} + # إضافة الإشارات إلى مشروع VBA. + presentation.vba_project.references.add(stdole_reference) + presentation.vba_project.references.add(office_reference) -قد ترغب في الاطلاع على **Aspose** [مزيل الماكروز](https://products.aspose.app/slides/remove-macros)، وهو تطبيق ويب مجاني يستخدم لإزالة الماكروز من مستندات باوربوينت وإكسل وورد. + # حفظ العرض التقديمي. + presentation.save("macros.pptm", slides.export.SaveFormat.PPTM) +``` -{{% /alert %}} -## **إزالة ماكروز VBA** +{{% alert color="primary" %}} +قد ترغب في تجربة **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros)، تطبيق ويب مجاني لإزالة الماكرو من مستندات PowerPoint وExcel وWord. +{{% /alert %}} -باستخدام خاصية [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/#properties) داخل فصل [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) ، يمكنك إزالة ماكرو VBA. +## **إزالة ماكرو VBA** -1. أنشئ مثيلاً لفصل [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) وقم بتحميل العرض الذي يحتوي على الماكرو. -1. الوصول إلى وحدة الماكرو وإزالتها. -1. احفظ العرض المعدل. +باستخدام خاصية [vba_project](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/vba_project/) للفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) يمكنك إزالة ماكرو VBA. -يوضح لك هذا الكود باللغة بايثون كيفية إزالة ماكرو VBA: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) وتحميل العرض التقديمي الذي يحتوي على الماكرو. +2. الوصول إلى وحدة الماكرو وإزالتها. +3. احفظ العرض التقديمي المعدل. ```python import aspose.slides as slides -# يحمل العرض الذي يحتوي على الماكرو -with slides.Presentation(path + "VBA.pptm") as presentation: - # يصل إلى وحدة Vba ويزيلها - presentation.vba_project.modules.remove(presentation.vba_project.modules[0]) +# تحميل العرض التقديمي الذي يحتوي على الماكرو. +with slides.Presentation("VBA.pptm") as presentation: + + # الوصول إلى وحدة VBA. + vba_module = presentation.vba_project.modules[0] + + # إزالة وحدة VBA. + presentation.vba_project.modules.remove(vba_module) - # يحفظ العرض - presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) + # حفظ العرض التقديمي. + presentation.save("removed_macro.pptm", slides.export.SaveFormat.PPTM) ``` -## **استخراج ماكروز VBA** -1. أنشئ مثيلاً لفصل [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) وقم بتحميل العرض الذي يحتوي على الماكرو. -2. تحقق مما إذا كان العرض يحتوي على مشروع VBA. -3. قم بالمرور على جميع الوحدات المحتواة في مشروع VBA لعرض الماكروز. +## **استخراج ماكرو VBA** + +باستخدام خاصية `modules` في فئة [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) يمكنك الوصول إلى جميع وحدات مشروع VBA. يمكن استخدام فئة [VbaModule](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbamodule/) لاستخراج خصائص الوحدة مثل الاسم والشفرة. -يوضح لك هذا الكود باللغة بايثون كيفية استخراج ماكروز VBA من عرض يحتوي على ماكروز: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) وتحميل العرض التقديمي الذي يحتوي على الماكرو. +2. التحقق مما إذا كان العرض التقديمي يحتوي على مشروع VBA. +3. التمرّ عبر جميع الوحدات في مشروع VBA لعرض الماكرو. ```python import aspose.slides as slides -with slides.Presentation(path + "VBA.pptm") as pres: - if pres.vba_project is not None: # يتحقق مما إذا كان العرض يحتوي على مشروع VBA - for module in pres.vba_project.modules: +with slides.Presentation("VBA.pptm") as presentation: + # تحقق مما إذا كان العرض التقديمي يحتوي على مشروع VBA. + if presentation.vba_project is not None: + for module in presentation.vba_project.modules: print(module.name) print(module.source_code) -``` \ No newline at end of file +``` + + +## **التحقق مما إذا كان مشروع VBA محميًا بكلمة مرور** + +باستخدام خاصية [VbaProject.is_password_protected](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/is_password_protected/) يمكنك معرفة ما إذا كانت خصائص المشروع محمية بكلمة مرور. + +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) وتحميل عرض تقديمي يحتوي على ماكرو. +2. التحقق مما إذا كان العرض التقديمي يحتوي على [VBA project](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/). +3. التحقق مما إذا كان مشروع VBA محميًا بكلمة مرور لعرض خصائصه. +```py +import aspose.slides as slides + +with slides.Presentation("VBA.pptm") as presentation: + # تحقق مما إذا كان العرض التقديمي يحتوي على مشروع VBA. + if presentation.vba_project is not None: + if presentation.vba_project.is_password_protected: + print(f"The VBA Project '{presentation.vba_project.name}' is protected by password to view project properties.") +``` + + +## **الأسئلة المتداولة** + +**ماذا يحدث للماكرو إذا حفظت العرض التقديمي بصيغة PPTX؟** + +سيتم إزالة الماكرو لأن صيغة PPTX لا تدعم VBA. للحفاظ على الماكرو، اختر PPTM أو PPSM أو POTM. + +**هل يمكن لـ Aspose.Slides تشغيل الماكرو داخل عرض تقديمي لتحديث البيانات مثلاً؟** + +لا. المكتبة لا تنفّذ كود VBA أبداً؛ التنفيذ ممكن فقط داخل PowerPoint مع إعدادات الأمان المناسبة. + +**هل يدعم العمل مع عناصر تحكم ActiveX المرتبطة بكود VBA؟** + +نعم، يمكنك الوصول إلى عناصر تحكم [ActiveX controls](/slides/ar/python-net/activex/)، تعديل خصائصها، وإزالتها. هذا مفيد عندما يتفاعل الماكرو مع ActiveX. \ No newline at end of file diff --git a/ar/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md b/ar/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md index 829840524d..4953995a94 100644 --- a/ar/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md +++ b/ar/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md @@ -1,145 +1,135 @@ --- -title: تطبيق الحماية على العروض التقديمية +title: منع تحرير العروض التقديمية باستخدام أقفال الأشكال في بايثون +linktitle: منع تحرير العروض التقديمية type: docs weight: 70 url: /ar/python-net/applying-protection-to-presentation/ +keywords: +- منع التعديلات +- حماية من التحرير +- قفل الشكل +- قفل الموقع +- قفل الاختيار +- قفل الحجم +- قفل التجميع +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "اكتشف كيف تقوم Aspose.Slides for Python عبر .NET بقفل أو إلغاء قفل الأشكال في ملفات PPT و PPTX و ODP، مما يحافظ على أمان العروض التقديمية مع السماح بتحرير مُتحكم به وتسليم أسرع." --- -{{% alert color="primary" %}} +## **الخلفية** -الاستخدام الشائع لـ Aspose.Slides هو إنشاء وتحديث وحفظ عروض Microsoft PowerPoint 2007 (PPTX) كجزء من سير عمل تلقائي. يحصل مستخدمو التطبيق الذي يستخدم Aspose.Slides بهذه الطريقة على الوصول إلى العروض الناتجة. تعتبر حمايتها من التعديل قضية شائعة. من المهم أن تحتفظ العروض التلقائية بالتنسيق والمحتوى الأصلي. +استخدام شائع لـ Aspose.Slides هو إنشاء وتحديث وحفظ عروض Microsoft PowerPoint (PPTX) كجزء من سير عمل آلي. يحصل مستخدمو التطبيقات التي تستخدم Aspose.Slides بهذه الطريقة على الوصول إلى العروض المُنشأة، لذا حماية هذه العروض من التحرير هي مسألة شائعة. من المهم أن تحتفظ العروض التي تم إنشاؤها تلقائيًا بتنسيقها ومحتواها الأصلي. -تشرح هذه المقالة كيفية [إنشاء العروض والشرائح](/slides/ar/python-net/applying-protection-to-presentation/) وكيف يمكن لـ Aspose.Slides للغة بايثون عبر .NET [تطبيق الحماية على](/slides/ar/python-net/applying-protection-to-presentation/)، ثم [إزالتها من](/slides/ar/python-net/applying-protection-to-presentation/) العرض التقديمي. هذه الميزة فريدة من نوعها بالنسبة لـ Aspose.Slides، وفي وقت كتابة هذه المقالة، ليست متاحة في Microsoft PowerPoint. إنها تمنح المطورين وسيلة للتحكم في كيفية استخدام العروض التي تقوم تطبيقاتهم بإنشائها. +تشرح هذه المقالة كيفية هيكلة العروض والشرائح وكيف يمكن لـ Aspose.Slides for Python تطبيق الحماية على عرض ثم إزالتها لاحقًا. وهي توفر للمطورين طريقة للتحكم في كيفية استخدام العروض التي تُنشئها تطبيقاتهم. -{{% /alert %}} ## **تكوين الشريحة** -تتكون شريحة PPTX من عدد من المكونات مثل الأشكال التلقائية، والجداول، وكائنات OLE، والأشكال المجمعة، وإطارات الصور، وإطارات الفيديو، والموصلات والعناصر المختلفة الأخرى المتاحة لبناء عرض تقديمي. -في Aspose.Slides للغة بايثون عبر .NET، يتم تحويل كل عنصر على الشريحة إلى كائن Shape. بعبارة أخرى، كل عنصر على الشريحة هو إما كائن Shape أو كائن مشتق من كائن Shape. +تتكون شريحة العرض من مكونات مثل الأشكال التلقائية، الجداول، كائنات OLE، الأشكال المجمعة، إطارات الصور، إطارات الفيديو، الموصلات، وعناصر أخرى تُستخدم لبناء عرض. في Aspose.Slides for Python، يُمثَّل كل عنصر على الشريحة بواسطة كائن يُورث من الفئة [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) . -بنية PPTX معقدة، لذا على عكس PPT، حيث يمكن استخدام قفل عام لجميع أنواع الأشكال، هناك أنواع مختلفة من الأقفال لكل نوع شكل. فئة BaseShapeLock هي فئة القفل العامة لـ PPTX. الأنواع التالية من الأقفال مدعومة في Aspose.Slides للغة بايثون عبر .NET لـ PPTX. +هيكل PPTX معقد، لذا على عكس PPT حيث يمكن استخدام قفل عام لجميع أنواع الأشكال، تتطلب أنواع الأشكال المختلفة أقفالًا مختلفة. الفئة [BaseShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/baseshapelock/) هي الفئة العامة للقفل في PPTX. الأنواع التالية من الأقفال مدعومة في Aspose.Slides for Python لـ PPTX: -- AutoShapeLock تقفل الأشكال التلقائية. -- ConnectorLock تقفل الأشكال الموصل. -- GraphicalObjectLock تقفل الكائنات الرسومية. -- GroupshapeLock تقفل الأشكال المجمعة. -- PictureFrameLock تقفل إطارات الصور. +- [AutoShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshapelock/) يقفل الأشكال التلقائية. +- [ConnectorLock](https://reference.aspose.com/slides/python-net/aspose.slides/connectorlock/) يقفل الأشكال الموصل. +- [GraphicalObjectLock](https://reference.aspose.com/slides/python-net/aspose.slides/graphicalobjectlock/) يقفل الكائنات الرسومية. +- [GroupShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/groupshapelock/) يقفل الأشكال المجمعة. +- [PictureFrameLock](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/) يقفل إطارات الصور. + +أي فعل يُجرى على جميع كائنات الشكل في كائن [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) يُطبق على كامل العرض. -أي إجراء يتم تنفيذه على جميع كائنات Shape في كائن العرض التقديمي يتم تطبيقه على العرض التقديمي بالكامل. ## **تطبيق وإزالة الحماية** -تطبيق الحماية يضمن عدم إمكانية تعديل العرض التقديمي. إنها تقنية مفيدة لحماية محتوى العرض التقديمي. + +تطبيق الحماية يضمن عدم إمكانية تحرير العرض. وهي تقنية مفيدة لحماية محتوى العرض. + ### **تطبيق الحماية على أشكال PPTX** -توفر Aspose.Slides للغة بايثون عبر .NET فئة Shape للتعامل مع شكل على الشريحة. -كما تم الإشارة إليها سابقًا، تحتوي كل فئة شكل على فئة قفل شكل مرتبطة للحماية. تركز هذه المقالة على أقفال NoSelect و NoMove و NoResize. تضمن هذه الأقفال عدم إمكانية اختيار الأشكال (من خلال نقرات الماوس أو طرق الاختيار الأخرى)، ولا يمكن تحريكها أو تغيير حجمها. +توفر Aspose.Slides for Python الفئة [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) للعمل مع الأشكال على الشريحة. -تطبق نماذج الشيفرة التي تلي ذلك الحماية على جميع أنواع الأشكال في عرض تقديمي. +كما ذكرنا سابقًا، كل فئة شكل لديها فئة قفل شكل مرتبطة للحماية. تركز هذه المقالة على أقفال NoSelect و NoMove و NoResize. هذه الأقفال تضمن عدم إمكانية تحديد الأشكال (من خلال نقرات الفأرة أو طرق اختيار أخرى) وعدم إمكانية نقلها أو تغيير حجمها. +عينة الشيفرة التالية تطبق الحماية على جميع أنواع الأشكال في عرض. ```py import aspose.slides as slides -#Instantiate Presentation class that represents a PPTX file -with slides.Presentation(path + "RectPicFrame.pptx") as pres: - #ISlide object for accessing the slides in the presentation - slide = pres.slides[0] - - #Traversing through all the slides in the presentation - for slide in pres.slides: +# إنشاء كائن Presentation الذي يمثل ملف PPTX. +with slides.Presentation("Sample.pptx") as presentation: + # استعراض جميع الشرائح في العرض. + for slide in presentation.slides: + # استعراض جميع الأشكال في الشريحة. for shape in slide.shapes: - #if shape is autoshape if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Applying shapes locks - auto_shape_lock.position_locked = True - auto_shape_lock.select_locked = True - auto_shape_lock.size_locked = True - - #if shape is group shape + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Applying shapes locks - group_shape_lock.grouping_locked = True - group_shape_lock.position_locked = True - group_shape_lock.select_locked = True - group_shape_lock.size_locked = True - - #if shape is a connector + shape.shape_lock.grouping_locked = True + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Applying shapes locks - connector_lock.position_move = True - connector_lock.select_locked = True - connector_lock.size_locked = True - #if shape is picture frame + shape.shape_lock.position_move = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.PictureFrame: - #Type casting to pitcture frame shape and getting picture frame shape lock - picture_lock = shape.shape_lock - - #Applying shapes locks - picture_lock.position_locked = True - picture_lock.select_locked = True - picture_lock.size_locked = True - - #Saving the presentation file - pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True + # حفظ ملف العرض. + presentation.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) ``` ### **إزالة الحماية** -يمكن إزالة الحماية المطبقة باستخدام Aspose.Slides للغة بايثون عبر .NET فقط مع Aspose.Slides للغة بايثون عبر .NET. لإلغاء قفل شكل، قم بتعيين قيمة القفل المطبق إلى false. تظهر نموذج الشيفرة التي تلي ذلك كيفية إلغاء قفل الأشكال في عرض تقديمي مقفل. +لإلغاء قفل شكل، اضبط قيمة القفل المطبق إلى `False`. تُظهر عينة الشيفرة التالية كيفية إلغاء قفل الأشكال في عرض مقفل. ```py import aspose.slides as slides -#Open the desired presentation -with slides.Presentation("ProtectedSample.pptx") as pres: - for slide in pres.slides: +# إنشاء كائن Presentation الذي يمثل ملف PPTX. +with slides.Presentation("ProtectedSample.pptx") as presentation: + # استعراض جميع الشرائح في العرض. + for slide in presentation.slides: + # استعراض جميع الأشكال في الشريحة. for shape in slide.shapes: - - if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Applying shapes locks - auto_shape_lock.position_locked = False - auto_shape_lock.select_locked = False - auto_shape_lock.size_locked = False - - elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Applying shapes locks - group_shape_lock.grouping_locked = False - group_shape_lock.position_locked = False - group_shape_lock.select_locked = False - group_shape_lock.size_locked = False + if type(shape) is slides.AutoShape: + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + elif type(shape) is slides.GroupShape: + shape.shape_lock.grouping_locked = False + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Applying shapes locks - connector_lock.position_move = False - connector_lock.select_locked = False - connector_lock.size_locked = False + shape.shape_lock.position_move = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.PictureFrame: - picture_lock = shape.shape_lock - - #Applying shapes locks - picture_lock.position_locked = False - picture_lock.select_locked = False - picture_lock.size_locked = False - #Saving the presentation file - pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + # حفظ ملف العرض. + presentation.save("RemovedProtectionSample.pptx", slides.export.SaveFormat.PPTX) ``` +### **الخاتمة** + +توفر Aspose.Slides عدة خيارات لحماية الأشكال في عرض. يمكنك قفل شكل فردي أو التجول عبر جميع الأشكال في عرض وقفل كل واحد لتأمين الملف بالكامل بفعالية. يمكنك إزالة الحماية بضبط قيمة القفل إلى `False`. + +## **الأسئلة المتكررة** + +**هل يمكنني الجمع بين أقفال الشكل وحماية كلمة المرور في نفس العرض؟** + +نعم. الأقفال تحد من تحرير الكائنات داخل الملف، بينما [password protection](/slides/ar/python-net/password-protected-presentation/) يتحكم في الوصول إلى فتح وحفظ التغييرات. هذه الآليات تكمل بعضها وتعمل معًا. -### **الملخص** -{{% alert color="primary" %}} +**هل يمكنني تقييد التحرير على شرائح معينة دون التأثير على الأخريات؟** -يوفر Aspose.Slides عددًا من الخيارات لتطبيق الحماية على الأشكال في عرض تقديمي. من الممكن قفل شكل معين، أو الدوران عبر جميع الأشكال في عرض تقديمي وإغلاق جميعها لقفل العرض التقديمي بشكل فعال. +نعم. طبق الأقفال على الأشكال في الشرائح المختارة؛ الشرائح المتبقية ستظل قابلة للتحرير. -يمكن فقط لـ Aspose.Slides للغة بايثون عبر .NET إزالة الحماية من عرض تقديمي كان قد تم حمايته سابقًا. قم بإزالة الحماية من خلال تعيين قيمة القفل إلى false. +**هل تنطبق أقفال الشكل على الكائنات المجمعة والموصلات؟** -{{% /alert %}} \ No newline at end of file +نعم. يتم دعم أنواع أقفال مخصصة للمجموعات، الموصلات، الكائنات الرسومية، وغيرها من أنواع الأشكال. \ No newline at end of file diff --git a/ar/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md b/ar/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md index 816754443c..9f96209c1c 100644 --- a/ar/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md +++ b/ar/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md @@ -1,22 +1,32 @@ --- -title: استخراج الصور من أشكال العرض التقديمي +title: استخراج الصور من أشكال العرض التقديمي في Python +linktitle: صورة من الشكل type: docs weight: 90 url: /ar/python-net/extracting-images-from-presentation-shapes/ -keywords: "استخراج الصورة، PowerPoint، PPT، PPTX، عرض PowerPoint، بايثون، Aspose.Slides for Python" -description: "استخراج الصور من عرض PowerPoint في بايثون" +keywords: +- استخراج صورة +- استرجاع صورة +- خلفية الشريحة +- خلفية الشكل +- PowerPoint +- عرض تقديمي +- Python +- Aspose.Slides +description: "استخراج الصور من الأشكال في عروض PowerPoint وOpenDocument باستخدام Aspose.Slides للـ Python عبر .NET — حل سريع وصديق للمبرمجين." --- +## **استخراج الصور من الأشكال** + {{% alert color="primary" %}} -غالبًا ما تتم إضافة الصور إلى الأشكال وتستخدم أيضًا كخلفيات للشرائح. يتم إضافة كائنات الصورة من خلال [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)، وهي مجموعة من كائنات [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). +غالبًا ما يتم إضافة الصور إلى الأشكال وتُستخدم أيضًا بشكل متكرر كخلفيات للشرائح. يتم إضافة كائنات الصورة عبر [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)، وهي مجموعة من كائنات [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). -توضح هذه المقالة كيفية استخراج الصور المضافة إلى العروض التقديمية. +تشرح هذه المقالة كيفية استخراج الصور المضافة إلى العروض التقديمية. {{% /alert %}} -لاستخراج صورة من عرض تقديمي، يجب عليك تحديد موقع الصورة أولاً عن طريق المرور عبر كل شريحة ثم المرور عبر كل شكل. بمجرد العثور على الصورة أو تحديدها، يمكنك استخراجها وحفظها كملف جديد. XXX - +لاسترجاع صورة من عرض تقديمي، يجب أولًا تحديد موقع الصورة عبر المرور على كل شريحة ثم المرور على كل شكل. بمجرد العثور على الصورة أو تحديدها، يمكنك استخراجها وحفظها كملف جديد. XXX ```py import aspose.slides as slides @@ -54,7 +64,7 @@ with slides.Presentation("pres.pptx") as pres: is_layout = True if back_image is not None: - #تعيين تنسيق الصورة المطلوب + #ضبط تنسيق الصورة المطلوب image_type = back_image.content_type.split("/")[1] image_format = get_image_format(image_type) @@ -78,4 +88,23 @@ with slides.Presentation("pres.pptx") as pres: shape_image.image.save( file_name.format("shape_"+str(i)+"_", slideIndex, image_type), image_format) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني استخراج الصورة الأصلية دون أي قص أو تأثيرات أو تحويلات الشكل؟** + +نعم. عندما تصل إلى صورة الشكل، تحصل على كائن الصورة من [مجموعة الصور](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) الخاصة بالعرض التقديمي، وهو ما يعني البكسلات الأصلية دون قص أو تأثيرات تنسيق. تتنقل سير العمل عبر مجموعة صور العرض التقديمي وكائنات [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) التي تخزن البيانات الخام. + +**هل هناك خطر من تكرار ملفات متطابقة عند حفظ العديد من الصور مرة واحدة؟** + +نعم، إذا قمت بحفظ كل شيء دون تمييز. قد تحتوي [مجموعة الصور](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) الخاصة بالعرض التقديمي على بيانات ثنائية متطابقة يتم الإشارة إليها من قِبل أشكال أو شرائح مختلفة. لتجنب التكرار، قارن التجزئات أو الأحجام أو محتويات البيانات المستخرجة قبل الكتابة. + +**كيف يمكنني تحديد الأشكال المرتبطة بصورة معينة من مجموعة صور العرض التقديمي؟** + +لا يحتفظ Aspose.Slides بروابط عكسية من [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) إلى الأشكال. يمكنك إنشاء خريطة يدوية أثناء التجول: كلما وجدت إشارة إلى [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)، سجل الأشكال التي تستخدمه. + +**هل يمكنني استخراج الصور المضمنة داخل كائنات OLE، مثل المستندات المرفقة؟** + +ليس مباشرةً، لأن كائن OLE هو حاوية. تحتاج إلى استخراج حزمة OLE نفسها ثم تحليل محتوياتها باستخدام أدوات منفصلة. تعمل أشكال الصور في العروض التقديمية عبر [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)؛ OLE هو نوع كائن مختلف. \ No newline at end of file diff --git a/ar/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md b/ar/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md index da1a484a8c..574315dffb 100644 --- a/ar/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md +++ b/ar/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md @@ -1,5 +1,6 @@ --- -title: احصل على خلفية شريحة العرض كاملة كصورة +title: الحصول على خلفية الشريحة بالكامل من عرض تقديمي كصورة +linktitle: خلفية الشريحة بالكامل type: docs weight: 95 url: /ar/python-net/get-the-entire-presentation-slide-background-as-an-image/ @@ -7,28 +8,34 @@ keywords: - شريحة - خلفية - خلفية الشريحة -- الخلفية إلى صورة +- الخلفية النهائية +- تحويل الخلفية إلى صورة - PowerPoint +- OpenDocument +- عرض تقديمي - PPT - PPTX -- عرض PowerPoint -- بايثون -- Aspose.Slides for Python +- ODP +- Python +- Aspose.Slides +description: "استخراج خلفيات الشرائح الكاملة كصور من عروض PowerPoint وOpenDocument باستخدام Aspose.Slides for Python عبر .NET، لتبسيط سير العمل البصري." --- -في عروض PowerPoint، يمكن أن تتكون خلفية الشريحة من العديد من العناصر. بالإضافة إلى الصورة المخصصة كـ [خلفية الشريحة](/slides/ar/python-net/presentation-background/)، يمكن أن تتأثر الخلفية النهائية بموضوع العرض، ونظام الألوان، والأشكال الموضوعة على الشريحة الرئيسية وشريحة التخطيط. +## **احصل على خلفية الشريحة بالكامل** -لا توفر Aspose.Slides for Python طريقة بسيطة لاستخراج خلفية شريحة العرض كاملة كصورة، ولكن يمكنك اتباع الخطوات أدناه للقيام بذلك: -1. قم بتحميل العرض باستخدام فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +في عروض PowerPoint التقديمية، يمكن أن تتكون خلفية الشريحة من عدة عناصر. بالإضافة إلى الصورة المعينة كـ [خلفية الشريحة](/slides/ar/python-net/presentation-background/)، يمكن أن يتأثر الخلفية النهائية بموضوع العرض، مخطط الألوان، والأشكال الموضوعة على الشريحة الرئيسية وشريحة التخطيط. + +Aspose.Slides for Python لا توفر طريقة بسيطة لاستخراج خلفية الشريحة بالكامل كصورة، ولكن يمكنك اتباع الخطوات التالية للقيام بذلك: +1. حمّل العرض باستخدام الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. احصل على حجم الشريحة من العرض. 1. اختر شريحة. -1. أنشئ عرضًا تقديميًا مؤقتًا. -1. قم بتعيين نفس حجم الشريحة في العرض المؤقت. +1. أنشئ عرضًا مؤقتًا. +1. عيّن نفس حجم الشريحة في العرض المؤقت. 1. استنسخ الشريحة المحددة إلى العرض المؤقت. 1. احذف الأشكال من الشريحة المستنسخة. -1. قم بتحويل الشريحة المستنسخة إلى صورة. +1. حوِّل الشريحة المستنسخة إلى صورة. -مثال الكود التالي يستخرج خلفية شريحة العرض كاملة كصورة. +يستخرج مثال الشيفرة التالي خلفية الشريحة بالكامل كصورة. ```py slide_index = 0 image_scale = 1 @@ -46,4 +53,23 @@ with slides.Presentation("sample.pptx") as presentation: with cloned_slide.get_image(image_scale, image_scale) as background: background.save("output.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل سيتم الحفاظ على التدرجات المعقدة أو القوام أو تعبئة الصور من الشريحة الرئيسية في صورة الخلفية الناتجة؟** + +نعم. تقوم Aspose.Slides بإنشاء التدرجات وتعبئة الصور والقوام المحددة على الشريحة أو التخطيط أو الرئيسي. إذا كنت بحاجة إلى عزل المظهر عن الرؤوس الموروثة، [قم بتعيين خلفية خاصة](/slides/ar/python-net/presentation-background/) على الشريحة الحالية قبل التصدير. + +**هل يمكنني إضافة علامة مائية إلى صورة الخلفية الناتجة قبل حفظها؟** + +نعم. يمكنك [إضافة علامة مائية](/slides/ar/python-net/watermark/) كشكل أو صورة على نسخة [عمل من الشريحة](/slides/ar/python-net/clone-slides/) (موضوعة خلف المحتوى الآخر) ثم تصديرها. هذا يتيح لك إنشاء صورة خلفية مدمجة مع العلامة المائية. + +**هل يمكنني الحصول على الخلفية لتخطيط أو رئيس معين دون ربطها بشريحة موجودة؟** + +نعم. ادخل إلى الرئيسي أو التخطيط المطلوب، وطبقه على [شريحة مؤقتة](/slides/ar/python-net/clone-slides/) بالحجم المطلوب، ثم صدّر تلك الشريحة للحصول على الخلفية المستمدة من ذلك التخطيط أو الرئيسي. + +**هل هناك قيود ترخيص تؤثر على تصدير الصور؟** + +ميزات العرض متاحة بالكامل مع [رخصة صالحة](/slides/ar/python-net/licensing/). في وضع التقييم، قد يتضمن الناتج قيودًا مثل العلامة المائية. فعّل الرخصة مرة واحدة لكل عملية قبل تشغيل عمليات التصدير الدفعي. \ No newline at end of file diff --git a/ar/python-net/developer-guide/technical-articles/multithreading/_index.md b/ar/python-net/developer-guide/technical-articles/multithreading/_index.md index e835f283e6..90a3cdff7b 100644 --- a/ar/python-net/developer-guide/technical-articles/multithreading/_index.md +++ b/ar/python-net/developer-guide/technical-articles/multithreading/_index.md @@ -1,35 +1,34 @@ --- -title: المعالجة المتعدّدة الخيوط في Aspose.Slides لـ Python -linktitle: المعالجة المتعدّدة الخيوط +title: العمل المتوازي في Aspose.Slides للبايثون +linktitle: العمل المتوازي type: docs weight: 200 url: /ar/python-net/multithreading/ keywords: -- المعالجة المتعدّدة الخيوط -- خيوط متعددة - العمل المتوازي +- خيوط متعددة +- عمل متوازي - تحويل الشرائح - الشرائح إلى صور -- باوربوينت +- PowerPoint - OpenDocument -- العرض التقديمي +- عرض تقديمي - Python - Aspose.Slides -description: "تعزّز المعالجة المتعدّدة الخيوط في Aspose.Slides لـ Python معالجة ملفات PowerPoint و OpenDocument. اكتشف أفضل الممارسات لسير عمل العروض التقديمية بكفاءة." +description: "يعزز Aspose.Slides للبايثون عبر .NET باستخدام العمل المتوازي معالجة PowerPoint و OpenDocument. اكتشف أفضل الممارسات لتدفقات عمل العرض التقديمي الفعالة." --- ## **مقدمة** -بينما العمل المتوازي مع العروض التقديمية ممكن (بجانب التحليل/التحميل/النسخ) وكل شيء يسير بشكل جيد (معظم الأوقات)، هناك فرصة صغيرة قد تحصل فيها على نتائج غير صحيحة عند استخدام المكتبة في خيوط متعددة. +في حين أن العمل المتوازي مع العروض التقديمية ممكن (إلى جانب التحليل/التحميل/الاستنساخ) وكل شيء يسير على ما يرام (في معظم الأوقات)، هناك احتمال ضئيل أن تحصل على نتائج غير صحيحة عند استخدام المكتبة في عدة خيوط. -نوصي بشدة بعدم استخدام مثيل واحد من [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) في بيئة متعددة الخيوط لأنه قد يؤدي إلى أخطاء أو فشل غير متوقع يصعب اكتشافه. +نوصي بشدة **عدم** استخدام نسخة واحدة من [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) في بيئة متعددة الخيوط لأنه قد يؤدي إلى أخطاء أو فشل غير متوقع يصعب اكتشافه. -ليس من الآمن تحميل أو حفظ أو/و نسخ مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) في خيوط متعددة. مثل هذه العمليات **غير** مدعومة. إذا كنت بحاجة إلى أداء مهام من هذا القبيل، يجب عليك القيام بعمليات متوازية باستخدام عدة عمليات ذات خيط واحد - ويجب على كل من هذه العمليات استخدام مثيل خاص بها من العروض التقديمية. +ليس **آمنًا** تحميل، حفظ، أو استنساخ نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) في عدة خيوط. مثل هذه العمليات **غير** مدعومة. إذا كنت بحاجة إلى تنفيذ هذه المهام، عليك تنفيذها بشكل متوازي باستخدام عدة عمليات أحادية الخيط—ويجب على كل عملية من هذه العمليات استخدام نسخة خاصة بها من العرض التقديمي. -## **تحويل شرائح العرض التقديمي إلى صور بشكل متوازي** - -لنفرض أننا نريد تحويل جميع الشرائح من عرض تقديمي PowerPoint إلى صور PNG بشكل متوازي. نظرًا لأنه ليس من الآمن استخدام مثيل واحد من `Presentation` في خيوط متعددة، نقوم بتقسيم شرائح العرض التقديمي إلى عروض تقديمية منفصلة ونحول الشرائح إلى صور بشكل متوازي، باستخدام كل عرض تقديمي في خيط منفصل. يوضح مثال الكود التالي كيفية القيام بذلك. +## **تحويل شرائح Presentation إلى صور بشكل متوازي** +لنفترض أننا نريد تحويل جميع الشرائح من عرض PowerPoint إلى صور PNG بشكل متوازي. نظرًا لأن استخدام نسخة واحدة من `Presentation` في عدة خيوط غير آمن، نقسم شرائح العرض إلى عروض تقديمية منفصلة ونحول الشرائح إلى صور بشكل متوازي، باستخدام كل عرض في خيط منفصل. يوضح مثال الشيفرة التالي كيفية القيام بذلك. ```py input_file_path = "sample.pptx" output_file_path_template = "slide_{0}.png" @@ -63,9 +62,28 @@ with ThreadPoolExecutor() as thread_executor: for index in range(slide_count): conversion_tasks.append(thread_executor.submit(convert_slide, index)) -# انتظر حتى تكتمل جميع المهام. +# انتظر إكمال جميع المهام. for task in conversion_tasks: task.result() del presentation -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل أحتاج إلى استدعاء إعداد الترخيص في كل خيط؟** + +لا. يكفي القيام بذلك مرة واحدة لكل عملية/مجال تطبيق قبل بدء الخيوط. إذا كان قد يتم استدعاء [إعداد الترخيص](/slides/ar/python-net/licensing/) بشكل متزامن (على سبيل المثال، أثناء التهيئة البطيئة)، قم بمزامنة هذا الاستدعاء لأن طريقة إعداد الترخيص نفسها غير آمنة في الخيوط. + +**هل يمكنني تمرير كائنات `Presentation` أو `Slide` بين الخيوط؟** + +تمرير كائنات العرض "الحية" بين الخيوط غير موصى به: استخدم نسخ مستقلة لكل خيط أو أنشئ عروض/حاويات شرائح منفصلة لكل خيط مسبقًا. يتبع هذا النهج التوصية العامة بعدم مشاركة نسخة عرض واحدة عبر الخيوط. + +**هل من الآمن تنفيذ تصدير متوازي إلى صيغ مختلفة (PDF، HTML، صور) بشرط أن يكون لكل خيط نسخة `Presentation` خاصة به؟** + +نعم. باستخدام نسخ مستقلة ومسارات إخراج منفصلة، عادةً ما تتوازى هذه المهام بشكل صحيح؛ تجنب أي كائنات عرض مشتركة وتدفقات I/O مشتركة. + +**ماذا عليّ أن أفعل بإعدادات الخطوط العامة (المجلدات، الاستبدالات) في بيئة متعددة الخيوط؟** + +قم بتهيئة جميع إعدادات الخطوط العامة قبل بدء الخيوط ولا تغيرها أثناء العمل المتوازي. هذا يلغي حالات السباق عند الوصول إلى موارد الخطوط المشتركة. \ No newline at end of file diff --git a/ar/python-net/getting-started/features-overview/_index.md b/ar/python-net/getting-started/features-overview/_index.md index 9e4aac48d1..307ee47b90 100644 --- a/ar/python-net/getting-started/features-overview/_index.md +++ b/ar/python-net/getting-started/features-overview/_index.md @@ -3,77 +3,116 @@ title: نظرة عامة على الميزات type: docs weight: 20 url: /ar/python-net/features-overview/ +keywords: +- الميزات +- المنصات المدعومة +- تنسيق الملف +- التحويل +- العرض +- الطباعة +- التنسيق +- PowerPoint +- OpenDocument +- العرض التقديمي +- Python +- Aspose.Slides +description: "اكتشف Aspose.Slides for Python via .NET: واجهة برمجة تطبيقات قوية لإنشاء وتحرير وأتمتة وتحويل عروض PowerPoint وعروض OpenDocument بكفاءة." --- ## **المنصات المدعومة** -يمكن استخدام منصات Aspose.Slides لـ Python عبر .NET على Windows x64 أو x86 ومجموعة واسعة من توزيعات Linux مع تثبيت Python 3.5 أو أحدث. هناك متطلبات إضافية للمنصة المستهدفة على Linux: -- مكتبات تشغيل GCC-6 (أو أحدث) -- تبعيات .NET Core Runtime. لا يتطلب تثبيت .NET Core Runtime نفسه -- لـ Python 3.5-3.7: يحتاج إلى بناء `pymalloc` من Python. يتم تمكين خيار بناء Python `--with-pymalloc` بشكل افتراضي. عادةً ما يتم تمييز بناء `pymalloc` من Python باللاحقة `m` في اسم الملف. -- مكتبة Python المشتركة `libpython`. يتم تعطيل خيار بناء Python `--enable-shared` بشكل افتراضي، ولا تحتوي بعض توزيعات Python على مكتبة `libpython` المشتركة. بالنسبة لبعض منصات linux، يمكن تثبيت مكتبة `libpython` المشتركة باستخدام إدارة الحزم، على سبيل المثال: `sudo apt-get install libpython3.7`. المشكلة الشائعة هي أن مكتبة `libpython` مثبتة في موقع مختلف عن الموقع القياسي للنظام للمكتبات المشتركة. يمكن إصلاح المشكلة باستخدام خيارات بناء Python لتعيين مسارات المكتبات البديلة عند تجميع Python، أو من خلال إنشاء رابط رمزي إلى ملف مكتبة `libpython` في الموقع القياسي للنظام للمكتبات المشتركة. عادةً، يكون اسم ملف المكتبة المشتركة `libpython` هو `libpythonX.Ym.so.1.0` لـ Python 3.5-3.7، أو `libpythonX.Y.so.1.0` لـ Python 3.8 أو أحدث (على سبيل المثال: `libpython3.7m.so.1.0`، `libpython3.9.so.1.0`). +يمكن استخدام منصة Aspose.Slides for Python via .NET على نظام ويندوز x64 أو x86 ومجموعة واسعة من توزيعات لينكس مع تثبيت Python 3.5 أو أحدث. هناك متطلبات إضافية لمنصة لينكس المستهدفة: +- مكتبات وقت تشغيل GCC-6 (أو أحدث) +- اعتمادات .NET Core Runtime. تثبيت .NET Core Runtime نفسه ليس مطلوبًا +- لـ Python 3.5-3.7: تحتاج إلى بناء Python مع `pymalloc`. خيار بناء Python `--with-pymalloc` مفعل افتراضيًا. عادةً ما يُشار إلى بناء `pymalloc` للـ Python باللاحقة `m` في اسم الملف. +- `libpython` مكتبة Python المشتركة. الخيار `--enable-shared` في بناء Python معطل افتراضيًا، وبعض توزيعات Python لا تحتوي على مكتبة `libpython` المشتركة. لبعض منصات لينكس، يمكن تثبيت مكتبة `libpython` المشتركة باستخدام مدير الحزم، على سبيل المثال: `sudo apt-get install libpython3.7`. المشكلة الشائعة هي أن مكتبة `libpython` تُثبت في موقع مختلف عن الموقع القياسي للنظام للمكتبات المشتركة. يمكن حل المشكلة باستخدام خيارات بناء Python لتحديد مسارات مكتبة بديلة عند تجميع Python، أو عن طريق إنشاء رابط رمزي إلى ملف مكتبة `libpython` في الموقع القياسي للمكتبات المشتركة. عادةً ما يكون اسم ملف مكتبة `libpython` المشتركة `libpythonX.Ym.so.1.0` لـ Python 3.5-3.7، أو `libpythonX.Y.so.1.0` لـ Python 3.8 أو أحدث (مثال: `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). + إذا كنت تحتاج إلى دعم المزيد من المنصات، ابحث عن منتجات "الأخوة التوأم" Aspose.Slides for .NET أو Aspose.Slides for Java. -إذا كنت بحاجة إلى دعم لمزيد من المنصات، ابحث عن المنتجات "الأخ التوأم" Aspose.Slides لـ .NET أو Aspose.Slides لـ Java. - -## **صياغات الملفات والتحويلات** -تدعم Aspose.Slides لـ Python عبر .NET معظم صيغ مستندات PowerPoint. كما أنها تتيح لك تصديرها إلى الصيغ الشائعة التي تستخدمها المؤسسات وتتناقلها فيما بينها بشكل واسع. اطلع على التفاصيل التالية: +## **تنسيقات الملفات والتحويلات** +يدعم Aspose.Slides for Python via .NET معظم تنسيقات مستندات PowerPoint. كما يتيح لك تصديرها إلى التنسيقات الشائعة التي تستخدمها المؤسسات على نطاق واسع وتبادلها فيما بينها. اطلع على التفاصيل التالية: |**الميزة**|**الوصف**| | :- | :- | -|[Microsoft PowerPoint (PPT)](/slides/ar/python-net/ppt-vs-pptx/)|توفر Aspose.Slides لـ Python عبر .NET أسرع معالجة لهذا التنسيق من مستندات العروض التقديمية.| -|[تحويل PPT إلى PPTX](/slides/ar/python-net/convert-ppt-to-pptx/)|تدعم Aspose.Slides لـ Python عبر .NET تحويل PPT إلى PPTX.| -|[تنسيق المستندات المحمولة (PDF)](/slides/ar/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|يمكنك تصدير جميع صيغ الملفات المدعومة إلى مستندات تنسيق المستندات المحمولة من Adobe (PDF) باستخدام طريقة واحدة.| -|[موا Specifications XML Parser (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|يمكنك تصدير جميع صيغ الملفات المدعومة إلى مستندات موا Specifications XML Parser (XPS) باستخدام طريقة واحدة.| -|[تنسيق ملف الصورة المرفق (TIFF)](/slides/ar/python-net/convert-powerpoint-to-tiff/)|يمكنك تصدير جميع صيغ ملفات العروض التقديمية المدعومة إلى تنسيق ملف الصورة المرفق (TIFF).| -|[تحويل PPTX إلى HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|تدعم Aspose.Slides لـ Python عبر .NET تحويل PresentationEx إلى تنسيق HTML.| +|[مايكروسوفت PowerPoint (PPT)](/slides/ar/python-net/ppt-vs-pptx/)|يوفر Aspose.Slides for Python via .NET أسرع معالجة لهذا تنسيق مستند العرض.| +|[تحويل PPT إلى PPTX](/slides/ar/python-net/convert-ppt-to-pptx/)|يدعم تحويل PPT إلى PPTX.| +|[تنسيق المستندات القابل للنقل (PDF)](/slides/ar/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|يمكنك تصدير جميع تنسيقات الملفات المدعومة إلى مستندات Adobe Portable Document Format (PDF) باستخدام طريقة واحدة.| +|[مواصفات محلل XML (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|يمكنك تصدير جميع تنسيقات الملفات المدعومة إلى مستندات مواصفات محلل XML (XPS) باستخدام طريقة واحدة.| +|[تنسيق ملف الصورة الموسومة (TIFF)](/slides/ar/python-net/convert-powerpoint-to-tiff/)|يمكنك تصدير جميع تنسيقات ملفات العروض المدعومة إلى تنسيق ملف الصورة الموسومة (TIFF).| +|[تحويل PPTX إلى HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|يدعم Aspose.Slides for Python via .NET تحويل PresentationEx إلى تنسيق HTML.| ## **العرض والطباعة** -تدعم Aspose.Slides لـ Python عبر .NET العرض بدقة عالية للشرائح في مستندات العروض التقديمية إلى صيغ الرسوميات المختلفة. اطلع على التفاصيل التالية: +يدعم Aspose.Slides for Python via .NET تقديمًا عالي الدقة للشرائح في مستندات العرض إلى تنسيقات رسومية متنوعة. اطلع على التفاصيل التالية: |**الميزة**|**الوصف**| | :- | :- | -|صيغ الصور المدعومة من .NET|مع Aspose.Slides لـ Python عبر .NET، يمكنك عرض شرائح العروض التقديمية والصور على الشرائح إلى جميع صيغ الرسوميات المدعومة من .NET مثل TIFF و PNG و BMP و JPEG و GIF والصور الميتافايل.| -|تنسيق SVG|توفر Aspose.Slides لـ Python عبر .NET أيضًا طرق مدمجة تسمح لك بتصدير شرائح العروض التقديمية إلى صيغ الرسوميات المتجهة القابلة للتطوير (SVG).| -|طباعة العروض التقديمية|توفر النسخ الأحدث من Aspose.Slides لـ Python عبر .NET طرق طباعة مدمجة مع خيارات مختلفة.| +|تنسيقات الصور المدعومة في .NET|مع Aspose.Slides for Python via .NET، يمكنك تقديم شرائح العرض والصور على الشرائح إلى جميع تنسيقات الرسوم المدعومة في .NET مثل TIFF و PNG و BMP و JPEG و GIF والملفات التعريفية.| +|تنسيق SVG|كما يوفر Aspose.Slides for Python via .NET طرقًا مدمجة تتيح لك تصدير شرائح العرض إلى تنسيقات الرسومات المتجهة القابلة للتوسيع (SVG).| +|طباعة العروض|توفر الإصدارات الأخيرة من Aspose.Slides for Python via .NET طرق طباعة مدمجة مع خيارات متنوعة.| ## **ميزات المحتوى** -تتيح لك Aspose.Slides لـ Python عبر .NET الوصول إلى وتعديل أو إنشاء تقريبًا جميع العناصر أو المحتويات في مستندات العروض التقديمية. اطلع على التفاصيل التالية: +يسمح Aspose.Slides for Python via .NET لك بالوصول إلى، تعديل، أو إنشاء تقريبًا جميع العناصر أو محتويات مستندات العرض. اطلع على التفاصيل التالية: |**الميزة**|**الوصف**| | :- | :- | -|الشرائح الرئيسية|تعرف الشرائح الرئيسية تخطيط الشرائح العادية. تتيح Aspose.Slides لـ Python عبر .NET الوصول إلى وتعديل الشرائح الرئيسية لمستندات العروض التقديمية| -|الشرائح العادية|مع Aspose.Slides لـ Python عبر .NET، يمكنك إنشاء شرائح جديدة من أنواع مختلفة؛ كما يمكنك الوصول إلى وتعديل الشرائح الموجودة في العروض التقديمية| -|تكرار / نسخ الشرائح|هناك طرق مدمجة توفرها Aspose.Slides لـ Python عبر .NET تسمح لك بتكرار أو نسخ الشرائح الموجودة ضمن عرض تقديمي. كما يمكنك استخدام الشرائح المنسوخة والمكررة من عرض تقديمي إلى آخر. نظرًا لأن الشريحة ترث تخطيطها من الشريحة الرئيسية، فإن طرق التكرار المدمجة تنسخ تلقائيًا الرئيسية عند التكرار| -|إدارة أقسام الشرائح|طرق لتنظيم الشرائح في أقسام مختلفة داخل عرض تقديمي| -|عناصر التثبيت وعناصر النص|يمكنك الوصول إلى عناصر التثبيت وعناصر النص في شريحة. علاوة على ذلك، يمكنك إنشاء شريحة مع عناصر نص من البداية باستخدام الطريقة المناسبة| -|الترويسات والتذييلات|تسهل Aspose.Slides لـ Python عبر .NET التعامل مع الترويسات/التذييلات في الشرائح| -|الملاحظات في الشرائح|مع Aspose.Slides لـ Python عبر .NET، يمكنك الوصول إلى وتعديل الملاحظات المرتبطة بشريحة وإضافة ملاحظات جديدة| -|البحث عن شكل|يمكنك أيضًا العثور على شكل معين من شريحة باستخدام النص البديل المرتبط بالشكل| -|الخلفيات|تسمح لك Aspose.Slides لـ Python عبر .NET بالعمل مع الخلفيات المرتبطة بالشريحة الرئيسية أو العادية في عرض تقديمي| -|مربعات النص|يمكن إنشاء مربعات النص من الصفر. يمكنك الوصول إلى مربعات النص الحالية. كما يمكنك تعديل نصوصها دون فقدان تنسيق النص الأصلي| -|أشكال المستطيل|يمكنك إنشاء أو تعديل أشكال المستطيل باستخدام Aspose.Slides لـ Python عبر .NET| -|أشكال الخط المتعدد|يمكنك إنشاء أو تعديل أشكال الخط المتعدد باستخدام Aspose.Slides لـ Python عبر .NET| -|أشكال القطع الناقص|يمكنك إنشاء أو تعديل أشكال القطع الناقص باستخدام Aspose.Slides لـ Python عبر .NET| -|أشكال المجموعة| تدعم Aspose.Slides لـ Python عبر .NET أشكال المجموعة| -|أشكال تلقائية|تدعم Aspose.Slides لـ Python عبر .NET الأشكال التلقائية| -|SmartArt|توفر Aspose.Slides لـ Python عبر .NET دعمًا لأشكال SmartArt في PowerPoint| -|الرسوم البيانية|تدعم Aspose.Slides لـ Python عبر .NET الرسوم البيانية MSO في PowerPoint| -|تسلسل الأشكال| تدعم Aspose.Slides لـ Python عبر .NET عددًا كبيرًا من الأشكال. عندما تفتقر Aspose.Slides لـ Python عبر .NET إلى دعم شكل معين، يمكنك استخدام طريقة تسلسل من خلالها يمكنك تسلسل هذا الشكل من شريحة موجودة. بهذه الطريقة، يمكنك استخدام الشكل حسب متطلباتك| -|إطارات الصور|يمكنك إدارة الصور في إطارات الصور باستخدام Aspose.Slides لـ Python عبر .NET| -|إطارات الصوت|يمكنك ربط أو تضمين ملفات الصوت في إطارات الصوت على الشرائح باستخدام Aspose.Slides لـ Python عبر .NET| -|إطارات الفيديو| يمكنك إدارة ملفات الفيديو في إطارات الفيديو. كما تقدم Aspose.Slides لـ Python عبر .NET دعمًا للفيديوهات المرتبطة والمضمنة| -|إطار OLE| يمكنك إدارة كائنات OLE في إطارات OLE باستخدام Aspose.Slides لـ Python عبر .NET| -|الجداول|تدعم Aspose.Slides لـ Python عبر .NET الجداول في الشرائح| -|عناصر التحكم ActiveX|دعم عناصر التحكم ActiveX| -|ماكرو VBA|دعم إدارة ماكرو VBA داخل العروض التقديمية.| -|إطار النص|يمكنك الوصول إلى النص مع أي شكل من خلال إطار النص المرتبط بذلك الشكل| -|مسح النص|يمكنك مسح النص في عرض تقديمي على مستوى العرض أو الشريحة من خلال طرق المسح المدمجة.| -|الرسوم المتحركة|يمكنك تطبيق الرسوم المتحركة على الأشكال| -|العروض التقديمية|تدعم Aspose.Slides لـ Python عبر .NET العروض التقديمية وانتقالات الشرائح| +|الشرائح الرئيسية|تحدد الشرائح الرئيسية تخطيط الشرائح العادية. يتيح Aspose.Slides for Python via .NET الوصول إلى الشرائح الرئيسية وتعديلها في مستندات العرض.| +|الشرائح العادية|مع Aspose.Slides for Python via .NET، يمكنك إنشاء شرائح جديدة من أنواع مختلفة؛ كما يمكنك الوصول إلى الشرائح الحالية وتعديلها في العروض.| +|استنساخ / نسخ الشرائح|توفر Aspose.Slides for Python via .NET طرقًا مدمجة تتيح لك استنساخ أو نسخ الشرائح الموجودة داخل عرضٍ ما. يمكنك أيضًا استخدام الشرائح المنسوخة أو المستنسخة من عرض إلى آخر. نظرًا لأن الشريحة تورث تخطيطها من الشريحة الرئيسية، تقوم طرق الاستنساخ المدمجة بنسخ الشريحة الرئيسية تلقائيًا عند الاستنساخ.| +|إدارة أقسام الشرائح|طرق لتنظيم الشرائح في أقسام مختلفة داخل العرض.| +|العناصر النائبة وحاملي النص|يمكنك الوصول إلى العناصر النائبة وحاملي النص في الشريحة. علاوةً على ذلك، يمكنك إنشاء شريحة تحتوي على حاملي نص من الصفر باستخدام الطريقة المناسبة.| +|رؤوس وتذييلات|يسهل Aspose.Slides for Python via .NET التعامل مع الرؤوس والتذييلات في الشرائح.| +|ملاحظات في الشرائح|مع Aspose.Slides for Python via .NET، يمكنك الوصول إلى الملاحظات المرتبطة بالشريحة وتعديلها، وكذلك إضافة ملاحظات جديدة.| +|البحث عن شكل|يمكنك أيضًا العثور على شكل معين في شريحة باستخدام النص البديل المرتبط بالشكل.| +|الخلفيات|يسمح Aspose.Slides for Python عبر .NET بالعمل مع الخلفيات المرتبطة بشريحة رئيسية أو عادية في العرض.| +|صناديق النص|يمكن إنشاء صناديق النص من الصفر. يمكنك الوصول إلى صناديق النص الموجودة. كما يمكنك تعديل نصوصها دون فقدان تنسيق النص الأصلي.| +|أشكال المستطيل|يمكنك إنشاء أو تعديل أشكال المستطيل باستخدام Aspose.Slides for Python عبر .NET.| +|أشكال الخط المتعدد|يمكنك إنشاء أو تعديل أشكال الخط المتعدد باستخدام Aspose.Slides for Python عبر .NET.| +|أشكال القطع الناقص|يمكنك إنشاء أو تعديل أشكال القطع الناقص باستخدام Aspose.Slides for Python عبر .NET.| +|أشكال المجموعة|يدعم Aspose.Slides for Python عبر .NET أشكال المجموعة.| +|الأشكال التلقائية|يدعم Aspose.Slides for Python عبر .NET الأشكال التلقائية.| +|SmartArt|يوفر Aspose.Slides for Python عبر .NET دعمًا لأشكال SmartArt في MS PowerPoint.| +|المخططات|يوفر Aspose.Slides for Python عبر .NET دعمًا لمخططات MSO في PowerPoint.| +|تسلسل الأشكال|يدعم Aspose.Slides for Python عبر .NET عددًا كبيرًا من الأشكال. عندما يفتقر Aspose.Slides for Python عبر .NET إلى دعم شكل معين، يمكنك استخدام طريقة تسلسل تسمح لك بتسلسل ذلك الشكل من شريحة موجودة. بهذه الطريقة، يمكنك استخدام الشكل لاحقًا حسب احتياجاتك.| +|إطارات الصور|يمكنك إدارة الصور داخل إطارات الصور باستخدام Aspose.Slides for Python عبر .NET.| +|إطارات الصوت|يمكنك ربط ملفات الصوت أو تضمينها في إطارات الصوت على الشرائح باستخدام Aspose.Slides for Python عبر .NET.| +|إطارات الفيديو|يمكنك التعامل مع ملفات الفيديو في إطارات الفيديو. كما يوفر Aspose.Slides for Python عبر .NET دعمًا للفيديوهات المرتبطة والمضمنة.| +|إطار OLE|يمكنك إدارة كائنات OLE في إطارات OLE باستخدام Aspose.Slides for Python عبر .NET.| +|الجداول|يدعم Aspose.Slides for Python عبر .NET الجداول في الشرائح.| +|عناصر التحكم ActiveX|دعم عناصر التحكم ActiveX.| +|ماكرو VBA|دعم إدارة ماكرو VBA داخل العروض.| +|إطار النص|يمكنك الوصول إلى النص داخل أي شكل عبر إطار النص المرتبط بذلك الشكل.| +|مسح النص|يمكنك مسح النص في العرض على مستوى العرض أو الشريحة باستخدام طرق المسح المدمجة.| +|الرسوم المتحركة|يمكنك تطبيق الرسوم المتحركة على الأشكال.| +|عروض الشرائح|يدعم Aspose.Slides for Python عبر .NET عروض الشرائح وانتقالات الشرائح.| ## **ميزات التنسيق** -مع Aspose.Slides لـ Python عبر .NET، يمكنك تنسيق النصوص والأشكال على الشرائح في العروض التقديمية. اطلع على التفاصيل التالية: +مع Aspose.Slides for Python عبر .NET، يمكنك تنسيق النصوص والأشكال على الشرائح في العروض. اطلع على التفاصيل التالية: |**الميزة**|**الوصف**| | :- | :- | -|تنسيق النص|

في Aspose.Slides لـ Python عبر .NET، يمكنك إدارة النصوص من خلال إطارات النص المرتبطة بالأشكال. وبالتالي، يمكنك تنسيق النصوص باستخدام الفقرات والأجزاء المرتبطة بإطارات النص. يمكن تنسيق هذه العناصر النصية من خلال Aspose.Slides لـ Python عبر .NET.

- نوع الخط

- حجم الخط

- لون الخط

- ظلال الخط

- محاذاة الفقرة

- تعداد الفقرة

- اتجاه الفقرة

| -|تنسيق الشكل|

في Aspose.Slides لـ Python عبر .NET، العنصر الأساسي للشريحة هو الشكل. يمكنك تنسيق عناصر الشكل هذه باستخدام Aspose.Slides لـ Python عبر .NET:

- الموضع

- الحجم

- الخط

- التعبئة (بما في ذلك النمط ، التدرج ، الصلب)

- النص

- الصورة

| \ No newline at end of file +|تنسيق النص|

في Aspose.Slides for Python عبر .NET، يمكنك إدارة النصوص عبر إطارات النص المرتبطة بالأشكال. وبالتالي، يمكنك تنسيق النصوص باستخدام الفقرات والأقسام المرتبطة بإطارات النص. يمكن تنسيق هذه العناصر النصية عبر Aspose.Slides for Python عبر .NET.

- نوع الخط

- حجم الخط

- لون الخط

- تدرجات الخط

- محاذاة الفقرة

- تعداد الفقرة

- اتجاه الفقرة

| +|تنسيق الشكل|

في Aspose.Slides for Python عبر .NET، العنصر الأساسي للشرائح هو الشكل. يمكنك تنسيق هذه العناصر الشكلية باستخدام Aspose.Slides for Python عبر .NET:

- الموضع

- الحجم

- الخط

- التعبئة (بما في ذلك النمط، التدرج، الصلب)

- النص

- الصورة

| + +## **الأسئلة المتكررة** + +**هل أحتاج إلى تثبيت Microsoft PowerPoint على الخادم/الكمبيوتر لتعمل المكتبة؟** + +لا. لا يلزم وجود PowerPoint؛ فـ Aspose.Slides هو محرك مستقل لإنشاء العروض، تحريرها، تحويلها، وعرضها. + +**كيف يعمل التنفيذ المتعدد الخيوط؟ هل يمكن تعدد عمليات المعالجة؟** + +من الآمن معالجة مستندات مختلفة في خيوط مختلفة؛ لا يجوز استخدام نفس [presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) كائنًا في [multiple threads](/slides/ar/python-net/multithreading/) في نفس الوقت. + +**هل يتم دعم كلمات مرور الملفات والتشفير؟** + +نعم. [You can](/slides/ar/python-net/password-protected-presentation/) فتح العروض المشفرة، تعيين أو إزالة كلمة مرور الفتح والكتابة، والتحقق من حالة الحماية. + +**هل يجب أن أهتم بحزم الخطوط في حاويات لينكس؟** + +نعم. يُنصح بتثبيت حزم الخطوط الشائعة و/أو تحديد [specify font directories](/slides/ar/python-net/custom-font/) صراحةً في تطبيقك لتجنب الاستبدالات غير المتوقعة. + +**هل توجد قيود في نسخة التقييم؟** + +في [evaluation mode](/slides/ar/python-net/licensing/)، تُضاف علامة مائية إلى المخرجات وتُطبق بعض القيود؛ هناك [30-day temporary license](https://purchase.aspose.com/temporary-license/) متاحة لاختبار كامل الميزات. + +**هل يدعم استيراد التنسيقات الخارجية إلى عرض (PDF/HTML → PPTX)؟** + +نعم. يمكنك إضافة [PDF pages and HTML content](/slides/ar/python-net/import-presentation/) إلى عرض، وتحويلها إلى شرائح. \ No newline at end of file diff --git a/ar/python-net/getting-started/metered-licensing/_index.md b/ar/python-net/getting-started/metered-licensing/_index.md index 7044958987..7d08cbb30a 100644 --- a/ar/python-net/getting-started/metered-licensing/_index.md +++ b/ar/python-net/getting-started/metered-licensing/_index.md @@ -1,56 +1,88 @@ --- -title: الترخيص المقنن +title: ترخيص القياس type: docs weight: 90 url: /ar/python-net/metered-licensing/ +keywords: +- ترخيص +- ترخيص القياس +- مفاتيح الترخيص +- المفتاح العام +- المفتاح الخاص +- كمية الاستهلاك +- Python +- Aspose.Slides +description: "تعرف على كيفية تمكين Aspose.Slides for Python عبر .NET من الترخيص القائم على الاستهلاك لمعالجة ملفات PowerPoint وOpenDocument بمرونة، ودفع فقط مقابل ما تستخدمه." --- +## **تطبيق مفاتيح القياس** + {{% alert color="primary" %}} -الترخيص المقنن هو آلية ترخيص جديدة يمكن استخدامها جنبًا إلى جنب مع أساليب الترخيص الحالية. إذا كنت ترغب في أن يتم فاتورتك بناءً على استخدامك لميزات واجهة برمجة التطبيقات Aspose.Slides، يمكنك اختيار الترخيص المقنن. +ترخيص القياس هو آلية ترخيص جديدة يمكن استخدامها إلى جانب طرق الترخيص الموجودة. إذا كنت تريد أن تُفوتر بناءً على استخدامك لميزات Aspose.Slides API، فستختار ترخيص القياس. -عند شراء ترخيص مقنن، ستحصل على مفاتيح (وليس ملف ترخيص). يمكن تطبيق هذا المفتاح المقنن باستخدام فئة [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) التي وفرتها Aspose لعمليات القياس. لمزيد من التفاصيل، انظر [أسئلة شائعة حول الترخيص المقنن](https://purchase.aspose.com/faqs/licensing/metered). +عند شرائك لترخيص قياس، تحصل على مفاتيح (وليس ملف ترخيص). يمكن تطبيق هذا المفتاح المقِّـيس باستخدام الفئة [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) التي وفرتها Aspose لعمليات القياس. للمزيد من التفاصيل، راجع [الأسئلة المتكررة لترخيص القياس](https://purchase.aspose.com/faqs/licensing/metered). {{% /alert %}} -1. قم بإنشاء مثيل من فئة [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). -1. مرر مفاتيحك العامة والخاصة إلى طريقة `set_metered_key`. -1. قم ببعض المعالجة (قم بأداء المهام). -1. استدعاء طريقة `get_consumption_quantity()` من فئة Metered. - - ينبغي أن ترى كمية/عدد طلبات API التي استهلكتها حتى الآن. +1. إنشاء مثيل للفئة [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). +1. تمرير المفاتيح العامة والخاصة إلى الطريقة [set_metered_key](https://reference.aspose.com/slides/python-net/aspose.slides/metered/set_metered_key/#str-str). +1. إجراء بعض المعالجة (أداء المهام). +1. استدعاء طريقة [get_consumption_quantity](https://reference.aspose.com/slides/python-net/aspose.slides/metered/get_consumption_quantity/#) للفئة `Metered`. -هذا الكود بلغة بايثون يوضح لك كيفية تعيين المفاتيح العامة والخاصة المقننة: +يجب أن ترى كمية/عدد طلبات API التي استهلكتها حتى الآن. +يُظهر لك هذا المثال البرمجي كيفية استخدام ترخيص القياس: ```python import aspose.slides as slides -# ينشئ مثيل من فئة CAD Metered +# إنشاء مثيل لفئة Metered metered = slides.Metered() -# الوصول إلى خاصية set_metered_key وتمرير المفاتيح العامة والخاصة كمعلمات -metered.set_metered_key("*****", "*****") - -# الحصول على كمية البيانات المقننة قبل استدعاء واجهة برمجة التطبيقات -amountbefore = slides.metered.get_consumption_quantity() -# عرض المعلومات -print("المبلغ المستهلك قبل: " + str(amountbefore)) - -# تحميل المستند من القرص. -with slides.Presentation("Presentation.pptx") as pres: - # يحصل على عدد صفحات المستند - print(len(pres.slides)) - # حفظ كملف PDF - pres.save("out_pdf.pdf", slides.export.SaveFormat.PDF) - -# يحصل على كمية البيانات المقننة بعد استدعاء واجهة برمجة التطبيقات -amountafter = slides.metered.get_consumption_quantity() -# عرض المعلومات -print("المبلغ المستهلك بعد: " + str(amountafter)) +# تمرير المفاتيح العامة والخاصة إلى كائن Metered +metered.set_metered_key("", "") + +# الحصول على قيمة الكمية المستهلكة قبل استدعاءات API +amount_before = slides.Metered.get_consumption_quantity() +print("Amount consumed before:", amount_before) + +# تنفيذ شيء باستخدام Aspose.Slides API هنا +# ... + +# الحصول على قيمة الكمية المستهلكة بعد استدعاءات API +amount_after = slides.Metered.get_consumption_quantity() +print("Amount consumed after:", amount_after) ``` -{{% alert color="warning" title="ملحوظة" %}} -للاستخدام الترخيص المقنن، تحتاج إلى اتصال إنترنت مستقر لأن آلية الترخيص تستخدم الإنترنت للتفاعل المستمر مع خدماتنا وإجراء الحسابات. +{{% alert color="warning" title="NOTE" %}} + +لاستخدام ترخيص القياس، تحتاج إلى اتصال إنترنت ثابت لأن آلية الترخيص تستخدم الإنترنت للتفاعل المستمر مع خدماتنا وإجراء الحسابات. + +{{% /alert %}} + +## **الأسئلة الشائعة** + +**هل يمكنني استخدام ترخيص قياس مع ترخيص عادي (دائم أو مؤقت) في نفس التطبيق؟** + +نعم. الترخيص المقِّـيس هو آلية ترخيص إضافية يمكن استخدامها إلى جانب [طرق الترخيص](/slides/ar/python-net/licensing/) الموجودة. يمكنك اختيار الآلية التي تريد تطبيقها عند بدء تشغيل التطبيق. + +**ما الذي يُحتسب كاستهلاك تحت ترخيص القياس: عمليات أم ملفات؟** + +يُحتسب استخدام API، أي عدد الطلبات أو العمليات. يمكنك الحصول على الاستهلاك الحالي عبر [طرق تتبع الاستهلاك](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). + +**هل الترخيص المقِّـيس مناسب لبيئات الخدمات المصغرة والخوادم غير التقليدية حيث يتم إعادة تشغيل المثيلات بشكل متكرر؟** + +نعم. نظرًا لأن المحاسبة تتم على مستوى استدعاء API، فإن السيناريوهات التي تتضمن عمليات بدء باردة متكررة متوافقة، بشرط توفر وصول شبكة ثابت لحسابات الترخيص المقِّـيس. + +**هل تختلف وظائف المكتبة عند استخدام ترخيص قياس مقارنةً بترخيص دائم؟** + +لا. الأمر يتعلق فقط بآلية الترخيص والفوترة؛ وظائف المنتج تبقى كما هي. + +**كيف يرتبط الترخيص المقِّـيس بالإصدار التجريبي والترخيص المؤقت؟** + +الإصدار التجريبي يحتوي على قيود وعلامات مائية، الـ[ترخيص المؤقت](https://purchase.aspose.com/temporary-license/) يزيل القيود لمدة 30 يومًا، والقياس يزيل القيود ويتقاضى رسومًا بناءً على الاستخدام الفعلي. + +**هل يمكنني التحكم في الميزانية عن طريق رد فعل تلقائي عند تجاوز عتبة الاستهلاك؟** -{{% /alert %}} \ No newline at end of file +نعم. من الممارسات الشائعة قراءة الاستهلاك الحالي بشكل دوري عبر [طرق التتبع](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) وتطبيق حدود أو تنبيهات خاصة بك على مستوى التطبيق أو المراقبة. \ No newline at end of file diff --git a/ar/python-net/getting-started/system-requirements/_index.md b/ar/python-net/getting-started/system-requirements/_index.md index a67d75ed02..8a8344f295 100644 --- a/ar/python-net/getting-started/system-requirements/_index.md +++ b/ar/python-net/getting-started/system-requirements/_index.md @@ -3,12 +3,29 @@ title: متطلبات النظام type: docs weight: 60 url: /ar/python-net/system-requirements/ +keywords: +- متطلبات النظام +- نظام التشغيل +- التثبيت +- التبعيات +- ويندوز +- لينكس +- ماك أو إس +- PowerPoint +- OpenDocument +- عرض تقديمي +- Python +- Aspose.Slides +description: "اكتشف متطلبات نظام Aspose.Slides للغة Python عبر .NET. تأكد من دعم سلس لـ PowerPoint و OpenDocument على Windows و Linux و macOS." --- -Aspose.Slides لـ Python عبر .NET لا يتطلب أي منتج طرف ثالث مثل Microsoft PowerPoint ليتم تثبيته. Aspose.Slides نفسها هي محرك لإنشاء وتعديل وتحويل وعرض المستندات بتنسيقات مختلفة، بما في ذلك تنسيقات عروض Microsoft PowerPoint. -## أنظمة التشغيل المدعومة +## **المقدمة** -Aspose.Slides لـ Python عبر .NET تدعم أنظمة التشغيل Windows 64 بت و32 بت وmacOS وLinux 64 بت حيث تم تثبيت Python 3.5 أو أحدث. +Aspose.Slides for Python via .NET لا يتطلب أي منتجات من طرف ثالث، مثل Microsoft PowerPoint، لتثبيتها. Aspose.Slides هو محرك لإنشاء وتعديل وتحويل وعرض المستندات بصيغ مختلفة، بما في ذلك صيغ عروض Microsoft PowerPoint. + +## **أنظمة التشغيل المدعومة** + +يدعم Aspose.Slides for Python أنظمة Windows (32-بت و64-بت)، macOS، وLinux 64-بت على الأنظمة التي تم تثبيت Python 3.5 أو إصدارات أحدث عليها. @@ -41,7 +58,7 @@ Aspose.Slides لـ Python عبر .NET تدعم أنظمة التشغيل Windows
  • Ubuntu
  • OpenSUSE
  • CentOS
  • -
  • وأخرى
  • +
  • وغيرها
  • @@ -49,16 +66,30 @@ Aspose.Slides لـ Python عبر .NET تدعم أنظمة التشغيل Windows
    macOS
      -
    • 12 "مونتيري"
    • +
    • 12 "Monterey"
    -## متطلبات النظام لمنصات Linux و macOS المستهدفة +## **متطلبات النظام لمنصات Linux و macOS المستهدفة** + +- مكتبات وقت تشغيل GCC 6 (أو أحدث). +- [libgdiplus](https://github.com/mono/libgdiplus)، تنفيذ مفتوح المصدر لواجهة برمجة تطبيقات GDI+. +- تبعيات .NET Core Runtime. تثبيت .NET Core Runtime نفسه غير مطلوب. +- لـ Python 3.5–3.7: يلزم بناء Python باستخدام `pymalloc`. خيار البناء `--with-pymalloc` مفعل افتراضياً. عادةً ما يُشار إلى بناء `pymalloc` للـ Python بلاحقة `m` في اسم الملف. +- مكتبة `libpython` المشتركة. خيار بناء Python `--enable-shared` معطل افتراضياً، وبعض توزيعات Python لا تتضمن مكتبة `libpython` المشتركة. على بعض منصات Linux، يمكنك تثبيت مكتبة `libpython` المشتركة باستخدام مدير الحزم (مثال: `sudo apt-get install libpython3.7`). إحدى المشكلات الشائعة هي تثبيت مكتبة `libpython` في موقع غير قياسي للمكتبات المشتركة. يمكن حل ذلك باستخدام خيارات بناء Python لتعيين مسارات مكتبة بديلة عند تجميع Python، أو بإنشاء رابط رمزي إلى ملف مكتبة `libpython` في الموقع القياسي للمكتبات المشتركة في النظام. عادةً ما يكون اسم ملف مكتبة `libpython` المشتركة هو `libpythonX.Ym.so.1.0` لـ Python 3.5–3.7 أو `libpythonX.Y.so.1.0` لـ Python 3.8 أو أحدث (مثال: `libpython3.7m.so.1.0`، `libpython3.9.so.1.0`). + +## **الأسئلة الشائعة** + +**هل أحتاج إلى تثبيت Microsoft PowerPoint للتحويلات والعرض؟** + +لا، لا يلزم PowerPoint؛ Aspose.Slides هو محرك مستقل لـ [إنشاء](/slides/ar/python-net/create-presentation/)، تعديل، [تحويل](/slides/ar/python-net/convert-presentation/)، و[عرض](/slides/ar/python-net/convert-powerpoint-to-png/) العروض التقديمية. + +**هل يلزم وجود نسخة معينة من .NET (Core/5+/6+) على الجهاز؟** + +تثبيت .NET Runtime نفسه غير مطلوب، ولكن يجب توفر تبعياته على Linux/macOS. هذا يعني أن النظام يجب أن يحتوي على الحزم التي تُثبت عادةً كاعتماديات .NET، دون تثبيت Runtime بالكامل. + +**ما الخطوط المطلوبة للعرض الصحيح؟** -- مكتبات وقت التشغيل GCC-6 (أو أحدث). -- [`libgdiplus`](https://github.com/mono/libgdiplus): تنفيذ مفتوح المصدر لمكتبة GDI+ API. -- اعتماديات .NET Core Runtime. تثبيت .NET Core Runtime نفسه ليس مطلوبًا. -- لـ Python 3.5-3.7: مطلوب بناء `pymalloc` من Python. خيار بناء Python `--with-pymalloc` مفعل بشكل افتراضي. عادةً، يتم تمييز بناء `pymalloc` من Python بـ `m` في نهاية اسم الملف. -- مكتبة Python المشتركة `libpython`. خيار بناء Python `--enable-shared` مُعطل بشكل افتراضي، بعض توزيعات Python لا تحتوي على مكتبة `libpython` المشتركة. بالنسبة لبعض منصات Linux، يمكن تثبيت مكتبة `libpython` المشتركة باستخدام مدير الحزم، على سبيل المثال: `sudo apt-get install libpython3.7`. المشكلة الشائعة هي أن مكتبة `libpython` مثبتة في موقع مختلف عن الموقع القياسي لنظام المكتبات المشتركة. يمكن حل المشكلة باستخدام خيارات بناء Python لتعيين مسارات مكتبات بديلة عند تجميع Python، أو عن طريق إنشاء رابط رمزي إلى ملف مكتبة `libpython` في الموقع القياسي لنظام المكتبات المشتركة. عادةً، يكون اسم ملف مكتبة `libpython` المشتركة هو `libpythonX.Ym.so.1.0` لـ Python 3.5-3.7، أو `libpythonX.Y.so.1.0` لـ Python 3.8 أو أحدث (على سبيل المثال: libpython3.7m.so.1.0، libpython3.9.so.1.0). \ No newline at end of file +في الواقع، يجب توفر الخطوط المستخدمة في العرض أو [البدائل](/slides/ar/python-net/font-substitution/) المناسبة. لضمان عرض ثابت على Linux/macOS، يُنصح بتثبيت حزم الخطوط الشائعة. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/_index.md index 66eb355006..875935b3f6 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,43 +1,112 @@ --- -title: Präsentation konvertieren +title: Präsentationen in mehrere Formate konvertieren in Python +linktitle: Präsentationen konvertieren type: docs weight: 70 url: /de/python-net/convert-presentation/ +keywords: +- Präsentation konvertieren +- Präsentation exportieren +- PPT zu PPTX +- PPT zu PDF +- PPTX zu PDF +- PPT zu XPS +- PPTX zu XPS +- PPT zu TIFF +- PPTX zu TIFF +- PowerPoint +- OpenDocument +- Python +- Aspose.Slides +description: "Konvertieren Sie PowerPoint- und OpenDocument-Präsentationen in PPTX, PDF, XPS, TIFF und weitere Formate mit Aspose.Slides für Python über .NET. Einfach und qualitativ hochwertige Konvertierung." --- -## **PPT zu PPTX-Konvertierung** -### **Über PPT zu PPTX-Konvertierung** -Aspose.Slides unterstützt nun die Konvertierung von PPT zu PPTX. -### **PPT mit Aspose.Slides in PPTX konvertieren** -Aspose.Slides für Python über .NET bietet teilweise Unterstützung für die Konvertierung von PPT-Dokumentdateiformatpräsentationen in PPTX-Dateiformatpräsentationen. Da die Unterstützung für die genannte Präsentationskonvertierungsfunktion gerade erst in Aspose.Slides für Python über .NET eingeführt wurde, hat sie derzeit eingeschränkte Fähigkeiten und funktioniert nur für einfache Formen von Präsentationen. Der Hauptvorteil, den die Aspose.Slides für Python über .NET API-Bibliothek für die Konvertierung von PPT-Präsentationen in das PPTX-Format bietet, ist die Benutzerfreundlichkeit der API, um das gewünschte Ziel zu erreichen. Bitte fahren Sie mit diesem [Link](/slides/de/python-net/convert-presentation/) zur Codebeispielsektion für weitere Details fort. Der folgende Abschnitt zeigt klar, welche Funktionen bei der Konvertierung von PPT-Formatpräsentationen in PPTX-Formatpräsentationen unterstützt und nicht unterstützt werden. -{{% alert color="primary" %}} -Erfahren Sie mehr [**Wie man PPT in PPTX konvertiert**](/slides/de/python-net/convert-ppt-to-pptx/). +## **Einführung** + +Diese Seite bietet einen Überblick über die Präsentationskonvertierung mit Aspose.Slides für Python über .NET. Sie fasst unterstützte Szenarien zusammen und verweist auf gezielte Leitfäden, die den genauen Code zum Exportieren von Präsentationen und Folien in Formate wie PDF, XPS, TIFF sowie zur Konvertierung zwischen PPT und PPTX zeigen. Wo zutreffend, heben die verlinkten Artikel formatbezogene Optionen hervor – zum Beispiel das Rendern von Notizen oder das Anpassen der Bildqualität – und bekannte Einschränkungen wie die teilweise Unterstützung in PPT→PPTX‑Pfade. Verwenden Sie diese Seite, um ein Zielformat auszuwählen und folgen Sie dann dem verlinkten Rezept. + +## **PPT‑zu‑PPTX‑Konvertierung** + +### **Über PPT/PPTX** + +PPT ist das ältere binäre PowerPoint‑Format (97–2003), während PPTX das ZIP‑gepackte Open‑XML‑Format ist, das mit PowerPoint 2007 eingeführt wurde. Im Vergleich zu PPT erzeugt PPTX in der Regel kleinere Dateien, unterstützt moderne Funktionen, funktioniert gut mit Dokumenten‑Automatisierung und wird für langfristige Archivierung sowie plattformübergreifende Workflows empfohlen. + +### **PPT in PPTX konvertieren** + +Aspose.Slides unterstützt die Konvertierung von PPT‑Präsentationen in das PPTX‑Format. Der Hauptvorteil bei der Verwendung der Aspose.Slides‑API für diese Aufgabe ist die Einfachheit des Arbeitsablaufs, der zum gewünschten Ergebnis führt. In der Praxis können Sie die Konvertierung mit minimalem Code durchführen und dabei eine hohe Treue von Folien, Layouts und Medien beibehalten. + +{{% alert color="primary" %}} +Mehr erfahren: [Convert PPT to PPTX in Python](/slides/de/python-net/convert-ppt-to-pptx/). {{% /alert %}} -## **Präsentation zu PDF-Konvertierung** + +## **Präsentation‑zu‑PDF‑Konvertierung** + ### **Über PDF** -Das [Portable Document Format](https://en.wikipedia.org/wiki/PDF) ist ein Dateiformat, das von Adobe System zur Dokumentenaustausch zwischen verschiedenen Organisationen entwickelt wurde. Der Zweck dieses Formats war es, die Inhalte der Dokumente so darzustellen, dass ihr visuelles Erscheinungsbild nicht von der Plattform abhängt, auf der sie angezeigt werden. -### **PDF in Aspose.Slides für Python über .NET** -[PDF ](https://docs.fileformat.com/pdf/) ist ein Dateiformat, das von Adobe System zur Dokumentenaustausch zwischen verschiedenen Organisationen entwickelt wurde. Der Zweck dieses Formats war es, sicherzustellen, dass das visuelle Erscheinungsbild der Dokumentinhalte nicht von der Plattform abhängt, auf der sie angezeigt werden. -Jedes Präsentationsdokument, das in Aspose.Slides für Python über .NET geladen werden kann, kann in ein PDF-Dokument konvertiert werden. Sie können die Präsentationsdokumente direkt mit der Aspose.Slides für Python über .NET-Komponente in PDF exportieren. Sie benötigen keine anderen Drittanbieter-Bibliotheken oder Aspose.PDF-Komponente für diesen Zweck. +Das Portable Document Format (PDF) ist ein Dateiformat, das von Adobe Systems entwickelt wurde, um Dokumente zwischen Organisationen auszutauschen. Ziel ist es, sicherzustellen, dass der Inhalt eines Dokuments unabhängig von der Plattform, auf der es angezeigt wird, dieselbe visuelle Darstellung hat. + +### **Präsentationen in PDF konvertieren** -{{% alert color="primary" %}} -Erfahren Sie mehr [**Wie man Präsentationen in PDF konvertiert**](/slides/de/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/). +Jede Präsentation, die in Aspose.Slides geladen werden kann, lässt sich in ein PDF‑Dokument konvertieren. Sie können Präsentationen direkt mit der Aspose.Slides‑Komponente nach PDF exportieren; dafür sind keine Drittanbieter‑Bibliotheken oder die Aspose.PDF‑Komponente erforderlich. + +{{% alert color="primary" %}} +Mehr erfahren: [Convert PPT & PPTX to PDF in Python](/slides/de/python-net/convert-powerpoint-to-pdf/). {{% /alert %}} -## **Präsentation zu XPS-Konvertierung** +## **Präsentation‑zu‑XPS‑Konvertierung** + ### **Über XPS** -Die [XML Parser Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) ist eine Seitenbeschreibungssprache und ein festes Dokumentformat, das ursprünglich von Microsoft entwickelt wurde. Wie PDF ist XPS ein festes Layout-Dokumentformat, das entwickelt wurde, um die Dokumenttreue zu bewahren und ein geräteunabhängiges Dokumentenlayout bereitzustellen. -### **Präsentation mit Aspose.Slides in XPS konvertieren** -Jedes Präsentationsdokument, das von Aspose.Slides für Python über .NET geladen werden kann, kann in das XPS-Format konvertiert werden. Aspose.Slides für Python über .NET verwendet die hochauflösende Seitenlayout- und Render-Engine, um Ausgaben im festen Layout XPS-Dokumentformat zu erzeugen. Es ist erwähnenswert, dass Aspose.Slides für Python über .NET XPS direkt generiert, ohne von den Windows Presentation Foundation (WPF)-Klassen abhängig zu sein, die mit dem .NET Framework 3.5 gebündelt sind, was es Aspose.Slides für Python über .NET ermöglicht, XPS-Dokumente auf Maschinen zu erstellen, die mit Versionen des .NET Frameworks vor Version 3.5 ausgeführt werden. Sie können in [diesem Thema](/slides/de/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) mehr über den Export von Präsentationsdokumenten in XPS-Dokumente mit Aspose.Slides für Python über .NET erfahren. -{{% alert color="primary" %}} -Erfahren Sie mehr [**Wie man Präsentationen in XPS konvertiert**.](/slides/de/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) + +Die XML Paper Specification (XPS) ist eine Seitenspezifikationssprache und ein Fixed‑Document‑Format, das ursprünglich von Microsoft entwickelt wurde. Ähnlich wie PDF ist XPS ein Fixed‑Layout‑Dokumentformat, das darauf ausgelegt ist, die Dokumenttreue zu bewahren und ein geräteunabhängiges Erscheinungsbild zu bieten. + +### **Präsentationen in XPS konvertieren** + +Jede Präsentation, die von Aspose.Slides geladen werden kann, lässt sich in das XPS‑Format konvertieren. Aspose.Slides verwendet eine hochpräzise Seitenlayout‑ und Rendering‑Engine, um Ausgaben im Fixed‑Layout‑XPS‑Format zu erzeugen. Bemerkenswert ist, dass Aspose.Slides XPS direkt erzeugt, ohne auf Windows Presentation Foundation (WPF) zurückzugreifen. + +{{% alert color="primary" %}} +Mehr erfahren: [Convert PowerPoint Presentations to XPS in Python](/slides/de/python-net/convert-powerpoint-to-xps/). {{% /alert %}} -## **Präsentation zu TIFF-Konvertierung** + +## **Präsentation‑zu‑TIFF‑Konvertierung** + ### **Über TIFF** -Das [Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF), das bekannt ist für die Speicherung mehrerer Bilder in einem Dokument, wurde ursprünglich von Aldus erstellt. Dieses Format wird von Scan-, Fax- und anderen Bildbearbeitungsanwendungen weitgehend unterstützt. -### **Präsentation mit Aspose.Slides in TIFF konvertieren** -Jedes Dokument, das in Aspose.Slide für .NET geladen werden kann, kann auch direkt von Aspose.Slides für Python über .NET in ein TIFF-Dokument konvertiert werden, wobei die Anforderungen an eine Drittanbieter-Komponente entfallen. Außerdem können Sie optional die Größe der Bilder im resultierenden TIFF-Dokument definieren. Informationen zum Export von Präsentationsdokumenten in TIFF-Dokumente mit Aspose.Slides für Python über .NET finden Sie in [diesem Thema](/slides/de/python-net/convert-powerpoint-ppt-and-pptx-to-tiff/). -{{% alert color="primary" %}} -Erfahren Sie mehr [**Wie man Präsentationen in TIFF konvertiert**.](/slides/de/python-net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file + +Das Tagged Image File Format (TIFF) ist ein Rasterbildformat, das dafür bekannt ist, mehrere Bilder (Seiten) in einer einzigen Datei zu speichern. Ursprünglich von Aldus entwickelt, wird es von Scan‑, Fax‑ und anderen Bildverarbeitungs‑Anwendungen weitgehend unterstützt. + +### **Präsentationen in TIFF konvertieren** + +Jedes Dokument, das in Aspose.Slides geladen werden kann, kann ebenfalls direkt in eine TIFF‑Datei konvertiert werden, ohne dass Drittanbieter‑Komponenten erforderlich sind. Optional können Sie die Bildgröße für die Seiten im resultierenden TIFF festlegen. + +{{% alert color="primary" %}} +Mehr erfahren: [Convert PowerPoint Presentations to TIFF in Python](/slides/de/python-net/convert-powerpoint-to-tiff/). +{{% /alert %}} + +## **FAQ** + +**Kann ich ausgeblendete Folien beim Export nach PDF/XPS einbeziehen?** + +Ja. Der Export unterstützt das Einbeziehen ausgeblendeter Folien über die entsprechende Option in den [PDF](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/show_hidden_slides/)-/[XPS](https://reference.aspose.com/slides/python-net/aspose.slides.export/xpsoptions/show_hidden_slides/)-Einstellungen. + +**Wird das Speichern im PDF/A‑Format (für die Langzeitarchivierung) unterstützt?** + +Ja, PDF/A‑Konformitätsstufen sind beim Export verfügbar (einschließlich A‑2a/A‑2b/A‑2u und A‑3a/A‑3b). + +**Was passiert mit Schriftarten während der Konvertierung: werden sie eingebettet oder ersetzt?** + +Es gibt flexible Optionen: Sie können [alle Glyphen oder nur die verwendeten Teilmengen einbetten](/slides/de/python-net/embedded-font/), eine [Ersatzschriftart](/slides/de/python-net/fallback-font/) angeben und das [Verhalten](/slides/de/python-net/font-substitution/) steuern, wenn einer Schriftart bestimmte Stile fehlen. + +**Wie kann ich die Qualität und Größe des resultierenden PDFs steuern?** + +Optionen sind verfügbar für die [JPEG‑Qualität](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/jpeg_quality/), die [Textkompression](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/text_compression/), und einen Schwellenwert für die [ausreichende Auflösung](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/sufficient_resolution/) von Bildern, sowie einen Modus, der die [beste Kompression für Bilder](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/best_images_compression_ratio/) auswählt. + +**Kann ich nur einen Folienbereich exportieren (z. B. 5–12)?** + +Ja, der Export unterstützt die Auswahl eines Teilbereichs von Folien. + +**Wird die Multi‑Core‑Verarbeitung mehrerer Dateien gleichzeitig unterstützt?** + +Es ist zulässig, verschiedene Präsentationen parallel in separaten Prozessen zu verarbeiten. Wichtig: Das gleiche [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)-Objekt darf nicht aus [mehreren Threads](/slides/de/python-net/multithreading/) geladen oder gespeichert werden. + +**Gibt es Risiken beim Anwenden der Lizenz aus verschiedenen Threads?** + +Ja, Aufrufe zum [license-setting](/slides/de/python-net/licensing/) sind nicht threadsicher und erfordern Synchronisation. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 1f727374d6..9231da27ee 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,35 @@ --- -title: PowerPoint in animiertes GIF konvertieren +title: Präsentationen in Python in animierte GIFs konvertieren +linktitle: Präsentation zu GIF type: docs weight: 65 url: /de/python-net/convert-powerpoint-to-animated-gif/ -keywords: "PowerPoint konvertieren, PPT, PPTX, animiertes GIF, PPT in animiertes GIF, PPTX in animiertes GIF, Python, Standardeinstellungen, benutzerdefinierte Einstellungen" -description: "PowerPoint-Präsentation in animiertes GIF konvertieren: PPT in GIF, PPTX in GIF in Python" +keywords: +- animiertes GIF +- PowerPoint konvertieren +- OpenDocument konvertieren +- Präsentation konvertieren +- Folien konvertieren +- PPT konvertieren +- PPTX konvertieren +- ODP konvertieren +- PowerPoint zu GIF +- OpenDocument zu GIF +- Präsentation zu GIF +- Folien zu GIF +- PPT zu GIF +- PPTX zu GIF +- ODP zu GIF +- Standard-Einstellungen +- Benutzerdefinierte Einstellungen +- Python +- Aspose.Slides +description: "Konvertieren Sie PowerPoint‑Präsentationen (PPT, PPTX) und OpenDocument‑Dateien (ODP) einfach in animierte GIFs mit Aspose.Slides für Python. Schnelle, hochwertige Ergebnisse." --- -## Konvertieren von Präsentationen in animierte GIFs mit Standardeinstellungen ## - -Dieser Beispielcode in Python zeigt Ihnen, wie Sie eine Präsentation in ein animiertes GIF mit Standardeinstellungen konvertieren: +## **Präsentationen mit Standardeinstellungen in animiertes GIF konvertieren** +Dieser Beispielcode in Python zeigt, wie man eine Präsentation mit Standard‑Einstellungen in ein animiertes GIF konvertiert: ```py import aspose.slides as slides @@ -18,17 +37,18 @@ pres = slides.Presentation(path + "pres.pptx") pres.save("pres.gif", slides.export.SaveFormat.GIF) ``` -Das animierte GIF wird mit den Standardeinstellungen erstellt. -{{% alert title="TIPP" color="primary" %}} +Das animierte GIF wird mit den Standardparametern erstellt. + +{{% alert title="TIP" color="primary" %}} -Wenn Sie die Parameter für das GIF anpassen möchten, können Sie die [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/) Klasse verwenden. Siehe den Beispielcode unten. +Wenn Sie die Parameter für das GIF anpassen möchten, können Sie die Klasse [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/) verwenden. Siehe den Beispielcode unten. {{% /alert %}} -## Konvertieren von Präsentationen in animierte GIFs mit benutzerdefinierten Einstellungen ## -Dieser Beispielcode zeigt Ihnen, wie Sie eine Präsentation in ein animiertes GIF mit benutzerdefinierten Einstellungen in Python konvertieren: +## **Präsentationen mit benutzerdefinierten Einstellungen in animiertes GIF konvertieren** +Dieser Beispielcode zeigt, wie man eine Präsentation mit benutzerdefinierten Einstellungen in Python in ein animiertes GIF konvertiert: ```py import aspose.slides as slides import aspose.pydrawing as drawing @@ -36,15 +56,26 @@ import aspose.pydrawing as drawing pres = slides.Presentation(path + "pres.pptx") options = slides.export.GifOptions() -options.frame_size = drawing.Size(960, 720) # die Größe des resultierenden GIF -options.default_delay = 2000 # wie lange jede Folie angezeigt wird, bevor sie zur nächsten wechselt -options.transition_fps = 35 # FPS erhöhen, um die Übergangsanimationsqualität zu verbessern +options.frame_size = drawing.Size(960, 720) # die Größe des resultierenden GIFs +options.default_delay = 2000 # wie lange jede Folie angezeigt wird, bis sie zur nächsten wechselt +options.transition_fps = 35 # FPS erhöhen für bessere Übergangsanimationsqualität pres.save("pres.gif", slides.export.SaveFormat.GIF, options) ``` + {{% alert title="Info" color="info" %}} -Sie möchten möglicherweise einen KOSTENLOSEN [Text zu GIF](https://products.aspose.app/slides/text-to-gif) Konverter von Aspose ausprobieren. +Vielleicht möchten Sie den KOSTENLOSEN [Text to GIF](https://products.aspose.app/slides/text-to-gif) Konverter von Aspose ausprobieren. + +{{% /alert %}} + +## **FAQ** + +**Was ist, wenn die in der Präsentation verwendeten Schriftarten nicht auf dem System installiert sind?** + +Installieren Sie die fehlenden Schriftarten oder [konfigurieren Sie Ersatzschriftarten](/slides/de/python-net/powerpoint-fonts/). Aspose.Slides wird sie ersetzen, aber das Aussehen kann abweichen. Für Branding stellen Sie stets sicher, dass die erforderlichen Schriftarten explizit verfügbar sind. + +**Kann ich ein Wasserzeichen auf die GIF‑Frames legen?** -{{% /alert %}} \ No newline at end of file +Ja. [Fügen Sie ein halbtransparentes Objekt/Logo](/slides/de/python-net/watermark/) zur Master‑Folien oder zu einzelnen Folien vor dem Export hinzu — das Wasserzeichen wird auf jedem Frame angezeigt. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 886e89de12..b786252f39 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,26 +1,84 @@ --- -title: PowerPoint in TIFF mit Notizen konvertieren +title: PowerPoint-Präsentationen mit Notizen in TIFF konvertieren in Python +linktitle: PowerPoint zu TIFF mit Notizen type: docs weight: 100 url: /de/python-net/convert-powerpoint-to-tiff-with-notes/ -keywords: "PowerPoint in TIFF mit Notizen konvertieren" -description: "PowerPoint in TIFF mit Notizen in Aspose.Slides konvertieren." +keywords: + - PowerPoint konvertieren + - Präsentation konvertieren + - Folie konvertieren + - PPT konvertieren + - PPTX konvertieren + - PowerPoint zu TIFF + - Präsentation zu TIFF + - Folie zu TIFF + - PPT zu TIFF + - PPTX zu TIFF + - PowerPoint mit Notizen + - Präsentation mit Notizen + - Folie mit Notizen + - PPT mit Notizen + - PPTX mit Notizen + - TIFF mit Notizen + - Python + - Aspose.Slides +description: "PowerPoint-Präsentationen mit Notizen in TIFF konvertieren mit Aspose.Slides für Python via .NET. Erfahren Sie, wie Sie Folien mit Sprecher-Notizen effizient exportieren." --- -{{% alert title="Tipp" color="primary" %}} +## **Übersicht** -Sie möchten vielleicht den Aspose [KOSTENLOSEN PowerPoint zu Poster Konverter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) ausprobieren. +Aspose.Slides for Python via .NET bietet eine einfache Lösung zum Konvertieren von PowerPoint- und OpenDocument‑Präsentationen (PPT, PPTX und ODP) mit Notizen in das TIFF‑Format. Dieses Format wird häufig für die hochwertige Bildspeicherung, den Druck und die Dokumentenarchivierung verwendet. Mit Aspose.Slides können Sie nicht nur ganze Präsentationen mit Sprecher‑Notizen exportieren, sondern auch Folienminiaturen in der Notizfolienansicht erzeugen. Der Konvertierungsprozess ist einfach und effizient und nutzt die `save`‑Methode der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse, um die gesamte Präsentation in eine Reihe von TIFF‑Bildern zu transformieren, wobei die Notizen und das Layout erhalten bleiben. -{{% /alert %}} +## **Konvertieren einer Präsentation in TIFF mit Notizen** + +Das Speichern einer PowerPoint- oder OpenDocument‑Präsentation in TIFF mit Notizen mithilfe von Aspose.Slides for Python via .NET umfasst die folgenden Schritte: + +1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)-Klasse: Laden Sie eine PowerPoint‑ oder OpenDocument‑Datei. +1. Konfigurieren Sie die Ausgabelayout‑Optionen: Verwenden Sie die [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/notescommentslayoutingoptions/)-Klasse, um festzulegen, wie Notizen und Kommentare angezeigt werden sollen. +1. Speichern Sie die Präsentation als TIFF: Übergeben Sie die konfigurierten Optionen an die [save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/save/#str-asposeslidesexportsaveformat-asposeslidesexportisaveoptions)-Methode. + +Angenommen, wir haben eine Datei "speaker_notes.pptx" mit der folgenden Folie: -TIFF ist eines von mehreren weit verbreiteten Bildformaten, die Aspose.Slides für Python über .NET zur Konvertierung von PowerPoint PPT und PPTX Präsentationen mit Notizen in Bilder unterstützt. Sie können auch Miniaturansichten von Folien in der Notizfolienansicht generieren. Die [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Methode der Presentation-Klasse kann verwendet werden, um die gesamte Präsentation in der Notizfolienansicht in TIFF zu konvertieren. Das Speichern einer Microsoft PowerPoint-Präsentation als TIFF-Notizen mit Aspose.Slides für Python über .NET ist ein zweizeiliger Prozess. Sie öffnen einfach die Präsentation und speichern sie als TIFF-Notizen. Sie können auch eine Miniaturansicht einer Folie in der Notizfolienansicht für einzelne Folien generieren. Die folgenden Codebeispiele aktualisieren die Musterpräsentation in TIFF-Bilder in der Notizfolienansicht, wie unten gezeigt: +![Die Präsentationsfolie mit Sprecher-Notizen](slide_with_notes.png) +Das untenstehende Code‑Snippet demonstriert, wie die Präsentation in ein TIFF‑Bild in der Notizfolienansicht konvertiert wird, indem die Eigenschaft [slides_layout_options](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) verwendet wird. ```py -import aspose.slides as slides +# Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt. +with slides.Presentation("speaker_notes.pptx") as presentation: + + notes_options = slides.export.NotesCommentsLayoutingOptions() + notes_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL # Anzeige der Notizen unterhalb der Folie. + + # Konfigurieren Sie die TIFF-Optionen mit Notiz-Layout. + tiff_options = slides.export.TiffOptions() + tiff_options.dpi_x = 300 + tiff_options.dpi_y = 300 + tiff_options.slides_layout_options = notes_options + + # Speichern Sie die Präsentation als TIFF mit den Sprecher-Notizen. + presentation.save("TIFF_with_notes.tiff", slides.export.SaveFormat.TIFF, tiff_options) +``` + + +Das Ergebnis: + +![Das TIFF‑Bild mit Sprecher-Notizen](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +Probieren Sie den Aspose [Free PowerPoint to Poster Converter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) aus. +{{% /alert %}} + +## **FAQ** + +**Kann ich die Position des Notizbereichs im resultierenden TIFF steuern?** + +Ja. Verwenden Sie die [notes layout settings](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/), um zwischen Optionen wie `NONE`, `BOTTOM_TRUNCATED` oder `BOTTOM_FULL` zu wählen, die jeweils Notizen ausblenden, sie auf einer einzigen Seite anpassen oder sie auf zusätzliche Seiten fließen lassen. + +**Wie kann ich die Größe einer TIFF-Datei mit Notizen reduzieren, ohne sichtbar an Qualität zu verlieren?** + +Wählen Sie eine [effiziente Kompression](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/compression_type/) (z. B. `LZW` oder `RLE`), setzen Sie einen angemessenen DPI‑Wert und benutzen Sie, falls akzeptabel, ein niedrigeres [Pixel-Format](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/pixel_format/) (wie 8 bpp oder 1 bpp für monochrom). Eine leichte Verringerung der [Bildabmessungen](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/image_size/) kann ebenfalls helfen, ohne die Lesbarkeit merklich zu beeinträchtigen. -# Erstellen Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt -presentation = slides.Presentation("pres.pptx") +**Beeinflusst die Schriftart in den Notizen das Ergebnis, wenn die Originalschriftarten im System fehlen?** -# Speichern der Präsentation als TIFF-Notizen -presentation.save("Notes_In_Tiff_out.tiff", slides.export.SaveFormat.TIFF) -``` \ No newline at end of file +Ja. Fehlende Schriftarten lösen eine [Substitution](/slides/de/python-net/font-selection-sequence/) aus, die Textmaße und das Aussehen ändern kann. Um dies zu vermeiden, [Stellen Sie die erforderlichen Schriftarten bereit](/slides/de/python-net/custom-font/) oder legen Sie eine Standard‑[Fallback‑Schrift](/slides/de/python-net/fallback-font/) fest, sodass die gewünschten Schriftschnitte verwendet werden. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index d8b008db4a..9be47a9104 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,41 +1,68 @@ --- -title: PPT vs PPTX +title: "Verstehen des Unterschieds: PPT vs PPTX" +linktitle: "PPT vs PPTX" type: docs weight: 10 url: /de/python-net/ppt-vs-pptx/ -keywords: "PPT vs PPTX, PPT oder PPTX, PowerPoint-Präsentation, Format, Python" -description: "Über PowerPoint-Präsentationsformate. PPT vs PPTX. Unterschiede in Python" +keywords: +- PPT vs PPTX +- PPT oder PPTX +- Legacy-Format +- Modernes Format +- Binärformat +- Moderner Standard +- PowerPoint +- Präsentation +- Python +- Aspose.Slides +description: "Vergleichen Sie PPT vs PPTX für PowerPoint mit Aspose.Slides Python über .NET, untersuchen Sie Formatunterschiede, Vorteile, Kompatibilität und Konvertierungstipps." --- - ## **Was ist PPT?** -[**PPT**](https://docs.fileformat.com/presentation/ppt/) ist ein binäres Dateiformat, d.h. der Inhalt kann ohne spezielle Werkzeuge nicht angezeigt werden. Die ersten PowerPoint-Versionen 97-2003 arbeiteten mit dem PPT-Dateiformat, allerdings ist dessen Erweiterbarkeit begrenzt.  +[**PPT**](https://docs.fileformat.com/presentation/ppt/) ist ein binäres Dateiformat, d.h. sein Inhalt kann ohne spezielle Werkzeuge nicht angezeigt werden. Die ersten PowerPoint‑Versionen 97‑2003 arbeiteten mit dem PPT‑Dateiformat, jedoch ist seine Erweiterbarkeit begrenzt. + ## **Was ist PPTX?** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/) ist ein neues Präsentationsdateiformat, das auf dem Standard Office Open XML (ISO 29500:2008-2016, ECMA-376) basiert. PPTX ist ein archiviertes Set aus XML- und Mediendateien. Das PPTX-Format ist leicht erweiterbar. Zum Beispiel ist es einfach, Unterstützung für einen neuen Diagrammtyp oder Formtyp hinzuzufügen, ohne das PPTX-Format in jeder neuen PowerPoint-Version zu ändern. Das PPTX-Format wird seit PowerPoint 2007 verwendet. +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) ist ein neues Präsentationsdateiformat, basierend auf dem Office Open XML‑Standard (ISO 29500:2008‑2016, ECMA‑376). PPTX ist ein archiviertes Set aus XML‑ und Mediendateien. Das PPTX‑Format ist leicht erweiterbar. Beispielsweise lässt sich leicht Unterstützung für einen neuen Diagrammtyp oder Formtyp hinzufügen, ohne das PPTX‑Format in jeder neuen PowerPoint‑Version zu ändern. Das PPTX‑Format wird ab PowerPoint 2007 verwendet. ## **PPT vs PPTX** -Obwohl PPTX viel umfassendere Funktionalität bietet, bleibt PPT recht beliebt. Die Notwendigkeit, von PPT zu PPTX und vice versa zu konvertieren, ist sehr gefragt. +Obwohl PPTX viel umfangreichere Funktionalität bietet, bleibt PPT recht beliebt. Der Bedarf, von PPT nach PPTX und umgekehrt zu konvertieren, ist hoch. -Die Konvertierung zwischen dem alten PPT- und dem neuen PPTX-Format ist jedoch die komplizierteste Herausforderung unter den anderen Microsoft Office-Formaten. Obwohl die Spezifikation des PPT-Formats offen ist, ist es schwierig, damit zu arbeiten. PowerPoint kann in PPT-Dateien spezielle Teile (MetroBlob) erstellen, um Informationen aus PPTX zu speichern, die vom PPT-Format nicht unterstützt werden und in alten PowerPoint-Versionen nicht angezeigt werden können. Diese Informationen können wiederhergestellt werden, wenn eine PPT-Datei in einer modernen PowerPoint-Version geladen oder in das PPTX-Format konvertiert wird. +Allerdings ist die Konvertierung zwischen dem alten PPT‑ und dem neuen PPTX‑Format die komplexeste Herausforderung unter den anderen Microsoft‑Office‑Formaten. Obwohl die Spezifikation des PPT‑Formats offen ist, ist die Arbeit damit schwierig. PowerPoint kann spezielle Teile (MetroBlob) in PPT‑Dateien erzeugen, um Informationen aus PPTX zu speichern, die vom PPT‑Format nicht unterstützt werden und in alten PowerPoint‑Versionen nicht angezeigt werden können. Diese Informationen können wiederhergestellt werden, wenn eine PPT‑Datei in einer modernen PowerPoint‑Version geladen oder in das PPTX‑Format konvertiert wird. -Aspose.Slides bietet eine gemeinsame Schnittstelle, um mit allen Präsentationsformaten zu arbeiten. Es ermöglicht eine sehr einfache Konvertierung von PPT nach PPTX und von PPTX nach PPT. Aspose.Slides unterstützt die Konvertierung von PPT nach PPTX vollständig und unterstützt auch die Konvertierung von PPTX nach PPT mit einigen Einschränkungen. Wir empfehlen, das PPTX-Format wo immer möglich zu verwenden. +Aspose.Slides bietet eine einheitliche Schnittstelle für die Arbeit mit allen Präsentationsformaten. Es ermöglicht die Konvertierung von PPT nach PPTX und von PPTX nach PPT auf sehr einfache Weise. Aspose.Slides unterstützt die Konvertierung von PPT nach PPTX vollständig und unterstützt ebenfalls die Konvertierung von PPTX nach PPT mit einigen Einschränkungen. Wir empfehlen, nach Möglichkeit das PPTX‑Format zu verwenden. {{% alert color="primary" %}} - -Überprüfen Sie die Qualität der Konvertierungen von PPT zu PPTX und von PPTX zu PPT mit der Online- [**Aspose.Slides Conversion-App**](https://products.aspose.app/slides/conversion/). - +Prüfen Sie die Qualität der PPT‑zu‑PPTX‑ und PPTX‑zu‑PPT‑Konvertierungen mit der Online‑[**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). {{% /alert %}} - ```py import aspose.slides as slides -# Instanziieren Sie ein Präsentationsobjekt, das eine PPTX-Datei darstellt +# Instanziiere ein Presentation-Objekt, das eine PPTX-Datei darstellt pres = slides.Presentation("PPTtoPPTX.ppt") -# Speichern der PPTX-Präsentation im PPTX-Format +# Speichere die PPTX-Präsentation im PPTX-Format pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -Lesen Sie mehr [**Wie man Präsentationen von PPT nach PPTX konvertiert**.](/slides/de/python-net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +Lesen Sie mehr [**Wie man Präsentationen von PPT zu PPTX konvertiert**](/slides/de/python-net/convert-ppt-to-pptx/). +{{% /alert %}} + +## **FAQ** + +**Gibt es einen Grund, alte Präsentationen im PPT‑Format zu behalten, wenn sie fehlerfrei öffnen?** + +Wenn eine Präsentation zuverlässig geöffnet wird und keine Zusammenarbeit oder neueren Funktionen benötigt, kann sie im PPT‑Format behalten werden. Für zukünftige Kompatibilität und Erweiterbarkeit ist es jedoch besser, zu [zu PPTX konvertieren](/slides/de/python-net/convert-ppt-to-pptx/): Das Format basiert auf dem offenen OOXML‑Standard und wird von modernen Tools leichter unterstützt. + +**Wie kann ich entscheiden, welche Dateien zuerst kritisch in PPTX zu konvertieren sind?** + +Konvertieren Sie zuerst die Präsentationen, die: von mehreren Personen bearbeitet werden; komplexe [Diagramme](/slides/de/python-net/create-chart/)/[Formen](/slides/de/python-net/shape-manipulations/) enthalten; in externen Kommunikationen verwendet werden; oder Warnungen auslösen, wenn sie [geöffnet](/slides/de/python-net/open-presentation/) werden. + +**Wird der Passwortschutz bei der Konvertierung von PPT zu PPTX und zurück erhalten bleiben?** + +Das Vorhandensein eines Passwortes wird nur bei einer korrekten Konvertierung und entsprechender Verschlüsselungsunterstützung im verwendeten Tool übernommen. Es ist zuverlässiger, zuerst den [Schutz entfernen](/slides/de/python-net/password-protected-presentation/), dann die [konvertieren](/slides/de/python-net/convert-ppt-to-pptx/), und anschließend den Schutz gemäß Ihrer Sicherheitsrichtlinie wieder anzuwenden. + +**Warum verschwinden manche Effekte oder werden vereinfacht, wenn PPTX zurück nach PPT konvertiert wird?** + +Da PPT einige neuere Objekte/Eigenschaften nicht unterstützt. PowerPoint und Tools können „Spuren“ dieser Informationen in speziellen Blöcken für eine spätere Wiederherstellung speichern, aber ältere PowerPoint‑Versionen rendern sie nicht. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 2f88bd1957..aa7472da2e 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,38 +1,56 @@ --- -title: Eine Folie als SVG-Bild rendern +title: Render Präsentationsfolien als SVG-Bilder in Python +linktitle: Folie zu SVG type: docs weight: 50 url: /de/python-net/render-a-slide-as-an-svg-image/ +keywords: +- Folie zu SVG +- Präsentation zu SVG +- PowerPoint zu SVG +- OpenDocument zu SVG +- PPT zu SVG +- PPTX zu SVG +- ODP zu SVG +- Folie rendern +- Folie konvertieren +- Folie exportieren +- Vektorbild +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie PowerPoint- und OpenDocument‑Folien mit Aspose.Slides für Python via .NET als SVG‑Bilder rendern. Hochwertige Visuals mit einfachen Code‑Beispielen." --- -SVG – eine Abkürzung für Scalable Vector Graphics – ist ein Standardgrafiktyp oder -format, der verwendet wird, um zweidimensionale Bilder darzustellen. SVG speichert Bilder als Vektoren in XML mit Details, die ihr Verhalten oder Aussehen definieren. +## **Folien in SVG konvertieren** -SVG ist eines der wenigen Formate für Bilder, das in diesen Aspekten sehr hohe Standards erfüllt: Skalierbarkeit, Interaktivität, Leistung, Barrierefreiheit, Programmierbarkeit und andere. Aus diesen Gründen wird es häufig in der Webentwicklung eingesetzt. +SVG — eine Abkürzung für Scalable Vector Graphics — ist ein standardisiertes Grafikformat, das zum Rendern zweidimensionaler Bilder verwendet wird. SVG speichert Bilder als Vektoren in XML mit Angaben, die ihr Verhalten oder Aussehen definieren. -Sie möchten möglicherweise SVG-Dateien verwenden, wenn Sie +SVG ist eines der wenigen Bildformate, das in Bezug auf Skalierbarkeit, Interaktivität, Leistung, Barrierefreiheit, Programmierbarkeit und weitere Aspekte sehr hohen Ansprüchen genügt. Aus diesen Gründen wird es häufig in der Webentwicklung eingesetzt. -- **Ihre Präsentation in einem *sehr großen Format* drucken möchten.** SVG-Bilder können bis zu jeder Auflösung oder Ebene skaliert werden. Sie können SVG-Bilder so oft wie nötig in der Größe ändern, ohne die Qualität zu opfern. -- **Diagramme und Grafiken aus Ihren Folien in *verschiedenen Medien oder Plattformen* verwenden möchten.** Die meisten Leser können SVG-Dateien interpretieren. -- **die *kleinstmöglichen Größen von Bildern* verwenden möchten.** SVG-Dateien sind in der Regel kleiner als ihre hochauflösenden Äquivalente in anderen Formaten, insbesondere in Formaten, die auf Bitmap (JPEG oder PNG) basieren. +Sie sollten SVG‑Dateien verwenden, wenn Sie -Aspose.Slides für Python über .NET ermöglicht es Ihnen, Folien in Ihren Präsentationen als SVG-Bilder zu exportieren. Gehen Sie durch diese Schritte, um SVG-Bilder zu generieren: +- **Ihre Präsentation in einem *sehr großen Format* zu drucken.** SVG‑Bilder können auf jede Auflösung oder jedes Niveau skaliert werden. Sie können SVG‑Bilder beliebig oft in der Größe ändern, ohne an Qualität zu verlieren. +- **Diagramme und Grafiken aus Ihren Folien in *verschiedenen Medien oder Plattformen* zu verwenden.** Die meisten Betrachter können SVG‑Dateien interpretieren. +- **die *kleinstmöglichen Bildgrößen* zu verwenden.** SVG‑Dateien sind im Allgemeinen kleiner als ihre hochauflösenden Gegenstücke in anderen Formaten, insbesondere Formaten, die auf Bitmaps basieren (JPEG oder PNG). -1. Erstellen Sie eine Instanz der Presentation-Klasse. -2. Iterieren Sie durch alle Folien in der Präsentation. -3. Schreiben Sie jede Folie in ihre eigene SVG-Datei über FileStream. +Aspose.Slides for Python via .NET ermöglicht das Exportieren von Folien Ihrer Präsentationen als SVG‑Bilder. Führen Sie die folgenden Schritte aus, um SVG‑Bilder zu erzeugen: -{{% alert color="primary" %}} - -Sie möchten möglicherweise unsere [kostenlose Webanwendung](https://products.aspose.app/slides/conversion/ppt-to-svg) ausprobieren, in der wir die Funktion zur PPT-zu-SVG-Konvertierung von Aspose.Slides für Python über .NET implementiert haben. +1. Erstellen Sie eine Instanz der Klasse Presentation. +2. Iterieren Sie über alle Folien in der Präsentation. +3. Schreiben Sie jede Folie über FileStream in eine eigene SVG‑Datei. +{{% alert color="primary" %}} +Sie können unsere [kostenlose Webanwendung](https://products.aspose.app/slides/conversion/ppt-to-svg) ausprobieren, in der wir die PPT‑zu‑SVG‑Konvertierungsfunktion von Aspose.Slides for Python via .NET implementiert haben. {{% /alert %}} -Dieser Beispielcode in Python zeigt Ihnen, wie Sie PPT in SVG mit Aspose.Slides konvertieren: - +Dieser Beispielcode in Python zeigt, wie Sie PPT mit Aspose.Slides in SVG konvertieren: ```py import aspose.slides as slides -# Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt +# Erstellen Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt pres = slides.Presentation("pres.pptx") for index in range(pres.slides.length): @@ -40,4 +58,19 @@ for index in range(pres.slides.length): with open("slide-{index}.svg".format(index = index), "wb") as file: slide.write_as_svg(file) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Warum kann das resultierende SVG in verschiedenen Browsern unterschiedlich aussehen?** + +Die Unterstützung bestimmter SVG‑Funktionen wird von den Browser‑Engines unterschiedlich implementiert. Die Parameter von [SVGOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/svgoptions/) helfen, Inkompatibilitäten auszugleichen. + +**Ist es möglich, nicht nur Folien, sondern auch einzelne Formen in SVG zu exportieren?** + +Ja. Jede [Form kann als separates SVG gespeichert werden](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/), was für Icons, Piktogramme und die Wiederverwendung von Grafiken praktisch ist. + +**Können mehrere Folien zu einem einzigen SVG (Strip/Dokument) kombiniert werden?** + +Das Standard‑Szenario ist Folie → SVG. Das Kombinieren mehrerer Folien zu einer einzigen SVG‑Leinwand ist ein Nachbearbeitungsschritt, der auf Anwendungsebene durchgeführt wird. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index ae1cb4c87c..3c4b2b0fdd 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,33 +1,41 @@ --- -title: Exportieren nach HTML5 +title: Präsentationen in Python nach HTML5 konvertieren +linktitle: Export nach HTML5 type: docs weight: 40 url: /de/python-net/export-to-html5/ keywords: -- PowerPoint zu HTML -- Folien zu HTML -- HTML5 -- HTML-Export -- Präsentation exportieren +- PowerPoint zu HTML5 +- OpenDocument zu HTML5 +- Präsentation zu HTML5 +- Folie zu HTML5 +- PPT zu HTML5 +- PPTX zu HTML5 +- ODP zu HTML5 +- PowerPoint konvertieren +- OpenDocument konvertieren - Präsentation konvertieren -- Folien konvertieren -- Java -- Aspose.Slides für Python über .NET -description: "Exportieren Sie PowerPoint nach HTML5 in Python" +- Folie konvertieren +- HTML5-Export +- Präsentation exportieren +- Folie exportieren +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Exportieren Sie PowerPoint- und OpenDocument-Präsentationen in responsives HTML5 mit Aspose.Slides für Python über .NET. Bewahren Sie Formatierung, Animationen und Interaktivität." --- {{% alert title="Info" color="info" %}} - -In **Aspose.Slides 21.9** haben wir die Unterstützung für den HTML5-Export implementiert. Wenn Sie jedoch Ihre PowerPoint-Präsentation mithilfe von WebExtensions nach HTML exportieren möchten, lesen Sie stattdessen [diesen Artikel](/slides/de/net/web-extensions/). - +In **Aspose.Slides 21.9** haben wir die Unterstützung für den HTML5‑Export implementiert. Wenn Sie jedoch lieber Ihre PowerPoint‑Präsentation mit WebExtensions nach HTML exportieren möchten, lesen Sie stattdessen [diesen Artikel](/slides/de/net/web-extensions/). {{% /alert %}} -Der Export nach HTML5-Prozess hier ermöglicht es Ihnen, PowerPoint ohne WebExtensions oder Abhängigkeiten nach HTML zu konvertieren. Auf diese Weise können Sie mit Ihren eigenen Vorlagen sehr flexible Optionen anwenden, die den Exportprozess und die resultierenden HTML-, CSS-, JavaScript- und Animationsattribute definieren. +Der hier beschriebene Export nach HTML5 ermöglicht es Ihnen, PowerPoint ohne WebExtensions oder Abhängigkeiten nach HTML zu konvertieren. Auf diese Weise können Sie mit eigenen Vorlagen sehr flexible Optionen anwenden, die den Exportprozess sowie das resultierende HTML, CSS, JavaScript und die Animationsattribute definieren. ## **PowerPoint nach HTML5 exportieren** -Dieser Python-Code zeigt, wie Sie eine Präsentation ohne WebExtensions und Abhängigkeiten nach HTML5 exportieren: - +Dieser Python‑Code zeigt, wie Sie eine Präsentation ohne WebExtensions und Abhängigkeiten nach HTML5 exportieren können: ```py import aspose.slides as slides @@ -35,14 +43,12 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5) ``` -{{% alert color="primary" %}} +{{% alert color="primary" %}} In diesem Fall erhalten Sie sauberes HTML. - {{% /alert %}} -Sie möchten möglicherweise die Einstellungen für Formanimations und Folienübergänge folgendermaßen angeben: - +Möglicherweise möchten Sie die Einstellungen für Form‑Animationen und Folienübergänge auf diese Weise festlegen: ```py import aspose.slides as slides @@ -54,10 +60,10 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5, options) ``` -#### **PowerPoint nach HTML exportieren** -Dieser Python-Code demonstriert den Standardprozess zum Exportieren von PowerPoint nach HTML: +## **PowerPoint nach HTML exportieren** +Dieser Python‑Code demonstriert den Standardprozess zum Export von PowerPoint nach HTML: ```py import aspose.slides as slides @@ -65,35 +71,33 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML) ``` -In diesem Fall wird der Inhalt der Präsentation durch SVG in einer Form wie dieser gerendert: +In diesem Fall wird der Präsentationsinhalt über SVG in folgender Form gerendert: ```html
    - DER INHALT DER FOLIE WIRD HIER ANGEZEIGT + THE SLIDE CONTENT GOES HERE
    ``` -{{% alert title="Hinweis" color="warning" %}} - -Wenn Sie diese Methode verwenden, um PowerPoint nach HTML zu exportieren, können Sie aufgrund der SVG-Rendering nicht Stile anwenden oder spezifische Elemente animieren. +{{% alert title="Hinweis" color="warning" %}} +Wenn Sie diese Methode zum Export von PowerPoint nach HTML verwenden, können Sie aufgrund der SVG‑Darstellung keine Stile anwenden oder bestimmte Elemente animieren. {{% /alert %}} -## **PowerPoint nach HTML5-Folienansicht exportieren** - -**Aspose.Slides** ermöglicht es Ihnen, eine PowerPoint-Präsentation in ein HTML5-Dokument zu konvertieren, in dem die Folien im Modus der Folienansicht präsentiert werden. In diesem Fall sehen Sie, wenn Sie die resultierende HTML5-Datei in einem Browser öffnen, die Präsentation im Modus der Folienansicht auf einer Webseite. +## **PowerPoint nach HTML5‑Folienansicht exportieren** -Dieser Python-Code demonstriert den Exportprozess von PowerPoint zur HTML5-Folienansicht: +**Aspose.Slides** ermöglicht es Ihnen, eine PowerPoint‑Präsentation in ein HTML5‑Dokument zu konvertieren, in dem die Folien im Folien‑Ansichtsmodus dargestellt werden. In diesem Fall sehen Sie beim Öffnen der resultierenden HTML5‑Datei in einem Browser die Präsentation im Folien‑Ansichtsmodus auf einer Webseite. +Dieser Python‑Code demonstriert den Export von PowerPoint zur HTML5‑Folienansicht: ```python import aspose.slides as slides with slides.Presentation("pres.pptx") as pres: - # Exportieren Sie eine Präsentation mit Folienübergängen, Animationen und Formanimationen nach HTML5 + # Exportieren Sie eine Präsentation mit Folienübergängen, Animationen und Form‑Animationen nach HTML5 options = slides.export.Html5Options() options.animate_shapes = True options.animate_transitions = True @@ -102,17 +106,18 @@ with slides.Presentation("pres.pptx") as pres: pres.save("HTML5-slide-view.html", slides.export.SaveFormat.HTML5, options) ``` -## Konvertieren Sie eine Präsentation in ein HTML5-Dokument mit Kommentaren -Kommentare in PowerPoint sind ein Werkzeug, das es Benutzern ermöglicht, Notizen oder Feedback zu Präsentationsfolien zu hinterlassen. Sie sind besonders nützlich in kollaborativen Projekten, in denen mehrere Personen ihre Vorschläge oder Anmerkungen zu bestimmten Folienelementen hinzufügen können, ohne den Hauptinhalt zu verändern. Jeder Kommentar zeigt den Namen des Autors an, was das Nachverfolgen erleichtert, wer die Anmerkung hinterlassen hat. +## **Eine Präsentation in ein HTML5‑Dokument mit Kommentaren konvertieren** + +Kommentare in PowerPoint sind ein Werkzeug, das es Benutzern ermöglicht, Notizen oder Feedback zu Folien zu hinterlassen. Sie sind besonders nützlich in kollaborativen Projekten, bei denen mehrere Personen ihre Vorschläge oder Anmerkungen zu bestimmten Folienelementen hinzufügen können, ohne den Hauptinhalt zu verändern. Jeder Kommentar zeigt den Namen des Autors, sodass leicht nachverfolgbar ist, wer die Anmerkung gemacht hat. -Angenommen, wir haben die folgende PowerPoint-Präsentation, die in der Datei "sample.pptx" gespeichert ist. +Angenommen, wir haben die folgende PowerPoint‑Präsentation in der Datei "sample.pptx" gespeichert. -![Zwei Kommentare zur Präsentationsfolie](two_comments_pptx.png) +![Zwei Kommentare auf der Präsentationsfolie](two_comments_pptx.png) -Wenn Sie eine PowerPoint-Präsentation in ein HTML5-Dokument konvertieren, können Sie leicht angeben, ob Sie Kommentare aus der Präsentation im Ausgabedokument einfügen möchten. Dazu müssen Sie die Anzeigeparameter für Kommentare in der `notes_comments_layouting`-Eigenschaft der [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) Klasse angeben. +Wenn Sie eine PowerPoint‑Präsentation in ein HTML5‑Dokument konvertieren, können Sie leicht festlegen, ob Kommentare aus der Präsentation im Ausgabedokument enthalten sein sollen. Dazu müssen Sie die Anzeigeparameter für Kommentare in der Eigenschaft `notes_comments_layouting` der Klasse [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) angeben. -Das folgende Codebeispiel konvertiert eine Präsentation in ein HTML5-Dokument, wobei die Kommentare rechts von den Folien angezeigt werden. +Das folgende Code‑Beispiel konvertiert eine Präsentation in ein HTML5‑Dokument, wobei die Kommentare rechts neben den Folien angezeigt werden. ```py html5_options = Html5Options() html5_options.notes_comments_layouting.comments_position = CommentsPositions.RIGHT @@ -121,6 +126,21 @@ with Presentation("sample.pptx") as presentation: presentation.save("output.html", SaveFormat.HTML5, html5_options) ``` -Das Dokument "output.html" wird in der folgenden Abbildung dargestellt. -![Die Kommentare im Ausgabedokument HTML5](two_comments_html5.png) \ No newline at end of file +Das "output.html"-Dokument ist im Bild unten zu sehen. + +![Die Kommentare im ausgegebenen HTML5‑Dokument](two_comments_html5.png) + +## **FAQ** + +**Kann ich steuern, ob Objekt‑Animationen und Folienübergänge in HTML5 abgespielt werden?** + +Ja, HTML5 bietet separate Optionen, um [Form‑Animationen](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) und [Folien‑Übergänge](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/) zu aktivieren oder zu deaktivieren. + +**Werden Kommentare unterstützt und wo können sie relativ zur Folie positioniert werden?** + +Ja, Kommentare können in HTML5 hinzugefügt und (zum Beispiel rechts von der Folie) über die [Layout‑Einstellungen](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/notes_comments_layouting/) für Notizen und Kommentare positioniert werden. + +**Kann ich Links, die JavaScript aufrufen, aus Sicherheits‑ oder CSP‑Gründen überspringen?** + +Ja, es gibt eine [Einstellung](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/skip_java_script_links/), die es ermöglicht, Hyperlinks mit JavaScript‑Aufrufen beim Speichern zu überspringen. Dies hilft, strenge Sicherheitsrichtlinien einzuhalten. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 512d4970f5..c9f8fc98f0 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,30 +1,42 @@ --- -title: Export nach XAML +title: Export Präsentationen nach XAML mit Python +linktitle: Export nach XAML type: docs weight: 30 url: /de/python-net/export-to-xaml/ -keywords: "Export PowerPoint-Präsentation, PowerPoint konvertieren, XAML, PowerPoint nach XAML, PPT nach XAML, PPTX nach XAML, Python" -description: "Exportieren oder Konvertieren von PowerPoint-Präsentationen nach XAML" +keywords: +- PowerPoint exportieren +- OpenDocument exportieren +- Präsentation exportieren +- PowerPoint konvertieren +- OpenDocument konvertieren +- Präsentation konvertieren +- PowerPoint nach XAML +- OpenDocument nach XAML +- Präsentation nach XAML +- PPT nach XAML +- PPTX nach XAML +- ODP nach XAML +- Python +- Aspose.Slides +description: "Konvertieren Sie PowerPoint- und OpenDocument-Folien nach XAML in Python mit Aspose.Slides - eine schnelle, Office-freie Lösung, die Ihr Layout beibehält." --- -# Exportieren von Präsentationen nach XAML +## **Übersicht** {{% alert title="Info" color="info" %}} -In [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/) haben wir die Unterstützung für den XAML-Export implementiert. Sie können jetzt Ihre Präsentationen nach XAML exportieren. +In [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/), haben wir die Unterstützung für den XAML‑Export implementiert. Sie können Ihre Präsentationen jetzt nach XAML exportieren. {{% /alert %}} -# Über XAML +XAML ist eine deklarative Programmiersprache, die es Ihnen ermöglicht, Benutzeroberflächen für Apps zu erstellen oder zu schreiben, insbesondere für solche, die WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) und Xamarin Forms verwenden. -XAML ist eine beschreibende Programmiersprache, die es Ihnen ermöglicht, Benutzeroberflächen für Apps zu erstellen oder zu schreiben, insbesondere für solche, die WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) und Xamarin-Formulare verwenden. +XAML, eine XML‑basierte Sprache, ist Microsofts Variante zur Beschreibung einer GUI. Sie werden wahrscheinlich die meiste Zeit einen Designer verwenden, um an XAML‑Dateien zu arbeiten, können aber die GUI auch manuell erstellen und bearbeiten. -XAML, eine XML-basierte Sprache, ist die Variante von Microsoft zur Beschreibung einer GUI. Wahrscheinlich verwenden Sie meistens einen Designer, um an XAML-Dateien zu arbeiten, aber Sie können Ihre GUI auch selbst schreiben und bearbeiten. - -## Exportieren von Präsentationen nach XAML mit Standardeinstellungen - -Dieser Python-Code zeigt Ihnen, wie Sie eine Präsentation mit den Standardeinstellungen nach XAML exportieren: +## **Präsentationen mit den Standardeinstellungen nach XAML exportieren** +Dieser Python‑Code zeigt, wie Sie eine Präsentation mit den Standardeinstellungen nach XAML exportieren: ```py import aspose.slides as slides @@ -32,12 +44,12 @@ pres = slides.Presentation("pres.pptx") pres.save(slides.export.xaml.XamlOptions()) ``` -## Exportieren von Präsentationen nach XAML mit benutzerdefinierten Optionen -Sie können Optionen aus der [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) Schnittstelle auswählen, die den Exportprozess steuern und bestimmen, wie Aspose.Slides Ihre Präsentation nach XAML exportiert. +## **Präsentationen mit benutzerdefinierten Optionen nach XAML exportieren** -Wenn Sie beispielsweise möchten, dass Aspose.Slides beim Export nach XAML die verborgenen Folien Ihrer Präsentation hinzufügt, können Sie die [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) Eigenschaft auf true setzen. Hier ist ein Beispiel-Python-Code: +Sie können Optionen aus der [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/)‑Schnittstelle auswählen, die den Exportvorgang steuern und bestimmen, wie Aspose.Slides Ihre Präsentation nach XAML exportiert. +Zum Beispiel können Sie, wenn Sie möchten, dass Aspose.Slides versteckte Folien Ihrer Präsentation beim Export nach XAML hinzufügt, die Eigenschaft [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) auf true setzen. Siehe diesen Beispiel‑Python‑Code: ```py import aspose.slides as slides @@ -47,4 +59,19 @@ opt = slides.export.xaml.XamlOptions() opt.export_hidden_slides = True pres.save(opt) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie kann ich vorhersehbare Schriftarten sicherstellen, wenn die Originalschriftart auf dem Rechner nicht verfügbar ist?** + +Setzen Sie [default_regular_font](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/default_regular_font/) in [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) – sie wird als Ersatzschriftart verwendet, wenn die Originalschrift fehlt. Das hilft, unerwartete Ersetzungen zu vermeiden. + +**Ist das exportierte XAML nur für WPF gedacht oder kann es auch in anderen XAML‑Stacks verwendet werden?** + +XAML ist eine allgemeine UI‑Markup‑Sprache, die in WPF, UWP und Xamarin.Forms verwendet wird. Der Export zielt auf die Kompatibilität mit Microsoft‑XAML‑Stacks ab; das genaue Verhalten und die Unterstützung bestimmter Konstrukte hängen von der Zielplattform ab. Testen Sie das Markup in Ihrer Umgebung. + +**Werden versteckte Folien unterstützt und wie kann ich verhindern, dass sie standardmäßig exportiert werden?** + +Standardmäßig werden versteckte Folien nicht einbezogen. Sie können dieses Verhalten über [export_hidden_slides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/export_hidden_slides/) in [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) steuern – deaktivieren Sie es, wenn Sie sie nicht exportieren möchten. \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/examine-presentation/_index.md b/de/python-net/developer-guide/manage-presentation/examine-presentation/_index.md index d910e755ce..86b83bdc08 100644 --- a/de/python-net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/de/python-net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,11 +1,10 @@ --- -title: Präsentation überprüfen +title: Abrufen und Aktualisieren von Präsentationsinformationen in Python +linktitle: Präsentationsinformationen type: docs weight: 30 url: /de/python-net/examine-presentation/ keywords: -- PowerPoint -- Präsentation - Präsentationsformat - Präsentationseigenschaften - Dokumenteigenschaften @@ -13,26 +12,31 @@ keywords: - Eigenschaften lesen - Eigenschaften ändern - Eigenschaften modifizieren -- PPTX -- PPT +- Eigenschaften aktualisieren +- PPTX untersuchen +- PPT untersuchen +- ODP untersuchen +- PowerPoint +- OpenDocument +- Präsentation - Python -description: "Lesen und Ändern von PowerPoint-Präsentationseigenschaften in Python" +- Aspose.Slides +description: "Untersuchen Sie Folien, Struktur und Metadaten in PowerPoint- und OpenDocument-Präsentationen mit Python für schnellere Einblicke und intelligentere Inhaltsprüfungen." --- -Aspose.Slides für Python über .NET ermöglicht es Ihnen, eine Präsentation zu überprüfen, um ihre Eigenschaften herauszufinden und ihr Verhalten zu verstehen. +Aspose.Slides für Python via .NET ermöglicht es Ihnen, eine Präsentation zu untersuchen, um ihre Eigenschaften zu ermitteln und ihr Verhalten zu verstehen. {{% alert title="Info" color="info" %}} -Die [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) und [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) Klassen enthalten die Eigenschaften und Methoden, die hier in den Operationen verwendet werden. +Die Klassen [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) und [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) enthalten die Eigenschaften und Methoden, die hier verwendet werden. {{% /alert %}} -## **Präsentationsformat überprüfen** - -Bevor Sie an einer Präsentation arbeiten, möchten Sie möglicherweise herausfinden, in welchem Format (PPT, PPTX, ODP und andere) sich die Präsentation im Moment befindet. +## **Prüfen des Präsentationsformats** -Sie können das Format einer Präsentation überprüfen, ohne die Präsentation zu laden. Sehen Sie sich diesen Python-Code an: +Bevor Sie an einer Präsentation arbeiten, möchten Sie möglicherweise herausfinden, in welchem Format (PPT, PPTX, ODP und andere) sich die Präsentation aktuell befindet. +Sie können das Format einer Präsentation überprüfen, ohne sie zu laden. Siehe diesen Python-Code: ```py import aspose.slides as slides @@ -46,10 +50,10 @@ info3 = slides.PresentationFactory.instance.get_presentation_info("pres.ppt") print(info3.load_format, info3.load_format == slides.LoadFormat.PPT) ``` -## **Präsentationseigenschaften abrufen** -Dieser Python-Code zeigt Ihnen, wie Sie die Präsentationseigenschaften (Informationen über die Präsentation) abrufen können: +## **Abrufen von Präsentationseigenschaften** +Dieser Python-Code zeigt Ihnen, wie Sie Präsentationseigenschaften (Informationen zur Präsentation) erhalten: ```py import aspose.slides as slides @@ -60,40 +64,63 @@ print(props.subject) print(props.title) ``` -Sie möchten möglicherweise die [Eigenschaften unter der DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties) Klasse sehen. -## **Präsentationseigenschaften aktualisieren** +Sie möchten möglicherweise die [Eigenschaften der DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties) Klasse sehen. -Aspose.Slides bietet die [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) Methode, die es Ihnen ermöglicht, Änderungen an den Präsentationseigenschaften vorzunehmen. +## **Aktualisieren von Präsentationseigenschaften** -Angenommen, wir haben eine PowerPoint-Präsentation mit den folgenden dokumenteigenschaften. +Aspose.Slides stellt die Methode [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) zur Verfügung, mit der Sie Änderungen an Präsentationseigenschaften vornehmen können. + +Nehmen wir an, wir haben eine PowerPoint‑Präsentation mit den unten gezeigten Dokumenteigenschaften. ![Originale Dokumenteigenschaften der PowerPoint-Präsentation](input_properties.png) Dieses Codebeispiel zeigt Ihnen, wie Sie einige Präsentationseigenschaften bearbeiten: - ```py file_name = "sample.pptx" info = PresentationFactory.instance.get_presentation_info(file_name) properties = info.read_document_properties() -properties.title = "Mein Titel" +properties.title = "My title" properties.last_saved_time = datetime.now() info.update_document_properties(properties) info.write_binded_presentation(file_name) ``` -Die Ergebnisse der Änderung der Dokumenteigenschaften sind unten gezeigt. + +Die Ergebnisse der Änderung der Dokumenteigenschaften werden unten angezeigt. ![Geänderte Dokumenteigenschaften der PowerPoint-Präsentation](output_properties.png) ## **Nützliche Links** -Um mehr Informationen über eine Präsentation und ihre Sicherheitsattribute zu erhalten, könnten Sie diese Links nützlich finden: +Um weitere Informationen zu einer Präsentation und ihren Sicherheitsaspekten zu erhalten, können diese Links hilfreich sein: + +- [Prüfen, ob eine Präsentation verschlüsselt ist](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [Prüfen, ob eine Präsentation schreibgeschützt (nur lesbar) ist](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [Prüfen, ob eine Präsentation vor dem Laden passwortgeschützt ist](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [Bestätigen des zum Schutz einer Präsentation verwendeten Passworts](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **FAQ** + +**Wie kann ich überprüfen, ob Schriftarten eingebettet sind und welche es sind?** + +Suchen Sie nach [embedded-font information](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_embedded_fonts/) auf Präsentationsebene und vergleichen Sie diese Einträge mit der Menge der [fonts actually used across content](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/), um zu ermitteln, welche Schriftarten für die Wiedergabe kritisch sind. + +**Wie kann ich schnell feststellen, ob die Datei verborgene Folien enthält und wie viele?** + +Iterieren Sie durch die [slide collection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) und prüfen Sie das [visibility flag](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) jeder Folie. + +**Kann ich erkennen, ob eine benutzerdefinierte Foliengröße und -ausrichtung verwendet wird und ob sie von den Vorgaben abweicht?** + +Ja. Vergleichen Sie die aktuelle [slide size](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/slide_size/) und Ausrichtung mit den Standard‑Presets; das hilft, das Verhalten beim Drucken und Exportieren vorherzusehen. + +**Gibt es eine schnelle Möglichkeit zu sehen, ob Diagramme externe Datenquellen referenzieren?** + +Ja. Durchsuchen Sie alle [charts](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), prüfen Sie deren [data source](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdata/data_source_type/), und notieren Sie, ob die Daten intern oder verlinkt sind, einschließlich eventueller defekter Links. + +**Wie kann ich „schwere“ Folien beurteilen, die das Rendern oder den PDF-Export verlangsamen könnten?** -- [Überprüfen, ob eine Präsentation verschlüsselt ist](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [Überprüfen, ob eine Präsentation schreibgeschützt (nur lesen) ist](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [Überprüfen, ob eine Präsentation vor dem Laden passwortgeschützt ist](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [Bestätigen des Passworts, das zum Schutz einer Präsentation verwendet wurde](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +Für jede Folie zählen Sie Objektanzahlen und achten auf große Bilder, Transparenz, Schatten, Animationen und Multimedia; vergeben Sie einen groben Komplexitäts‑Score, um potenzielle Performance‑Hotspots zu kennzeichnen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/manage-blob/_index.md b/de/python-net/developer-guide/presentation-content/manage-blob/_index.md index 388defae39..7687ebea7d 100644 --- a/de/python-net/developer-guide/presentation-content/manage-blob/_index.md +++ b/de/python-net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,50 +1,65 @@ --- -title: Blob verwalten +title: BLOBs in Präsentationen mit Python verwalten für effiziente Speicherverwendung +linktitle: BLOB verwalten type: docs weight: 10 url: /de/python-net/manage-blob/ -keywords: "Blob hinzufügen, Blob exportieren, Bild als Blob hinzufügen, PowerPoint-Präsentation, Python, Aspose.Slides für Python via .NET" -description: "Blob zur PowerPoint-Präsentation in Python hinzufügen. Blob exportieren. Bild als Blob hinzufügen" +keywords: +- großes Objekt +- großes Element +- große Datei +- BLOB hinzufügen +- BLOB exportieren +- Bild als BLOB hinzufügen +- Speicher reduzieren +- Speicherverbrauch +- große Präsentation +- temporäre Datei +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Verwalten Sie BLOB-Daten in Aspose.Slides für Python via .NET, um PowerPoint- und OpenDocument-Dateioperationen zu optimieren und eine effiziente Präsentationsbearbeitung zu ermöglichen." --- -### **Über BLOB** +## **Über BLOB** -**BLOB** (**Binary Large Object**) ist normalerweise ein großes Element (Foto, Präsentation, Dokument oder Medien), das in binären Formaten gespeichert ist. +**BLOB** (**Binary Large Object**) ist in der Regel ein großes Objekt (Foto, Präsentation, Dokument oder Medien), das in binären Formaten gespeichert wird. -Aspose.Slides für Python via .NET ermöglicht Ihnen die Verwendung von BLOBs für Objekte auf eine Weise, die den Speicherverbrauch bei großen Dateien verringert. +Aspose.Slides für Python via .NET ermöglicht die Verwendung von BLOBs für Objekte, wodurch der Speicherverbrauch bei großen Dateien reduziert wird. -# **BLOB verwenden, um den Speicherverbrauch zu reduzieren** +## **Verwenden Sie BLOB, um den Speicherverbrauch zu reduzieren** ### **Große Datei über BLOB zu einer Präsentation hinzufügen** -[Aspose.Slides](/slides/de/python-net/) für .NET ermöglicht es Ihnen, große Dateien (in diesem Fall eine große Videodatei) über einen Prozess mit BLOBs hinzuzufügen, um den Speicherverbrauch zu verringern. - -Dieses Python-Beispiel zeigt Ihnen, wie Sie eine große Videodatei über den BLOB-Prozess zu einer Präsentation hinzufügen: +[Aspose.Slides](/slides/de/python-net/) für .NET erlaubt das Hinzufügen großer Dateien (in diesem Fall einer großen Videodatei) über einen Vorgang mit BLOBs, um den Speicherverbrauch zu senken. +Dieses Python‑Beispiel zeigt, wie Sie eine große Videodatei über den BLOB‑Prozess zu einer Präsentation hinzufügen: ```py import aspose.slides as slides pathToVeryLargeVideo = "veryLargeVideo.avi" -# Erstellt eine neue Präsentation, zu der das Video hinzugefügt wird +# Erzeugt eine neue Präsentation, zu der das Video hinzugefügt wird with slides.Presentation() as pres: with open(pathToVeryLargeVideo, "br") as fileStream: - # Lassen Sie uns das Video in die Präsentation einfügen - wir haben das KeepLocked-Verhalten gewählt, da wir - # nicht beabsichtigen, auf die "veryLargeVideo.avi"-Datei zuzugreifen. + # Fügen wir das Video zur Präsentation hinzu - wir haben das KeepLocked-Verhalten gewählt, weil wir + # nicht beabsichtigen, die Datei "veryLargeVideo.avi" zuzugreifen. video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) pres.slides[0].shapes.add_video_frame(0, 0, 480, 270, video) # Speichert die Präsentation. Während eine große Präsentation ausgegeben wird, bleibt der Speicherverbrauch - # während des Lebenszyklus des pres-Objekts niedrig + # durch den Lebenszyklus des pres-Objekts niedrig pres.save("presentationWithLargeVideo.pptx", slides.export.SaveFormat.PPTX) ``` -### **Große Datei über BLOB aus der Präsentation exportieren** -Aspose.Slides für Python via .NET ermöglicht es Ihnen, große Dateien (in diesem Fall eine Audio- oder Videodatei) über einen Prozess mit BLOBs aus Präsentationen zu exportieren. Zum Beispiel müssen Sie möglicherweise eine große Mediendatei aus einer Präsentation extrahieren, möchten jedoch nicht, dass die Datei in den Arbeitsspeicher Ihres Computers geladen wird. Durch den Export der Datei über den BLOB-Prozess können Sie den Speicherverbrauch gering halten. +### **Große Datei über BLOB aus einer Präsentation exportieren** -Dieser Python-Code zeigt die beschriebene Operation: +Aspose.Slides für Python via .NET ermöglicht das Exportieren großer Dateien (z. B. einer Audio‑ oder Videodatei) über einen BLOB‑basierten Vorgang aus Präsentationen. Beispielsweise müssen Sie möglicherweise eine große Mediendatei aus einer Präsentation extrahieren, ohne dass die Datei in den Arbeitsspeicher geladen wird. Durch den Export über den BLOB‑Prozess bleibt der Speicherverbrauch niedrig. +Der folgende Python‑Code demonstriert die beschriebene Operation: ```py import aspose.slides as slides @@ -54,21 +69,21 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation(path + "Video.pptx", loadOptions) as pres: - # Lassen Sie uns jedes Video in eine Datei speichern. Um hohen Speicherverbrauch zu vermeiden, benötigen wir einen Puffer, der verwendet wird - # um die Daten vom Videostream der Präsentation in einen Stream für eine neu erstellte Videodatei zu übertragen. - # byte[] buffer = new byte[8 * 1024]; + # Speichern wir jedes Video in einer Datei. Um hohen Speicherverbrauch zu vermeiden, benötigen wir einen Puffer, der verwendet wird + # um die Daten vom Videostream der Präsentation in einen Stream für eine neu erstellte Videodatei zu übertragen. + # byte[] buffer = new byte[8 * 1024]; bufferSize = 8 * 1024 - # Durchläuft die Videos + # Durchläuft die Videos index = 0 - # Falls erforderlich, können Sie dieselben Schritte für Audiodateien anwenden. + # Falls nötig, können Sie die gleichen Schritte für Audiodateien anwenden. for video in pres.videos: - # Öffnet den Video-Stream der Präsentation. Bitte beachten Sie, dass wir absichtlich den Zugriff auf Eigenschaften - # wie video.BinaryData vermieden haben - weil diese Eigenschaft ein Byte-Array zurückgibt, das ein vollständiges Video enthält, was dann - # dazu führt, dass Bytes in den Arbeitsspeicher geladen werden. Wir verwenden video.GetStream, das Stream zurückgibt - und wir müssen NICHT - # das gesamte Video in den Arbeitsspeicher laden. + # Öffnet den Videostream der Präsentation. Bitte beachten Sie, dass wir bewusst darauf verzichtet haben, Eigenschaften zuzugreifen + # wie video.BinaryData – weil diese Eigenschaft ein Byte-Array mit dem gesamten Video zurückgibt, das dann + # Bytes in den Speicher lädt. Wir verwenden video.GetStream, das einen Stream zurückgibt – und NICHT + # erfordert, dass wir das gesamte Video in den Speicher laden. with video.get_stream() as presVideoStream: - with open("video{index}.avi".format(index=index), "wb") as outputFileStream: + with open("video{index}.avi".format(index = index), "wb") as outputFileStream: buffer = presVideoStream.read(8 * 1024) bytesRead = len(buffer) while bytesRead > 0: @@ -79,15 +94,16 @@ with slides.Presentation(path + "Video.pptx", loadOptions) as pres: index += 1 ``` -### **Bild als BLOB in der Präsentation hinzufügen** -Mit Methoden aus der [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) Schnittstelle und der [**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) Klasse können Sie ein großes Bild als Stream hinzufügen, um es als BLOB zu behandeln. -Dieser Python-Code zeigt Ihnen, wie Sie ein großes Bild über den BLOB-Prozess hinzufügen: +### **Bild als BLOB in einer Präsentation hinzufügen** + +Mit den Methoden der Schnittstelle [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) und der Klasse [**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) können Sie ein großes Bild als Stream hinzufügen, sodass es als BLOB behandelt wird. +Dieses Python‑Beispiel zeigt, wie Sie ein großes Bild über den BLOB‑Prozess hinzufügen: ```py import aspose.slides as slides -# Erstellt eine neue Präsentation, zu der das Bild hinzugefügt wird. +# erstellt eine neue Präsentation, zu der das Bild hinzugefügt wird. with slides.Presentation() as pres: with open("img.jpeg", "br") as fileStream: img = pres.images.add_image(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) @@ -95,25 +111,25 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeImage.pptx", slides.export.SaveFormat.PPTX) ``` -## **Speicher und große Präsentationen** -Typischerweise benötigen Computer, um eine große Präsentation zu laden, viel temporären Speicher. Der gesamte Inhalt der Präsentation wird in den Speicher geladen und die Datei (aus der die Präsentation geladen wurde) wird nicht mehr verwendet. +## **Speicher und große Präsentationen** -Betrachten Sie eine große PowerPoint-Präsentation (large.pptx), die eine 1,5 GB große Videodatei enthält. Die Standardmethode zum Laden der Präsentation ist in diesem Python-Code beschrieben: +Typischerweise erfordern das Laden großer Präsentationen viel temporären Speicher. Der gesamte Inhalt der Präsentation wird in den Arbeitsspeicher geladen und die ursprüngliche Datei wird nicht mehr verwendet. +Betrachten Sie eine große PowerPoint‑Präsentation (large.pptx), die eine 1,5 GB‑Videodatei enthält. Die Standardmethode zum Laden der Präsentation wird in diesem Python‑Code beschrieben: ```py import aspose.slides as slides with slides.Presentation("large.pptx") as pres: - pres.save("large.pdf", slides.export.SaveFormat.PDF) + pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -Aber diese Methode verbraucht etwa 1,6 GB temporären Speicher. -### **Eine große Präsentation als BLOB laden** +Diese Methode verbraucht jedoch etwa 1,6 GB temporären Speicher. -Durch den Prozess mit einem BLOB können Sie eine große Präsentation laden, während Sie wenig Speicher verwenden. Dieser Python-Code beschreibt die Implementierung, bei der der BLOB-Prozess verwendet wird, um eine große Präsentationsdatei (large.pptx) zu laden: +### **Große Präsentation als BLOB laden** +Durch den BLOB‑basierten Vorgang können Sie eine große Präsentation mit geringem Speicherverbrauch laden. Der folgende Python‑Code beschreibt die Implementierung, bei der der BLOB‑Prozess zum Laden einer großen Präsentationsdatei (large.pptx) verwendet wird: ```py import aspose.slides as slides @@ -123,13 +139,13 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation("large.pptx", loadOptions) as pres: - pres.save("large.pdf", slides.export.SaveFormat.PDF) + pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -#### **Ändern des Ordners für temporäre Dateien** -Wenn der BLOB-Prozess verwendet wird, erstellt Ihr Computer temporäre Dateien im Standardordner für temporäre Dateien. Wenn Sie möchten, dass die temporären Dateien in einem anderen Ordner gespeichert werden, können Sie die Einstellungen für den Speicherort mit `temp_files_root_path` ändern: +### **Ordner für temporäre Dateien ändern** +Wenn der BLOB‑Prozess verwendet wird, erstellt Ihr Computer temporäre Dateien im Standard‑Temp‑Ordner. Wenn Sie die temporären Dateien in einem anderen Ordner speichern möchten, können Sie die Speicheroptionen über `temp_files_root_path` ändern: ```py import aspose.slides as slides @@ -140,8 +156,29 @@ loadOptions.blob_management_options.is_temporary_files_allowed = True loadOptions.blob_management_options.temp_files_root_path = "temp" ``` + {{% alert title="Info" color="info" %}} +Wenn Sie `temp_files_root_path` verwenden, erstellt Aspose.Slides den Ordner für temporäre Dateien nicht automatisch. Sie müssen den Ordner manuell anlegen. +{{% /alert %}} + +## **FAQ** + +**Welche Daten in einer Aspose.Slides‑Präsentation werden als BLOB behandelt und von BLOB‑Optionen gesteuert?** + +Große Binärobjekte wie Bilder, Audio und Video werden als BLOB behandelt. Auch die gesamte Präsentationsdatei unterliegt der BLOB‑Verarbeitung beim Laden oder Speichern. Diese Objekte werden von BLOB‑Richtlinien gesteuert, mit denen Sie die Speichernutzung verwalten und bei Bedarf in temporäre Dateien auslagern können. + +**Wo konfiguriere ich die BLOB‑Verarbeitungsregeln beim Laden einer Präsentation?** + +Verwenden Sie [LoadOptions](https://reference.aspose.com/slides/python-net/aspose.slides/loadoptions/) zusammen mit [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/). Dort legen Sie das In‑Memory‑Limit für BLOB fest, erlauben oder verbieten temporäre Dateien, wählen den Root‑Pfad für temporäre Dateien und bestimmen das Locking‑Verhalten der Quelle. + +**Beeinflussen BLOB‑Einstellungen die Leistung und wie balanciere ich Geschwindigkeit und Speicher?** + +Ja. Das Behalten von BLOBs im Speicher maximiert die Geschwindigkeit, erhöht jedoch den RAM‑Verbrauch; ein niedrigeres Speicher‑Limit verlagert mehr Arbeit auf temporäre Dateien, reduziert den RAM‑Verbrauch, führt aber zu zusätzlichem I/O. Passen Sie den Schwellenwert [max_blobs_bytes_in_memory](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/max_blobs_bytes_in_memory/) an, um das optimale Gleichgewicht für Ihre Arbeitslast und Umgebung zu erzielen. + +**Helfen BLOB‑Optionen beim Öffnen extrem großer Präsentationen (z. B. mehrere Gigabyte)?** + +Ja. [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) sind für solche Szenarien konzipiert: Durch Aktivieren temporärer Dateien und das Verwenden von Source‑Locking kann der Spitzen‑RAM‑Verbrauch deutlich reduziert und die Verarbeitung sehr großer Decks stabilisiert werden. -Wenn Sie `temp_files_root_path` verwenden, erstellt Aspose.Slides nicht automatisch einen Ordner, um temporäre Dateien zu speichern. Sie müssen den Ordner manuell erstellen. +**Kann ich BLOB‑Richtlinien beim Laden aus Streams anstelle von Dateisystemen verwenden?** -{{% /alert %}} \ No newline at end of file +Ja. Die gleichen Regeln gelten für Streams: Die Präsentationsinstanz kann den Eingabestream besitzen und sperren (abhängig vom gewählten Locking‑Modus), und temporäre Dateien werden verwendet, wenn sie erlaubt sind, sodass die Speichernutzung während der Verarbeitung vorhersehbar bleibt. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/de/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 81014cb427..38c1c588fb 100644 --- a/de/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/de/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -5,19 +5,19 @@ type: docs weight: 10 url: /de/python-net/picture-frame/ keywords: -- bilderrahmen -- bilderrahmen hinzufügen -- bilderrahmen erstellen -- bild hinzufügen -- bild erstellen -- bild extrahieren -- rasterbild -- vektorbild -- bild zuschneiden -- zugeschnittener Bereich -- StretchOff-Eigenschaft -- Bilderrahmenformatierung -- Bilderrahmeneigenschaften +- Bilderrahmen +- Bilderrahmen hinzufügen +- Bilderrahmen erstellen +- Bild hinzufügen +- Bild erstellen +- Bild extrahieren +- Rasterbild +- Vektorbild +- Bild zuschneiden +- Zuge­schnittener Bereich +- StretchOff‑Eigenschaft +- Bilderrahmen‑Formatierung +- Bilderrahmen‑Eigenschaften - relative Skalierung - Bildeffekt - Seitenverhältnis @@ -27,100 +27,86 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Fügen Sie mit Aspose.Slides for Python via .NET Bilderrahmen zu PowerPoint- und OpenDocument-Präsentationen hinzu. Optimieren Sie Ihren Arbeitsablauf und veredeln Sie das Folienlayout." +description: "Fügen Sie PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python über .NET Bilderrahmen hinzu. Optimieren Sie Ihren Arbeitsablauf und verbessern Sie das Design der Folien." --- -Ein Bilderrahmen ist eine Form, die ein Bild enthält – es ist wie ein Bild in einem Rahmen. +## **Übersicht** -Sie können ein Bild auf eine Folie über einen Bilderrahmen hinzufügen. Auf diese Weise können Sie das Bild durch die Formatierung des Bilderrahmens formatieren. - -{{% alert title="Tipp" color="primary" %}} - -Aspose bietet kostenlose Konverter – [JPEG zu PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) und [PNG zu PowerPoint](https://products.aspose.app/slides/import/png-to-ppt) – die es den Benutzern ermöglichen, schnell Präsentationen aus Bildern zu erstellen. - -{{% /alert %}} +Bilderrahmen in Aspose.Slides für Python ermöglichen das Platzieren und Verwalten von Raster‑ und Vektorbildern als native Folienformen. Sie können Bilder aus Dateien oder Streams einfügen, sie mit genauen Koordinaten positionieren und skalieren, eine Drehung anwenden, Transparenz festlegen und die Z‑Reihenfolge zusammen mit anderen Formen steuern. Die API unterstützt zudem das Zuschneiden, das Beibehalten von Seitenverhältnissen, das Festlegen von Rändern und Effekten sowie das Ersetzen des zugrunde liegenden Bildes, ohne das Layout neu zu erstellen. Da Bilderrahmen sich wie reguläre Formen verhalten, können Sie Animationen, Hyperlinks und Alternativtext hinzufügen, was das Erstellen visuell reichhaltiger, barrierefreier Präsentationen vereinfacht. ## **Bilderrahmen erstellen** -1. Erstellen Sie eine Instanz der [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich die Referenz einer Folie über ihren Index. -3. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) Objekt, indem Sie ein Bild zur [IImageskollektion](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) hinzufügen, die mit dem Präsentationsobjekt verbunden ist, das verwendet werden soll, um die Form auszufüllen. -4. Geben Sie die Breite und Höhe des Bildes an. -5. Erstellen Sie einen [Bilderrahmen](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) basierend auf der Breite und Höhe des Bildes über die `AddPictureFrame` Methode, die vom Formobjekt bereitgestellt wird, das mit der verwiesenen Folie verbunden ist. -6. Fügen Sie der Folie einen Bilderrahmen (der das Bild enthält) hinzu. -7. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Dieser Abschnitt zeigt, wie Sie ein Bild in eine Folie einfügen, indem Sie mit Aspose.Slides für Python einen [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) erstellen. Sie lernen, wie das Bild geladen, präzise auf der Folie platziert und seine Größe sowie Formatierung gesteuert werden. -Dieser Python-Code zeigt Ihnen, wie Sie einen Bilderrahmen erstellen: +1. Erzeugen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Rufen Sie eine Folie anhand ihres Index ab. +3. Erstellen Sie ein [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) indem Sie das Bild zur [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) der Präsentation hinzufügen. Dieses Bild wird zum Füllen der Form verwendet. +4. Geben Sie die Breite und Höhe des Rahmens an. +5. Erzeugen Sie einen [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) dieser Größe mithilfe der Methode [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/). +6. Speichern Sie die Präsentation als PPTX-Datei. ```py import aspose.slides as slides -import aspose.pydrawing as draw -# Instanziiert die Presentation-Klasse, die eine PPTX-Datei repräsentiert -with slides.Presentation() as pres: - # Holt die erste Folie - sld = pres.slides[0] - - # Instanziiert die ImageEx-Klasse - with open("img.jpeg", "rb") as in_file: - image = pres.images.add_image(in_file) +# Instanziieren Sie die Presentation‑Klasse, um eine PPTX‑Datei darzustellen. +with slides.Presentation() as presentation: + # Holen Sie die erste Folie. + slide = presentation.slides[0] - # Fügt einen Rahmen mit der entsprechenden Höhe und Breite des Bildes hinzu - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, image.width, image.height, image) + # Fügen Sie das Bild zur Präsentation hinzu. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Wendet einige Formatierungen auf die PictureFrameEx an - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Fügen Sie einen Bilderrahmen mit der Größe des Bildes hinzu. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Schreibt die PPTX-Datei auf die Festplatte - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Speichern Sie die Präsentation als PPTX. + presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="warning" %}} - -Bilderrahmen ermöglichen es Ihnen, schnell Präsentationsfolien basierend auf Bildern zu erstellen. Wenn Sie den Bilderrahmen mit den Speichermöglichkeiten von Aspose.Slides kombinieren, können Sie Eingabe-/Ausgabeoperationen manipulieren, um Bilder von einem Format in ein anderes zu konvertieren. Möglicherweise möchten Sie sich diese Seiten ansehen: konvertieren [Bild zu JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); konvertieren [JPG zu Bild](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); konvertieren [JPG zu PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/), konvertieren [PNG zu JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); konvertieren [PNG zu SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/), konvertieren [SVG zu PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). +{{% alert color="warning" %}} +Bilderrahmen ermöglichen es Ihnen, schnell Präsentationsfolien aus Bildern zu erstellen. Wenn Sie Bilderrahmen mit den Speicheroptionen von Aspose.Slides kombinieren, können Sie I/O‑Operationen steuern, um Bilder von einem Format in ein anderes zu konvertieren. Möglicherweise interessieren Sie folgende Seiten: konvertieren [Bild zu JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); konvertieren [JPG zu Bild](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); konvertieren [JPG zu PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/); konvertieren [PNG zu JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); konvertieren [PNG zu SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/); konvertieren [SVG zu PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). {{% /alert %}} -## **Bilderrahmen mit relativem Maßstab erstellen** +## **Bilderrahmen mit relativer Skalierung erstellen** -Durch Ändern des relativen Maßstabs eines Bildes können Sie einen komplizierteren Bilderrahmen erstellen. +Dieser Abschnitt demonstriert das Platzieren eines Bildes in fester Größe und anschließend das Anwenden einer prozentbasierten Skalierung unabhängig für Breite und Höhe. Da die Prozentsätze unterschiedlich sein können, kann sich das Seitenverhältnis ändern. Die Skalierung erfolgt relativ zu den ursprünglichen Abmessungen des Bildes. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich die Referenz einer Folie über ihren Index. -3. Fügen Sie ein Bild zur Präsentationsbildkollektion hinzu. -4. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) Objekt, indem Sie ein Bild zur [IImageskollektion](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) hinzufügen, die mit dem Präsentationsobjekt verbunden ist, das verwendet werden soll, um die Form auszufüllen. -5. Geben Sie die relative Breite und Höhe des Bildes im Bilderrahmen an. -6. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Dieser Python-Code zeigt Ihnen, wie Sie einen Bilderrahmen mit relativem Maßstab erstellen: +1. Erzeugen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Rufen Sie eine Folie anhand ihres Index ab. +3. Erstellen Sie ein [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) indem Sie das Bild zur [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) der Präsentation hinzufügen. +4. Fügen Sie der Folie einen [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) hinzu. +5. Setzen Sie die relative Breite und Höhe des Bilderrahmens. +6. Speichern Sie die Präsentation als PPTX-Datei. ```py import aspose.slides as slides -# Instanziiert die Presentation-Klasse, die eine PPTX-Datei repräsentiert +# Instanziieren Sie die Presentation-Klasse, um eine PPTX-Datei darzustellen. with slides.Presentation() as presentation: - # Lädt das Bild, das zur Präsentationsbildkollektion hinzugefügt werden soll - with open("img.jpeg", "rb") as in_file: - image = presentation.images.add_image(in_file) + # Holen Sie die erste Folie. + slide = presentation.slides[0] + + # Fügen Sie das Bild zur Bildsammlung der Präsentation hinzu. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Fügt einen Bilderrahmen zur Folie hinzu - pf = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) + # Fügen Sie einen Bilderrahmen zur Folie hinzu. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # Setzt die relative Maßstabshöhe und -breite - pf.relative_scale_height = 0.8 - pf.relative_scale_width = 1.35 + # Setzen Sie die relative Skalierungsbreite und -höhe. + picture_frame.relative_scale_height = 0.8 + picture_frame.relative_scale_width = 1.35 - # Speichert die Präsentation - presentation.save("Adding Picture Frame with Relative Scale_out.pptx", slides.export.SaveFormat.PPTX) + # Speichern Sie die Präsentation. + presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX) ``` -## **Bild aus dem Bilderrahmen extrahieren** -Sie können Bilder aus [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) Objekten extrahieren und sie in PNG, JPG und anderen Formaten speichern. Das folgende Codebeispiel demonstriert, wie Sie ein Bild aus dem Dokument "sample.pptx" extrahieren und im PNG-Format speichern. +## **Rasterbilder aus Bilderrahmen extrahieren** +Sie können Rasterbilder aus [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)-Objekten extrahieren und sie in PNG, JPG und anderen Formaten speichern. Das untenstehende Codebeispiel zeigt, wie ein Bild aus dem Dokument "sample.pptx" extrahiert und im PNG-Format gespeichert wird. ```python import aspose.slides as slides @@ -133,247 +119,279 @@ with slides.Presentation("sample.pptx") as presentation: image.save("slide_1_shape_1.png", slides.ImageFormat.PNG) ``` -## **Transparenz eines Bildes abrufen** -Aspose.Slides ermöglicht es Ihnen, die Transparenz eines Bildes abzurufen. Dieser Python-Code demonstriert die Operation: +## **SVG‑Bilder aus Bilderrahmen extrahieren** + +Enthält eine Präsentation SVG‑Grafiken, die in [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)-Formen eingefügt wurden, ermöglicht Aspose.Slides für Python via .NET das Abrufen der ursprünglichen Vektorbilder mit voller Genauigkeit. Durch das Durchlaufen der Formensammlung einer Folie können Sie jedes [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) identifizieren, prüfen, ob das zugrunde liegende [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) SVG‑Inhalt enthält, und das Bild dann auf dem Datenträger oder in einem Stream im nativen SVG‑Format speichern. +```py +import aspose.slides as slides + +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + if isinstance(shape, slides.PictureFrame): + svg_image = shape.picture_format.picture.image.svg_image + + if svg_image is not None: + with open("output.svg", "w", encoding="utf-8") as svg_stream: + svg_stream.write(svg_image.svg_content) +``` + + +## **Bildtransparenz abrufen** +Aspose.Slides ermöglicht das Abrufen des auf ein Bild angewendeten Transparenzeffekts. Dieser Python‑Code demonstriert die Vorgehensweise: ```python import aspose.slides as slides -with slides.Presentation("pres.pptx") as presentation: - pictureFrame = presentation.slides[0].shapes[0] - imageTransform = pictureFrame.picture_format.picture.image_transform - for effect in imageTransform: - if type(effect) is slides.AlphaModulateFixed: - transparencyValue = 100 - effect.amount - print("Bildtransparenz: " + str(transparencyValue)) +with slides.Presentation("sample.pptx") as presentation: + picture_frame = presentation.slides[0].shapes[0] + image_transform = picture_frame.picture_format.picture.image_transform + for effect in image_transform: + if isinstance(effect, slides.effects.AlphaModulateFixed): + transparency_value = 100 - effect.amount + print("Picture transparency: " + str(transparency_value)) ``` -## **Formatierung des Bilderrahmens** -Aspose.Slides bietet viele Formatierungsoptionen, die auf einen Bilderrahmen angewendet werden können. Mit diesen Optionen können Sie einen Bilderrahmen ändern, damit er bestimmten Anforderungen entspricht. +{{% alert color="primary" %}} +Alle auf Bilder angewendeten Effekte finden Sie in [aspose.slides.effects](https://reference.aspose.com/slides/python-net/aspose.slides.effects/). +{{% /alert %}} + +## **Bilderrahmen‑Formatierung** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) Klasse. -2. Holen Sie sich die Referenz einer Folie über ihren Index. -3. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage) Objekt, indem Sie ein Bild zur [IImageskollektion](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) hinzufügen, die mit dem Präsentationsobjekt verbunden ist, das verwendet werden soll, um die Form auszufüllen. -4. Geben Sie die Breite und Höhe des Bildes an. -5. Erstellen Sie einen `PictureFrame` basierend auf der Breite und Höhe des Bildes über die [AddPictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) Methode, die vom [IShapes](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection) Objekt bereitgestellt wird, das mit der verwiesenen Folie verbunden ist. -6. Fügen Sie den Bilderrahmen (der das Bild enthält) zur Folie hinzu. -7. Setzen Sie die Linienfarbe des Bilderrahmens. -8. Setzen Sie die Linienbreite des Bilderrahmens. -9. Drehen Sie den Bilderrahmen, indem Sie ihm entweder einen positiven oder negativen Wert geben. - * Ein positiver Wert dreht das Bild im Uhrzeigersinn. - * Ein negativer Wert dreht das Bild gegen den Uhrzeigersinn. -10. Fügen Sie den Bilderrahmen (der das Bild enthält) zur Folie hinzu. -11. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Aspose.Slides bietet zahlreiche Formatierungsoptionen, die Sie auf einen Bilderrahmen anwenden können. Mit diesen Optionen können Sie einen Bilderrahmen an spezifische Anforderungen anpassen. -Dieser Python-Code demonstriert den Prozess der Bilderrahmenformatierung: +1. Erzeugen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Rufen Sie eine Folie anhand ihres Index ab. +3. Erstellen Sie ein [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) indem Sie das Bild zur [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) der Präsentation hinzufügen. Dieses Bild wird zum Füllen der Form verwendet. +4. Geben Sie die Breite und Höhe des Rahmens an. +5. Erzeugen Sie einen [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) dieser Größe mithilfe der Methode [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) der Folie. +6. Setzen Sie die Linienfarbe des Bilderrahmens. +7. Setzen Sie die Linienstärke des Bilderrahmens. +8. Drehen Sie den Bilderrahmen, indem Sie einen positiven (im Uhrzeigersinn) oder negativen (gegen den Uhrzeigersinn) Wert angeben. +9. Speichern Sie die geänderte Präsentation als PPTX-Datei. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instanziiert die Presentation-Klasse, die eine PPTX-Datei repräsentiert -with slides.Presentation() as pres: - # Holt die erste Folie - sld = pres.slides[0] +# Instanziieren Sie die Presentation-Klasse, um eine PPTX-Datei zu repräsentieren. +with slides.Presentation() as presentation: + # Holen Sie die erste Folie. + slide = presentation.slides[0] - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) + # Fügen Sie das Bild zur Bildsammlung der Präsentation hinzu. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Fügt einen Bilderrahmen mit der entsprechenden Höhe und Breite des Bildes hinzu - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, imgx.width, imgx.height, imgx) + # Fügen Sie einen Bilderrahmen in Bildgröße hinzu. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Wendet einige Formatierungen auf PictureFrameEx an - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Wenden Sie die Formatierung auf den Bilderrahmen an. + picture_frame.line_format.fill_format.fill_type = slides.FillType.SOLID + picture_frame.line_format.fill_format.solid_fill_color.color = draw.Color.blue + picture_frame.line_format.width = 20 + picture_frame.rotation = 45 - # Schreibt die PPTX-Datei auf die Festplatte - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Speichern Sie die Präsentation als PPTX. + presentation.save("picture_formatting.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="Tipp" color="primary" %}} - -Aspose hat kürzlich einen [kostenlosen Collage Maker](https://products.aspose.app/slides/collage) entwickelt. Wenn Sie jemals [JPG/JPEG](https://products.aspose.app/slides/collage/jpg) oder PNG-Bilder zusammenführen oder [Raster aus Fotos erstellen](https://products.aspose.app/slides/collage/photo-grid) müssen, können Sie diesen Service nutzen. +{{% alert title="Hinweis" color="primary" %}} +Aspose hat einen kostenlosen [Collage Maker](https://products.aspose.app/slides/collage) entwickelt. Wenn Sie [JPG/JPEG](https://products.aspose.app/slides/collage/jpg) oder PNG‑Bilder zusammenführen oder [Foto‑Raster](https://products.aspose.app/slides/collage/photo-grid) benötigen, können Sie diesen Dienst nutzen. {{% /alert %}} -## **Bild als Link hinzufügen** - -Um große Präsentationsgrößen zu vermeiden, können Sie Bilder (oder Videos) über Links hinzufügen, anstatt die Dateien direkt in die Präsentationen einzubetten. Dieser Python-Code zeigt Ihnen, wie Sie ein Bild und ein Video in einen Platzhalter einfügen: +## **Bilder als Links hinzufügen** +Um Präsentationsdateien klein zu halten, können Sie Bilder oder Videos über Links hinzufügen, anstatt die Dateien direkt in die Präsentationen einzubetten. Der folgende Python‑Code zeigt, wie ein Bild und ein Video in einen Platzhalter eingefügt werden: ```python import aspose.slides as slides with slides.Presentation("input.pptx") as presentation: - shapesToRemove = [] + slide = presentation.slides[0] + + shapes_to_remove = [] - for autoShape in presentation.slides[0].shapes: - if autoShape.placeholder is None: + for shape in slide.shapes: + if shape.placeholder is None: continue - - if autoShape.placeholder.type == slides.PlaceholderType.PICTURE: - pictureFrame = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, - autoShape.x, autoShape.y, autoShape.width, autoShape.height, None) - pictureFrame.picture_format.picture.link_path_long = \ + if shape.placeholder.type == slides.PlaceholderType.PICTURE: + picture_frame = slide.shapes.add_picture_frame( + slides.ShapeType.RECTANGLE, shape.x, shape.y, shape.width, shape.height, None) + + picture_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - shapesToRemove.append(autoShape) + shapes_to_remove.append(shape) - elif autoShape.placeholder.type == slides.PlaceholderType.MEDIA: - videoFrame = presentation.slides[0].shapes.add_video_frame( - autoShape.X, autoShape.Y, autoShape.width, autoShape.height, "") + elif shape.placeholder.type == slides.PlaceholderType.MEDIA: + video_frame = slide.shapes.add_video_frame(shape.X, shape.Y, shape.width, shape.height, "") - videoFrame.picture_format.picture.link_path_long = \ + video_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - videoFrame.link_path_long = "https://youtu.be/t_1LYZ102RA" - shapesToRemove.append(autoShape) - - + video_frame.link_path_long = "https://youtu.be/t_1LYZ102RA" + shapes_to_remove.append(shape) - for shape in shapesToRemove: - presentation.slides[0].shapes.remove(shape) + for shape in shapes_to_remove: + slide.shapes.remove(shape) presentation.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **Bild zuschneiden** -Dieser Python-Code zeigt Ihnen, wie Sie ein vorhandenes Bild auf einer Folie zuschneiden: +## **Bilder zuschneiden** -``` py +In diesem Abschnitt lernen Sie, wie Sie den sichtbaren Bereich eines Bildes innerhalb eines Bilderrahmens zuschneiden, ohne die Quelldatei zu verändern. Außerdem erfahren Sie, wie Sie Grundränder zum Zuschneiden anwenden, um eine klare, fokussierte Komposition direkt auf der Folie zu erstellen. +```py import aspose.slides as slides with slides.Presentation() as presentation: - # Erstellt ein neues Bildobjekt - newImage = presentation.images.add_image(slides.Images.from_file(imagePath)) + slide = presentation.slides[0] - # Fügt einen Bilderrahmen zu einer Folie hinzu - picFrame = presentation.slides[0].shapes.add_picture_frame( - slides.ShapeType.RECTANGLE, 100, 100, 420, 250, newImage) + # Bild zur Bildsammlung der Präsentation hinzufügen. + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # Schneidet das Bild zu (Prozentsatzwerte) - picFrame.picture_format.crop_left = 23.6 - picFrame.picture_format.crop_right = 21.5 - picFrame.picture_format.crop_top = 3 - picFrame.picture_format.crop_bottom = 31 + # Einen Bilderrahmen zur Folie hinzufügen. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 100, 100, 420, 250, image) - # Speichert das Ergebnis - presentation.save(outPptxFile, slides.export.SaveFormat.PPTX) + # Bild zuschneiden (Prozentwerte). + picture_frame.picture_format.crop_left = 23.6 + picture_frame.picture_format.crop_right = 21.5 + picture_frame.picture_format.crop_top = 3 + picture_frame.picture_format.crop_bottom = 31 + # Ergebnis speichern. + presentation.save("cropped_image.pptx", slides.export.SaveFormat.PPTX) ``` -## Zuschnitte der Bilder im Rahmen löschen -Wenn Sie die zugeschnittenen Bereiche eines Bildes, das sich in einem Rahmen befindet, löschen möchten, können Sie die Methode [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) verwenden. Diese Methode gibt das zugeschnittene Bild oder das ursprüngliche Bild zurück, wenn das Zuschneiden nicht erforderlich ist. - -Dieser Python-Code demonstriert die Operation: +## **Zugeschnittene Bildbereiche löschen** +Wenn Sie zugeschnittene Bereiche eines Bildes in einem Rahmen löschen möchten, verwenden Sie die Methode [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/). Diese Methode gibt das zugeschnittene Bild zurück, bzw. das Originalbild, wenn kein Zuschnitt erforderlich ist. ```python import aspose.slides as slides -with slides.Presentation(path + "PictureFrameCrop.pptx") as pres: - slide = pres.slides[0] +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # Holt den Bilderrahmen von der ersten Folie + # Holen Sie den PictureFrame von der ersten Folie. picture_frame = slides.shape[0] - # Löscht die zugeschnittenen Bereiche des Bildes im Bilderrahmen und gibt das zugeschnittene Bild zurück + # Holen Sie den PictureFrame von der ersten Folie. cropped_image = picture_frame.picture_format.delete_picture_cropped_areas() - # Speichert das Ergebnis - pres.save(path + "PictureFrameDeleteCroppedAreas.pptx", slides.export.SaveFormat.PPTX) + # Ergebnis speichern. + presentation.save("deleted_cropped_areas.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="HINWEIS" color="warning" %}} -Die Methode delete_picture_cropped_areas fügt das zugeschnittene Bild zur Präsentationsbildkollektion hinzu. Wenn das Bild nur im verarbeiteten [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) verwendet wird, kann diese Einrichtung die Präsentationsgröße reduzieren. Andernfalls wird die Anzahl der Bilder in der resultierenden Präsentation erhöht. - -Diese Methode konvertiert WMF/EMF-Metadateien in ein Raster-PNG-Bild im Zuschneidevorgang. +{{% alert title="HINWEIS" color="warning" %}} +Die Methode [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) fügt das zugeschnittene Bild zur Bildsammlung der Präsentation hinzu. Wird das Bild nur im verarbeiteten [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) verwendet, kann dies die Präsentationsgröße reduzieren; andernfalls kann die Anzahl der Bilder in der resultierenden Präsentation steigen. +Während des Zuschneidens konvertiert diese Methode WMF/EMF‑Metadateien in ein Raster‑PNG‑Bild. {{% /alert %}} ## **Seitenverhältnis sperren** -Wenn Sie möchten, dass eine Form, die ein Bild enthält, ihr Seitenverhältnis auch nach Änderung der Bildabmessungen beibehält, können Sie die Eigenschaft *aspect_ratio_locked* verwenden, um die Einstellung *Seitenverhältnis sperren* festzulegen. +Wenn Sie möchten, dass eine Form, die ein Bild enthält, ihr Seitenverhältnis nach einer Größenänderung des Bildes beibehält, setzen Sie die Eigenschaft [aspect_ratio_locked](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/aspect_ratio_locked/) auf `True`. +```python +import aspose.slides as slides -Dieser Python-Code zeigt Ihnen, wie Sie das Seitenverhältnis einer Form sperren: +with slides.Presentation("sample.pptx") as presentation: + layout = presentation.layout_slides.get_by_type(slides.SlideLayoutType.CUSTOM) + empty_slide = presentation.slides.add_empty_slide(layout) -```python -from aspose.slides import SlideLayoutType, Presentation, ShapeType -from aspose.pydrawing import Image + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) -with Presentation("pres.pptx") as pres: - layout = pres.layout_slides.get_by_type(SlideLayoutType.CUSTOM) - emptySlide = pres.slides.add_empty_slide(layout) - image = Image.from_file("image.png") - presImage = pres.images.add_image(image) + picture_frame = empty_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - pictureFrame = emptySlide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 150, presImage.width, presImage.height, presImage) + # Das Seitenverhältnis beim Skalieren sperren. + picture_frame.picture_frame_lock.aspect_ratio_locked = True - # Setzt die Form, um das Seitenverhältnis beim Ändern der Größe beizubehalten - pictureFrame.picture_frame_lock.aspect_ratio_locked = True + presentation.save("aspect_ratio_locked.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="HINWEIS" color="warning" %}} - -Diese Einstellung *Seitenverhältnis sperren* bewahrt nur das Seitenverhältnis der Form und nicht das Bild, das sie enthält. +{{% alert title="HINWEIS" color="warning" %}} +Diese *Lock Aspect Ratio*-Einstellung bewahrt nur das Seitenverhältnis der Form, nicht das Seitenverhältnis des Bildes darin. {{% /alert %}} -## **Stretchen der Offsets verwenden** +## **Stretch‑Offset‑Eigenschaften verwenden** -Mithilfe der Eigenschaften `StretchOffsetLeft`, `StretchOffsetTop`, `StretchOffsetRight` und `StretchOffsetBottom` aus dem [IPictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) Interface und der [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/) Klasse können Sie ein Füllrechteck spezifizieren. +Mit den Eigenschaften `stretch_offset_left`, `stretch_offset_top`, `stretch_offset_right` und `stretch_offset_bottom` der Klasse [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/) können Sie ein Füllrechteck definieren. -Wenn das Stretchen für ein Bild angegeben wird, wird ein Quellrechteck skaliert, um in das angegebene Füllrechteck zu passen. Jede Kante des Füllrechtecks wird durch einen prozentualen Versatz von der entsprechenden Kante des Begrenzungsrahmens der Form definiert. Ein positiver Prozentsatz spezifiziert ein Einrücken, während ein negativer Prozentsatz ein Herausziehen angibt. +Wenn für ein Bild ein Stretch angegeben ist, wird das Quellrechteck so skaliert, dass es in das Füllrechteck passt. Jede Kante des Füllrechtecks wird durch einen prozentualen Versatz von der entsprechenden Kante des Begrenzungsrahmens der Form festgelegt. Ein positiver Prozentsatz gibt einen Einzug an, ein negativer Prozentsatz einen Auszug. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) Klasse. -2. Holen Sie sich die Referenz einer Folie über ihren Index. -3. Fügen Sie eine Rechteck-`AutoShape` hinzu. -4. Erstellen Sie ein Bild. -5. Setzen Sie den Fülltyp der Form. -6. Setzen Sie den Bildfüllmodus der Form. -7. Fügen Sie ein Bild hinzu, um die Form zu füllen. -8. Geben Sie die Bildversätze von der entsprechenden Kante des Begrenzungsrahmens der Form an. -9. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Dieser Python-Code demonstriert einen Prozess, in dem die StretchOff-Eigenschaft verwendet wird: +1. Erzeugen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Rufen Sie eine Referenz zu einer Folie anhand ihres Index ab. +3. Fügen Sie ein rechteckiges [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) hinzu. +4. Setzen Sie den Fülltyp der Form. +5. Setzen Sie den Bildfüllmodus der Form. +6. Laden Sie ein Bild. +7. Weisen Sie das Bild als Füllung der Form zu. +8. Geben Sie Bildversätze von den entsprechenden Kanten des Begrenzungsrahmens der Form an. +9. Speichern Sie die Präsentation als PPTX-Datei. ```py import aspose.slides as slides -# Instanziiert die Presentation-Klasse, die eine PPTX-Datei repräsentiert -with slides.Presentation() as pres: +# Instanzieren Sie die Presentation-Klasse, die eine PPTX-Datei repräsentiert. +with slides.Presentation() as presentation: + # Holen Sie die erste Folie. + slide = presentation.slides[0] + + # Fügen Sie ein Rechteck-AutoShape hinzu. + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 300, 300) + + # Setzen Sie den Fülltyp der Form. + shape.fill_format.fill_type = slides.FillType.PICTURE + + # Setzen Sie den Bildfüllmodus der Form. + shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH + + # Laden Sie das Bild und fügen Sie es der Präsentation hinzu. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) + + # Weisen Sie das Bild der Füllung der Form zu. + shape.fill_format.picture_fill_format.picture.image = image + + # Geben Sie Bildversätze von den entsprechenden Kanten des Begrenzungsrahmens der Form an. + shape.fill_format.picture_fill_format.stretch_offset_left = 25 + shape.fill_format.picture_fill_format.stretch_offset_right = 25 + shape.fill_format.picture_fill_format.stretch_offset_top = -20 + shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 + + # Speichern Sie die PPTX-Datei auf der Festplatte. + presentation.save("stretch_offset.pptx", slides.export.SaveFormat.PPTX) +``` + + +{{% alert title="Hinweis" color="primary" %}} +Aspose bietet kostenlose Konverter — [JPEG zu PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) und [PNG zu PowerPoint](https://products.aspose.app/slides/import/png-to-ppt) — die Ihnen ermöglichen, schnell Präsentationen aus Bildern zu erstellen. +{{% /alert %}} + +## **FAQ** + +**Wie kann ich herausfinden, welche Bildformate für PictureFrame unterstützt werden?** - # Holt die erste Folie - slide = pres.slides[0] +Aspose.Slides unterstützt sowohl Rasterbilder (PNG, JPEG, BMP, GIF usw.) als auch Vektorbilder (zum Beispiel SVG) über das Bildobjekt, das einem [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) zugewiesen wird. Die Liste der unterstützten Formate überschneidet sich im Allgemeinen mit den Möglichkeiten der Folien‑ und Bildkonvertierungs‑Engine. - # Instanziiert die ImageEx-Klasse - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) +**Wie wirkt sich das Hinzufügen von Dutzenden großer Bilder auf die PPTX‑Größe und Performance aus?** - # Fügt einen Bilderrahmen mit der entsprechenden Höhe und Breite des Bildes hinzu - shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 300) +Das Einbetten großer Bilder erhöht die Dateigröße und den Speicherverbrauch; das Verlinken von Bildern hilft, die Präsentationsgröße klein zu halten, erfordert jedoch, dass die externen Dateien weiterhin zugänglich bleiben. Aspose.Slides bietet die Möglichkeit, Bilder per Link hinzuzufügen, um die Dateigröße zu reduzieren. - # Setzt den Fülltyp der Form - shape.fill_format.fill_type = slides.FillType.PICTURE +**Wie kann ich ein Bildobjekt vor versehentlichem Verschieben/Größenändern schützen?** - # Setzt den Bildfüllmodus der Form - shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH +Verwenden Sie [shape locks](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/picture_frame_lock/) für ein [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) (z. B. das Verschieben oder die Größenänderung deaktivieren). Der Sperrmechanismus wird für Formen in einem separaten [Schutz‑Artikel](/slides/de/python-net/applying-protection-to-presentation/) beschrieben und wird für verschiedene Formtypen unterstützt, einschließlich [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). - # Setzt das Bild zur Füllung der Form - shape.fill_format.picture_fill_format.picture.image = imgx +**Bleibt die Vektor‑Genauigkeit von SVG beim Exportieren einer Präsentation zu PDF/Bildern erhalten?** - # Gibt die Bildversätze von der entsprechenden Kante des Begrenzungsrahmens der Form an - shape.fill_format.picture_fill_format.stretch_offset_left = 25 - shape.fill_format.picture_fill_format.stretch_offset_right = 25 - shape.fill_format.picture_fill_format.stretch_offset_top = -20 - shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 - - # Schreibt die PPTX-Datei auf die Festplatte - pres.save("StretchOffsetLeftForPictureFrame_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Aspose.Slides erlaubt das Extrahieren eines SVG aus einem [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) als ursprünglichen Vektor. Beim [Exportieren zu PDF](/slides/de/python-net/convert-powerpoint-to-pdf/) oder zu [Rasterformaten](/slides/de/python-net/convert-powerpoint-to-png/) kann das Ergebnis je nach Exporteinstellungen gerastert werden; die Tatsache, dass das ursprüngliche SVG als Vektor gespeichert ist, wird durch das Extraktionsverhalten bestätigt. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/de/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index 925920a0b3..2c4b0d4929 100644 --- a/de/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/de/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,33 +1,45 @@ --- -title: Video Frame +title: Videos zu Präsentationen in Python hinzufügen +linktitle: Video-Frame type: docs weight: 10 url: /de/python-net/video-frame/ -keywords: "Video hinzufügen, Video-Frame erstellen, Video extrahieren, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Video-Frame zu PowerPoint-Präsentation in Python hinzufügen" +keywords: +- Video hinzufügen +- Video erstellen +- Video einbetten +- Video extrahieren +- Video abrufen +- Video-Frame +- Webquelle +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Lernen Sie, wie Sie programmgesteuert Video-Frames in PowerPoint- und OpenDocument-Folien mit Aspose.Slides für Python via .NET hinzufügen und extrahieren. Schnelle Anleitung." --- -Ein gut platzierter Video in einer Präsentation kann Ihre Botschaft überzeugender machen und das Engagement Ihres Publikums erhöhen. +Ein gut platziertes Video in einer Präsentation kann Ihre Botschaft überzeugender machen und das Engagement Ihrer Zuschauer steigern. -PowerPoint ermöglicht es Ihnen, Videos auf eine Folie in einer Präsentation auf zwei Arten hinzuzufügen: +PowerPoint ermöglicht das Hinzufügen von Videos zu einer Folie in einer Präsentation auf zwei Arten: -* Ein lokales Video hinzufügen oder einbetten (auf Ihrem Rechner gespeichert) -* Ein Online-Video hinzufügen (von einer Webquelle wie YouTube). +* Ein lokales Video hinzufügen oder einbetten (auf Ihrem Computer gespeichert) +* Ein Online‑Video hinzufügen (von einer Webquelle wie YouTube). -Um Ihnen das Hinzufügen von Videos (Videoobjekten) zu einer Präsentation zu ermöglichen, bietet Aspose.Slides die [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) Schnittstelle, die [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) Schnittstelle und andere relevante Typen. +Um Ihnen das Hinzufügen von Videos (Video‑Objekten) zu einer Präsentation zu ermöglichen, stellt Aspose.Slides das Interface [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) und das Interface [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) sowie weitere relevante Typen bereit. -## **Eingebetteten Video-Frame erstellen** +## **Einbetten eines Video‑Frames erstellen** -Wenn die Videodatei, die Sie zu Ihrer Folie hinzufügen möchten, lokal gespeichert ist, können Sie einen Video-Frame erstellen, um das Video in Ihre Präsentation einzubetten. +Wenn die Videodatei, die Sie Ihrer Folie hinzufügen möchten, lokal gespeichert ist, können Sie einen Video‑Frame erstellen, um das Video in Ihre Präsentation einzubetten. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Holen Sie sich die Referenz einer Folie über ihren Index. -1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) Objekt hinzu und übergeben Sie den Pfad der Videodatei, um das Video mit der Präsentation einzubetten. -1. Fügen Sie ein [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) Objekt hinzu, um einen Rahmen für das Video zu erstellen. -1. Speichern Sie die modifizierte Präsentation. - -Dieser Python-Code zeigt Ihnen, wie Sie ein lokal gespeichertes Video zu einer Präsentation hinzufügen: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Holen Sie die Referenz einer Folie über deren Index. +1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)‑Objekt hinzu und übergeben Sie den Pfad zur Videodatei, um das Video in die Präsentation einzubetten. +1. Fügen Sie ein [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/)‑Objekt hinzu, um einen Frame für das Video zu erstellen. +1. Speichern Sie die geänderte Präsentation. +Dieser Python‑Code zeigt, wie ein lokal gespeichertes Video zu einer Präsentation hinzugefügt wird: ```python import aspose.slides as slides @@ -42,8 +54,8 @@ with slides.Presentation(path + "pres.pptx") as pres: pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX) ``` -Alternativ können Sie ein Video hinzufügen, indem Sie den Pfad zur Datei direkt an die Methode `add_video_frame(x, y, width, height, fname)` übergeben: +Alternativ können Sie ein Video hinzufügen, indem Sie dessen Dateipfad direkt an die Methode `add_video_frame(x, y, width, height, fname)` übergeben: ``` python import aspose.slides as slides @@ -52,18 +64,18 @@ with slides.Presentation() as pres: vf = sld.shapes.add_video_frame(50, 150, 300, 150, "video1.avi") ``` -## **Video-Frame mit Video aus Webquelle erstellen** -Microsoft [PowerPoint 2013 und neuer](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) unterstützt YouTube-Videos in Präsentationen. Wenn das Video, das Sie verwenden möchten, online verfügbar ist (z. B. auf YouTube), können Sie es über seinen Weblink zu Ihrer Präsentation hinzufügen. +## **Video‑Frame mit Video aus Webquelle erstellen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Holen Sie sich die Referenz einer Folie über ihren Index. -1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) Objekt hinzu und übergeben Sie den Link zum Video. -1. Setzen Sie ein Thumbnail für den Video-Frame. -1. Speichern Sie die Präsentation. +Microsoft [PowerPoint 2013 und neuer](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) unterstützt YouTube‑Videos in Präsentationen. Wenn das gewünschte Video online verfügbar ist (z. B. auf YouTube), können Sie es über dessen Weblink zur Präsentation hinzufügen. -Dieser Python-Code zeigt Ihnen, wie Sie ein Video aus dem Web zu einer Folie in einer PowerPoint-Präsentation hinzufügen: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +1. Holen Sie die Referenz einer Folie über deren Index. +1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)‑Objekt hinzu und übergeben Sie den Link zum Video. +1. Legen Sie ein Thumbnail für den Video‑Frame fest. +1. Speichern Sie die Präsentation. +Dieser Python‑Code zeigt, wie ein Video aus dem Web zu einer Folie in einer PowerPoint‑Präsentation hinzugefügt wird: ```python import aspose.slides as slides from urllib.request import urlopen @@ -73,31 +85,32 @@ def add_video_from_youyube(pres, videoId): videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId) videoFrame.play_mode = slides.VideoPlayModePreset.AUTO - # Lädt Thumbnail + # Lädt das Vorschaubild thumbnail_uri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg" f = urlopen(thumbnail_uri) videoFrame.picture_format.picture.image = pres.images.add_image(f.read()) + with slides.Presentation() as pres: add_video_from_youyube(pres, "s5JbfQZ5Cc0") pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Video von Folie extrahieren** -Neben dem Hinzufügen von Videos zu Folien ermöglicht Aspose.Slides auch das Extrahieren von Videos, die in Präsentationen eingebettet sind. +## **Video aus Folie extrahieren** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse, um die Präsentation zu laden, die das Video enthält. -2. Durchlaufen Sie alle [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/) Objekte. -3. Durchlaufen Sie alle [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) Objekte, um einen [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/) zu finden. -4. Speichern Sie das Video auf der Festplatte. +Neben dem Hinzufügen von Videos zu Folien ermöglicht Aspose.Slides das Extrahieren von in Präsentationen eingebetteten Videos. -Dieser Python-Code zeigt Ihnen, wie Sie das Video auf einer Präsentationsfolie extrahieren: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) , um die Präsentation zu laden, die das Video enthält. +2. Durchlaufen Sie alle [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/)‑Objekte. +3. Durchsuchen Sie alle [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/)‑Objekte, um ein [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/) zu finden. +4. Speichern Sie das Video auf der Festplatte. +Dieser Python‑Code zeigt, wie das Video einer Präsentationsfolie extrahiert wird: ```python import aspose.slides as slides -# Instanziiert ein Presentation-Objekt, das eine Präsentationsdatei darstellt +# Instanziert ein Presentation-Objekt, das eine Präsentationsdatei darstellt with slides.Presentation(path + "Video.pptx") as presentation: for shape in presentation.slides[0].shapes: if type(shape) is slides.VideoFrame: @@ -105,4 +118,23 @@ with slides.Presentation(path + "Video.pptx") as presentation: buffer = shape.embedded_video.binary_data with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream: stream.write(buffer) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Welche Wiedergabeparameter können für einen VideoFrame geändert werden?** + +Sie können den [Wiedergabemodus](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_mode/) (automatisch oder bei Klick) und das [Looping](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_loop_mode/) steuern. Diese Optionen stehen über die Eigenschaften des [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/)-Objekts zur Verfügung. + +**Beeinflusst das Hinzufügen eines Videos die Dateigröße der PPTX?** + +Ja. Wenn Sie ein lokales Video einbetten, werden die Binärdaten in das Dokument aufgenommen, sodass die Präsentationsgröße proportional zur Dateigröße zunimmt. Beim Hinzufügen eines Online‑Videos werden nur ein Link und ein Thumbnail eingebettet, wodurch die Größenvergrößerung geringer ausfällt. + +**Kann das Video in einem bestehenden VideoFrame ersetzt werden, ohne Position und Größe zu ändern?** + +Ja. Sie können den [Video‑Inhalt](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/embedded_video/) innerhalb des Frames austauschen und dabei die Geometrie der Form beibehalten; dies ist ein gängiges Szenario zum Aktualisieren von Medien in einem bestehenden Layout. + +**Kann der MIME‑Typ eines eingebetteten Videos ermittelt werden?** + +Ja. Ein eingebettetes Video besitzt einen [Content‑Type](https://reference.aspose.com/slides/python-net/aspose.slides/video/content_type/), den Sie auslesen und zum Beispiel beim Speichern auf die Festplatte verwenden können. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md b/de/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md index c25e054dbe..1ac926526d 100644 --- a/de/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/de/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,37 +1,48 @@ --- -title: WordArt +title: WordArt‑Effekte in Python erstellen und anwenden +linktitle: WordArt type: docs weight: 110 url: /de/python-net/wordart/ -keywords: "WordArt, Wort Kunst, WordArt erstellen, WordArt Vorlage, WordArt Effekte, Schatteneffekte, Anzeigeeffekte, Glüheffekte, WordArt Transformationen, 3D Effekte, äußere Schatteneffekte, innere Schatteneffekte, Python, Aspose.Slides für Python über .NET" -description: "Fügen Sie WordArt und Effekte in PowerPoint-Präsentationen in Python oder Aspose.Slides für Python über .NET hinzu, bearbeiten Sie sie und verwalten Sie sie." +keywords: +- WordArt +- WordArt erstellen +- WordArt-Vorlage +- WordArt-Effekt +- Schatteneffekt +- Anzeigeeffekt +- Leuchteffekt +- WordArt-Transformation +- 3D‑Effekt +- Außen‑Schatteneffekt +- Innen‑Schatteneffekt +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie WordArt‑Effekte in Aspose.Slides für Python via .NET erstellen und anpassen. Diese Schritt‑für‑Schritt‑Anleitung hilft Entwicklern, Präsentationen mit stilvollem, professionellem Text in Python zu verbessern." --- -## **Was ist WordArt?** -WordArt oder Wort Kunst ist eine Funktion, die es Ihnen ermöglicht, Texteffekte anzuwenden, um sie hervorzuheben. Mit WordArt können Sie beispielsweise einen Text umranden oder ihn mit einer Farbe (oder einem Farbverlauf) füllen, 3D-Effekte hinzufügen usw. Sie können auch die Form eines Textes kippen, biegen und dehnen. - -{{% alert color="primary" %}} - -WordArt ermöglicht es Ihnen, einen Text wie ein grafisches Objekt zu behandeln. WordArt besteht aus Effekten oder speziellen Modifikationen, die auf Texte angewendet werden, um sie attraktiver oder auffälliger zu machen. +## **Über WordArt?** +WordArt oder Word Art ist eine Funktion, mit der Sie Texteffekte anwenden können, damit Texte hervorstechen. Mit WordArt können Sie beispielsweise einen Text umreißen oder mit einer Farbe (oder einem Farbverlauf) füllen, 3D‑Effekte hinzufügen usw. Außerdem können Sie die Form eines Textes kippen, biegen und strecken. +{{% alert color="primary"%}} +WordArt ermöglicht es, einen Text wie ein grafisches Objekt zu behandeln. WordArt besteht aus Effekten oder speziellen Modifikationen von Texten, um sie attraktiver oder auffälliger zu machen. {{% /alert %}} **WordArt in Microsoft PowerPoint** -Um WordArt in Microsoft PowerPoint zu verwenden, müssen Sie eine der vordefinierten WordArt-Vorlagen auswählen. Eine WordArt-Vorlage ist eine Reihe von Effekten, die auf einen Text oder seine Form angewendet werden. +Um WordArt in Microsoft PowerPoint zu verwenden, müssen Sie eine der vordefinierten WordArt‑Vorlagen auswählen. Eine WordArt‑Vorlage ist ein Satz von Effekten, die auf einen Text oder dessen Form angewendet werden. **WordArt in Aspose.Slides** -In Aspose.Slides für Python über .NET 20.10 haben wir die Unterstützung für WordArt implementiert und die Funktion in den anschließenden Versionen von Aspose.Slides für Python über .NET verbessert. +In Aspose.Slides für Python via .NET 20.10 haben wir die Unterstützung für WordArt implementiert und die Funktion in nachfolgenden Aspose.Slides‑Versionen für Python via .NET verbessert. -Mit Aspose.Slides für Python über .NET können Sie einfach Ihre eigene WordArt-Vorlage (einen Effekt oder eine Kombination von Effekten) in Python erstellen und sie auf Texte anwenden. +Mit Aspose.Slides für Python via .NET können Sie ganz einfach Ihre eigene WordArt‑Vorlage (ein einzelner Effekt oder eine Kombination von Effekten) in Python erstellen und auf Texte anwenden. -## Erstellen einer einfachen WordArt-Vorlage und Anwenden auf einen Text +## Erstellen einer einfachen WordArt‑Vorlage und Anwenden auf einen Text **Verwendung von Aspose.Slides** -Zuerst erstellen wir einen einfachen Text mit diesem Python-Code: - +Zunächst erstellen wir einen einfachen Text mit folgendem Python‑Code: ```py import aspose.slides as slides @@ -45,21 +56,22 @@ with slides.Presentation() as pres: pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX) ``` -Jetzt setzen wir die Schriftgröße des Textes auf einen größeren Wert, um den Effekt durch diesen Code auffälliger zu machen: +Nun setzen wir die Schriftgröße des Textes auf einen größeren Wert, um den Effekt deutlicher zu machen, mit diesem Code: ```py fontData = slides.FontData("Arial Black") portion.portion_format.latin_font = fontData portion.portion_format.font_height = 36 ``` + **Verwendung von Microsoft PowerPoint** -Gehen Sie zu dem WordArt-Effekte-Menü in Microsoft PowerPoint: +Gehen Sie zum WordArt‑Effektmenü in Microsoft PowerPoint: ![todo:image_alt_text](image-20200930113926-1.png) -Aus dem Menü auf der rechten Seite können Sie einen vordefinierten WordArt-Effekt auswählen. Aus dem Menü auf der linken Seite können Sie die Einstellungen für eine neue WordArt festlegen. +Im rechten Menü können Sie einen vordefinierten WordArt‑Effekt auswählen. Im linken Menü können Sie die Einstellungen für ein neues WordArt festlegen. Dies sind einige der verfügbaren Parameter oder Optionen: @@ -67,8 +79,7 @@ Dies sind einige der verfügbaren Parameter oder Optionen: **Verwendung von Aspose.Slides** -Hier wenden wir die SmallGrid-Musterfarbe auf den Text an und fügen einen schwarzen Textrahmen mit einer Breite von 1 hinzu, indem wir diesen Code verwenden: - +Hier wenden wir die SmallGrid‑Musterfarbe auf den Text an und fügen mit diesem Code einen schwarzen Textrahmen mit Breite 1 hinzu: ```py portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange @@ -79,24 +90,24 @@ Hier wenden wir die SmallGrid-Musterfarbe auf den Text an und fügen einen schwa portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black ``` + Der resultierende Text: ![todo:image_alt_text](image-20200930114108-4.png) -## Anwenden anderer WordArt-Effekte +## Anwenden weiterer WordArt‑Effekte **Verwendung von Microsoft PowerPoint** -Von der Benutzeroberfläche des Programms aus können Sie diese Effekte auf einen Text, Textblock, Form oder ähnliches Element anwenden: +Über die Programmoberfläche können Sie diese Effekte auf einen Text, Textblock, eine Form oder ein ähnliches Element anwenden: ![todo:image_alt_text](image-20200930114129-5.png) -Zum Beispiel können Schatten-, Reflexions- und Glüheffekte auf einen Text angewendet werden; 3D-Format- und 3D-Rotations-Effekte können auf einen Textblock angewendet werden; die Weiche Kanten-Eigenschaft kann auf ein Formenobjekt angewendet werden (sie hat immer noch einen Effekt, wenn keine 3D-Format-Eigenschaft gesetzt ist). +Beispielsweise können Schatten-, Reflexions‑ und Leuchteffekte auf einen Text angewendet werden; 3D‑Format‑ und 3D‑Dreh‑Effekte können auf einen Textblock angewendet werden; die Eigenschaft „Soft Edges“ kann auf ein Formobjekt angewendet werden (sie bleibt wirksam, wenn keine 3D‑Format‑Eigenschaft gesetzt ist). ### Anwenden von Schatteneffekten -Hier beabsichtigen wir, die Eigenschaften nur in Bezug auf einen Text festzulegen. Wir wenden den Schatteneffekt auf einen Text an, indem wir diesen Code in Python verwenden: - +Hier setzen wir nur Eigenschaften, die einen Text betreffen. Wir wenden den Schatteneffekt auf einen Text mit folgendem Python‑Code an: ```py portion.portion_format.effect_format.enable_outer_shadow_effect() portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black @@ -110,29 +121,29 @@ Hier beabsichtigen wir, die Eigenschaften nur in Bezug auf einen Text festzulege portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32) ``` -Die Aspose.Slides-API unterstützt drei Arten von Schatten: OuterShadow, InnerShadow und PresetShadow. -Mit PresetShadow können Sie einen Schatten für einen Text anwenden (unter Verwendung von vordefinierten Werten). +Die Aspose.Slides‑API unterstützt drei Schattenarten: OuterShadow, InnerShadow und PresetShadow. + +Mit PresetShadow können Sie einen Schatten für einen Text anwenden (unter Verwendung vordefinierter Werte). **Verwendung von Microsoft PowerPoint** -In PowerPoint können Sie eine Art von Schatten verwenden. Hier ist ein Beispiel: +In PowerPoint können Sie nur einen Schatten‑Typ verwenden. Beispiel: ![todo:image_alt_text](image-20200930114225-6.png) **Verwendung von Aspose.Slides** -Aspose.Slides ermöglicht es Ihnen tatsächlich, zwei Arten von Schatten gleichzeitig anzuwenden: InnerShadow und PresetShadow. +Aspose.Slides erlaubt tatsächlich das gleichzeitige Anwenden zweier Schattenarten: InnerShadow und PresetShadow. **Hinweise:** -- Wenn OuterShadow und PresetShadow zusammen verwendet werden, wird nur der OuterShadow-Effekt angewendet. -- Wenn OuterShadow und InnerShadow gleichzeitig verwendet werden, hängt der resultierende oder angewandte Effekt von der PowerPoint-Version ab. Zum Beispiel, in PowerPoint 2013 wird der Effekt verdoppelt. Aber in PowerPoint 2007 wird der OuterShadow-Effekt angewendet. - -### Anwenden von Anzeige auf Texte +- Wenn OuterShadow und PresetShadow zusammen verwendet werden, wird nur der OuterShadow‑Effekt angewendet. +- Wenn OuterShadow und InnerShadow gleichzeitig verwendet werden, hängt der resultierende Effekt von der PowerPoint‑Version ab. In PowerPoint 2013 wird der Effekt verdoppelt, in PowerPoint 2007 wird nur der OuterShadow‑Effekt angewendet. -Wir fügen die Anzeige zu dem Text durch dieses Python-Codebeispiel hinzu: +### Anwenden von Anzeigeeffekten auf Texte +Wir fügen dem Text über dieses Python‑Beispiel Anzeigeeffekte hinzu: ```py portion.portion_format.effect_format.enable_reflection_effect() portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5 @@ -147,10 +158,10 @@ Wir fügen die Anzeige zu dem Text durch dieses Python-Codebeispiel hinzu: portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT ``` -### Anwenden des Glüheffekts auf Texte -Wir wenden den Glüheffekt auf den Text an, um ihn zum Leuchten oder Hervorstechen zu bringen, indem wir diesen Code verwenden: +### Anwenden von Leuchteffekten auf Texte +Wir wenden den Leuchteffekt auf den Text an, damit er glänzt oder hervorgehoben wird, mit folgendem Code: ```py portion.portion_format.effect_format.enable_glow_effect() portion.portion_format.effect_format.glow_effect.color.r = 255 @@ -158,45 +169,42 @@ Wir wenden den Glüheffekt auf den Text an, um ihn zum Leuchten oder Hervorstech portion.portion_format.effect_format.glow_effect.radius = 7 ``` -Das Ergebnis der Operation: -![todo:image_alt_text](image-20200930114621-7.png) - -{{% alert color="primary" %}} +Das Ergebnis: -Sie können die Parameter für Schatten, Anzeige und Glühen ändern. Die Effekteigenschaften werden separat für jeden Teil des Textes festgelegt. +![todo:image_alt_text](image-20200930114621-7.png) +{{% alert color="primary"%}} +Sie können die Parameter für Schatten, Anzeige und Leuchteffekt ändern. Die Eigenschaften der Effekte werden für jeden Textabschnitt separat gesetzt. {{% /alert %}} ### Verwendung von Transformationen in WordArt -Wir verwenden die Transform-Eigenschaft (die dem gesamten Textblock innewohnt) durch diesen Code: +Wir verwenden die Transform‑Eigenschaft (gilt für den gesamten Textblock) mit folgendem Code: ```py textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR ``` + Das Ergebnis: ![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} - -Sowohl Microsoft PowerPoint als auch Aspose.Slides für Python über .NET bieten eine bestimmte Anzahl vordefinierter Transformationsarten. - +{{% alert color="primary"%}} +Sowohl Microsoft PowerPoint als auch Aspose.Slides für Python via .NET bieten eine Reihe vordefinierter Transformationstypen. {{% /alert %}} **Verwendung von PowerPoint** -Um auf vordefinierte Transformationsarten zuzugreifen, gehen Sie zu: **Format** -> **TextEffekt** -> **Transformieren** +Um vordefinierte Transformationstypen aufzurufen, gehen Sie über: **Format** → **TextEffect** → **Transform** **Verwendung von Aspose.Slides** -Um einen Transformationstyp auszuwählen, verwenden Sie die TextShapeType-Enum. +Zum Auswählen eines Transformationstyps verwenden Sie das Enum TextShapeType. -### Anwenden von 3D-Effekten auf Texte und Formen - -Wir setzen einen 3D-Effekt auf einen Textblock mit diesem Beispielcode: +### Anwenden von 3D‑Effekten auf Texte und Formen +Wir setzen einen 3D‑Effekt auf eine Textform mit folgendem Beispielcode: ```py autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE autoShape.three_d_format.bevel_bottom.height = 10.5 @@ -223,12 +231,12 @@ Wir setzen einen 3D-Effekt auf einen Textblock mit diesem Beispielcode: autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` + Der resultierende Text und seine Form: ![todo:image_alt_text](image-20200930114816-9.png) -Wir wenden einen 3D-Effekt auf den Text mit diesem Python-Code an: - +Wir wenden mit diesem Python‑Code einen 3D‑Effekt auf den Text an: ```py textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5 @@ -255,61 +263,59 @@ Wir wenden einen 3D-Effekt auf den Text mit diesem Python-Code an: textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -Das Ergebnis der Operation: - -![todo:image_alt_text](image-20200930114905-10.png) -{{% alert color="primary" %}} +Das Ergebnis: -Die Anwendung von 3D-Effekten auf Texte oder deren Formen und die Interaktionen zwischen den Effekten basieren auf bestimmten Regeln. +![todo:image_alt_text](image-20200930114905-10.png) -Betrachten Sie eine Szene für einen Text und die Form, die diesen Text enthält. Der 3D-Effekt enthält die 3D-Objektdarstellung und die Szene, in der das Objekt platziert wurde. +{{% alert color="primary"%}} +Die Anwendung von 3D‑Effekten auf Texte oder deren Formen sowie die Interaktion zwischen Effekten folgen bestimmten Regeln. -- Wenn die Szene sowohl für die Figur als auch für den Text festgelegt ist, hat die Figurenszene die höhere Priorität – die Textszene wird ignoriert. -- Wenn die Figur keine eigene Szene hat, aber eine 3D-Darstellung hat, wird die Textszene verwendet. -- Andernfalls – wenn die Form ursprünglich keinen 3D-Effekt hat – ist die Form flach und der 3D-Effekt wird nur auf den Text angewendet. +Betrachten Sie eine Szene für einen Text und die Form, die diesen Text enthält. Der 3D‑Effekt umfasst die 3D‑Objektdarstellung und die Szene, in der das Objekt platziert ist. -Die Beschreibungen sind mit den [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) und [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) Eigenschaften verbunden. +- Wenn die Szene sowohl für die Figur als auch für den Text gesetzt ist, hat die Figur‑Szene höhere Priorität – die Text‑Szene wird ignoriert. +- Wenn die Figur keine eigene Szene hat, aber eine 3D‑Darstellung, wird die Text‑Szene verwendet. +- Andernfalls – wenn die Form ursprünglich keinen 3D‑Effekt hat – ist die Form flach und der 3D‑Effekt wird nur auf den Text angewendet. +Die Beschreibungen beziehen sich auf die Eigenschaften [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) und [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). {{% /alert %}} ## **Äußere Schatteneffekte auf Texte anwenden** -Aspose.Slides für Python über .NET bietet die [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) und [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) Klassen, die Ihnen ermöglichen, Schatteneffekte auf einen Text anzuwenden, der von TextFrame getragen wird. Gehen Sie diese Schritte durch: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -3. Fügen Sie der Folie eine AutoShape vom Typ Rechteck hinzu. -4. Greifen Sie auf das TextFrame zu, das mit der AutoShape verbunden ist. -5. Setzen Sie den FillType der AutoShape auf NoFill. -6. Instanziieren Sie die OuterShadow-Klasse. -7. Setzen Sie den BlurRadius des Schattens. -8. Setzen Sie die Richtung des Schattens. -9. Setzen Sie die Distanz des Schattens. -10. Setzen Sie das RectangleAlign auf TopLeft. -11. Setzen Sie die PresetColor des Schattens auf Schwarz. -12. Schreiben Sie die Präsentation als PPTX-Datei. - -Dieser Beispielcode in Python – eine Implementierung der oben genannten Schritte – zeigt Ihnen, wie Sie den äußeren Schatteneffekt auf einen Text anwenden: - +Aspose.Slides für Python via .NET stellt die Klassen [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) und [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) bereit, mit denen Sie Schatteneffekte auf einen Text in einem TextFrame anwenden können. Gehen Sie wie folgt vor: + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +2. Holen Sie sich die Referenz einer Folie über deren Index. +3. Fügen Sie der Folie ein AutoShape vom Typ Rectangle hinzu. +4. Greifen Sie auf das TextFrame des AutoShape zu. +5. Setzen Sie den FillType des AutoShape auf NoFill. +6. Instanziieren Sie die OuterShadow‑Klasse. +7. Setzen Sie den BlurRadius des Schattens. +8. Setzen Sie die Direction des Schattens. +9. Setzen Sie den Distance des Schattens. +10. Setzen Sie RectanglelAlign auf TopLeft. +11. Setzen Sie die PresetColor des Schattens auf Black. +12. Schreiben Sie die Präsentation als PPTX‑Datei. + +Dieser Beispielcode in Python – eine Umsetzung der oben genannten Schritte – zeigt, wie Sie den äußeren Schatteneffekt auf einen Text anwenden: ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as pres: - # Get reference of the slide + # Referenz der Folie holen sld = pres.slides[0] - # Add an AutoShape of Rectangle type + # AutoShape vom Typ Rechteck hinzufügen ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50) - # Add TextFrame to the Rectangle + # TextFrame zum Rechteck hinzufügen ashp.add_text_frame("Aspose TextBox") - # Disable shape fill in case we want to get shadow of text + # Shape-Füllung deaktivieren, falls wir den Schatten des Textes erhalten wollen ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Add outer shadow and set all necessary parameters + # Äußeren Schatten hinzufügen und alle notwendigen Parameter setzen ashp.effect_format.enable_outer_shadow_effect() shadow = ashp.effect_format.outer_shadow_effect shadow.blur_radius = 4.0 @@ -318,58 +324,78 @@ with slides.Presentation() as pres: shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT shadow.shadow_color.preset_color = slides.PresetColor.BLACK - #Write the presentation to disk + #Präsentation auf die Festplatte schreiben pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Inner Shadow Effekt auf Formen anwenden** -Gehen Sie diese Schritte durch: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Erhalten Sie eine Referenz der Folie. -3. Fügen Sie eine AutoShape vom Typ Rechteck hinzu. -4. Aktivieren Sie den InnerShadowEffect. -5. Setzen Sie alle notwendigen Parameter. -6. Setzen Sie den ColorType auf Scheme. -7. Setzen Sie die Scheme-Farbe. -8. Schreiben Sie die Präsentation als [PPTX](https://docs.fileformat.com/presentation/pptx/) Datei. +## **Inneren Schatteneffekt auf Formen anwenden** +Gehen Sie wie folgt vor: -Dieser Beispielcode (basierend auf den oben genannten Schritten) zeigt Ihnen, wie Sie einen Connector zwischen zwei Formen in Python hinzufügen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +2. Holen Sie sich die Referenz der Folie. +3. Fügen Sie ein AutoShape vom Typ Rectangle hinzu. +4. Aktivieren Sie InnerShadowEffect. +5. Setzen Sie alle notwendigen Parameter. +6. Setzen Sie ColorType auf Scheme. +7. Setzen Sie die Scheme Color. +8. Schreiben Sie die Präsentation als [PPTX](https://docs.fileformat.com/presentation/pptx/)‑Datei. +Dieser Beispielcode (basierend auf den obigen Schritten) zeigt, wie Sie in Python einen Connector zwischen zwei Formen hinzufügen: ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as presentation: - # Get reference of a slide + # Referenz einer Folie holen slide = presentation.slides[0] - # Add an AutoShape of Rectangle type + # AutoShape vom Typ Rechteck hinzufügen ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300) ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Add TextFrame to the Rectangle + # TextFrame zum Rechteck hinzufügen ashp.add_text_frame("Aspose TextBox") port = ashp.text_frame.paragraphs[0].portions[0] pf = port.portion_format pf.font_height = 50 - # Enable inner_shadow_effect + # inner_shadow_effect aktivieren ef = pf.effect_format ef.enable_inner_shadow_effect() - # Set all necessary parameters + # Alle notwendigen Parameter setzen ef.inner_shadow_effect.blur_radius = 8.0 ef.inner_shadow_effect.direction = 90.0 ef.inner_shadow_effect.distance = 6.0 ef.inner_shadow_effect.shadow_color.b = 189 - # Set ColorType as Scheme + # ColorType auf Scheme setzen ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME - # Set Scheme Color + # Scheme-Farbe setzen ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1 - # Save Presentation + # Präsentation speichern presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + + +## **FAQ** + +**Kann ich WordArt‑Effekte mit unterschiedlichen Schriftarten oder Skripten (z. B. Arabisch, Chinesisch) verwenden?** + +Ja, Aspose.Slides unterstützt Unicode und funktioniert mit allen gängigen Schriftarten und Skripten. WordArt‑Effekte wie Schatten, Füllung und Kontur können unabhängig von der Sprache angewendet werden, wobei die Verfügbarkeit und Darstellung von der Systemschrift abhängen kann. + +**Kann ich WordArt‑Effekte auf Elemente des Folien‑Masters anwenden?** + +Ja, Sie können WordArt‑Effekte auf Formen im Master‑Folienlayout anwenden, einschließlich Titelplatzhaltern, Fußzeilen oder Hintergrundtexten. Änderungen am Master‑Layout werden auf alle zugehörigen Folien übertragen. + +**Beeinflussen WordArt‑Effekte die Dateigröße der Präsentation?** + +Leicht. WordArt‑Effekte wie Schatten, Leuchten und Farbverläufe können die Dateigröße geringfügig erhöhen, da zusätzliche Formatierungs‑Metadaten gespeichert werden, aber der Unterschied ist in der Regel vernachlässigbar. + +**Kann ich das Ergebnis von WordArt‑Effekten sehen, ohne die Präsentation zu speichern?** + +Ja, Sie können Folien mit WordArt in Bilder (z. B. PNG, JPEG) rendern, indem Sie die `get_image`‑Methode der [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)‑ oder [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/)‑Klassen verwenden. Damit können Sie das Ergebnis im Speicher oder auf dem Bildschirm prüfen, bevor Sie die vollständige Präsentation speichern oder exportieren. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index f9b6bd53bc..5224e828d2 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,44 @@ --- -title: Diagrammachse +title: Diagrammachsen in Präsentationen mit Python anpassen +linktitle: Diagrammachse type: docs url: /de/python-net/chart-axis/ -keywords: "PowerPoint Diagrammachse, Präsentationsdiagramme, Python, Diagrammachse manipulieren, Diagrammdaten" -description: "Bearbeiten Sie PowerPoint-Diagrammachsen in Python" +keywords: +- Diagrammachse +- vertikale Achse +- horizontale Achse +- Achse anpassen +- Achse manipulieren +- Achse verwalten +- Achseneigenschaften +- Maximalwert +- Minimalwert +- Achsenlinie +- Datumsformat +- Achsentitel +- Achsenposition +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie Aspose.Slides für Python via .NET verwenden, um Diagrammachsen in PowerPoint- und OpenDocument-Präsentationen für Berichte und Visualisierungen anzupassen." --- +## **Ermitteln der Maximalwerte auf der vertikalen Achse in Diagrammen** +Aspose.Slides for Python via .NET ermöglicht es Ihnen, die Minimal- und Maximalwerte einer vertikalen Achse zu erhalten. Führen Sie die folgenden Schritte aus: -## **Maximalwerte auf der vertikalen Achse in Diagrammen abrufen** -Aspose.Slides für Python über .NET ermöglicht es Ihnen, die Minimal- und Maximalwerte auf einer vertikalen Achse zu erhalten. Gehen Sie diese Schritte durch: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Greifen Sie auf die erste Folie zu. -1. Fügen Sie ein Diagramm mit Standarddaten hinzu. -1. Holen Sie den tatsächlichen Maximalwert auf der Achse. -1. Holen Sie den tatsächlichen Minimalwert auf der Achse. -1. Holen Sie die tatsächliche Hauptgröße der Achse. -1. Holen Sie die tatsächliche Neben Größe der Achse. -1. Holen Sie die tatsächliche Hauptgrößenskalierung der Achse. -1. Holen Sie die tatsächliche Neben Größenskalierung der Achse. - -Dieser Beispielcode - eine Implementierung der obigen Schritte - zeigt Ihnen, wie Sie die erforderlichen Werte in Python abrufen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)-Klasse. +2. Greifen Sie auf die erste Folie zu. +3. Fügen Sie ein Diagramm mit Standarddaten hinzu. +4. Ermitteln Sie den tatsächlichen Maximalwert der Achse. +5. Ermitteln Sie den tatsächlichen Minimalwert der Achse. +6. Ermitteln Sie die tatsächliche Haupteinheit der Achse. +7. Ermitteln Sie die tatsächliche Nebeneinheit der Achse. +8. Ermitteln Sie die tatsächliche Skalierung der Haupteinheit der Achse. +9. Ermitteln Sie die tatsächliche Skalierung der Nebeneinheit der Achse. +Dieser Beispielcode – eine Umsetzung der oben genannten Schritte – zeigt, wie Sie die erforderlichen Werte in Python erhalten: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -41,30 +58,27 @@ with slides.Presentation() as pres: ``` -## **Daten zwischen Achsen tauschen** -Aspose.Slides ermöglicht es Ihnen, die Daten schnell zwischen den Achsen zu tauschen – die auf der vertikalen Achse (y-Achse) dargestellten Daten werden auf die horizontale Achse (x-Achse) verschoben und umgekehrt. - -Dieser Python-Code zeigt Ihnen, wie Sie die Daten zwischen den Achsen in einem Diagramm tauschen: +## **Austausch der Daten zwischen Achsen** +Aspose.Slides ermöglicht es Ihnen, die Daten zwischen Achsen schnell zu vertauschen – die auf der vertikalen Achse (Y‑Achse) dargestellten Daten werden zur horizontalen Achse (X‑Achse) und umgekehrt verschoben. +Dieser Python‑Code zeigt, wie Sie den Datenaustausch zwischen Achsen in einem Diagramm durchführen: ```py import aspose.slides.charts as charts import aspose.slides as slides -# Erstellt eine leere Präsentation +# Erstellt leere Präsentation with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300) - # Tauscht Zeilen und Spalten - chart.chart_data.switch_row_column() + #Wechselt Zeilen und Spalten # Speichert die Präsentation pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Deaktivieren der vertikalen Achse für Liniendiagramme** - -Dieser Python-Code zeigt Ihnen, wie Sie die vertikale Achse für ein Liniendiagramm ausblenden: +## **Deaktivieren der Vertikalachse für Liniendiagramme** +Dieser Python‑Code zeigt, wie Sie die Vertikalachse für ein Liniendiagramm ausblenden: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -76,10 +90,9 @@ with slides.Presentation() as pres: pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX) ``` -## **Deaktivieren der horizontalen Achse für Liniendiagramme** - -Dieser Code zeigt Ihnen, wie Sie die horizontale Achse für ein Liniendiagramm ausblenden: +## **Deaktivieren der Horizontalachse für Liniendiagramme** +Dieser Code zeigt, wie Sie die Horizontalachse für ein Liniendiagramm ausblenden: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -91,10 +104,9 @@ with slides.Presentation() as pres: pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX) ``` -## **Ändern der Kategoriеachse** - -Mit der **CategoryAxisType**-Eigenschaft können Sie Ihren bevorzugten Kategoriеachsentyp (**Datum** oder **Text**) angeben. Dieser Code in Python demonstriert die Operation: +## **Ändern der Kategorienachse** +Mit der Eigenschaft **CategoryAxisType** können Sie Ihren bevorzugten Typ der Kategorienachse (**date** oder **text**) festlegen. Dieser Python‑Code demonstriert die Vorgehensweise: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -108,9 +120,9 @@ with slides.Presentation(path + "ExistingChart.pptx") as presentation: presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Festlegen des Datumsformats für den Kategoriеachsenwert** -Aspose.Slides für Python über .NET ermöglicht es Ihnen, das Datumsformat für einen Kategoriеachsenwert festzulegen. Die Operation wird in diesem Python-Code demonstriert: +## **Festlegen des Datumsformats für den Wert der Kategorienachse** +Aspose.Slides für Python via .NET ermöglicht es Ihnen, das Datumsformat für einen Kategorienachsenwert festzulegen. Der Vorgang wird in diesem Python‑Code gezeigt: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -146,9 +158,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Festlegen des Drehwinkels für den Titel der Diagrammachse** -Aspose.Slides für Python über .NET ermöglicht es Ihnen, den Drehwinkel für einen Titel der Diagrammachse festzulegen. Dieser Python-Code demonstriert die Operation: +## **Festlegen des Rotationswinkels für den Diagrammachsentitel** +Aspose.Slides für Python via .NET ermöglicht es Ihnen, den Rotationswinkel für einen Diagrammachsentitel festzulegen. Dieser Python‑Code demonstriert den Vorgang: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -161,9 +173,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Festlegen der Positionsachse in einer Kategorie oder Werteachse** -Aspose.Slides für Python über .NET ermöglicht es Ihnen, die Positionsachse in einer Kategorie- oder Werteachse festzulegen. Dieser Python-Code zeigt, wie Sie die Aufgabe durchführen: +## **Festlegen der Position der Achse in einer Kategorien‑ oder Werteachse** +Aspose.Slides für Python via .NET ermöglicht es Ihnen, die Position der Achse in einer Kategorien‑ oder Werteachse festzulegen. Dieser Python‑Code zeigt, wie die Aufgabe ausgeführt wird: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -175,9 +187,9 @@ with slides.Presentation() as pres: pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX) ``` -## **Aktivieren der Anzeigeeinheit Beschriftung auf der Diagrammwertachse** -Aspose.Slides für Python über .NET ermöglicht es Ihnen, ein Diagramm so zu konfigurieren, dass eine Einheitenspezifische Beschriftung auf seiner Diagrammwertachse angezeigt wird. Dieser Python-Code demonstriert die Operation: +## **Aktivieren der Anzeigeeinheitsbeschriftung auf der Werteachse des Diagramms** +Aspose.Slides für Python via .NET ermöglicht es Ihnen, ein Diagramm so zu konfigurieren, dass eine Einheitensbeschriftung auf seiner Werteachse angezeigt wird. Dieser Python‑Code demonstriert den Vorgang: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -186,4 +198,15 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300) chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS pres.save("Result.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie lege ich den Wert fest, an dem sich eine Achse mit der anderen schneidet (Achsenkreuzung)?** + +Achsen bieten eine [crossing setting](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/cross_type/): Sie können wählen, bei Null, beim maximalen Kategorie‑/Wert‑Punkt oder bei einem bestimmten numerischen Wert zu kreuzen. Dies ist nützlich, um die X‑Achse nach oben oder unten zu verschieben oder um eine Basislinie hervorzuheben. + +**Wie kann ich die Tick‑Beschriftungen relativ zur Achse positionieren (neben, außen, innen)?** + +Setzen Sie die [label position](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/major_tick_mark/) auf "cross", "outside" oder "inside". Dies beeinflusst die Lesbarkeit und hilft, insbesondere bei kleinen Diagrammen Platz zu sparen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index eff71114f1..8bc1c46c0d 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,60 +1,71 @@ --- -title: Diagrammdatenmarkierung +title: Diagrammdatenmarker in Präsentationen mit Python verwalten +linktitle: Datenmarker type: docs url: /de/python-net/chart-data-marker/ -keywords: "Diagramm-Markierungsoptionen, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Diagramm-Markierungsoptionen in PowerPoint-Präsentationen in Python festlegen" +keywords: +- Diagramm +- Datenpunkt +- Marker +- Markeroptionen +- Markergröße +- Fülltyp +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie Diagrammdatenmarker in Aspose.Slides anpassen und die Wirkung von Präsentationen in den Formaten PPT, PPTX und ODP mit klaren Codebeispielen steigern." --- -## **Diagramm-Markierungsoptionen festlegen** -Die Marker können an Diagrammdatenpunkten innerhalb bestimmter Serien festgelegt werden. Um die Diagramm-Markierungsoptionen festzulegen, folgen Sie bitte den folgenden Schritten: +## **Diagramm-Marker-Optionen festlegen** +Die Marker können für Datenpunkte in bestimmten Diagrammreihen festgelegt werden. Um Diagramm-Marker-Optionen zu setzen, befolgen Sie bitte die folgenden Schritte: -- Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -- Erstellen Sie das Standarddiagramm. -- Setzen Sie das Bild. -- Nehmen Sie die erste Diagrammserie. -- Fügen Sie einen neuen Datenpunkt hinzu. -- Schreiben Sie die Präsentation auf die Festplatte. - -Im folgenden Beispiel haben wir die Diagramm-Markierungsoptionen auf Datenpunktebene festgelegt. +- Instanziieren Sie die Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +- Erstellen des Standarddiagramms. +- Bild festlegen. +- Erste Diagrammreihe auswählen. +- Neuen Datenpunkt hinzufügen. +- Präsentation auf dem Datenträger speichern. +Im nachfolgenden Beispiel haben wir die Diagramm-Marker-Optionen auf Ebene der Datenpunkte festgelegt. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Erstellen Sie eine Instanz der Presentation-Klasse +# Instanz der Klasse Presentation erstellen with slides.Presentation() as presentation: slide = presentation.slides[0] - # Erstellen des Standarddiagramms + # Standarddiagramm erstellen chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 0, 0, 400, 400) - # Abrufen des Standarddiagramm-Datenarbeitsblattindex + # Standard-Chart-Datenarbeitsblattindex abrufen defaultWorksheetIndex = 0 - # Abrufen des Diagramm-Datenarbeitsblatts + # Chart-Datenarbeitsblatt abrufen fact = chart.chart_data.chart_data_workbook # Demo-Serie löschen chart.chart_data.series.clear() # Neue Serie hinzufügen - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Serie 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) - # Setzen Sie das Bild + # Bild festlegen image1 = draw.Bitmap(path + "aspose-logo.jpg") imgx1 = presentation.images.add_image(image1) - # Setzen Sie das Bild + # Bild festlegen image2 = draw.Bitmap(path + "Tulips.jpg") imgx2 = presentation.images.add_image(image2) - # Nehmen Sie die erste Diagrammserie + # Erste Diagrammreihe auswählen series = chart.chart_data.series[0] - # Fügen Sie dort einen neuen Punkt (1:3) hinzu. + # Neuen Punkt (1:3) dort hinzufügen. point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx1 @@ -71,9 +82,20 @@ with slides.Presentation() as presentation: point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx2 - # Ändern des Markers der Diagrammserie + # Diagrammreihen-Marker ändern series.marker.size = 15 - # Schreiben Sie die Präsentation auf die Festplatte + # Präsentation auf Datenträger schreiben presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Welche Markerformen sind standardmäßig verfügbar?** + +Standardformen sind verfügbar (Kreis, Quadrat, Raute, Dreieck usw.); die Liste wird durch die Aufzählung [MarkerStyleType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/markerstyletype/) definiert. Wenn Sie eine nicht standardmäßige Form benötigen, verwenden Sie einen Marker mit einer Bildfüllung, um benutzerdefinierte Visualisierungen zu emulieren. + +**Werden Marker beim Exportieren eines Diagramms in ein Bild oder SVG beibehalten?** + +Ja. Beim Rendern von Diagrammen in [Rasterformate](/slides/de/python-net/convert-powerpoint-to-png/) oder beim Speichern von [Shapes als SVG](/slides/de/python-net/render-a-slide-as-an-svg-image/) behalten Marker ihr Aussehen und ihre Einstellungen bei, einschließlich Größe, Füllung und Kontur. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 6ac91f82ae..b3bb470c70 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,97 +1,121 @@ --- -title: Diagrammlegende +title: Diagrammlegenden in Präsentationen mit Python anpassen +linktitle: Diagrammlegende type: docs url: /de/python-net/chart-legend/ -keywords: "Diagrammlegende, Schriftgröße der Legende, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Positionierung und Schriftgröße für die Diagrammlegende in PowerPoint-Präsentationen in Python festlegen" +keywords: +- diagrammlegende +- legendenposition +- schriftgröße +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Diagrammlegenden mit Aspose.Slides für Python über .NET anpassen, um PowerPoint- und OpenDocument-Präsentationen mit maßgeschneiderter Legendenformatierung zu optimieren." --- -## **Positionierung der Legende** -Um die Eigenschaften der Legende festzulegen, befolgen Sie bitte die folgenden Schritte: +## **Übersicht** -- Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -- Holen Sie sich die Referenz zur Folie. -- Fügen Sie ein Diagramm auf der Folie hinzu. -- Setzen Sie die Eigenschaften der Legende. -- Schreiben Sie die Präsentation als PPTX-Datei. +Aspose.Slides for Python bietet volle Kontrolle über Diagrammlegenden, sodass Sie Datenbeschriftungen klar und präsentationsfertig gestalten können. Sie können die Legende ein- oder ausblenden, ihre Position auf der Folie wählen und das Layout so anpassen, dass es nicht mit dem Plotbereich überlappt. Die API ermöglicht das Stylen von Text und Markern, das feine Einstellen von Abstand und Hintergrund sowie das Formatieren von Rahmen und Füllungen, um Ihrem Design zu entsprechen. Entwickler können zudem einzelne Legendeinträge abrufen, um sie umzubenennen oder zu filtern, sodass nur die relevantesten Serien angezeigt werden. Mit diesen Möglichkeiten bleiben Ihre Diagramme lesbar, konsistent und im Einklang mit den Designstandards Ihrer Präsentation. -Im folgenden Beispiel haben wir die Position und Größe für die Diagrammlegende festgelegt. +## **Legendenpositionierung** +Mit Aspose.Slides können Sie schnell steuern, wo die Diagrammlegende erscheint und wie sie in Ihr Folienlayout passt. Erfahren Sie, wie Sie die Legende präzise platzieren. + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +2. Holen Sie sich eine Referenz zur Folie. +3. Fügen Sie ein Diagramm zur Folie hinzu. +4. Setzen Sie die Legenden‑Eigenschaften. +5. Speichern Sie die Präsentation als PPTX‑Datei. + +Im folgenden Beispiel setzen wir die Position und Größe der Diagrammlegende: ```py import aspose.slides.charts as charts import aspose.slides as slides -# Erstellen Sie eine Instanz der Präsentationsklasse +# Erstellen Sie eine Instanz der Presentation-Klasse. with slides.Presentation() as presentation: - # Holen Sie sich die Referenz zur Folie + # Holen Sie sich eine Referenz zur Folie. slide = presentation.slides[0] - # Fügen Sie ein gruppiertes Säulendiagramm auf der Folie hinzu - chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 500, 500) + # Fügen Sie der Folie ein gruppiertes Säulendiagramm hinzu. + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 300) - # Legende Eigenschaften festlegen - chart.legend.x = 50 / chart.width - chart.legend.y = 50 / chart.height + # Legen Sie die Legenden-Eigenschaften fest. + chart.legend.x = 80 / chart.width + chart.legend.y = 20 / chart.height chart.legend.width = 100 / chart.width chart.legend.height = 100 / chart.height - # Präsentation auf die Festplatte speichern - presentation.save("Legend_out.pptx", slides.export.SaveFormat.PPTX) + # Speichern Sie die Präsentation auf dem Datenträger. + presentation.save("legend_positioning.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Schriftgröße der Legende festlegen** -Aspose.Slides für Python über .NET ermöglicht Entwicklern, die Schriftgröße der Legende festzulegen. Bitte befolgen Sie die folgenden Schritte: -- Instanziieren Sie die `Presentation` Klasse. -- Erstellen Sie das Standarddiagramm. -- Setzen Sie die Schriftgröße. -- Setzen Sie den minimalen Achsenwert. -- Setzen Sie den maximalen Achsenwert. -- Schreiben Sie die Präsentation auf die Festplatte. +Die Legende eines Diagramms sollte genauso gut lesbar sein wie die Daten, die sie erklärt. Dieser Abschnitt zeigt, wie Sie die Schriftgröße der Legende anpassen, um die Typografie Ihrer Präsentation zu entsprechen und die Zugänglichkeit zu verbessern. +1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +2. Erstellen Sie ein Diagramm. +3. Setzen Sie die Schriftgröße. +4. Speichern Sie die Präsentation auf dem Datenträger. ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - chart.legend.text_format.portion_format.font_height = 20 - chart.axes.vertical_axis.is_automatic_min_value = False - chart.axes.vertical_axis.min_value = -5 - chart.axes.vertical_axis.is_automatic_max_value = False - chart.axes.vertical_axis.max_value = 10 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + chart.legend.text_format.portion_format.font_height = 20 - pres.save("output.pptx", slides.export.SaveFormat.PPTX) + presentation.save("font_size.pptx", slides.export.SaveFormat.PPTX) ``` -## **Schriftgröße der einzelnen Legende festlegen** -Aspose.Slides für Python über .NET ermöglicht Entwicklern, die Schriftgröße der einzelnen Legendeeinträge festzulegen. Bitte befolgen Sie die folgenden Schritte: -- Instanziieren Sie die `Presentation` Klasse. -- Erstellen Sie das Standarddiagramm. -- Greifen Sie auf den Legendeeintrag zu. -- Setzen Sie die Schriftgröße. -- Setzen Sie den minimalen Achsenwert. -- Setzen Sie den maximalen Achsenwert. -- Schreiben Sie die Präsentation auf die Festplatte. +## **Schriftgröße für einen Legendeeintrag festlegen** + +Aspose.Slides ermöglicht es Ihnen, das Aussehen von Diagrammlegenden zu verfeinern, indem Sie einzelne Einträge formatieren. Das folgende Beispiel zeigt, wie Sie einen bestimmten Legendeeintrag ansprechen und dessen Eigenschaften festlegen, ohne den Rest der Legende zu ändern. +1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +2. Erstellen Sie ein Diagramm. +3. Greifen Sie auf einen Legendeeintrag zu. +4. Setzen Sie die Eigenschaften des Eintrags. +5. Speichern Sie die Präsentation auf dem Datenträger. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw - - -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - tf = chart.legend.entries[1].text_format - - tf.portion_format.font_bold = 1 - tf.portion_format.font_height = 20 - tf.portion_format.font_italic = 1 - tf.portion_format.fill_format.fill_type = slides.FillType.SOLID - tf.portion_format.fill_format.solid_fill_color.color = draw.Color.blue - - pres.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + text_format = chart.legend.entries[1].text_format + + text_format.portion_format.font_bold = slides.NullableBool.TRUE + text_format.portion_format.font_height = 20 + text_format.portion_format.font_italic = slides.NullableBool.TRUE + text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID + text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.blue + + presentation.save("legend_entry.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**Kann ich die Legende aktivieren, sodass das Diagramm automatisch Platz dafür reserviert, anstatt sie zu überlagern?** + +Ja. Verwenden Sie den Nicht‑Overlay‑Modus ([overlay](https://reference.aspose.com/slides/python-net/aspose.slides.charts/legend/overlay/) = `false`); in diesem Fall wird der Plotbereich verkleinert, um die Legende aufzunehmen. + +**Kann ich mehrzeilige Legendenbeschriftungen erstellen?** + +Ja. Lange Beschriftungen werden automatisch umbrochen, wenn nicht genug Platz vorhanden ist; erzwungene Zeilenumbrüche werden über Zeilenumbruchszeichen im Seriennamen unterstützt. + +**Wie bringe ich die Legende dazu, dem Farbschema des Präsentationsthemas zu folgen?** + +Setzen Sie keine expliziten Farben/Füllungen/Schriften für die Legende oder deren Text. Sie erben dann vom Thema und werden bei einer Designänderung korrekt aktualisiert. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 173bd2765c..e9ccb0f64d 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,33 @@ --- -title: Diagrammplotbereich +title: Diagramm-Plotbereiche von Präsentationsdiagrammen in Python anpassen +linktitle: Plotbereich type: docs url: /de/python-net/chart-plot-area/ -keywords: "Diagrammplotbereich PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Breite, Höhe des Diagrammplotbereichs abrufen. Layoutmodus festlegen. PowerPoint-Präsentation in Python" +keywords: +- Diagramm +- Plotbereich +- Plotbereichsbreite +- Plotbereichshöhe +- Plotbereichsgröße +- Layoutmodus +- PowerPoint +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie Plotbereiche von Diagrammen in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python via .NET anpassen können. Verbessern Sie mühelos die Visualisierung Ihrer Folien." --- -## **Breite, Höhe des Diagrammplotbereichs abrufen** -Aspose.Slides für Python über .NET bietet eine einfache API für. - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Greifen Sie auf die erste Folie zu. -1. Fügen Sie ein Diagramm mit Standarddaten hinzu. -1. Rufen Sie die Methode IChart.ValidateChartLayout() auf, um die aktuellen Werte abzurufen. -1. Erhält die tatsächliche X-Position (links) des Diagrammelements relativ zur oberen linken Ecke des Diagramms. -1. Erhält die tatsächliche obere Position des Diagrammelements relativ zur oberen linken Ecke des Diagramms. -1. Erhält die tatsächliche Breite des Diagrammelements. -1. Erhält die tatsächliche Höhe des Diagrammelements. +## **Breite und Höhe des Diagramm‑Plotbereichs abrufen** +Aspose.Slides for Python via .NET stellt eine einfache API für . bereit. +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +1. Zugriff auf die erste Folie. +1. Diagramm mit Standarddaten hinzufügen. +1. Rufen Sie die Methode IChart.ValidateChartLayout() auf, um tatsächliche Werte zu erhalten. +1. Ermittelt die tatsächliche X‑Position (links) des Diagrammelements relativ zur linken oberen Ecke des Diagramms. +1. Ermittelt die tatsächliche obere Position des Diagrammelements relativ zur linken oberen Ecke des Diagramms. +1. Ermittelt die tatsächliche Breite des Diagrammelements. +1. Ermittelt die tatsächliche Höhe des Diagrammelements. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -31,20 +41,21 @@ with slides.Presentation() as pres: w = chart.plot_area.actual_width h = chart.plot_area.actual_height - # Präsentation mit Diagramm speichern + # Präsentation mit Diagramm speichern pres.save("Chart_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Layoutmodus des Diagrammplotbereichs festlegen** -Aspose.Slides für Python über .NET bietet eine einfache API, um den Layoutmodus des Diagrammplotbereichs festzulegen. Die Eigenschaft **LayoutTargetType** wurde zu den Klassen **ChartPlotArea** und **IChartPlotArea** hinzugefügt. Wenn das Layout des Plotbereichs manuell definiert ist, gibt diese Eigenschaft an, ob der Plotbereich innerhalb (ohne Achsen und Achsenbeschriftungen) oder außerhalb (einschließlich Achsen und Achsenbeschriftungen) layoutiert werden soll. Es gibt zwei mögliche Werte, die im **LayoutTargetType**-Enum definiert sind. -- **LayoutTargetType.Inner** - gibt an, dass die Größe des Plotbereichs die Größe des Plotbereichs bestimmt, ohne die Tickmarken und Achsenbeschriftungen. -- **LayoutTargetType.Outer** - gibt an, dass die Größe des Plotbereichs die Größe des Plotbereichs sowie die Tickmarken und die Achsenbeschriftungen bestimmt. -Beispielcode ist unten angegeben. +## **Layoutmodus des Diagramm‑Plotbereichs festlegen** +Aspose.Slides for Python via .NET stellt eine einfache API zum Festlegen des Layoutmodus des Diagramm‑Plotbereichs bereit. Die Eigenschaft **LayoutTargetType** wurde zu den Klassen **ChartPlotArea** und **IChartPlotArea** hinzugefügt. Wenn das Layout des Plotbereichs manuell definiert wird, gibt diese Eigenschaft an, ob der Plotbereich nach seinem Inneren (ohne Achsen und Achsenbeschriftungen) oder nach außen (mit Achsen und Achsenbeschriftungen) ausgerichtet werden soll. Es gibt zwei mögliche Werte, die im **LayoutTargetType**‑Enum definiert sind. + +- **LayoutTargetType.Inner** - gibt an, dass die Größe des Plotbereichs die Größe des Plotbereichs bestimmt, ohne die Tick‑Markierungen und Achsenbeschriftungen. +- **LayoutTargetType.Outer** - gibt an, dass die Größe des Plotbereichs die Größe des Plotbereichs, die Tick‑Markierungen und die Achsenbeschriftungen bestimmt. +Sample code is given below. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -59,4 +70,23 @@ with slides.Presentation() as presentation: chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**In welchen Einheiten werden actual_x, actual_y, actual_width und actual_height zurückgegeben?** + +In Punkten; 1 Zoll = 72 Punkte. Dies sind Koordinateneinheiten von Aspose.Slides. + +**Wie unterscheidet sich der Plot‑Bereich vom Diagrammbereich hinsichtlich des Inhalts?** + +Der Plot‑Bereich ist der Datenzeichnungsbereich (Serien, Gitternetzlinien, Trendlinien usw.); der Diagrammbereich umfasst die umliegenden Elemente (Titel, Legende usw.). In 3‑D‑Diagrammen schließt der Plot‑Bereich auch die Wände/Boden und die Achsen ein. + +**Wie werden X, Y, Breite und Höhe des Plot‑Bereichs interpretiert, wenn das Layout manuell erfolgt?** + +Sie sind Bruchteile (0–1) der Gesamtabmessungen des Diagramms; in diesem Modus ist die automatische Positionierung deaktiviert und die von Ihnen festgelegten Bruchteile werden verwendet. + +**Warum verschob sich die Position des Plot‑Bereichs nach dem Hinzufügen/Bewegen der Legende?** + +Die Legende befindet sich im Diagrammbereich außerhalb des Plot‑Bereichs, wirkt sich jedoch auf das Layout und den verfügbaren Raum aus, sodass sich der Plot‑Bereich verschieben kann, wenn die automatische Positionierung aktiv ist. (Dies ist das Standardverhalten von PowerPoint‑Diagrammen.) \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md index 19b3e78229..291c560ed8 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md @@ -5,32 +5,31 @@ type: docs url: /de/python-net/error-bar/ keywords: - Fehlerbalken -- Benutzerdefinierter Wert +- benutzerdefinierter Wert - PowerPoint - OpenDocument - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Sie mit Aspose.Slides for Python via .NET Fehlerbalken in Diagrammen hinzufügen und anpassen – optimieren Sie Datenvisualisierungen in PowerPoint- und OpenDocument-Präsentationen." +description: "Erfahren Sie, wie Sie Fehlerbalken in Diagrammen mit Aspose.Slides für Python via .NET hinzufügen und anpassen - optimieren Sie die Datenvisualisierung in PowerPoint- und OpenDocument-Präsentationen." --- ## **Fehlerbalken hinzufügen** -Aspose.Slides für Python über .NET bietet eine einfache API zur Verwaltung von Fehlerbalkenwerten. Der Beispielcode gilt, wenn ein benutzerdefinierter Wertetyp verwendet wird. Um einen Wert anzugeben, verwenden Sie die **ErrorBarCustomValues**-Eigenschaft eines bestimmten Datenpunkts in der **DataPoints**-Sammlung der Serie: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Fügen Sie ein Blasen-Diagramm auf der gewünschten Folie hinzu. -1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken-X-Format. -1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken-Y-Format. -1. Festlegen der Balkenwerte und des Formats. -1. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei. - +Aspose.Slides for Python via .NET bietet eine einfache API zum Verwalten von Fehlerbalkenwerten. Der Beispielcode gilt für die Verwendung eines benutzerdefinierten Werttyps. Um einen Wert anzugeben, verwenden Sie die **ErrorBarCustomValues**‑Eigenschaft eines bestimmten Datenpunkts in der **DataPoints**‑Sammlung der Serie: + +1. Erstellen Sie eine Instanz der [Präsentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Fügen Sie auf der gewünschten Folie ein Blasendiagramm hinzu. +1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken‑X‑Format. +1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken‑Y‑Format. +1. Werte und Format der Balken festlegen. +1. Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei. ```py import aspose.slides.charts as charts import aspose.slides as slides # Erstellen einer leeren Präsentation with slides.Presentation() as presentation: - # Erstellen eines Blasen-Diagramms + # Erstellen eines Blasendiagramms chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) # Hinzufügen von Fehlerbalken und Festlegen des Formats @@ -51,28 +50,26 @@ with slides.Presentation() as presentation: ``` - ## **Benutzerdefinierten Fehlerbalkenwert hinzufügen** -Aspose.Slides für Python über .NET bietet eine einfache API zur Verwaltung benutzerdefinierter Fehlerbalkenwerte. Der Beispielcode gilt, wenn die **IErrorBarsFormat.ValueType**-Eigenschaft gleich **Custom** ist. Um einen Wert anzugeben, verwenden Sie die **ErrorBarCustomValues**-Eigenschaft eines bestimmten Datenpunkts in der **DataPoints**-Sammlung der Serie: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Fügen Sie ein Blasen-Diagramm auf der gewünschten Folie hinzu. -1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken-X-Format. -1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken-Y-Format. -1. Greifen Sie auf die einzelnen Datenpunkte der Diagrammserie zu und legen Sie die Fehlerbalkenwerte für den einzelnen Datenpunkt der Serie fest. -1. Festlegen der Balkenwerte und des Formats. -1. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei. - +Aspose.Slides for Python via .NET bietet eine einfache API zum Verwalten benutzerdefinierter Fehlerbalkenwerte. Der Beispielcode gilt, wenn die **IErrorBarsFormat.ValueType**‑Eigenschaft den Wert **Custom** hat. Um einen Wert anzugeben, verwenden Sie die **ErrorBarCustomValues**‑Eigenschaft eines bestimmten Datenpunkts in der **DataPoints**‑Sammlung der Serie: + +1. Erstellen Sie eine Instanz der [Präsentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Fügen Sie auf der gewünschten Folie ein Blasendiagramm hinzu. +1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken‑X‑Format. +1. Greifen Sie auf die erste Diagrammserie zu und setzen Sie das Fehlerbalken‑Y‑Format. +1. Greifen Sie auf einzelne Datenpunkte der Diagrammserie zu und legen Sie die Fehlerbalkenwerte für den jeweiligen Datenpunkt fest. +1. Werte und Format der Balken festlegen. +1. Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei. ```py import aspose.slides.charts as charts import aspose.slides as slides # Erstellen einer leeren Präsentation with slides.Presentation() as presentation: - # Erstellen eines Blasen-Diagramms + # Erstellen eines Blasendiagramms chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # Hinzufügen von benutzerdefinierten Fehlerbalken und Festlegen des Formats + # Hinzufügen benutzerdefinierter Fehlerbalken und Festlegen des Formats series = chart.chart_data.series[0] errBarX = series.error_bars_x_format errBarY = series.error_bars_y_format @@ -81,14 +78,14 @@ with slides.Presentation() as presentation: errBarX.value_type = charts.ErrorBarValueType.CUSTOM errBarY.value_type = charts.ErrorBarValueType.CUSTOM - # Zugriff auf die Datenpunkte der Diagrammserie und Festlegen der Fehlerbalkenwerte für den einzelnen Punkt + # Zugriff auf Datenpunkt der Diagrammserie und Festlegen der Fehlerbalkenwerte für einzelnen Punkt points = series.data_points points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_minus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_minus_values = charts.DataSourceType.DOUBLE_LITERALS - # Festlegen der Fehlerbalken für die Punkte der Diagrammserie + # Festlegen der Fehlerbalken für Diagrammserienpunkte for i in range(len(points)): points[i].error_bars_custom_values.x_minus.as_literal_double = i + 1 points[i].error_bars_custom_values.x_plus.as_literal_double = i + 1 @@ -97,4 +94,19 @@ with slides.Presentation() as presentation: # Speichern der Präsentation presentation.save("ErrorBarsCustomValues_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Was passiert mit Fehlerbalken beim Export einer Präsentation in PDF oder Bilddateien?** + +Sie werden als Teil des Diagramms gerendert und während der Konvertierung zusammen mit der restlichen Diagrammformatierung erhalten, vorausgesetzt, es wird eine kompatible Version oder ein kompatibler Renderer verwendet. + +**Können Fehlerbalken mit Markern und Datenbeschriftungen kombiniert werden?** + +Ja. Fehlerbalken sind ein separates Element und sind mit Markern und Datenbeschriftungen kompatibel; überschneiden sich die Elemente, müssen Sie ggf. die Formatierung anpassen. + +**Wo finde ich die Liste der Eigenschaften und Aufzählungen für die Arbeit mit Fehlerbalken in der API?** + +In der API‑Referenz: die [ErrorBarsFormat](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarsformat/)‑Klasse und die zugehörigen Aufzählungen [ErrorBarType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbartype/) und [ErrorBarValueType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarvaluetype/). \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md index 173d763faf..a2afc47f5a 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md @@ -11,95 +11,92 @@ keywords: - logarithmische Trendlinie - gleitende Durchschnittstrendlinie - polynomiale Trendlinie -- Potenztrendlinie +- Potenz‑Trendlinie - benutzerdefinierte Trendlinie - PowerPoint - OpenDocument - Präsentation - Python - Aspose.Slides -description: "Fügen Sie mit Aspose.Slides for Python via .NET schnell Trendlinien zu PowerPoint- und OpenDocument-Diagrammen hinzu und passen Sie diese an – ein praxisorientierter Leitfaden mit Codebeispielen, um die Prognosegenauigkeit zu verbessern und Ihr Publikum zu begeistern." +description: "Fügen Sie schnell Trendlinien zu PowerPoint- und OpenDocument-Diagrammen mit Aspose.Slides für Python über .NET hinzu und passen Sie sie an – ein praxisorientierter Leitfaden und Codebeispiele zur Verbesserung der Prognosegenauigkeit und zur Einbindung Ihres Publikums." --- ## **Trendlinie hinzufügen** -Aspose.Slides für Python über .NET bietet eine einfache API zur Verwaltung verschiedener Diagramm-Trendlinien: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Erhalten Sie eine Referenz auf eine Folie anhand ihres Index. -1. Fügen Sie ein Diagramm mit Standarddaten zusammen mit einem beliebigen gewünschten Typ hinzu (dieses Beispiel verwendet ChartType.CLUSTERED_COLUMN). -1. Hinzufügen der exponentiellen Trendlinie für Diagrammreihe 1. -1. Hinzufügen der linearen Trendlinie für Diagrammreihe 1. -1. Hinzufügen der logarithmischen Trendlinie für Diagrammreihe 2. -1. Hinzufügen der gleitenden Durchschnittstrendlinie für Diagrammreihe 2. -1. Hinzufügen der polynomialen Trendlinie für Diagrammreihe 3. -1. Hinzufügen der Potenztrendlinie für Diagrammreihe 3. -1. Speichern der modifizierten Präsentation in einer PPTX-Datei. +Aspose.Slides für Python über .NET bietet eine einfache API zur Verwaltung verschiedener Diagramm‑Trendlinien: + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +2. Holen Sie sich die Referenz einer Folie über deren Index. +3. Fügen Sie ein Diagramm mit Standarddaten hinzu, wobei Sie den gewünschten Typ auswählen (in diesem Beispiel wird ChartType.CLUSTERED_COLUMN verwendet). +4. Hinzufügen einer exponentiellen Trendlinie für Diagrammreihe 1. +5. Hinzufügen einer linearen Trendlinie für Diagrammreihe 1. +6. Hinzufügen einer logarithmischen Trendlinie für Diagrammreihe 2. +7. Hinzufügen einer gleitenden Mittelwert‑Trendlinie für Diagrammreihe 2. +8. Hinzufügen einer polynomialen Trendlinie für Diagrammreihe 3. +9. Hinzufügen einer Potenz‑Trendlinie für Diagrammreihe 3. +10. Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei. Der folgende Code wird verwendet, um ein Diagramm mit Trendlinien zu erstellen. - ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Erstellen einer leeren Präsentation +# Leere Präsentation erstellen with slides.Presentation() as pres: - # Erstellen eines gruppierten Säulendiagramms + # Gruppiertes Säulendiagramm erstellen chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) - # Hinzufügen der exponentiellen Trendlinie für Diagrammreihe 1 + # Exponentielle Trendlinie für Diagrammreihe 1 hinzufügen tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) tredLinep.display_equation = False tredLinep.display_r_squared_value = False - # Hinzufügen der linearen Trendlinie für Diagrammreihe 1 + # Lineare Trendlinie für Diagrammreihe 1 hinzufügen tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) tredLineLin.trendline_type = charts.TrendlineType.LINEAR tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red - # Hinzufügen der logarithmischen Trendlinie für Diagrammreihe 2 + # Logarithmische Trendlinie für Diagrammreihe 2 hinzufügen tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC - tredLineLog.add_text_frame_for_overriding("Neue log-Trendlinie") + tredLineLog.add_text_frame_for_overriding("New log trend line") - # Hinzufügen der gleitenden Durchschnittstrendlinie für Diagrammreihe 2 + # Gleitende Mittelwert‑Trendlinie für Diagrammreihe 2 hinzufügen tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE tredLineMovAvg.period = 3 - tredLineMovAvg.trendline_name = "Neuer Trendlinienname" + tredLineMovAvg.trendline_name = "New TrendLine Name" - # Hinzufügen der polynomialen Trendlinie für Diagrammreihe 3 + # Polynomial‑Trendlinie für Diagrammreihe 3 hinzufügen tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL tredLinePol.forward = 1 tredLinePol.order = 3 - # Hinzufügen der Potenztrendlinie für Diagrammreihe 3 + # Potenz‑Trendlinie für Diagrammreihe 3 hinzufügen tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) tredLinePower.trendline_type = charts.TrendlineType.POWER tredLinePower.backward = 1 - # Speichern der Präsentation + # Präsentation speichern pres.save("Charttrend_lines_out.pptx", slides.export.SaveFormat.PPTX) ``` - ## **Benutzerdefinierte Linie hinzufügen** -Aspose.Slides für Python über .NET bietet eine einfache API zum Hinzufügen benutzerdefinierter Linien in ein Diagramm. Um eine einfache gerade Linie zu einer ausgewählten Folie der Präsentation hinzuzufügen, befolgen Sie bitte die folgenden Schritte: +Aspose.Slides für Python über .NET bietet eine einfache API zum Hinzufügen benutzerdefinierter Linien in einem Diagramm. Um eine einfache gerade Linie zu einer ausgewählten Folie der Präsentation hinzuzufügen, befolgen Sie bitte die folgenden Schritte: -- Erstellen Sie eine Instanz der Präsentationsklasse -- Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden -- Erstellen Sie ein neues Diagramm mit der Methode AddChart, die vom Shapes-Objekt bereitgestellt wird -- Fügen Sie eine AutoShape vom Typ Linie mit der Methode AddAutoShape hinzu, die vom Shapes-Objekt bereitgestellt wird -- Setzen Sie die Farbe der Linien des Shapes. -- Schreiben Sie die modifizierte Präsentation als PPTX-Datei +- Erstellen Sie eine Instanz der Presentation‑Klasse +- Holen Sie sich die Referenz einer Folie über deren Index +- Erstellen Sie ein neues Diagramm mit der AddChart‑Methode, die vom Shapes‑Objekt bereitgestellt wird +- Fügen Sie eine AutoShape vom Typ Linie mithilfe der AddAutoShape‑Methode des Shapes‑Objekts hinzu +- Legen Sie die Farbe der Formlinien fest. +- Schreiben Sie die geänderte Präsentation als PPTX‑Datei Der folgende Code wird verwendet, um ein Diagramm mit benutzerdefinierten Linien zu erstellen. - ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -111,4 +108,15 @@ with slides.Presentation() as pres: shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red pres.save("AddCustomLines.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Was bedeuten 'forward' und 'backward' bei einer Trendlinie?** + +Sie geben die Längen der Trendlinie an, die vorwärts bzw. rückwärts projiziert werden: Für Streudiagramme (XY) in Achseneinheiten; für Nicht‑Streudiagramme in der Anzahl der Kategorien. Es sind nur nicht‑negative Werte zulässig. + +**Bleibt die Trendlinie erhalten, wenn die Präsentation in PDF oder SVG exportiert oder eine Folie als Bild gerendert wird?** + +Ja. Aspose.Slides konvertiert Präsentationen in [PDF](/slides/de/python-net/convert-powerpoint-to-pdf/)/[SVG](/slides/de/python-net/render-a-slide-as-an-svg-image/) und rendert Diagramme zu Bildern; Trendlinien, als Teil des Diagramms, bleiben bei diesen Vorgängen erhalten. Eine Methode ist ebenfalls verfügbar, um ein Bild des Diagramms selbst zu [exportieren](/slides/de/python-net/create-shape-thumbnails/). \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md index acc3d76f48..ab230bf847 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md @@ -1,5 +1,5 @@ --- -title: 3D-Diagramme in Präsentationen mit Python anpassen +title: Anpassen von 3D-Diagrammen in Präsentationen mit Python linktitle: 3D-Diagramm type: docs url: /de/python-net/3d-chart/ @@ -12,54 +12,53 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Sie in Aspose.Slides for Python via .NET 3-D-Diagramme erstellen und anpassen, mit Unterstützung für PPT-, PPTX- und ODP-Dateien—steigern Sie noch heute Ihre Präsentationen." +description: "Erfahren Sie, wie Sie 3-D-Diagramme in Aspose.Slides für Python via .NET erstellen und anpassen, mit Unterstützung für PPT-, PPTX- und ODP-Dateien - verbessern Sie noch heute Ihre Präsentationen." --- -## **RotationX, RotationY und DepthPercents-Eigenschaften des 3D-Diagramms festlegen** -Aspose.Slides für Python über .NET bietet eine einfache API zum Festlegen dieser Eigenschaften. Der folgende Artikel hilft Ihnen, verschiedene Eigenschaften wie X,Y-Rotation, **DepthPercents** usw. festzulegen. Der Beispielcode zeigt die Einstellung der oben genannten Eigenschaften. +## **Festlegen der Eigenschaften RotationX, RotationY und DepthPercents eines 3D-Diagramms** +Aspose.Slides für Python via .NET bietet eine einfache API zum Festlegen dieser Eigenschaften. Der folgende Artikel hilft Ihnen, verschiedene Eigenschaften wie X-Y-Rotation, **DepthPercents** usw. zu setzen. Der Beispielcode wendet das Festlegen der oben genannten Eigenschaften an. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. Greifen Sie auf die erste Folie zu. 1. Fügen Sie ein Diagramm mit Standarddaten hinzu. -1. Setzen Sie die Rotation3D-Eigenschaften. +1. Setzen Sie die Eigenschaften von Rotation3D. 1. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei. - ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Erstellen Sie eine Instanz der Presentation-Klasse +# Erstelle eine Instanz der Presentation-Klasse with slides.Presentation() as presentation: - # Greifen Sie auf die erste Folie zu + # Greife auf die erste Folie zu slide = presentation.slides[0] - # Fügen Sie ein Diagramm mit Standarddaten hinzu + # Füge ein Diagramm mit Standarddaten hinzu chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN_3D, 0, 0, 500, 500) - # Festlegen des Index des Diagrammdatenblatts + # Setze den Index des Diagrammdatenblatts defaultWorksheetIndex = 0 - # Abrufen des Diagramm-Datenarbeitsblatts + # Hole das Diagrammdaten-Arbeitsblatt fact = chart.chart_data.chart_data_workbook - # Serien hinzufügen - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Serie 1"), chart.type) - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Serie 2"), chart.type) + # Füge Serien hinzu + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type) - # Kategorien hinzufügen - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Kategorie 1")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Kategorie 2")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Kategorie 3")) + # Füge Kategorien hinzu + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")) - # Rotation3D-Eigenschaften festlegen + # Setze Rotation3D-Eigenschaften chart.rotation_3d.right_angle_axes = True chart.rotation_3d.rotation_x = 40 chart.rotation_3d.rotation_y = 270 chart.rotation_3d.depth_percents = 150 - # Zweite Diagrammserie auswählen + # Nimm die zweite Diagrammserie series = chart.chart_data.series[1] # Nun die Seriendaten befüllen @@ -70,9 +69,24 @@ with slides.Presentation() as presentation: series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60)) - # Überlagerungswert festlegen + # Setze OverLap-Wert series.parent_series_group.overlap = 100 - # Präsentation auf die Festplatte schreiben + # Schreibe die Präsentation auf die Festplatte presentation.save("Rotation3D_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Welche Diagrammtypen unterstützen den 3D-Modus in Aspose.Slides?** + +Aspose.Slides unterstützt 3D-Varianten von Säulendiagrammen, einschließlich Column 3D, Clustered Column 3D, Stacked Column 3D und 100 % Stacked Column 3D, sowie verwandte 3D-Typen, die über die Aufzählung [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) verfügbar sind. Für eine genaue, aktuelle Liste prüfen Sie die Mitglieder von [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) in der API-Referenz Ihrer installierten Version. + +**Kann ich ein Rasterbild eines 3D-Diagramms für einen Bericht oder das Web erhalten?** + +Ja. Sie können ein Diagramm über die [chart API](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) oder die gesamte Folie [rendern](/slides/de/python-net/convert-powerpoint-to-png/) in Formate wie PNG oder JPEG exportieren. Dies ist nützlich, wenn Sie eine pixelgenaue Vorschau benötigen oder das Diagramm in Dokumente, Dashboards oder Webseiten einbetten möchten, ohne PowerPoint zu benötigen. + +**Wie leistungsfähig ist das Erstellen und Rendern großer 3D-Diagramme?** + +Die Leistung hängt vom Datenvolumen und der visuellen Komplexität ab. Für optimale Ergebnisse halten Sie 3D-Effekte minimal, vermeiden schwere Texturen auf Wänden und Plot-Bereichen, begrenzen Sie nach Möglichkeit die Anzahl der Datenpunkte pro Serie und rendern Sie in einer angemessen großen Ausgabe (Auflösung und Abmessungen), die den Zielanzeige- oder Druckanforderungen entspricht. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md index faec11b16d..e339b00406 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md @@ -1,13 +1,23 @@ --- -title: Blasendiagramm +title: Anpassen von Blasendiagrammen in Präsentationen mit Python +linktitle: Blasendiagramm type: docs url: /de/python-net/bubble-chart/ -keywords: "Blasendiagramm, Diagrammgröße, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Blasendiagrammgröße in PowerPoint-Präsentationen in Python" +keywords: +- Blasendiagramm +- Blasengröße +- Größen-Skalierung +- Größen-Darstellung +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erstellen und passen Sie leistungsstarke Blasendiagramme in PowerPoint und OpenDocument mit Aspose.Slides für Python über .NET an, um Ihre Datenvisualisierung einfach zu verbessern." --- -## **Scaling der Blasendiagrammgröße** -Aspose.Slides für Python über .NET unterstützt das Scaling der Blasendiagrammgröße. In Aspose.Slides für Python über .NET wurden die Eigenschaften **ChartSeries.bubble_size_scale** und **ChartSeriesGroup.bubble_size_scale** hinzugefügt. Ein Beispiel ist unten angegeben. +## **Skalierung der Blasendiagrammgröße** +Aspose.Slides für Python über .NET bietet Unterstützung für die Skalierung von Blasendiagrammen. In Aspose.Slides für Python über .NET wurden die Eigenschaften **ChartSeries.bubble_size_scale** und **ChartSeriesGroup.bubble_size_scale** hinzugefügt. Unten finden Sie ein Beispiel. ```py import aspose.slides.charts as charts @@ -22,8 +32,9 @@ with slides.Presentation() as pres: + ## **Daten als Blasendiagrammgrößen darstellen** -Die Eigenschaft **bubble_size_representation** wurde zu den Klassen ChartSeries und ChartSeriesGroup hinzugefügt. **bubble_size_representation** gibt an, wie die Blasengrößenwerte im Blasendiagramm dargestellt werden. Mögliche Werte sind: **BubbleSizeRepresentationType.AREA** und **BubbleSizeRepresentationType.WIDTH**. Entsprechend wurde das **BubbleSizeRepresentationType**-Enum hinzugefügt, um die möglichen Arten zur Darstellung von Daten als Blasendiagrammgrößen anzugeben. Beispielcode ist unten angegeben. +Die Eigenschaft **bubble_size_representation** wurde zu den Klassen ChartSeries und ChartSeriesGroup hinzugefügt. **bubble_size_representation** gibt an, wie die Werte für die Blasengröße im Blasendiagramm dargestellt werden. Mögliche Werte sind: **BubbleSizeRepresentationType.AREA** und **BubbleSizeRepresentationType.WIDTH**. Entsprechend wurde das Enum **BubbleSizeRepresentationType** hinzugefügt, um die möglichen Darstellungsweisen von Daten als Blasendiagrammgrößen zu spezifizieren. Beispielcode ist unten angegeben. ```py import aspose.slides.charts as charts @@ -33,4 +44,19 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True) chart.chart_data.series_groups[0].bubble_size_representation = charts.BubbleSizeRepresentationType.WIDTH pres.save("Presentation_BubbleSizeRepresentation.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wird ein "Blasendiagramm mit 3‑D‑Effekt" unterstützt und wie unterscheidet es sich von einem normalen Diagramm?** + +Ja. Es gibt einen separaten Diagrammtyp, **Bubble with 3‑D**. Er wendet 3‑D‑Styling auf die Blasen an, fügt jedoch keine zusätzliche Achse hinzu; die Daten bleiben X‑Y‑S (Größe). Der Typ ist in der [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/)‑Aufzählung verfügbar. + +**Gibt es ein Limit für die Anzahl der Reihen und Punkte in einem Blasendiagramm?** + +Auf API‑Ebene gibt es kein festes Limit; die Einschränkungen ergeben sich aus Leistung und der Ziel‑PowerPoint‑Version. Es wird empfohlen, die Punktzahl für Lesbarkeit und Rendergeschwindigkeit in einem angemessenen Rahmen zu halten. + +**Wie wirkt sich der Export auf das Aussehen eines Blasendiagramms (PDF, Bilder) aus?** + +Der Export in unterstützte Formate bewahrt das Aussehen des Diagramms; die Darstellung erfolgt durch die Aspose.Slides‑Engine. Für Raster‑/Vektor‑Formate gelten die allgemeinen Renderregeln für Diagramme (Auflösung, Anti‑Aliasing), sodass für den Druck eine ausreichende DPI gewählt werden sollte. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md index ff834fe9ec..4fb66a014a 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md @@ -1,92 +1,117 @@ --- -title: Datenpunkte von Treemap- und Sunburst-Diagramm +title: Anpassen von Datenpunkten in Treemap- und Sunburst-Diagrammen in Python +linktitle: Datenpunkte in Treemap- und Sunburst-Diagrammen type: docs url: /de/python-net/data-points-of-treemap-and-sunburst-chart/ -keywords: "Sunburst-Diagramm, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Fügen Sie ein Sunburst-Diagramm in eine PowerPoint-Präsentation in Python ein" +keywords: +- Treemap-Diagramm +- Sunburst-Diagramm +- Datenpunkt +- Beschriftungsfarbe +- Zweigfarbe +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie Datenpunkte in Treemap- und Sunburst-Diagrammen mit Aspose.Slides für Python via .NET verwalten, kompatibel mit PowerPoint- und OpenDocument-Formaten." --- -Unter den verschiedenen Arten von PowerPoint-Diagrammen gibt es zwei "hierarchische" Typen - **Treemap** und **Sunburst** Diagramm (auch bekannt als Sunburst-Graph, Sunburst-Diagramm, Radial-Diagramm, Radial-Graph oder Multi-Level-Kreisdiagramm). Diese Diagramme zeigen hierarchische Daten, die als Baum organisiert sind - von den Blättern bis zur Spitze des Zweiges. Blätter werden durch die Seriedatenpunkte definiert, und jede nachfolgende geschachtelte Gruppierungsebene wird durch die entsprechende Kategorie definiert. Aspose.Slides für Python über .NET ermöglicht die Formatierung von Datenpunkten des Sunburst-Diagramms und der Treemap in Python. +## **Einführung** -Hier ist ein Sunburst-Diagramm, bei dem die Daten in der Spalte Series1 die Blattknoten definieren, während andere Spalten hierarchische Datenpunkte definieren: - -![todo:image_alt_text](https://lh6.googleusercontent.com/TSSU5O7SLOi5NZD9JaubhgGU1QU5tYKc23RQX_cal3tlz5TpOvsgUFLV_rHvruwN06ft1XYgsLhbeEDXzVqdAybPIbpfGy-lwoQf_ydxDwcjAeZHWfw61c4koXezAAlEeCA7x6BZ) - -Lassen Sie uns damit beginnen, ein neues Sunburst-Diagramm zur Präsentation hinzuzufügen: +Unter den anderen PowerPoint‑Diagrammtypen gibt es zwei hierarchische — **Treemap** und **Sunburst** (auch bekannt als Sunburst‑Graph, Sunburst‑Diagramm, Radial‑Chart, Radial‑Graph oder mehrstufiges Kreisdiagramm). Diese Diagramme zeigen hierarchische Daten, die als Baum organisiert sind – von den Blättern bis zur Spitze eines Zweiges. Blätter werden durch die Datenpunkte der Serie definiert, und jede anschließend verschachtelte Gruppierungsebene wird durch die entsprechende Kategorie definiert. Aspose.Slides for Python via .NET ermöglicht das Formatieren von Datenpunkten von Sunburst‑Diagrammen und Treemaps in Python. +Hier ist ein Sunburst‑Diagramm, bei dem die Daten in der Spalte Series1 die Blattknoten definieren, während die anderen Spalten die hierarchischen Datenpunkte definieren: +![Sunburst chart example](sunburst_example.png) +Lassen Sie uns beginnen, indem wir ein neues Sunburst‑Diagramm zur Präsentation hinzufügen: ```py -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) ``` -{{% alert color="primary" title="Siehe auch" %}} -- [**Erstellen eines Sunburst-Diagramms**](/slides/de/python-net/adding-charts/#addingcharts-creatingsunburstchart) -{{% /alert %}} +{{% alert color="primary" title="Siehe auch" %}} +- [**Sunburst‑Diagramme erstellen**](/slides/de/python-net/create-chart/#create-sunburst-charts) +{{% /alert %}} -Wenn es notwendig ist, die Datenpunkte des Diagramms zu formatieren, sollten wir Folgendes verwenden: +Wenn Sie Diagrammdatenpunkte formatieren müssen, verwenden Sie die folgenden APIs: -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/),  -[IChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) Klassen  -und [**IChartDataPoint.DataPointLevels**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapoint/) Eigenschaft  -bieten Zugriff auf die Formatierung von Datenpunkten der Treemap und der Sunburst-Diagramme.  -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/) -wird verwendet, um auf mehrstufige Kategorien zuzugreifen - es stellt den Container von  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) Objekten dar. -Im Grunde ist es eine Hülle für  -[**IChartCategoryLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartCategoryLevelsManager/) mit -den Eigenschaften, die speziell für Datenpunkte hinzugefügt wurden.  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) Klasse hat -zwei Eigenschaften: [**Format**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) und  -[**Datenbezeichnung** ](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/)die -Zugriff auf die entsprechenden Einstellungen bieten. -## **Datenpunktwert anzeigen** -Zeigen Sie den Wert des Datenpunkts "Leaf 4" an: +[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/), [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/), und die Eigenschaft [ChartDataPoint.data_point_levels](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapoint/data_point_levels/). Sie bieten Zugriff auf die Formatierung von Datenpunkten in Treemap‑ und Sunburst‑Diagrammen. [ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/) wird verwendet, um mehrstufige Kategorien zuzugreifen; es stellt einen Container von [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/)‑Objekten dar. Es ist im Wesentlichen ein Wrapper um [ChartCategoryLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartcategorylevelsmanager/) mit zusätzlichen Eigenschaften, die speziell für Datenpunkte gelten. Der Typ [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/) stellt zwei Eigenschaften bereit – [format](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/format/) und [label](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/label/) – die Zugriff auf die entsprechenden Einstellungen ermöglichen. +## **Datenpunktwerte anzeigen** +Dieser Abschnitt zeigt, wie man den Wert einzelner Datenpunkte in Treemap‑ und Sunburst‑Diagrammen anzeigt. Sie sehen, wie man Wertbeschriftungen für ausgewählte Punkte aktiviert. +Anzeige des Wertes des Datenpunkts „Leaf 4“: ```py - dataPoints = chart.chart_data.series[0].data_points - dataPoints[3].data_point_levels[0].label.data_label_format.show_value = True +data_points = chart.chart_data.series[0].data_points +data_points[3].data_point_levels[0].label.data_label_format.show_value = True ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/bKHMf5Bj37ZkMwUE1OfXjw7_CRmDhafhQOUuVWDmitwbtdkwD68ibWluY6Q1HQz_z2Q-BR_SBrBPZ_gID5bGH0PUqI5w37S22RT-ZZal6k7qIDstKntYi5QXS8z-SgpnsI78WGiu) -## **Datenpunktbezeichnung und Farbe festlegen** -Legen Sie die Datenbezeichnung von "Branch 1" fest, um den Seriennamen ("Series1") anstelle des Kategorienamens anzuzeigen. Setzen Sie dann die Textfarbe auf Gelb: +![Data point value](data_point_value.png) + +## **Beschriftungen und Farben für Datenpunkte festlegen** +Dieser Abschnitt zeigt, wie benutzerdefinierte Beschriftungen und Farben für einzelne Datenpunkte in Treemap‑ und Sunburst‑Diagrammen festgelegt werden. Sie lernen, wie Sie auf einen bestimmten Datenpunkt zugreifen, eine Beschriftung zuweisen und eine einfarbige Füllung anwenden, um wichtige Knoten hervorzuheben. +Setzen Sie die Datenbeschriftung „Branch 1“, so dass der Serienname („Series1“) anstelle des Kategorienamens angezeigt wird, und stellen Sie dann die Textfarbe auf Gelb ein: ```py - branch1Label = dataPoints[0].data_point_levels[2].label - branch1Label.data_label_format.show_category_name = False - branch1Label.data_label_format.show_series_name = True +branch1_label = data_points[0].data_point_levels[2].label +branch1_label.data_label_format.show_category_name = False +branch1_label.data_label_format.show_series_name = True - branch1Label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID - branch1Label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow +branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID +branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/I9g0kewJnxkhUVlfSWRN39Ng-wzjWyRwF3yTbOD9HhLTLBt_sMJiEfDe7vOfqRNx89o9AVZsYTW3Vv_TIuj4EgM4_UEEi7zQ3jdvaO8FoG2JcsOqNRgbiE5HQZNz8xx_q9qdj8JQ) -## **Datenpunktzweigfarbe festlegen** -Ändern Sie die Farbe des "Stem 4"-Zweigs: +![Data point's label and color](data_point_color.png) +## **Zweigfarben für Datenpunkte festlegen** + +Verwenden Sie Zweigfarben, um zu steuern, wie Eltern‑ und Kindknoten in Treemap‑ und Sunburst‑Diagrammen visuell gruppiert werden. Dieser Abschnitt zeigt, wie für einen bestimmten Datenpunkt eine benutzerdefinierte Zweigfarbe festgelegt wird, um wichtige Teilbäume hervorzuheben und die Lesbarkeit des Diagramms zu verbessern. + +Ändern Sie die Farbe des Zweigs „Stem 4“: ```py -import aspose.slides.charts as charts import aspose.slides as slides +import aspose.slides.charts as charts import aspose.pydrawing as draw -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) - dataPoints = chart.chart_data.series[0].data_points +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) + data_points = chart.chart_data.series[0].data_points - stem4branch = dataPoints[9].data_point_levels[1] + stem4_branch = data_points[9].data_point_levels[1] - stem4branch.format.fill.fill_type = slides.FillType.SOLID - stem4branch.format.fill.solid_fill_color.color = draw.Color.red + stem4_branch.format.fill.fill_type = slides.FillType.SOLID + stem4_branch.format.fill.solid_fill_color.color = draw.Color.red - pres.save("pres.pptx", slides.export.SaveFormat.PPTX) + presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX) ``` -![todo:image_alt_text](https://lh5.googleusercontent.com/Zll4cpQ5tTDdgwmJ4yuupolfGaANR8SWWTU3XaJav_ZVXVstV1pI1z1OFH-gov6FxPoDz1cxmMyrgjsdYGS24PlhaYa2daKzlNuL1a0xYcqEiyyO23AE6JMOLavWpvqA6SzOCA6_) \ No newline at end of file + +![Branch color](branch_color.png) + +## **FAQ** + +**Kann ich die Reihenfolge (Sortierung) der Segmente in Sunburst/Treemap ändern?** + +Nein. PowerPoint sortiert Segmente automatisch (in der Regel absteigend nach Wert, im Uhrzeigersinn). Aspose.Slides spiegelt dieses Verhalten wider: Sie können die Reihenfolge nicht direkt ändern; Sie erreichen dies durch Vorverarbeitung der Daten. + +**Wie wirkt sich das Präsentationsthema auf die Farben von Segmenten und Beschriftungen aus?** + +Diagrammfarben übernehmen das [theme/palette](/slides/de/python-net/presentation-theme/) der Präsentation, sofern Sie nicht explizit Füllungen/Schriftarten festlegen. Für konsistente Ergebnisse sollten Sie einfarbige Füllungen und Textformatierungen auf den gewünschten Ebenen festsetzen. + +**Wird der Export nach PDF/PNG benutzerdefinierte Zweigfarben und Beschriftungseinstellungen beibehalten?** + +Ja. Beim Export der Präsentation bleiben Diagrammeinstellungen (Füllungen, Beschriftungen) in den Ausgabeformaten erhalten, da Aspose.Slides das Diagramm mit den angewendeten Formatierungen rendert. + +**Kann ich die tatsächlichen Koordinaten einer Beschriftung/eines Elements berechnen, um benutzerdefinierte Overlays über dem Diagramm zu platzieren?** + +Ja. Nachdem das Diagrammlayout validiert wurde, stehen `actual_x`/`actual_y` für Elemente zur Verfügung (z. B. für einen [DataLabel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/datalabel/)), was bei der genauen Positionierung von Overlays hilft. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md index 5625de6a21..a2d66a5545 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md @@ -1,41 +1,55 @@ --- -title: Ringdiagramme in Präsentationen mit Python anpassen -linktitle: Ringdiagramm +title: Anpassen von Donutdiagrammen in Präsentationen mit Python +linktitle: Donutdiagramm type: docs weight: 30 url: /de/python-net/doughnut-chart/ keywords: -- ringdiagramm -- innenabstand -- lochgröße +- Donutdiagramm +- Zentraler Abstand +- Lochgröße - PowerPoint - OpenDocument - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Sie Ringdiagramme in Aspose.Slides for Python via .NET erstellen und anpassen, mit Unterstützung für PowerPoint- und OpenDocument-Formate für dynamische Präsentationen." +description: "Erfahren Sie, wie Sie Donutdiagramme in Aspose.Slides für Python über .NET erstellen und anpassen können, wobei PowerPoint- und OpenDocument-Formate für dynamische Präsentationen unterstützt werden." --- -## **Loch in der Mitte im Donut-Diagramm angeben** -Um die Größe des Lochs in einem Donut-Diagramm anzugeben, befolgen Sie bitte die folgenden Schritte: +## **Zentrierte Lücke im Donutdiagramm angeben** +Um die Größe des Lochs in einem Donutdiagramm anzugeben, folgen Sie bitte den untenstehenden Schritten: - Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -- Fügen Sie ein Donut-Diagramm zur Folie hinzu. -- Geben Sie die Größe des Lochs in einem Donut-Diagramm an. -- Schreiben Sie die Präsentation auf die Festplatte. - -Im folgenden Beispiel haben wir die Größe des Lochs in einem Donut-Diagramm festgelegt. +- Fügen Sie dem Folie ein Donutdiagramm hinzu. +- Geben Sie die Größe des Lochs im Donutdiagramm an. +- Speichern Sie die Präsentation auf dem Datenträger. +Im nachstehenden Beispiel haben wir die Größe des Lochs im Donutdiagramm festgelegt. ```py import aspose.slides.charts as charts import aspose.slides as slides -# Erstellen Sie eine Instanz der Presentation-Klasse +# Erstelle eine Instanz der Presentation-Klasse with slides.Presentation() as presentation: chart = presentation.slides[0].shapes.add_chart(charts.ChartType.DOUGHNUT, 50, 50, 400, 400) chart.chart_data.series_groups[0].doughnut_hole_size = 90 - # Schreiben Sie die Präsentation auf die Festplatte + # Speichere die Präsentation auf dem Datenträger presentation.save("DoughnutHoleSize_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich ein mehrstufiges Donutdiagramm mit mehreren Ringen erstellen?** + +Ja. Fügen Sie einer einzelnen Donutdiagramm mehrere Serien hinzu – jede Serie wird zu einem separaten Ring. Die Reihenfolge der Ringe wird durch die Reihenfolge der Serien in der Sammlung bestimmt. + +**Wird ein „explodiertes“ Donutdiagramm (getrennte Segmente) unterstützt?** + +Ja. Es gibt einen Exploded Doughnut [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) und eine Explosions‑Eigenschaft bei Datenpunkten; Sie können einzelne Segmente trennen. + +**Wie kann ich ein Bild eines Donutdiagramms (PNG/SVG) für einen Bericht erhalten?** + +Ein Diagramm ist eine Form; Sie können es in ein [raster image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) rendern oder das Diagramm in ein [SVG image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) exportieren. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md index 21da43777a..d47b863f57 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md @@ -1,117 +1,128 @@ --- -title: Kreisdiagramme in Präsentationen mit Python anpassen -linktitle: Kreisdiagramm +title: "Anpassen von Kreisdiagrammen in Präsentationen mit Python" +linktitle: "Kreisdiagramm" type: docs url: /de/python-net/pie-chart/ keywords: -- Kreisdiagramm -- Diagramm verwalten -- Diagramm anpassen -- Diagrammoptionen -- Diagrammeinstellungen -- Plotoptionen -- Segmentfarbe -- PowerPoint -- OpenDocument -- Präsentation -- Python -- Aspose.Slides -description: "Lernen Sie, wie Sie mit Aspose.Slides for Python via .NET Kreisdiagramme in Python erstellen und anpassen, um sie in PowerPoint und OpenDocument zu exportieren und Ihre Datenstory in Sekunden zu verbessern." +- "Kreisdiagramm" +- "Diagramm verwalten" +- "Diagramm anpassen" +- "Diagrammoptionen" +- "Diagrammeinstellungen" +- "Plot-Optionen" +- "Segmentfarbe" +- "PowerPoint" +- "OpenDocument" +- "Präsentation" +- "Python" +- "Aspose.Slides" +description: "Erfahren Sie, wie Sie mit Python und Aspose.Slides Kreisdiagramme erstellen und anpassen, exportierbar nach PowerPoint und OpenDocument, und Ihre Datenpräsentation in Sekunden verbessern." --- -## **Zweite Plot-Optionen für Kuchendiagramme und Balkendiagramme** -Aspose.Slides für Python über .NET unterstützt jetzt zweite Plot-Optionen für Kuchendiagramme oder Balkendiagramme. In diesem Thema werden wir anhand eines Beispiels sehen, wie man diese Optionen mit Aspose.Slides angibt. Um die Eigenschaften anzugeben, folgen Sie bitte den folgenden Schritten: +## **Optionen für den sekundären Plot für Kreis‑von‑Kreis‑ und Balken‑von‑Kreis‑Diagramm** +Aspose.Slides für Python über .NET unterstützt jetzt Optionen für den sekundären Plot für Kreis‑von‑Kreis‑ oder Balken‑von‑Kreis‑Diagramme. In diesem Thema sehen wir anhand eines Beispiels, wie man diese Optionen mit Aspose.Slides festlegt. Bitte folgen Sie den untenstehenden Schritten: -1. Instanziieren Sie das [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klassenobjekt. -1. Fügen Sie das Diagramm auf der Folie hinzu. -1. Geben Sie die zweiten Plot-Optionen des Diagramms an. +1. Instanziieren Sie das [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)-Klassenobjekt. +1. Fügen Sie dem Folienblatt ein Diagramm hinzu. +1. Geben Sie die Optionen für den sekundären Plot des Diagramms an. 1. Schreiben Sie die Präsentation auf die Festplatte. -Im folgenden Beispiel haben wir verschiedene Eigenschaften des Kuchendiagramms eingestellt. - +Im nachfolgenden Beispiel haben wir verschiedene Eigenschaften des Kreis‑von‑Kreis‑Diagramms festgelegt. ```py import aspose.slides.charts as charts import aspose.slides as slides -# Erstellen Sie eine Instanz der Presentation-Klasse +# Erstelle eine Instanz der Presentation-Klasse with slides.Presentation() as presentation: - # Fügen Sie das Diagramm auf der Folie hinzu + # Diagramm zur Folie hinzufügen chart = presentation.slides[0].shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 500, 400) - # Stellen Sie verschiedene Eigenschaften ein + # Verschiedene Eigenschaften festlegen chart.chart_data.series[0].labels.default_data_label_format.show_value = True chart.chart_data.series[0].parent_series_group.second_pie_size = 149 chart.chart_data.series[0].parent_series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE chart.chart_data.series[0].parent_series_group.pie_split_position = 53 - # Schreiben Sie die Präsentation auf die Festplatte + # Präsentation auf die Festplatte schreiben presentation.save("SecondPlotOptionsforCharts_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Automatische Kuchendiagramm-Slice-Farben festlegen** -Aspose.Slides für Python über .NET bietet eine einfache API zum Festlegen automatischer Farben für Kuchendiagramm-Slices. Der Beispielcode zeigt, wie man die oben genannten Eigenschaften festlegt. -1. Erstellen Sie eine Instanz der Presentation-Klasse. +## **Automatische Farben für Kuchendiagramm‑Segmente festlegen** +Aspose.Slides für Python über .NET bietet eine einfache API zum Festlegen automatischer Farben für Kuchendiagramm‑Segmente. Der Beispielcode wendet die oben genannten Eigenschaften an. + +1. Erstellen Sie eine Instanz der Presentation‑Klasse. 1. Greifen Sie auf die erste Folie zu. 1. Fügen Sie ein Diagramm mit Standarddaten hinzu. 1. Setzen Sie den Diagrammtitel. -1. Setzen Sie die erste Serie auf Werte anzeigen. -1. Setzen Sie den Index des Datensatzblatts des Diagramms. -1. Holen Sie sich das Datenarbeitsblatt des Diagramms. -1. Löschen Sie die standardmäßig generierten Serien und Kategorien. +1. Lassen Sie die erste Datenreihe Werte anzeigen. +1. Legen Sie den Index des Diagrammdatenblatts fest. +1. Abrufen des Diagrammdaten‑Arbeitsblatts. +1. Löschen Sie die standardmäßig erzeugten Reihen und Kategorien. 1. Fügen Sie neue Kategorien hinzu. -1. Fügen Sie neue Serien hinzu. - -Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei. +1. Fügen Sie neue Reihen hinzu. +Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Instanziieren Sie die Presentation-Klasse, die die PPTX-Datei darstellt +# Instanziieren Sie die Presentation-Klasse, die eine PPTX-Datei darstellt with slides.Presentation() as presentation: - # Greifen Sie auf die erste Folie zu + # Zugriff auf die erste Folie slide = presentation.slides[0] - # Fügen Sie ein Diagramm mit Standarddaten hinzu + # Diagramm mit Standarddaten hinzufügen chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) - # Setzen Sie den Diagrammtitel - chart.chart_title.add_text_frame_for_overriding("Beispieltitel") + # Diagrammtitel festlegen + chart.chart_title.add_text_frame_for_overriding("Sample Title") chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1 chart.chart_title.height = 20 chart.has_title = True - # Setzen Sie die erste Serie auf Werte anzeigen + # Erste Serie auf Werte anzeigen setzen chart.chart_data.series[0].labels.default_data_label_format.show_value = True - # Setzen Sie den Index des Datenblatts des Diagramms + # Index des Diagrammdatenblatts festlegen defaultWorksheetIndex = 0 - # Holen Sie sich das Datenarbeitsblatt des Diagramms + # Diagrammdaten-Arbeitsblatt abrufen fact = chart.chart_data.chart_data_workbook - # Löschen Sie die standardmäßig generierten Serien und Kategorien + # Standardmäßig generierte Serien und Kategorien löschen chart.chart_data.series.clear() chart.chart_data.categories.clear() - # Hinzufügen neuer Kategorien - chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "Erstes Quartal")) - chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "Zweites Quartal")) - chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "Drittes Quartal")) + # Neue Kategorien hinzufügen + chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr")) - # Hinzufügen neuer Serien - series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Serie 1"), chart.type) + # Neue Serie hinzufügen + series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type) - # Jetzt die Seriendaten ausfüllen + # Jetzt die Seriendaten füllen series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) series.parent_series_group.is_color_varied = True presentation.save("Pie.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + + +## **FAQ** + +**Werden die Varianten „Pie of Pie“ und „Bar of Pie“ unterstützt?** + +Ja, die Bibliothek [supports](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) einen sekundären Plot für Kuchendiagramme, einschließlich der Typen „Pie of Pie“ und „Bar of Pie“. + +**Kann ich nur das Diagramm als Bild exportieren (z. B. PNG)?** + +Ja, Sie können [export the chart itself as an image](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) (z. B. PNG) ohne die gesamte Präsentation. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md index d680f4a0cd..5689f13345 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md @@ -1,54 +1,71 @@ --- -title: Diagramm Arbeitsblattformeln +title: Diagramm‑Arbeitsblatt‑Formeln in Präsentationen mit Python anwenden +linktitle: Arbeitsblatt‑Formeln type: docs weight: 70 url: /de/python-net/chart-worksheet-formulas/ -keywords: "Diagramm Tabellenkalkulation, Diagramm Formel, PowerPoint Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Diagramm Tabellenkalkulation und Formel in PowerPoint Präsentation in Python" +keywords: +- Diagramm‑Tabellenkalkulation +- Diagramm‑Arbeitsblatt +- Diagramm‑Formel +- Arbeitsblatt‑Formel +- Tabellenkalkulations‑Formel +- Datenquelle +- logische Konstante +- numerische Konstante +- Zeichenketten‑Konstante +- Fehler‑Konstante +- arithmetische Konstante +- Vergleichsoperator +- A1‑Stil +- R1C1‑Stil +- vordefinierte Funktion +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Excel‑ähnliche Formeln in Aspose.Slides für Python über .NET‑Diagramm‑Arbeitsblätter anwenden und Berichte in PPT-, PPTX‑ und ODP‑Dateien automatisieren." --- - -## **Über die Diagramm Tabellenkalkulationsformel in Präsentationen** -**Diagramm Tabellenkalkulation** (oder Diagramm Arbeitsblatt) in Präsentationen ist die Datenquelle des Diagramms. Die Diagramm Tabellenkalkulation enthält Daten, die auf grafische Weise im Diagramm dargestellt werden. Wenn Sie ein Diagramm in PowerPoint erstellen, wird das Arbeitsblatt, das mit diesem Diagramm verknüpft ist, automatisch erstellt. Das Diagramm Arbeitsblatt wird für alle Arten von Diagrammen erstellt: Liniendiagramm, Säulendiagramm, Sonnenblumen-Diagramm, Kreisdiagramm usw. Um die Diagramm Tabellenkalkulation in PowerPoint zu sehen, sollten Sie doppelt auf das Diagramm klicken: +## **Über Diagramm‑Tabellenkalkulationsformel in der Präsentation** +**Chart spreadsheet** (oder **chart worksheet**) in der Präsentation ist die Datenquelle des Diagramms. Chart spreadsheet enthält Daten, die im Diagramm grafisch dargestellt werden. Wenn Sie ein Diagramm in PowerPoint erstellen, wird das dem Diagramm zugehörige Arbeitsblatt automatisch ebenfalls erstellt. Das Diagramm‑Arbeitsblatt wird für alle Diagrammtypen erstellt: Liniendiagramm, Balkendiagramm, Sunburst‑Diagramm, Kreisdiagramm usw. Um das Diagramm‑Arbeitsblatt in PowerPoint zu sehen, doppelklicken Sie das Diagramm: ![todo:image_alt_text](chart-worksheet-formulas_1.png) -Die Diagramm Tabellenkalkulation enthält die Namen der Diagrammelemente (Kategorie Name: *Kategorie1*, Serienname) und eine Tabelle mit numerischen Daten, die den Kategorien und Serien entsprechen. Standardmäßig, wenn Sie ein neues Diagramm erstellen - sind die Daten der Diagramm Tabellenkalkulation mit den Standarddaten festgelegt. Anschließend können Sie die Tabellenkalkulationsdaten im Arbeitsblatt manuell ändern. +Chart spreadsheet enthält die Namen von Diagrammelementen (Category Name: *Category1*, Serie Name) und eine Tabelle mit numerischen Daten, die zu diesen Kategorien und Serien passen. standardmäßig werden beim Erstellen eines neuen Diagramms die Diagrammdaten mit Beispieldaten vorbelegt. Anschließend können Sie die Arbeitsblattdaten manuell im Arbeitsblatt ändern. -In der Regel repräsentiert das Diagramm komplizierte Daten (z.B. Finanzanalysten, wissenschaftliche Analysten), die Zellen haben, die aus den Werten in anderen Zellen oder aus anderen dynamischen Daten berechnet werden. Den Wert einer Zelle manuell zu berechnen und ihn fest in die Zelle einzugeben, erschwert eine zukünftige Änderung. Wenn Sie den Wert einer bestimmten Zelle ändern, müssen auch alle abhängigen Zellen aktualisiert werden. Darüber hinaus können Tabellendaten von Daten aus anderen Tabellen abhängen, was eine komplexe Datenpräsentationsstruktur schafft, die einfach und flexibel aktualisiert werden muss. +In der Regel stellt das Diagramm komplexe Daten dar (z. B. Finanzanalysen, wissenschaftliche Analysen) und enthält Zellen, die aus den Werten anderer Zellen oder aus anderen dynamischen Daten berechnet werden. Den Zellenwert manuell zu berechnen und fest in die Zelle zu schreiben, macht spätere Änderungen schwierig. Wenn Sie den Wert einer bestimmten Zelle ändern, müssen alle davon abhängigen Zellen ebenfalls aktualisiert werden. Außerdem können Tabellendaten von Daten anderer Tabellen abhängen, was ein komplexes Präsentationsdaten‑Schema erzeugt, das einfach und flexibel aktualisiert werden muss. -**Diagramm Tabellenkalkulationsformel** in Präsentationen ist ein Ausdruck zur automatischen Berechnung und Aktualisierung der Daten der Diagramm Tabellenkalkulation. Die Tabellenkalkulationsformel definiert die Datenberechnungslogik für eine bestimmte Zelle oder eine Gruppe von Zellen. Eine Tabellenkalkulationsformel ist eine mathematische Formel oder eine logische Formel, die verwendet: Zellreferenzen, mathematische Funktionen, logische Operatoren, arithmetische Operatoren, Konvertierungsfunktionen, Stringkonstanten usw. Die Definition der Formel wird in eine Zelle geschrieben, und diese Zelle enthält keinen einfachen Wert. Die Tabellenkalkulationsformel berechnet den Wert und gibt ihn zurück, dann wird dieser Wert der Zelle zugewiesen. Die Diagramm Tabellenkalkulationsformeln in Präsentationen sind tatsächlich dieselben wie Excel-Formeln, und es werden dieselben Standardfunktionen, Operatoren und Konstanten zur Implementierung unterstützt. +**Chart spreadsheet formula** in der Präsentation ist ein Ausdruck, der die Diagrammdaten automatisch berechnet und aktualisiert. Eine Spreadsheet‑Formel definiert die Datenberechnungslogik für eine bestimmte Zelle oder eine Reihe von Zellen. Eine Spreadsheet‑Formel ist eine mathematische oder logische Formel, die verwendet: Zellreferenzen, mathematische Funktionen, logische Operatoren, arithmetische Operatoren, Konvertierungsfunktionen, Zeichenketten‑Konstanten usw. Die Definition der Formel wird in eine Zelle geschrieben, die keinen einfachen Wert enthält. Die Spreadsheet‑Formel berechnet den Wert, gibt ihn zurück und dieser Wert wird der Zelle zugewiesen. Chart‑Spreadsheet‑Formeln in Präsentationen entsprechen exakt Excel‑Formeln, und es werden dieselben Standard‑Funktionen, Operatoren und Konstanten unterstützt. -In [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) wird die Diagramm Tabellenkalkulation durch die -[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) Eigenschaft des -[**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/) Typs dargestellt. -Die Tabellenkalkulationsformel kann mit der -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) Eigenschaft zugewiesen und geändert werden. -Die folgende Funktionalität wird für Formeln in Aspose.Slides unterstützt: +In [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) wird das Diagramm‑Arbeitsblatt über die +[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/)‑Eigenschaft des +[**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/)‑Typs dargestellt. +Eine Spreadsheet‑Formel kann über die +[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)‑Eigenschaft zugewiesen und geändert werden. +Folgende Funktionalitäten werden für Formeln in Aspose.Slides unterstützt: - Logische Konstanten - Numerische Konstanten -- Stringkonstanten -- Fehlerkonstanten +- Zeichenketten‑Konstanten +- Fehler‑Konstanten - Arithmetische Operatoren - Vergleichsoperatoren -- A1-Style Zellreferenzen -- R1C1-Style Zellreferenzen +- A1‑Style Zellreferenzen +- R1C1‑Style Zellreferenzen - Vorgegebene Funktionen -In der Regel speichern Tabellenkalkulationen die zuletzt berechneten Formelwerte. Wenn nach dem Laden der Präsentation die Diagrammdaten nicht geändert wurden - gibt die **IChartDataCell.Value** Eigenschaft diese Werte beim Lesen zurück. Wenn jedoch die Tabellenkalkulationsdaten geändert wurden, löst die **ChartDataCell.Value** Eigenschaft eine **CellUnsupportedDataException** für die nicht unterstützten Formeln aus. Dies liegt daran, dass beim erfolgreichen Parsen der Formeln die Zellabhängigkeiten bestimmt und die Korrektheit der letzten Werte festgestellt wird. Wenn die Formel jedoch nicht geparst werden kann, kann die Korrektheit des Zellwerts nicht garantiert werden. -## **Diagramm Tabellenkalkulationsformel zur Präsentation hinzufügen** -Zuerst fügen Sie ein Diagramm mit einigen Beispieldaten zur ersten Folie einer neuen Präsentation hinzu mit -[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). -Das Arbeitsblatt des Diagramms wird automatisch erstellt und kann mit der -[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) Eigenschaft aufgerufen werden: - - - +Typischerweise speichern Arbeitsblätter die zuletzt berechneten Formelergebnisse. Wenn nach dem Laden der Präsentation die Diagrammdaten nicht geändert wurden, liefert die **IChartDataCell.Value**‑Eigenschaft diese Werte beim Lesen. Wurden die Arbeitsblattdaten jedoch geändert, wirft das Lesen der **ChartDataCell.Value**‑Eigenschaft die **CellUnsupportedDataException** für nicht unterstützte Formeln. Das liegt daran, dass bei erfolgreich geparsten Formeln die Zellabhängigkeiten ermittelt werden und die Korrektheit der letzten Werte bestimmt wird. Kann eine Formel nicht geparst werden, kann die Korrektheit des Zellenwertes nicht garantiert werden. +## **Chart‑Spreadsheet‑Formel zur Präsentation hinzufügen** +Zuerst fügen Sie mit +[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) ein Diagramm mit Beispieldaten zur ersten Folie einer neuen Präsentation hinzu. +Das Arbeitsblatt des Diagramms wird automatisch erstellt und kann über die +[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/)‑Eigenschaft zugegriffen werden: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -61,12 +78,9 @@ with slides.Presentation() as presentation: -Lassen Sie uns einige Werte in Zellen mit der -[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) Eigenschaft -des **Object** Typs schreiben, was bedeutet, dass Sie beliebige Werte für die Eigenschaft festlegen können: - - +Schreiben Sie einige Werte in Zellen mit der +[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)‑Eigenschaft des Typs **Object**, was bedeutet, dass Sie beliebige Werte zuweisen können: ```py workbook.get_cell(0, "F2").value = -2.5 workbook.get_cell(0, "G3").value = 6.3 @@ -75,27 +89,25 @@ des **Object** Typs schreiben, was bedeutet, dass Sie beliebige Werte für die E -Nun, um eine Formel in die Zelle zu schreiben, können Sie die -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) Eigenschaft verwenden: +Um nun eine Formel in die Zelle zu schreiben, verwenden Sie die +[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)‑Eigenschaft: ```py workbook.get_cell(0, "B2").formula = "F2+G3+H4+1" ``` -*Hinweis*: [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) Eigenschaft wird verwendet, um A1-Style Zellreferenzen festzulegen.  +*Hinweis*: [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)‑Eigenschaft wird verwendet, um A1‑Style Zellreferenzen zu setzen. -Um die [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) Zellreferenz festzulegen, können Sie die [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) Eigenschaft verwenden: +Um die [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)‑Zellreferenz zu setzen, verwenden Sie die [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)‑Eigenschaft: ```py workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]" ``` -Verwenden Sie dann die [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) Methode, um alle Formeln innerhalb des Arbeitsbuchs zu berechnen und die entsprechenden Zellwerte zu aktualisieren: - - +Anschließend nutzen Sie die [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/)‑Methode, um alle Formeln im Arbeitsbuch zu berechnen und die entsprechenden Zellenwerte zu aktualisieren: ```py workbook.calculate_formulas() print(workbook.get_cell(0, "B2").value) # 7.8 @@ -103,111 +115,112 @@ Verwenden Sie dann die [**calculate_formulas**](https://reference.aspose.com/sli ``` + ## **Logische Konstanten** -Sie können logische Konstanten wie *FALSE* und *TRUE* in Zellformeln verwenden: +Sie können logische Konstanten wie *FALSE* und *TRUE* in Zellenformeln verwenden: ## **Numerische Konstanten** -Zahlen können in gängiger oder wissenschaftlicher Notation verwendet werden, um Diagramm Tabellenkalkulationsformeln zu erstellen: +Zahlen können in Dezimal‑ oder wissenschaftlicher Schreibweise verwendet werden, um Diagramm‑Spreadsheet‑Formeln zu erstellen: -## **String Konstanten** -Eine String (oder literale) Konstante ist ein spezifischer Wert, der so verwendet wird, wie er ist und sich nicht ändert. Stringkonstanten können sein: Daten, Texte, Zahlen usw.: +## **Zeichenketten‑Konstanten** +Eine Zeichenketten‑ (oder Literal‑)Konstante ist ein fester Wert, der unverändert verwendet wird. Zeichenketten‑Konstanten können sein: Datumsangaben, Texte, Zahlen usw.: -## **Fehler Konstanten** -Manchmal ist es nicht möglich, das Ergebnis anhand der Formel zu berechnen. In diesem Fall wird der Fehlercode anstelle seines Wertes in der Zelle angezeigt. Jeder Fehlerart hat einen spezifischen Code: +## **Fehler‑Konstanten** +Manchmal ist es nicht möglich, das Ergebnis durch die Formel zu berechnen. In diesem Fall wird im Feld ein Fehlercode anstelle des Werts angezeigt. Jeder Fehlertyp hat einen spezifischen Code: -- #DIV/0! - die Formel versucht, durch Null zu teilen. -- #GETTING_DATA - kann in einer Zelle angezeigt werden, während ihr Wert noch berechnet wird. -- #N/A - Informationen fehlen oder sind nicht verfügbar. Einige Gründe können sein: die in der Formel verwendeten Zellen sind leer, ein zusätzlicher Leerraum, Schreibfehler usw. -- #NAME? - eine bestimmte Zelle oder andere Formelobjekte können nicht unter ihrem Namen gefunden werden.  -- #NULL! - kann erscheinen, wenn ein Fehler in der Formel vorliegt, wie:  (,) oder ein Leerzeichen anstelle eines Doppelpunktes (:). -- #NUM! - die Zahl in der Formel kann ungültig, zu lang oder zu klein sein usw. -- #REF! - ungültige Zellreferenz. -- #VALUE! - unerwarteter Werttyp. Zum Beispiel: Stringwert, der in einer numerischen Zelle gesetzt wurde. +- #DIV/0! – Formel versucht, durch null zu teilen. +- #GETTING_DATA – kann in einer Zelle angezeigt werden, während ihr Wert noch berechnet wird. +- #N/A – Information fehlt oder ist nicht verfügbar. Gründe können sein: leere Zellen in der Formel, ein zusätzliches Leerzeichen, Rechtschreibfehler usw. +- #NAME? – ein bestimmtes Zell‑ oder Formelobjekt kann nicht über seinen Namen gefunden werden. +- #NULL! – tritt auf, wenn ein Fehler in der Formel vorliegt, z. B. (,) oder ein Leerzeichen anstelle eines Doppelpunkts (:). +- #NUM! – die in der Formel angegebene Zahl ist ungültig, zu lang oder zu klein usw. +- #REF! – ungültige Zellreferenz. +- #VALUE! – unerwarteter Werttyp. Zum Beispiel ein Zeichenkettenwert in einer numerischen Zelle. ## **Arithmetische Operatoren** -Sie können alle arithmetischen Operatoren in Diagramm Arbeitsblattformeln verwenden: +Sie können alle arithmetischen Operatoren in Diagramm‑Arbeitsblatt‑Formeln verwenden: -|**Operator** |**Bedeutung** |**Beispiel**| +|**Operator**|**Bedeutung**|**Beispiel**| | :- | :- | :- | -|+ (Pluszeichen) |Addition oder unärer Plus|2 + 3| -|- (Minuszeichen) |Subtraktion oder Negation |2 - 3
    -3| -|* (Stern)|Multiplikation |2 * 3| -|/ (Schrägstrich)|Division |2 / 3| -|% (Prozentzeichen) |Prozent |30%| -|^ (Zirkumflex) |Exponentiation |2 ^ 3| +|+ (Pluszeichen)|Addition oder unäres Plus|2 + 3| +|- (Minuszeichen)|Subtraktion oder Negation|2 - 3
    -3| +|* (Sternchen)|Multiplikation|2 * 3| +|/ (Schrägstrich)|Division|2 / 3| +|% (Prozentzeichen)|Prozent|30%| +|^ (Caret)|Exponentiation|2 ^ 3| -*Hinweis*: Um die Reihenfolge der Auswertung zu ändern, schließen Sie den Teil der Formel, der zuerst berechnet werden soll, in Klammern ein. +*Hinweis*: Um die Auswertungsreihenfolge zu ändern, setzen Sie den zuerst zu berechnenden Teil in Klammern. ## **Vergleichsoperatoren** -Sie können die Werte der Zellen mit den Vergleichsoperatoren vergleichen. Wenn zwei Werte mit diesen Operatoren verglichen werden, ist das Ergebnis ein logischer Wert, entweder *TRUE* oder FALSE: +Sie können Zellwerte mit Vergleichsoperatoren vergleichen. Das Ergebnis ist ein logischer Wert, entweder *TRUE* oder *FALSE*: -|**Operator** |**Bedeutung** |**Bedeutung** | +|**Operator**|**Bedeutung**|**Bedeutung**| | :- | :- | :- | -|= (gleiches Zeichen) |Gleich |A2 = 3| -|<> (ungleich Zeichen) |Ungleich|A2 <> 3| -|> (größer als Zeichen) |Größer als|A2 > 3| -|>= (größer als oder gleich Zeichen)|Größer als oder gleich zu|A2 >= 3| -|< (weniger als Zeichen)|Weniger als|A2 < 3| -|<= (weniger als oder gleich Zeichen)|Weniger als oder gleich zu|A2 <= 3| +|= (Gleichheitszeichen)|Gleich|A2 = 3| +|<> (Ungleichheitszeichen)|Ungleich|A2 <> 3| +|> (Größer‑als‑Zeichen)|Größer als|A2 > 3| +|>= (Größer‑als‑oder‑gleich‑Zeichen)|Größer‑als‑oder‑gleich|A2 >= 3| +|< (Kleiner‑als‑Zeichen)|Kleiner als|A2 < 3| +|<= (Kleiner‑als‑oder‑gleich‑Zeichen)|Kleiner‑als‑oder‑gleich|A2 <= 3| -## **A1-Style Zellreferenzen** -**A1-Style Zellreferenzen** werden für die Arbeitsblätter verwendet, bei denen die Spalte einen Buchstaben als Identifikator hat (z.B. "*A*") und die Zeile eine numerische Kennung hat (z.B. "*1*"). A1-Style Zellreferenzen können wie folgt verwendet werden: +## **A1‑Style Zellreferenzen** +**A1‑Style Zellreferenzen** werden für Arbeitsblätter verwendet, bei denen die Spalte einen Buchstaben‑Identifier (z. B. "*A*") und die Zeile einen numerischen Identifier (z. B. "*1*") hat. A1‑Style Zellreferenzen können wie folgt verwendet werden: |**Zellreferenz**|**Beispiel**||| | :- | :- | :- | :- | -||Absolut |Relativ |Gemischt| -|Zelle |$A$2 |A2|

    A$2

    $A2

    | -|Zeile |$2:$2 |2:2 |-| -|Spalte |$A:$A |A:A |-| -|Bereich |$A$2:$C$4 |A2:C4|

    $A$2:C4

    A$2:$C4

    | +||Absolut|Relativ|Gemischt| +|Zelle|$A$2|A2|

    A$2

    $A2

    | +|Zeile|$2:$2|2:2|-| +|Spalte|$A:$A|A:A|-| +|Bereich|$A$2:$C$4|A2:C4|

    $A$2:C4

    A$2:$C4

    | -Hier ist ein Beispiel, wie eine A1-Style Zellreferenz in einer Formel verwendet wird: +Hier ein Beispiel, wie man eine A1‑Style Zellreferenz in einer Formel verwendet: -## **R1C1-Style Zellreferenzen** -**R1C1-Style Zellreferenzen** werden für die Arbeitsblätter verwendet, bei denen sowohl die Zeile als auch die Spalte einen numerischen Identifikator haben. R1C1-Style Zellreferenzen können wie folgt verwendet werden: +## **R1C1‑Style Zellreferenzen** +**R1C1‑Style Zellreferenzen** werden für Arbeitsblätter verwendet, bei denen sowohl Zeile als auch Spalte einen numerischen Identifier besitzen. R1C1‑Style Zellreferenzen können wie folgt verwendet werden: |**Zellreferenz**|**Beispiel**||| | :- | :- | :- | :- | -||Absolut |Relativ |Gemischt| -|Zelle |R2C3|R[2]C[3]|R2C[3]
    R[2]C3| -|Zeile |R2|R[2]|-| -|Spalte |C3|C[3]|-| -|Bereich |R2C3:R5C7|R[2]C[3]:R[5]C[7] |R2C3:R[5]C[7]
    R[2]C3:R5C[7]| +||Absolut|Relativ|Gemischt| +|Zelle|R2C3|R[2]C[3]|R2C[3]
    R[2]C3| +|Zeile|R2|R[2]|-| +|Spalte|C3|C[3]|-| +|Bereich|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]
    R[2]C3:R5C[7]| -Hier ist ein Beispiel, wie eine A1-Style Zellreferenz in einer Formel verwendet wird: +Hier ein Beispiel, wie man eine R1C1‑Style Zellreferenz in einer Formel verwendet: -## **Vorgegebene Funktionen** -Es gibt vorgegebene Funktionen, die in den Formeln verwendet werden können, um deren Implementierung zu vereinfachen. Diese Funktionen kapseln die am häufigsten verwendeten Operationen ein, wie:  +## **Vordefinierte Funktionen** +Es gibt vordefinierte Funktionen, die in Formeln verwendet werden können, um deren Implementierung zu vereinfachen. Diese Funktionen kapseln häufig genutzte Operationen, wie zum Beispiel: - ABS - AVERAGE @@ -215,7 +228,7 @@ Es gibt vorgegebene Funktionen, die in den Formeln verwendet werden können, um - CHOOSE - CONCAT - CONCATENATE -- DATE (1900 Datensystem) +- DATE (1900‑Datumssystem) - DAYS - FIND - FINDB @@ -225,4 +238,14 @@ Es gibt vorgegebene Funktionen, die in den Formeln verwendet werden können, um - MATCH (Vektorform) - MAX - SUM -- VLOOKUP \ No newline at end of file +- VLOOKUP + +## **FAQ** + +**Werden externe Excel‑Dateien als Datenquelle für ein Diagramm mit Formeln unterstützt?** + +Ja. Aspose.Slides unterstützt externe Arbeitsmappen als [Diagrammdatenquelle](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatasourcetype/), sodass Sie Formeln aus einer XLSX‑Datei außerhalb der Präsentation verwenden können. + +**Können Diagramm‑Formeln Blätter innerhalb derselben Arbeitsmappe per Blattname referenzieren?** + +Ja. Formeln folgen dem üblichen Excel‑Referenzmodell, sodass Sie andere Blätter derselben Arbeitsmappe oder einer externen Arbeitsmappe referenzieren können. Für externe Referenzen geben Sie Pfad und Arbeitsmappennamen gemäß Excel‑Syntax an. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md index 2a54582f36..073ed462bf 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md @@ -1,22 +1,24 @@ --- -title: Diagramm exportieren +title: Exportieren von Präsentationsdiagrammen mit Python +linktitle: Diagramm exportieren type: docs weight: 90 url: /de/python-net/export-chart/ keywords: -- diagramm -- Diagrammbild +- Diagramm +- Diagramm zu Bild +- Diagramm als Bild - Diagrammbild extrahieren - PowerPoint +- OpenDocument - Präsentation - Python -- Aspose.Slides für Python -description: "Diagrammbilder aus PowerPoint-Präsentationen in Python erhalten" +- Aspose.Slides +description: "Erfahren Sie, wie Sie Präsentationsdiagramme mit Aspose.Slides für Python via .NET exportieren, PPT-, PPTX- und ODP-Formate unterstützen und das Reporting in jeden Workflow optimieren." --- -## **Diagrammbild erhalten** -Aspose.Slides für Python über .NET bietet Unterstützung zum Extrahieren von Bildern spezifischer Diagramme. Unten steht ein Beispiel. - +## **Diagrammbild abrufen** +Aspose.Slides für Python via .NET bietet Unterstützung zum Extrahieren des Bildes eines bestimmten Diagramms. Nachfolgend ein Beispiel wird gezeigt. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -27,4 +29,27 @@ with slides.Presentation("test.pptx") as presentation: with chart.get_image() as image: image.save("image.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich ein Diagramm als Vektor (SVG) statt als Rasterbild exportieren?** + +Ja. Ein Diagramm ist ein Shape, und dessen Inhalte können mithilfe der [shape-to-SVG saving method](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/write_as_svg/) nach SVG gespeichert werden. + +**Wie kann ich die genaue Größe des exportierten Diagramms in Pixeln festlegen?** + +Verwenden Sie die Bilddarstellungs‑Overloads, die die Angabe von Größe oder Skalierung ermöglichen – die Bibliothek unterstützt das Rendern von Objekten mit angegebenen Abmessungen/Skalierung. + +**Was soll ich tun, wenn Schriften in Beschriftungen und der Legende nach dem Export falsch aussehen?** + +[Laden Sie die erforderlichen Schriften](/slides/de/python-net/custom-font/) über [FontsLoader](https://reference.aspose.com/slides/python-net/aspose.slides/fontsloader/), damit die Diagrammdarstellung Metriken und Textdarstellung beibehält. + +**Wird beim Export das PowerPoint‑Design, die Formatvorlagen und Effekte berücksichtigt?** + +Ja. Der Renderer von Aspose.Slides folgt der Formatierung der Präsentation (Designs, Formatvorlagen, Füllungen, Effekte), sodass das Aussehen des Diagramms erhalten bleibt. + +**Wo finde ich weitere Rendering‑/Exportmöglichkeiten neben Diagrammbildern?** + +Siehe den Export‑Abschnitt der [API](https://reference.aspose.com/slides/python-net/aspose.slides.export/)/[Dokumentation](/slides/de/python-net/convert-powerpoint/) für Ausgabeziele ([PDF](/slides/de/python-net/convert-powerpoint-to-pdf/), [SVG](/slides/de/python-net/render-a-slide-as-an-svg-image/), [XPS](/slides/de/python-net/convert-powerpoint-to-xps/), [HTML](/slides/de/python-net/convert-powerpoint-to-html/), usw.) und zugehörige Rendering‑Optionen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md index 8738ffc272..123640dbe4 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md @@ -1,33 +1,44 @@ --- -title: Exportieren von mathematischen Gleichungen +title: Mathematische Gleichungen aus Präsentationen in Python exportieren +linktitle: Gleichungen exportieren type: docs weight: 30 url: /de/python-net/exporting-math-equations/ -keywords: "Mathematische Gleichungen exportieren, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Exportieren von PowerPoint mathematischen Gleichungen in Python" +keywords: +- Mathematische Gleichungen exportieren +- MathML +- LaTeX +- PowerPoint +- Präsentation +- Python +- Aspose.Slides +description: "Ermöglichen Sie den nahtlosen Export mathematischer Gleichungen von PowerPoint nach MathML mit Aspose.Slides für Python via .NET - erhalten Sie die Formatierung und steigern Sie die Kompatibilität." --- -Aspose.Slides für Python über .NET ermöglicht es Ihnen, mathematische Gleichungen aus Präsentationen zu exportieren. Beispielsweise müssen Sie möglicherweise die mathematischen Gleichungen auf Folien (aus einer bestimmten Präsentation) extrahieren und in einem anderen Programm oder auf einer anderen Plattform verwenden. +## **Einführung** -{{% alert color="primary" %}} - -Sie können Gleichungen nach MathML exportieren, einem beliebten Format oder Standard für mathematische Gleichungen und ähnliche Inhalte, die im Internet und in vielen Anwendungen zu sehen sind. +Aspose.Slides for Python via .NET ermöglicht das Exportieren mathematischer Gleichungen aus Präsentationen. Beispielsweise müssen Sie Gleichungen aus bestimmten Folien extrahieren und in einem anderen Programm oder einer anderen Plattform wiederverwenden. +{{% alert color="primary" %}} +Sie können Gleichungen in MathML exportieren, einen weit verbreiteten Standard zur Darstellung mathematischer Inhalte im Web und in vielen Anwendungen. {{% /alert %}} -Während Menschen den Code für einige Gleichungsformate wie LaTeX leicht schreiben, haben sie Schwierigkeiten, den Code für MathML zu schreiben, da letzteres automatisch von Apps generiert werden soll. Programme lesen und parsen MathML leicht, da der Code in XML vorliegt, weshalb MathML häufig als Ausgabe- und Druckformat in vielen Bereichen verwendet wird. +## **Math‑Gleichungen als MathML speichern** -Dieser Beispielcode zeigt Ihnen, wie Sie eine mathematische Gleichung aus einer Präsentation nach MathML exportieren: +Obwohl Menschen LaTeX leicht schreiben können, wird MathML in der Regel automatisch von Anwendungen erzeugt. Da MathML XML‑basiert ist, können Programme es zuverlässig lesen und analysieren; deshalb wird es in vielen Bereichen als Ausgabe‑ und Druckformat verwendet. +Der folgende Beispielcode zeigt, wie eine mathematische Gleichung aus einer Präsentation in MathML exportiert wird: ```py import aspose.slides as slides import aspose.slides.mathtext as math -with slides.Presentation() as pres: - autoShape = pres.slides[0].shapes.add_math_shape(0, 0, 500, 50) - mathParagraph = autoShape.text_frame.paragraphs[0].portions[0].math_paragraph +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50) + math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph - mathParagraph.add( + math_paragraph.add( math.MathematicalText("a"). set_superscript("2"). join("+"). @@ -35,6 +46,29 @@ with slides.Presentation() as pres: join("="). join(math.MathematicalText("c").set_superscript("2"))) - with open("mathml.xml", "wb") as stream: - mathParagraph.write_as_math_ml(stream) -``` \ No newline at end of file + with open("mathml.xml", "wb") as file_stream: + math_paragraph.write_as_math_ml(file_stream) +``` + + +## **FAQ** + +**Was genau wird nach MathML exportiert – ein Absatz oder ein einzelner Formelblock?** + +Sie können entweder einen gesamten mathematischen Absatz ([MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/)) oder einen einzelnen Block ([MathBlock](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathblock/)) nach MathML exportieren. Beide Typen bieten eine Methode zum Schreiben nach MathML. + +**Wie erkenne ich, dass ein Objekt auf einer Folie eine mathematische Formel und kein normaler Text oder Bild ist?** + +Eine Formel befindet sich in einem [MathPortion](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathportion/) und besitzt einen [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/). Bilder und normale Textbereiche ohne einen [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) sind keine exportierbaren Formeln. + +**Woher stammt das MathML in einer Präsentation – ist es PowerPoint‑spezifisch oder ein Standard?** + +Der Export richtet sich an das standardisierte MathML (XML). Aspose verwendet Presentation MathML – die Präsentations‑Teilmenge des Standards –, die in vielen Anwendungen und im Web verbreitet ist. + +**Wird das Exportieren von Formeln in Tabellen, SmartArt, Gruppen usw. unterstützt?** + +Ja, wenn diese Objekte Textbereiche mit einem [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) enthalten (also echte PowerPoint‑Formeln), werden sie exportiert. Ist eine Formel als Bild eingebettet, wird sie nicht exportiert. + +**Verändert das Exportieren nach MathML die ursprüngliche Präsentation?** + +Nein. Das Schreiben von MathML ist eine Serialisierung des Inhalts der Formel; sie verändert die Präsentationsdatei nicht. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md index 7de14eb8f3..cd3624e60d 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md @@ -10,29 +10,28 @@ keywords: - ActiveX verwalten - ActiveX hinzufügen - ActiveX ändern -- Medienplayer +- Media Player - PowerPoint - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Aspose.Slides for Python via .NET ActiveX nutzt, um PowerPoint-Präsentationen zu automatisieren und zu erweitern und Entwicklern eine leistungsstarke Kontrolle über Folien zu geben." +description: "Erfahren Sie, wie Aspose.Slides für Python via .NET ActiveX nutzt, um PowerPoint-Präsentationen zu automatisieren und zu erweitern, und Entwicklern leistungsstarke Kontrolle über Folien bietet." --- -ActiveX-Steuerelemente werden in Präsentationen verwendet. Aspose.Slides für Python über .NET ermöglicht Ihnen die Verwaltung von ActiveX-Steuerelementen, jedoch ist die Verwaltung etwas komplizierter und anders als die von normalen Präsentationsformen. Ab Aspose.Slides für Python über .NET 6.9.0 unterstützt die Komponente die Verwaltung von ActiveX-Steuerelementen. Momentan können Sie bereits hinzugefügte ActiveX-Steuerelemente in Ihrer Präsentation aufrufen und deren verschiedene Eigenschaften ändern oder löschen. Denken Sie daran, dass ActiveX-Steuerelemente keine Formen sind und nicht Teil der IShapeCollection der Präsentation, sondern Teil der separaten IControlCollection. Dieser Artikel zeigt, wie man mit ihnen arbeitet. -## **ActiveX-Steuerelemente ändern** -Um ein einfaches ActiveX-Steuerelement wie ein Textfeld und eine einfache Schaltfläche auf einer Folie zu verwalten: - -1. Erstellen Sie eine Instanz der Präsentationsklasse und laden Sie die Präsentation mit den ActiveX-Steuerelementen. -1. Erhalten Sie eine Folienreferenz anhand ihres Index. -1. Greifen Sie auf die ActiveX-Steuerelemente in der Folie zu, indem Sie auf die IControlCollection zugreifen. -1. Greifen Sie auf das ActiveX-Steuerelement TextBox1 über das ControlEx-Objekt zu. -1. Ändern Sie die verschiedenen Eigenschaften des ActiveX-Steuerelements TextBox1, einschließlich Text, Schriftart, Schriftgrad und Rahmenposition. -1. Greifen Sie auf das zweite Steuerelement namens CommandButton1 zu. -1. Ändern Sie die Schaltflächenschrift und -position. -1. Verschieben Sie die Position der ActiveX-Steuerelementrahmen. -1. Schreiben Sie die bearbeitete Präsentation in eine PPTX-Datei. +ActiveX-Steuerelemente werden in Präsentationen verwendet. Aspose.Slides für Python via .NET ermöglicht die Verwaltung von ActiveX-Steuerelementen, aber deren Verwaltung ist etwas kniffliger und unterscheidet sich von normalen Präsentationsformen. Ab Aspose.Slides für Python via .NET 6.9.0 unterstützt die Komponente die Verwaltung von ActiveX-Steuerelementen. Derzeit können Sie bereits hinzugefügte ActiveX-Steuerelemente in Ihrer Präsentation über deren verschiedene Eigenschaften abrufen und ändern oder löschen. Beachten Sie, dass ActiveX-Steuerelemente keine Formen sind und nicht Teil der IShapeCollection der Präsentation, sondern der separaten IControlCollection sind. Dieser Artikel zeigt, wie man mit ihnen arbeitet. -Der folgende Codeausschnitt aktualisiert die ActiveX-Steuerelemente auf den Präsentationsfolien wie folgt. +## **ActiveX-Steuerelemente ändern** +1. Erstellen Sie eine Instanz der Presentation‑Klasse und laden Sie die Präsentation, die ActiveX‑Steuerelemente enthält. +1. Holen Sie eine Folienreferenz anhand ihres Index. +1. Greifen Sie über die IControlCollection auf die ActiveX‑Steuerelemente in der Folie zu. +1. Greifen Sie mit dem ControlEx‑Objekt auf das ActiveX‑Steuerelement TextBox1 zu. +1. Ändern Sie die verschiedenen Eigenschaften des ActiveX‑Steuerelements TextBox1, einschließlich Text, Schriftart, Schriftgröße und Rahmenposition. +1. Greifen Sie auf das zweite Zugriffssteuerelement mit dem Namen CommandButton1 zu. +1. Ändern Sie die Beschriftung, die Schriftart und die Position des Buttons. +1. Verschieben Sie die Position der Rahmen der ActiveX‑Steuerelemente. +1. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei. + +Das untenstehende Code‑Snippet aktualisiert die ActiveX‑Steuerelemente auf den Präsentationsfolien wie unten gezeigt. ```py import aspose.slides as slides @@ -44,15 +43,15 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: # Zugriff auf die erste Folie in der Präsentation slide = presentation.slides[0] - # Ändern des Textfeld-Texts + # Ändern des TextBox-Textes control = slide.controls[0] if control.name == "TextBox1" and control.properties != None: - newText = "Geänderter Text" + newText = "Changed text" control.properties.remove("Value") control.properties.add("Value", newText) - # Ändern des Ersatzbildes. Powerpoint wird dieses Bild während der ActiveX-Aktivierung ersetzen, daher ist es manchmal in Ordnung, das Bild unverändert zu lassen. + # Ändern des Ersatzbildes. PowerPoint ersetzt dieses Bild während der ActiveX-Aktivierung, sodass es manchmal in Ordnung ist, das Bild unverändert zu lassen. bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: @@ -94,7 +93,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # Ändern der Schaltflächenschrift + # Ändern der Schaltflächenbeschriftung control = slide.controls[1] if control.name == "CommandButton1" and control.properties != None: @@ -163,41 +162,39 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: presentation.save("withActiveX-edited_out.pptm", slides.export.SaveFormat.PPTM) - # Jetzt Steuerelemente entfernen + # Jetzt werden die Steuerelemente entfernt slide.controls.clear() - # Speichern der Präsentation mit geleerten ActiveX-Steuerelementen + # Speichern der Präsentation mit gelöschten ActiveX-Steuerelementen presentation.save("withActiveX.cleared_out.pptm", slides.export.SaveFormat.PPTM) ``` -## **Aktivieren Sie das ActiveX Mediaplayer-Steuerelement** -Um das ActiveX Mediaplayer-Steuerelement hinzuzufügen, führen Sie bitte die folgenden Schritte aus: - -1. Erstellen Sie eine Instanz der Präsentationsklasse und laden Sie die Beispieldatei mit Mediaplayer ActiveX-Steuerelementen. -1. Erstellen Sie eine Instanz der Zielpräsentationsklasse und generieren Sie eine leere Präsentationsinstanz. -1. Klonen Sie die Folie mit dem Mediaplayer ActiveX-Steuerelement aus der Vorlage in die Zielpräsentation. -1. Greifen Sie auf die geklonte Folie in der Zielpräsentation zu. -1. Greifen Sie auf die ActiveX-Steuerelemente in der Folie zu, indem Sie auf die IControlCollection zugreifen. -1. Greifen Sie auf das Mediaplayer ActiveX-Steuerelement zu und setzen Sie den Videopfad mithilfe seiner Eigenschaften. -1. Speichern Sie die Präsentation in einer PPTX-Datei. +## **ActiveX Media Player‑Steuerelement hinzufügen** +1. Erstellen Sie eine Instanz der Presentation‑Klasse und laden Sie die Beispielpräsentation, die Media‑Player‑ActiveX‑Steuerelemente enthält. +1. Erstellen Sie eine Instanz der Ziel‑Presentation‑Klasse und erzeugen Sie eine leere Präsentationsinstanz. +1. Klonen Sie die Folie mit dem Media‑Player‑ActiveX‑Steuerelement aus der Vorlagenpräsentation in die Ziel‑Presentation. +1. Greifen Sie auf die geklonte Folie in der Ziel‑Presentation zu. +1. Greifen Sie über die IControlCollection auf die ActiveX‑Steuerelemente in der Folie zu. +1. Greifen Sie auf das Media‑Player‑ActiveX‑Steuerelement zu und setzen Sie den Videopfad über dessen Eigenschaften. +1. Speichern Sie die Präsentation in einer PPTX‑Datei. ```py import aspose.slides as slides -# Instanziierung der Präsentationsklasse, die die PPTX-Datei darstellt +# Instanziieren Sie die Presentation-Klasse, die eine PPTX-Datei darstellt with slides.Presentation(path + "template.pptx") as presentation: # Erstellen Sie eine leere Präsentationsinstanz with slides.Presentation() as newPresentation: - # Entfernen Sie die Standardfolie + # Entfernen Sie die Standardsfolie newPresentation.slides.remove_at(0) - # Klonen Sie die Folie mit dem Mediaplayer ActiveX-Steuerelement + # Klonen Sie die Folie mit dem Media Player ActiveX-Steuerelement newPresentation.slides.insert_clone(0, presentation.slides[0]) - # Greifen Sie auf das Mediaplayer ActiveX-Steuerelement zu und setzen Sie den Videopfad + # Greifen Sie auf das Media Player ActiveX-Steuerelement zu und setzen Sie den Videopfad prop = newPresentation.slides[0].controls[0].properties prop.remove("URL") @@ -205,4 +202,16 @@ with slides.Presentation(path + "template.pptx") as presentation: # Speichern Sie die Präsentation newPresentation.save("LinkingVideoActiveXControl_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Behält Aspose.Slides ActiveX‑Steuerelemente bei, wenn sie beim Lesen und erneuten Speichern nicht im Python‑Laufzeitumfeld ausgeführt werden können?** +Ja. Aspose.Slides behandelt sie als Teil der Präsentation und kann ihre Eigenschaften und Rahmen lesen/ändern; das Ausführen der Steuerelemente selbst ist nicht erforderlich, um sie zu erhalten. + +**Wie unterscheiden sich ActiveX‑Steuerelemente von OLE‑Objekten in einer Präsentation?** +ActiveX‑Steuerelemente sind interaktive, verwaltete Steuerelemente (Buttons, Textfelder, Media‑Player), während [OLE](/slides/de/python-net/manage-ole/) sich auf eingebettete Anwendungsobjekte (z. B. ein Excel‑Arbeitsblatt) bezieht. Sie werden unterschiedlich gespeichert und verarbeitet und besitzen unterschiedliche Eigenschaftsmodelle. + +**Funktionieren ActiveX‑Ereignisse und VBA‑Makros, wenn die Datei von Aspose.Slides geändert wurde?** +Aspose.Slides bewahrt das vorhandene Markup und die Metadaten; Ereignisse und Makros werden jedoch nur innerhalb von PowerPoint unter Windows ausgeführt, wenn die Sicherheit es zulässt. Die Bibliothek führt kein VBA aus. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md index e9f15561e5..f6e3b0f39c 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md @@ -1,80 +1,132 @@ --- -title: Erstellen von Form-Thumbnails +title: Erstellen von Miniaturbildern von Präsentationsformen in Python +linktitle: Form-Miniaturbilder type: docs weight: 70 url: /de/python-net/create-shape-thumbnails/ -keywords: "Form Thumbnail. PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Form Thumbnail in PowerPoint-Präsentation in Python" +keywords: +- Form-Miniaturbild +- Form-Bild +- Form rendern +- Form-Rendering +- PowerPoint +- Präsentation +- Python +- Aspose.Slides +description: "Generieren Sie hochwertige Form-Miniaturbilder aus PowerPoint- und OpenDocument-Folien mit Aspose.Slides für Python über .NET – einfach Präsentationsminiaturbilder erstellen und exportieren." --- -Aspose.Slides für Python über .NET wird verwendet, um Präsentationsdateien zu erstellen, bei denen jede Seite ein Folie ist. Diese Folien können geöffnet werden, indem die Präsentationsdateien mit Microsoft PowerPoint geöffnet werden. Aber manchmal müssen Entwickler die Bilder der Formen separat in einem Bildbetrachter anzeigen. In solchen Fällen hilft Aspose.Slides für Python über .NET, Thumbnail-Bilder der Folienformen zu generieren. Wie man diese Funktion nutzt, wird in diesem Artikel beschrieben. -Dieser Artikel erklärt, wie man Folien-Thumbnails auf verschiedene Weise generiert: +## **Einleitung** -- Generierung eines Form-Thumbnails innerhalb einer Folie. -- Generierung eines Form-Thumbnails für eine Folienform mit benutzerdefinierten Abmessungen. -- Generierung eines Form-Thumbnails im Bereich des Erscheinungsbilds einer Form. -- Generierung eines Thumbnails eines SmartArt-Kindknotens. -## **Form-Thumbnail von Folie generieren** -Um ein Form-Thumbnail aus einer beliebigen Folie mit Aspose.Slides für Python über .NET zu generieren: +Aspose.Slides for Python via .NET wird verwendet, um Präsentationsdateien zu erstellen, bei denen jede Seite eine Folie ist. Sie können diese Folien in Microsoft PowerPoint anzeigen, indem Sie die Präsentationsdatei öffnen. Entwickler müssen jedoch manchmal Bilder von Formen separat in einem Bildbetrachter ansehen. In solchen Fällen kann Aspose.Slides Miniaturbilder für Folienformen erzeugen. Dieser Artikel erklärt, wie Sie diese Funktion verwenden. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Erhalten Sie die Referenz einer beliebigen Folie über ihre ID oder ihren Index. -1. Holen Sie sich das Thumbnail-Bild der Form der referenzierten Folie im Standardmaßstab. -1. Speichern Sie das Thumbnail-Bild in einem gewünschten Bildformat. +## **Miniaturbilder von Formen aus Folien erzeugen** -Das folgende Beispiel generiert ein Form-Thumbnail. +Wenn Sie eine Vorschau eines bestimmten Objekts statt der gesamten Folie benötigen, können Sie ein Miniaturbild für eine einzelne Form rendern. Aspose.Slides ermöglicht das Exportieren jeder Form in ein Bild, wodurch das Erstellen leichter Vorschauen, Icons oder Assets für die Weiterverarbeitung einfach wird. +So erzeugen Sie ein Miniaturbild aus einer beliebigen Form: + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Holen Sie sich einen Verweis auf eine Folie anhand ihrer ID oder ihres Index. +1. Holen Sie sich einen Verweis auf eine Form auf dieser Folie. +1. Rendern Sie das Miniaturbild der Form. +1. Speichern Sie das Miniaturbild im gewünschten Format. + +Das folgende Beispiel erzeugt ein Miniaturbild einer Form. ```py import aspose.slides as slides -# Instanziieren Sie eine Präsentationsklasse, die die Präsentationsdatei darstellt -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Erstellen Sie ein Bild im Vollmaßstab - with presentation.slides[0].shapes[0].get_image() as bitmap: - # Speichern Sie das Bild auf der Festplatte im PNG-Format - bitmap.save("Shape_thumbnail_out.png", slides.ImageFormat.PNG) +# Instanziieren Sie die Presentation-Klasse, um die Präsentationsdatei zu öffnen. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Erstellen Sie ein Bild mit der Standard-Skalierung. + with shape.get_image() as thumbnail: + # Speichern Sie das Bild auf der Festplatte im PNG-Format. + thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG) ``` -## **Thumbnail mit benutzerdefiniertem Skalierungsfaktor generieren** -Um das Form-Thumbnail einer beliebigen Folienform mit Aspose.Slides für Python über .NET zu generieren: +## **Miniaturbilder mit benutzerdefiniertem Skalierungsfaktor erzeugen** + +Dieser Abschnitt zeigt, wie Sie Miniaturbilder von Formen mit einem vom Benutzer definierten Skalierungsfaktor in Aspose.Slides erzeugen. Durch die Kontrolle der Skalierung können Sie die Größe des Miniaturbilds an Vorschauen, Exporte oder hochauflösende Displays anpassen. -1. Erstellen Sie eine Instanz der `Presentation` Klasse. -1. Erhalten Sie die Referenz einer beliebigen Folie über ihre ID oder ihren Index. -1. Holen Sie sich das Thumbnail-Bild der referenzierten Folie mit Formgrenzen. -1. Speichern Sie das Thumbnail-Bild in einem gewünschten Bildformat. +So erzeugen Sie ein Miniaturbild für jede Form auf einer Folie: -Das folgende Beispiel generiert ein Thumbnail mit einem benutzerdefinierten Skalierungsfaktor. +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Holen Sie sich eine Folie anhand ihrer ID oder ihres Index. +1. Holen Sie sich die Ziel‑Form auf dieser Folie. +1. Rendern Sie das Miniaturbild der Form mit dem angegebenen Skalierungsfaktor. +1. Speichern Sie das Miniaturbild im gewünschten Format. +Das folgende Beispiel erzeugt ein Miniaturbild mit einem benutzerdefinierten Skalierungsfaktor. ```py import aspose.slides as slides -# Instanziieren Sie eine Präsentationsklasse, die die Präsentationsdatei darstellt -with slides.Presentation(path + "HelloWorld.pptx") as p: - # Erstellen Sie ein Bild im Vollmaßstab - with p.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.SHAPE, 1, 1) as bitmap: - # Speichern Sie das Bild auf der Festplatte im PNG-Format - bitmap.save("Scaling Factor Thumbnail_out.png", slides.ImageFormat.PNG) +scale_x = 2.0 +scale_y = scale_x + +# Instanziieren Sie die Presentation-Klasse, um die Präsentationsdatei zu öffnen. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Erstellen Sie ein Bild mit dem definierten Maßstab. + with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail: + # Speichern Sie das Bild auf der Festplatte im PNG-Format. + thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG) ``` -## **Thumbnail des Erscheinungsbilds der Formgrenzen erstellen** -Diese Methode zur Erstellung von Thumbnails von Formen ermöglicht es Entwicklern, ein Thumbnail im Bereich des Erscheinungsbilds der Form zu generieren. Sie berücksichtigt alle Formeffekte. Das generierte Form-Thumbnail ist durch die Foliengrenzen eingeschränkt. Um ein Thumbnail einer beliebigen Folienform im Bereich ihres Erscheinungsbilds zu generieren, verwenden Sie den folgenden Beispielcode: +## **Miniaturbilder unter Verwendung der Anzeigegrenzen einer Form erzeugen** -1. Erstellen Sie eine Instanz der `Presentation` Klasse. -1. Erhalten Sie die Referenz einer beliebigen Folie über ihre ID oder ihren Index. -1. Holen Sie sich das Thumbnail-Bild der referenzierten Folie mit Formgrenzen als Erscheinungsbild. -1. Speichern Sie das Thumbnail-Bild in einem gewünschten Bildformat. +Dieser Abschnitt zeigt, wie Sie ein Miniaturbild innerhalb der Anzeigegrenzen einer Form erzeugen. Dabei werden alle Formeffekte berücksichtigt. Das erzeugte Miniaturbild ist durch die Foliengrenzen begrenzt. -Das folgende Beispiel erstellt ein Thumbnail mit einem benutzerdefinierten Skalierungsfaktor. +So erzeugen Sie ein Miniaturbild einer beliebigen Folienform innerhalb ihrer Anzeigegrenzen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Holen Sie sich eine Folie anhand ihrer ID oder ihres Index. +1. Holen Sie sich die Ziel‑Form auf dieser Folie. +1. Rendern Sie das Miniaturbild der Form mit den angegebenen Grenzen. +1. Speichern Sie das Miniaturbild im gewünschten Bildformat. + +Das folgende Beispiel erstellt ein Miniaturbild mit benutzerdefinierten Grenzen. ```py import aspose.slides as slides -# Instanziieren Sie eine Präsentationsklasse, die die Präsentationsdatei darstellt -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Erstellen Sie ein Erscheinungsbild begrenztes Formbild - with presentation.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.APPEARANCE, 1, 1) as bitmap: - # Speichern Sie das Bild auf der Festplatte im PNG-Format - bitmap.save("Shape_thumbnail_Bound_Shape_out.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +image_bounds = slides.ShapeThumbnailBounds.APPEARANCE + +# Instanziieren Sie die Presentation-Klasse, um die Präsentationsdatei zu öffnen. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Erstellen Sie ein Bild der Form mit Anzeigegrenzen. + with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail: + # Speichern Sie das Bild auf der Festplatte im PNG-Format. + thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG) +``` + + +## **FAQ** + +**Welche Bildformate können beim Speichern von Form‑Miniaturbildern verwendet werden?** + +[PNG, JPEG, BMP, GIF, TIFF](https://reference.aspose.com/slides/python-net/aspose.slides/imageformat/), und weitere. Formen können auch als Vektor‑SVG [exportiert werden](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/), indem der Forminhalt als SVG gespeichert wird. + +**Was ist der Unterschied zwischen SHAPE‑ und APPEARANCE‑Grenzen beim Rendern eines Miniaturbilds?** + +`SHAPE` verwendet die Geometrie der Form; `APPEARANCE` berücksichtigt [visuelle Effekte](/slides/de/python-net/shape-effect/) (Schatten, Leuchten usw.). + +**Was passiert, wenn eine Form als ausgeblendet markiert ist? Wird sie trotzdem als Miniaturbild gerendert?** + +Eine ausgeblendete Form bleibt Teil des Modells und kann gerendert werden; das Ausblend‑Flag beeinflusst die Anzeige der Diashow, verhindert jedoch nicht die Erzeugung des Form‑Bildes. + +**Werden Gruppformen, Diagramme, SmartArt und andere komplexe Objekte unterstützt?** + +Ja. Jedes Objekt, das als [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) (einschließlich [GroupShape](https://reference.aspose.com/slides/python-net/aspose.slides/groupshape/), [Chart](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), und [SmartArt](https://reference.aspose.com/slides/python-net/aspose.slides.smartart/smartart/)) dargestellt wird, kann als Miniaturbild oder als SVG gespeichert werden. + +**Beeinflussen systemseitig installierte Schriftarten die Qualität von Miniaturbildern für Textformen?** + +Ja. Sie sollten die benötigten Schriftarten bereitstellen [/slides/python-net/custom-font/](https://example.com) (oder [Schriftart‑Substitutionen konfigurieren](/slides/de/python-net/font-substitution/)), um unerwünschte Rückfälle und Textumfluss zu vermeiden. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md index 78cfb936c2..04d68af139 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md @@ -16,49 +16,46 @@ keywords: - Effekt hinzufügen - Effekt abrufen - Effekt extrahieren -- Effekt-Sound +- Effektton - Animation anwenden - PowerPoint - Präsentation - Python - Aspose.Slides -description: "Entdecken Sie, wie Sie Formanimationen in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides for Python via .NET erstellen und anpassen. Heben Sie sich ab!" +description: "Erfahren Sie, wie Sie Formanimationen in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python via .NET erstellen und anpassen. Heben Sie sich ab!" --- -Animationen sind visuelle Effekte, die auf Texte, Bilder, Formen oder [Diagramme](/slides/de/python-net/animated-charts/) angewendet werden können. Sie verleihen Präsentationen oder deren Bestandteilen Leben. +Animationen sind visuelle Effekte, die auf Texte, Bilder, Formen oder [Diagramme](/slides/de/python-net/animated-charts/) angewendet werden können. Sie verleihen Präsentationen oder deren Bestandteilen Leben. -### **Warum Animationen in Präsentationen verwenden?** +## **Warum Animationen in Präsentationen verwenden?** -Durch die Verwendung von Animationen können Sie +* den Fluss der Informationen steuern +* wichtige Punkte hervorheben +* das Interesse oder die Beteiligung des Publikums steigern +* Inhalte leichter lesbar, erfassbar oder verarbeitbar machen +* die Aufmerksamkeit Ihrer Leser oder Zuschauer auf wichtige Teile einer Präsentation lenken -* den Fluss von Informationen steuern -* wichtige Punkte hervorheben -* das Interesse oder die Beteiligung Ihres Publikums erhöhen -* Inhalte leichter lesbar, verständlich oder verarbeitbar machen -* die Aufmerksamkeit Ihrer Leser oder Zuschauer auf wichtige Teile der Präsentation lenken +PowerPoint bietet zahlreiche Optionen und Werkzeuge für Animationen und Animationseffekte in den Kategorien **Eingang**, **Ausgang**, **Betonung** und **Bewegungspfad**. -PowerPoint bietet viele Optionen und Werkzeuge für Animationen und Animationseffekte in den Kategorien **Eingang**, **Ausgang**, **Hervorhebung** und **Bewegungsbahnen**. +## **Animationen in Aspose.Slides** -### **Animationen in Aspose.Slides** - -* Aspose.Slides bietet die Klassen und Typen, die Sie benötigen, um mit Animationen im [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) Namespace zu arbeiten, -* Aspose.Slides bietet über **150 Animationseffekte** unter der [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/) Enumeration. Diese Effekte sind im Wesentlichen die gleichen (oder äquivalenten) Effekte, die in PowerPoint verwendet werden. +* Aspose.Slides stellt die Klassen und Typen bereit, die Sie benötigen, um mit Animationen im Namespace [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) zu arbeiten, +* Aspose.Slides bietet über **150 Animationseffekte** im [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/) Aufzählungstyp. Diese Effekte entsprechen im Wesentlichen den in PowerPoint verwendeten Effekten (oder sind äquivalent). ## **Animation auf TextBox anwenden** -Aspose.Slides für Python über .NET ermöglicht es Ihnen, Animationen auf den Text in einer Form anzuwenden. - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich eine Referenz auf die Folie über ihren Index. -3. Fügen Sie eine `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu. -4. Fügen Sie Text zu `IAutoShape.TextFrame` hinzu. -5. Holen Sie sich eine Hauptsequenz von Effekten. -6. Fügen Sie einen Animationseffekt zu [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu. -7. Setzen Sie die `TextAnimation.BuildType`-Eigenschaft auf den Wert aus der `BuildType`-Enumeration. -8. Schreiben Sie die Präsentation als PPTX-Datei auf die Festplatte. +Aspose.Slides für Python via .NET ermöglicht es Ihnen, Animationen auf den Text in einer Form anzuwenden. -Dieser Python-Code zeigt Ihnen, wie Sie den `Fade`-Effekt auf AutoShape anwenden und die Textanimation auf den *Nach 1. Ebene Absätzen* Wert setzen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +2. Holen Sie sich die Referenz einer Folie über ihren Index. +3. Fügen Sie ein `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu. +4. Fügen Sie Text zu `IAutoShape.TextFrame` hinzu. +5. Holen Sie die Hauptsequenz von Effekten. +6. Fügen Sie einen Animationseffekt zu [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu. +7. Setzen Sie die `TextAnimation.BuildType` Eigenschaft auf den Wert aus der `BuildType` Aufzählung. +8. Schreiben Sie die Präsentation als PPTX-Datei auf die Festplatte. +Dieser Python-Code zeigt, wie Sie den `Fade`-Effekt auf AutoShape anwenden und die Textanimation auf den Wert *By 1st Level Paragraphs* setzen: ```python import aspose.slides as slides @@ -66,42 +63,40 @@ import aspose.slides as slides with slides.Presentation() as pres: sld = pres.slides[0] - # Fügt eine neue AutoShape mit Text hinzu + # Fügt ein neues AutoShape mit Text hinzu autoShape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 100) textFrame = autoShape.text_frame - textFrame.text = "Erster Absatz \nZweiter Absatz \n Dritter Absatz" + textFrame.text = "First paragraph \nSecond paragraph \n Third paragraph" - # Holt sich die Hauptsequenz der Folie. + # Holt die Hauptsequenz der Folie. sequence = sld.timeline.main_sequence - # Fügt dem Shape einen Fade-Animationseffekt hinzu + # Fügt dem Shape den Fade-Animationseffekt hinzu effect = sequence.add_effect(autoShape, slides.animation.EffectType.FADE, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.ON_CLICK) - # Animiert den Text des Shapes nach den 1. Ebene Absätzen + # Animiert den Shape-Text nach Absätzen der ersten Ebene effect.text_animation.build_type = slides.animation.BuildType.BY_LEVEL_PARAGRAPHS1 - # Speichern Sie die PPTX-Datei auf der Festplatte + # Speichert die PPTX-Datei auf dem Datenträger pres.save("AnimText_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="primary" %}} - -Neben der Anwendung von Animationen auf Text können Sie auch Animationen auf einen einzelnen [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) anwenden. Siehe [**Animierter Text**](/slides/de/python-net/animated-text/). +{{% alert color="primary" %}} +Neben der Anwendung von Animationen auf Text können Sie auch Animationen auf einen einzelnen [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides.iparagraph/) anwenden. Siehe [**Animated Text**](/slides/de/python-net/animated-text/). {{% /alert %}} ## **Animation auf PictureFrame anwenden** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich eine Referenz auf die Folie über ihren Index. -3. Fügen Sie einen [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) auf der Folie hinzu oder holen Sie ihn. -4. Holen Sie sich die Hauptsequenz von Effekten. -5. Fügen Sie einen Animationseffekt zu [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) hinzu. -6. Schreiben Sie die Präsentation als PPTX-Datei auf die Festplatte. - -Dieser Python-Code zeigt Ihnen, wie Sie den `Fly`-Effekt auf einen Bildrahmen anwenden: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +2. Holen Sie sich die Referenz einer Folie über ihren Index. +3. Fügen Sie ein [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) hinzu oder holen Sie es von der Folie. +4. Holen Sie die Hauptsequenz von Effekten. +5. Fügen Sie einen Animationseffekt zu [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) hinzu. +6. Schreiben Sie die Präsentation als PPTX-Datei auf die Festplatte. +Dieser Python-Code zeigt, wie Sie den `Fly`-Effekt auf einen Bildrahmen anwenden: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -109,51 +104,51 @@ import aspose.pydrawing as draw # Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt. with slides.Presentation() as pres: - # Lädt ein Bild, das in der Präsentation hinzugefügt werden soll + # Bild laden, das zur Bildsammlung der Präsentation hinzugefügt wird img = draw.Bitmap("aspose-logo.jpg") image = pres.images.add_image(img) - # Fügt einen PictureFrame zur Folie hinzu + # Fügt ein Bildrahmen zur Folie hinzu picFrame = pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # Holt sich die Hauptsequenz der Folie. + # Holt die Hauptsequenz der Folie. sequence = pres.slides[0].timeline.main_sequence - # Fügt dem PictureFrame einen Fly von links-Animationseffekt hinzu + # Fügt dem Bildrahmen den Fly-from-Left-Animationseffekt hinzu effect = sequence.add_effect(picFrame, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.LEFT, slides.animation.EffectTriggerType.ON_CLICK) - # Speichern Sie die PPTX-Datei auf der Festplatte + # Speichert die PPTX-Datei auf dem Datenträger pres.save("AnimImage_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Animation auf Form anwenden** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich eine Referenz auf die Folie über ihren Index. -3. Fügen Sie eine `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu. -4. Fügen Sie eine `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu (wenn dieses Objekt angeklickt wird, wird die Animation abgespielt). -5. Erstellen Sie eine Sequenz von Effekten auf der Bevel-Form. -6. Erstellen Sie einen benutzerdefinierten `UserPath`. -7. Fügen Sie Befehle hinzu, um zum `UserPath` zu bewegen. -8. Schreiben Sie die Präsentation als PPTX-Datei auf die Festplatte. +## **Animation auf Shape anwenden** -Dieser Python-Code zeigt Ihnen, wie Sie den `PathFootball` (Fußballpfad) Effekt auf eine Form anwenden: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +2. Holen Sie sich die Referenz einer Folie über ihren Index. +3. Fügen Sie ein `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu. +4. Fügen Sie ein `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) hinzu (wenn dieses Objekt angeklickt wird, wird die Animation abgespielt). +5. Erstellen Sie eine Sequenz von Effekten für die Bevel-Form. +6. Erstellen Sie einen benutzerdefinierten `UserPath`. +7. Fügen Sie Befehle zum Bewegen zum `UserPath` hinzu. +8. Schreiben Sie die Präsentation als PPTX-Datei auf die Festplatte. +Dieser Python-Code zeigt, wie Sie den `PathFootball` (Pfad-Football) Effekt auf eine Form anwenden: ```python import aspose.slides.animation as anim import aspose.slides as slides import aspose.pydrawing as draw -# Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt +# Instanziiert eine Presentation-Klasse, die eine PPTX-Datei darstellt. with slides.Presentation() as pres: sld = pres.slides[0] # Erstellt den PathFootball-Effekt für eine vorhandene Form von Grund auf. ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 150, 250, 25) - ashp.add_text_frame("Animierter Textkasten") + ashp.add_text_frame("Animated TextBox") # Fügt den PathFootBall-Animationseffekt hinzu. pres.slides[0].timeline.main_sequence.add_effect(ashp, @@ -161,13 +156,13 @@ with slides.Presentation() as pres: anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS) - # Erstellt eine Art "Schaltfläche". + # Erstellt eine Art "button". shapeTrigger = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.BEVEL, 10, 10, 20, 20) - # Erstellt eine Sequenz von Effekten für die Schaltfläche. + # Erstellt eine Sequenz von Effekten für den Button. seqInter = pres.slides[0].timeline.interactive_sequences.add(shapeTrigger) - # Erstellt einen benutzerdefinierten Benutzerpfad. Unser Objekt wird nur bewegt, nachdem die Schaltfläche geklickt wurde. + # Erstellt einen benutzerdefinierten Pfad. Unser Objekt wird erst bewegt, nachdem der Button geklickt wurde. fxUserPath = seqInter.add_effect(ashp, anim.EffectType.PATH_USER, anim.EffectSubtype.NONE, @@ -186,66 +181,123 @@ with slides.Presentation() as pres: pres.save("AnimExample_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Die auf eine Form angewendeten Animationseffekte abrufen** -Sie können sich entscheiden, alle auf eine bestimmte Form angewendeten Animationseffekte herauszufinden. +## **Animationseffekte, die einer Form zugewiesen sind, abrufen** -Dieser Python-Code zeigt Ihnen, wie Sie alle auf eine bestimmte Form angewendeten Effekte abrufen: +Die folgenden Beispiele zeigen, wie Sie die Methode `get_effects_by_shape` der [Sequence](https://reference.aspose.com/slides/python-net/aspose.slides.animation/sequence/) Klasse verwenden, um alle auf eine Form angewendeten Animationseffekte zu erhalten. +**Beispiel 1: Animationseffekte, die auf eine Form einer normalen Folie angewendet wurden, abrufen** + +Vorher haben Sie gelernt, wie man Animationseffekte zu Formen in PowerPoint-Präsentationen hinzufügt. Der folgende Beispielcode zeigt, wie Sie die Effekte erhalten, die auf die erste Form der ersten normalen Folie in der Präsentation `AnimExample_out.pptx` angewendet wurden. ```python import aspose.slides as slides -# Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt. -with slides.Presentation("AnimExample_out.pptx") as pres: - firstSlide = pres.slides[0] +with slides.Presentation("AnimExample_out.pptx") as presentation: + first_slide = presentation.slides[0] - # Holt sich die Hauptsequenz der Folie. - sequence = firstSlide.timeline.main_sequence + # Holt die Hauptanimationssequenz der Folie. + sequence = first_slide.timeline.main_sequence - # Holt sich die erste Form auf der Folie. - shape = firstSlide.shapes[0] + # Holt die erste Form auf der ersten Folie. + shape = first_slide.shapes[0] - # Holt sich alle auf die Form angewendeten Animationseffekte. - shapeEffects = sequence.get_effects_by_shape(shape) + # Holt die auf die Form angewendeten Animationseffekte. + shape_effects = sequence.get_effects_by_shape(shape) - if len(shapeEffects) > 0: - print("Die Form " + shape.name + " hat " + str(len(shapeEffects)) + " Animationseffekte.") + if len(shape_effects) > 0: + print("The shape", shape.name, "has", len(shape_effects), "animation effects.") ``` -## **Animationseffekt-Zeitparameter ändern** -Aspose.Slides für Python über .NET ermöglicht Ihnen, die Zeitparameter eines Animationseffekts zu ändern. +**Beispiel 2: Alle Animationseffekte erhalten, einschließlich der von Platzhaltern geerbten** + +Hat eine Form auf einer normalen Folie Platzhalter, die sich auf der Layout‑Folie und/oder der Master‑Folie befinden, und wurden diesen Platzhaltern Animationseffekte hinzugefügt, dann werden alle Effekte der Form während der Bildschirminstallation abgespielt, einschließlich der von den Platzhaltern geerbten. -Das ist das Animations-Zeitpaneel in Microsoft PowerPoint: +Angenommen, wir haben eine PowerPoint‑Präsentationsdatei `sample.pptx` mit einer Folie, die nur eine Fußzeilenform mit dem Text "Made with Aspose.Slides" enthält und auf die der **Random Bars**‑Effekt angewendet wurde. -![example1_image](shape-animation.png) +![Slide shape animation effect](slide-shape-animation.png) -Diese sind die Entsprechungen zwischen PowerPoint-Zeiten und den `Effect.Timing`-Eigenschaften: +Nehmen wir außerdem an, dass der **Split**‑Effekt auf den Fußzeilen‑Platzhalter der **Layout**‑Folie angewendet wurde. -- PowerPoint Zeit **Start** Dropdown-Liste entspricht der [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) Eigenschaft. -- PowerPoint Zeit **Dauer** entspricht der `Effect.Timing.Duration`-Eigenschaft. Die Dauer einer Animation (in Sekunden) ist die Gesamtzeit, die die Animation benötigt, um einen Zyklus abzuschließen. -- PowerPoint Zeit **Verzögerung** entspricht der `Effect.Timing.TriggerDelayTime`-Eigenschaft. +![Layout shape animation effect](layout-shape-animation.png) -So ändern Sie die Effekt-Zeitparameter: +Und schließlich wurde der **Fly In**‑Effekt auf den Fußzeilen‑Platzhalter der **Master**‑Folie angewendet. -1. [Wenden Sie an](#apply-animation-to-shape) oder holen Sie sich den Animationseffekt. -2. Setzen Sie neue Werte für die benötigten `Effect.Timing`-Eigenschaften. -3. Speichern Sie die modifizierte PPTX-Datei. +![Master shape animation effect](master-shape-animation.png) -Dieser Python-Code demonstriert die Operation: +Der folgende Beispielcode zeigt, wie Sie die Methode `get_base_placeholder` der [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) Klasse verwenden, um auf die Form‑Platzhalter zuzugreifen und die auf die Fußzeilenform angewendeten Animationseffekte zu erhalten, einschließlich der von Platzhaltern auf Layout‑ und Master‑Folien geerbten. +```py +import aspose.slides as slides +def print_effects(effects): + for effect in effects: + print(effect.type.name, effect.subtype.name) +``` + +```py +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + + # Animationseffekte der Form auf der normalen Folie abrufen. + shape = slide.shapes[0] + shape_effects = slide.timeline.main_sequence.get_effects_by_shape(shape) + + # Animationseffekte des Platzhalters auf der Layoutfolie abrufen. + layout_shape = shape.get_base_placeholder() + layout_shape_effects = slide.layout_slide.timeline.main_sequence.get_effects_by_shape(layout_shape) + + # Animationseffekte des Platzhalters auf der Masterfolie abrufen. + master_shape = layout_shape.get_base_placeholder() + master_shape_effects = slide.layout_slide.master_slide.timeline.main_sequence.get_effects_by_shape(master_shape) + + print("Main sequence of shape effects:") + print_effects(master_shape_effects) + print_effects(layout_shape_effects) + print_effects(shape_effects) +``` + + +```text +Main sequence of shape effects: +FLY BOTTOM +SPLIT VERTICAL_IN +RANDOM_BARS HORIZONTAL +``` + + +## **Timing‑Eigenschaften von Animationseffekten ändern** + +Aspose.Slides für Python via .NET ermöglicht es Ihnen, die Timing‑Eigenschaften eines Animationseffekts zu ändern. + +Dies ist das Animations‑Timing‑Paneel in Microsoft PowerPoint: + +![example1_image](shape-animation.png) + +Dies sind die Entsprechungen zwischen PowerPoint‑Timing und den `Effect.Timing` Eigenschaften: + +- Die PowerPoint‑Timing‑Auswahl **Start** entspricht der [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) Eigenschaft. +- Die PowerPoint‑Timing‑Auswahl **Duration** entspricht der `Effect.Timing.Duration` Eigenschaft. Die Dauer einer Animation (in Sekunden) ist die Gesamtdauer, die die Animation für einen Durchlauf benötigt. +- Die PowerPoint‑Timing‑Auswahl **Delay** entspricht der `Effect.Timing.TriggerDelayTime` Eigenschaft. + +So ändern Sie die Effekt‑Timing‑Eigenschaften: + +1. [Apply](#apply-animation-to-shape) oder holen Sie den Animationseffekt. +2. Setzen Sie neue Werte für die benötigten `Effect.Timing` Eigenschaften. +3. Speichern Sie die geänderte PPTX‑Datei. + +Dieser Python-Code demonstriert die Vorgehensweise: ```python import aspose.slides as slides # Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt. with slides.Presentation("AnimExample_out.pptx") as pres: - # Holt sich die Hauptsequenz der Folie. + # Holt die Hauptsequenz der Folie. sequence = pres.slides[0].timeline.main_sequence - # Holt sich den ersten Effekt der Hauptsequenz. + # Holt den ersten Effekt der Hauptsequenz. effect = sequence[0] - # Ändert den TriggerType des Effekts, um beim Klicken zu starten + # Ändert den TriggerType des Effekts, um beim Klick zu starten effect.timing.trigger_type = slides.animation.EffectTriggerType.ON_CLICK # Ändert die Dauer des Effekts @@ -254,60 +306,60 @@ with slides.Presentation("AnimExample_out.pptx") as pres: # Ändert die TriggerDelayTime des Effekts effect.timing.trigger_delay_time = 0.5 - # Speichert die PPTX-Datei auf der Festplatte + # Speichert die PPTX-Datei auf dem Datenträger pres.save("AnimExample_changed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Animations-Effekt-Sound** -Aspose.Slides bietet diese Eigenschaften, die es Ihnen ermöglichen, mit Sounds in Animationseffekten zu arbeiten: +## **Ton des Animationseffekts** -- `sound` -- `stop_previous_sound` +Aspose.Slides stellt diese Eigenschaften zur Verfügung, um mit Geräuschen in Animationseffekten zu arbeiten: -### **Animationseffekt-Sound hinzufügen** +- `sound` +- `stop_previous_sound` -Dieser Python-Code zeigt Ihnen, wie Sie einen Animationseffekt-Sound hinzufügen und ihn stoppen, wenn der nächste Effekt beginnt: +### **Ton zum Animationseffekt hinzufügen** +Dieser Python-Code zeigt, wie Sie einem Animationseffekt einen Ton hinzufügen und diesen stoppen, wenn der nächste Effekt startet: ```python import aspose.slides as slides with Presentation("AnimExample_out.pptx") as pres: - # Fügt Audio zur Präsentations-Audiosammlung hinzu + # Fügt Audio zur Audio‑Sammlung der Präsentation hinzu effect_sound = pres.audios.add_audio(open("sampleaudio.wav", "rb").read()) first_slide = pres.slides[0] - # Holt sich die Hauptsequenz der Folie. + # Holt die Hauptsequenz der Folie. sequence = first_slide.timeline.main_sequence - # Holt sich den ersten Effekt der Hauptsequenz + # Holt den ersten Effekt der Hauptsequenz first_effect = sequence[0] # Überprüft den Effekt auf "Kein Sound" if not first_effect.stop_previous_sound and first_effect.sound is None: - # Fügt Sound für den ersten Effekt hinzu + # Fügt dem ersten Effekt einen Sound hinzu first_effect.sound = effect_sound - # Holt sich die erste interaktive Sequenz der Folie. + # Holt die erste interaktive Sequenz der Folie. interactive_sequence = first_slide.timeline.interactive_sequences[0] - # Setzt den Effekt "Vorherigen Sound stoppen"-Flag + # Setzt das Flag "Vorherigen Sound stoppen" für den Effekt interactive_sequence[0].stop_previous_sound = True - # Schreibt die PPTX-Datei auf die Festplatte + # Schreibt die PPTX‑Datei auf die Festplatte pres.save("AnimExample_Sound_out.pptx", slides.export.SaveFormat.PPTX) ``` -### **Animations-Effekt-Sound extrahieren** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich eine Referenz auf die Folie über ihren Index. -3. Holen Sie sich die Hauptsequenz von Effekten. -4. Extrahieren Sie den `sound`, der in jeden Animationseffekt eingebettet ist. +### **Ton des Animationseffekts extrahieren** -Dieser Python-Code zeigt Ihnen, wie Sie den in einem Animationseffekt eingebetteten Sound extrahieren: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. +2. Holen Sie sich die Referenz einer Folie über ihren Index. +3. Holen Sie die Hauptsequenz von Effekten. +4. Extrahieren Sie das in jeden Animationseffekt eingebettete `sound`. +Dieser Python-Code zeigt, wie Sie den in einen Animationseffekt eingebetteten Ton extrahieren: ```python import aspose.slides as slides @@ -315,36 +367,36 @@ import aspose.slides as slides with slides.Presentation("EffectSound.pptx") as presentation: slide = presentation.slides[0] - # Holt sich die Hauptsequenz der Folie. + # Holt die Hauptsequenz der Folie. sequence = slide.timeline.main_sequence for effect in sequence: if effect.sound is None: continue - # Extrahiert den Effekt-Sound in ein Byte-Array + # Extrahiert den Sound des Effekts als Byte‑Array audio = effect.sound.binary_data ``` -## **Nach Animation** -Aspose.Slides für .NET ermöglicht es Ihnen, die Nachanimations-Eigenschaft eines Animationseffekts zu ändern. +## **Nach Animation** -Das ist das Animations-Effekt-Paneel und das erweiterte Menü in Microsoft PowerPoint: +Aspose.Slides für .NET ermöglicht es Ihnen, die After‑Animation‑Eigenschaft eines Animationseffekts zu ändern. -![example1_image](shape-after-animation.png) +Dies ist das Animation‑Effekt‑Fenster und das erweiterte Menü in Microsoft PowerPoint: -Die Effekt **Nach Animation** Dropdown-Liste entspricht diesen Eigenschaften: +![example1_image](shape-after-animation.png) -- `after_animation_type` Eigenschaft, die den Nachanimations-Typ beschreibt : - * PowerPoint **Weitere Farben** entspricht dem [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) Typ; - * PowerPoint **Nicht dimmen** Listenpunkt entspricht dem [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) Typ (Standard-Nachanimationstyp); - * PowerPoint **Nach Animation ausblenden** Element entspricht dem [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) Typ; - * PowerPoint **Bei der nächsten Mausklick ausblenden** Element entspricht dem [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) Typ; -- `after_animation_color` Eigenschaft, die ein Nachanimationsfarbformat definiert. Diese Eigenschaft funktioniert in Verbindung mit dem [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) Typ. Wenn Sie den Typ auf einen anderen ändern, wird die Nachanimationsfarbe gelöscht. +Die PowerPoint‑Effekt‑Auswahl **After animation** entspricht diesen Eigenschaften: -Dieser Python-Code zeigt Ihnen, wie Sie einen Nachanimations-Effekt ändern: +- Die `after_animation_type` Eigenschaft, die den After‑Animation‑Typ beschreibt: + * PowerPoint **More Colors** entspricht dem Typ [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). + * PowerPoint **Don't Dim** entspricht dem Typ [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (Standard‑After‑Animation‑Typ). + * PowerPoint **Hide After Animation** entspricht dem Typ [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). + * PowerPoint **Hide on Next Mouse Click** entspricht dem Typ [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). +- Die `after_animation_color` Eigenschaft definiert ein Farbschema für die After‑Animation. Diese Eigenschaft funktioniert zusammen mit dem [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) Typ. Ändern Sie den Typ, wird die After‑Animation‑Farbe gelöscht. +Dieser Python-Code zeigt, wie Sie einen After‑Animation‑Effekt ändern: ```python import aspose.slides as slides @@ -352,57 +404,69 @@ import aspose.slides as slides with slides.Presentation("AnimImage_out.pptx") as pres: first_slide = pres.slides[0] - # Holt sich den ersten Effekt der Hauptsequenz + # Holt den ersten Effekt der Hauptsequenz first_effect = first_slide.timeline.main_sequence[0] - # Ändert den Nachanimations-Typ auf Farbe + # Ändert den After-Animation-Typ auf Farbe first_effect.after_animation_type = AfterAnimationType.COLOR - # Setzt die Nachanimations-Dimfarbe + # Setzt die Dim-Farbe der Nach-Animation first_effect.after_animation_color.color = Color.alice_blue # Schreibt die PPTX-Datei auf die Festplatte pres.save("AnimImage_AfterAnimation.pptx", slides.export.SaveFormat.PPTX) ``` -## **Text animieren** -Aspose.Slides bietet diese Eigenschaften, die es Ihnen ermöglichen, mit dem *Text animieren* Block eines Animationseffekts zu arbeiten: +## **Text animieren** -- `animate_text_type`, die einen Animationstexttyp des Effekts beschreibt. Der Text der Form kann animiert werden: - - Alles auf einmal ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) Typ) - - Nach Wort ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) Typ) - - Nach Buchstabe ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) Typ) -- `delay_between_text_parts` setzt eine Verzögerung zwischen den animierten Textteilen (Wörtern oder Buchstaben). Ein positiver Wert gibt den Prozentsatz der Effekt-Dauer an. Ein negativer Wert gibt die Verzögerung in Sekunden an. +Aspose.Slides stellt diese Eigenschaften zur Verfügung, um mit dem *Animate text* Block eines Animationseffekts zu arbeiten: -So ändern Sie die Eigenschaften des Effekt-Animierte Textes: +- `animate_text_type`, das den Animations‑Text‑Typ des Effekts beschreibt. Der Text einer Form kann animiert werden: + - Alles auf einmal ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) Typ) + - Wortweise ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) Typ) + - Buchstabenweise ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) Typ) +- `delay_between_text_parts` legt eine Verzögerung zwischen den animierten Textteilen (Wörter oder Buchstaben) fest. Ein positiver Wert gibt den Prozentsatz der Effektdauer an. Ein negativer Wert gibt die Verzögerung in Sekunden an. -1. [Wenden Sie an](#apply-animation-to-shape) oder holen Sie sich den Animationseffekt. -2. Setzen Sie die `build_type`-Eigenschaft auf den [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) Wert, um den Animationsmodus *Nach Absätzen* auszuschalten. -3. Setzen Sie neue Werte für die `animate_text_type` und `delay_between_text_parts` Eigenschaften. -4. Speichern Sie die modifizierte PPTX-Datei. +So können Sie die Eigenschaften des Effekt‑Animate‑Text ändern: -Dieser Python-Code demonstriert die Operation: +1. [Apply](#apply-animation-to-shape) oder holen Sie den Animationseffekt. +2. Setzen Sie die `build_type` Eigenschaft auf den Wert [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/), um den *By Paragraphs* Animationsmodus zu deaktivieren. +3. Setzen Sie neue Werte für die Eigenschaften `animate_text_type` und `delay_between_text_parts`. +4. Speichern Sie die geänderte PPTX‑Datei. +Dieser Python-Code demonstriert die Vorgehensweise: ```python import aspose.slides as slides with slides.Presentation("AnimTextBox_out.pptx") as pres: first_slide = pres.slides[0] - # Holt sich den ersten Effekt der Hauptsequenz + # Holt den ersten Effekt der Hauptsequenz first_effect = first_slide.timeline.main_sequence[0] - # Ändert den Effekt-Textanimationstyp auf "Als ein Objekt" + # Ändert den Textanimations-Typ des Effekts zu "Als ein Objekt" first_effect.text_animation.build_type = slides.animation.BuildType.AS_ONE_OBJECT - # Ändert den Effekt-Animierte Texttyp auf "Nach Wort" + # Ändert den Animations-Text-Typ des Effekts zu "Nach Wort" first_effect.animate_text_type = slides.animation.AnimateTextType.BY_WORD - # Setzt die Verzögerung zwischen den Wörtern auf 20% der Effekt-Dauer + # Setzt die Verzögerung zwischen Wörtern auf 20% der Effektdauer first_effect.delay_between_text_parts = 20 - # Schreibt die PPTX-Datei auf die Festplatte + # Speichert die PPTX-Datei auf dem Datenträger pres.save("AnimTextBox_AnimateText.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie kann ich sicherstellen, dass Animationen beim Veröffentlichen der Präsentation im Web erhalten bleiben?** +[Export to HTML5](/slides/de/python-net/export-to-html5/) und aktivieren Sie die [Optionen](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/), die für [shape](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) und [transition](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/) Animationen verantwortlich sind. Reines HTML spielt Folienanimationen nicht ab, HTML5 jedoch schon. + +**Wie wirkt sich das Ändern der Z‑Reihenfolge (Layer‑Reihenfolge) von Formen auf die Animation aus?** +Animationen und Zeichenreihenfolge sind unabhängig: Ein Effekt steuert das Timing und den Typ des Erscheinens/Verscheidens, während die [z-order](https://reference.aspose.com/slides/python-net/aspose.slides/shape/z_order_position/) bestimmt, was was überlagert. Das sichtbare Ergebnis ergibt sich aus ihrer Kombination. (Dies ist das allgemeine PowerPoint‑Verhalten; das Aspose.Slides‑Effekte‑und‑Formen‑Modell folgt derselben Logik.) + +**Gibt es Einschränkungen beim Konvertieren von Animationen in Video für bestimmte Effekte?** +Im Allgemeinen werden [Animationen unterstützt](/slides/de/python-net/convert-powerpoint-to-video/), jedoch können seltene Fälle oder bestimmte Effekte anders gerendert werden. Es wird empfohlen, die von Ihnen verwendeten Effekte und die Bibliotheksversion zu testen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md index f17ca4ee75..2d06fd4f2f 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md @@ -1,26 +1,37 @@ --- -title: Formeffekt +title: Shape-Effekte in Präsentationen mit Python anwenden +linktitle: Shape-Effekt type: docs weight: 30 url: /de/python-net/shape-effect -keywords: "Formeffekt, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Wenden Sie Effekte auf PowerPoint-Formen in Python an" +keywords: +- Shape-Effekt +- Schatteneffekt +- Reflexionseffekt +- Leuchteffekt +- Weiche Kanten-Effekt +- Effektformat +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Transformieren Sie Ihre PPT-, PPTX- und ODP-Dateien mit erweiterten Shape-Effekten mithilfe von Aspose.Slides für Python – erstellen Sie in Sekunden eindrucksvolle, professionelle Folien." --- -Während Effekte in PowerPoint verwendet werden können, um eine Form hervorzuheben, unterscheiden sie sich von [Füllungen](/slides/de/python-net/shape-formatting/#gradient-fill) oder Umrandungen. Mit PowerPoint-Effekten können Sie überzeugende Reflexionen auf einer Form erstellen, den Glanz einer Form verbreiten usw. +Während Effekte in PowerPoint verwendet werden können, um eine Form hervorzuheben, unterscheiden sie sich von [Füllungen](/slides/de/python-net/shape-formatting/#gradient-fill) oder Umrissen. Mit PowerPoint‑Effekten können Sie überzeugende Spiegelungen einer Form erzeugen, das Leuchten einer Form verbreiten usw. shape-effect -* PowerPoint bietet sechs Effekte, die auf Formen angewendet werden können. Sie können ein oder mehrere Effekte auf eine Form anwenden. +* PowerPoint bietet sechs Effekte, die auf Formen angewendet werden können. Sie können einer Form einen oder mehrere Effekte zuweisen. -* Einige Kombinationen von Effekten sehen besser aus als andere. Aus diesem Grund gibt es in PowerPoint Optionen unter **Vorgabe**. Die Vorgabeoptionen sind im Wesentlichen eine bekannte, ansprechend aussehende Kombination aus zwei oder mehr Effekten. So müssen Sie beim Auswählen einer Vorgabe keine Zeit mit dem Testen oder Kombinieren verschiedener Effekte verschwenden, um eine schöne Kombination zu finden. +* Einige Kombinationen von Effekten sehen besser aus als andere. Aus diesem Grund gibt es in PowerPoint Optionen unter **Preset**. Die Preset‑Optionen sind im Wesentlichen eine bewährte, gut aussehende Kombination von zwei oder mehr Effekten. Auf diese Weise müssen Sie beim Auswählen eines Presets keine Zeit damit verbringen, verschiedene Effekte zu testen oder zu kombinieren, um eine passende Kombination zu finden. -Aspose.Slides bietet Eigenschaften und Methoden unter der [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) Klasse, die es Ihnen ermöglichen, dieselben Effekte auf Formen in PowerPoint-Präsentationen anzuwenden. +Aspose.Slides stellt Eigenschaften und Methoden in der Klasse [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) bereit, mit denen Sie dieselben Effekte auf Formen in PowerPoint‑Präsentationen anwenden können. -## **Schatten-Effekt anwenden** - -Dieser Python-Code zeigt Ihnen, wie Sie den äußeren Schatteneffekt (`outer_shadow_effect`) auf ein Rechteck anwenden: +## **Schatteneffekt anwenden** +Dieser Python‑Code zeigt, wie Sie den äußeren Schatteneffekt (`outer_shadow_effect`) auf ein Rechteck anwenden: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -36,10 +47,10 @@ with slides.Presentation() as pres: pres.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **Reflexionseffekt anwenden** -Dieser Python-Code zeigt Ihnen, wie Sie den Reflexionseffekt auf eine Form anwenden: +## **Reflexionseffekt anwenden** +Dieser Python‑Code zeigt, wie Sie den Reflexionseffekt auf eine Form anwenden: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -56,10 +67,10 @@ with slides.Presentation() as pres: pres.save("reflection.pptx", slides.export.SaveFormat.PPTX) ``` -## **Leuchteffekt anwenden** -Dieser Python-Code zeigt Ihnen, wie Sie den Leuchteffekt auf eine Form anwenden: +## **Leuchteffekt anwenden** +Dieser Python‑Code zeigt, wie Sie den Leuchteffekt auf eine Form anwenden: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -74,10 +85,10 @@ with slides.Presentation() as pres: pres.save("glow.pptx", slides.export.SaveFormat.PPTX) ``` -## **Weiche Kanten-Effekt anwenden** -Dieser Python-Code zeigt Ihnen, wie Sie die weichen Kanten auf eine Form anwenden: +## **Weiche Kanten‑Effekt anwenden** +Dieser Python‑Code zeigt, wie Sie weiche Kanten auf eine Form anwenden: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -89,4 +100,19 @@ with slides.Presentation() as pres: shape.effect_format.soft_edge_effect.radius = 15 pres.save("softEdges.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich mehrere Effekte auf dieselbe Form anwenden?** + +Ja, Sie können verschiedene Effekte, wie Schatten, Reflexion und Leuchten, auf einer einzelnen Form kombinieren, um ein dynamischeres Erscheinungsbild zu erzeugen. + +**Auf welche Formen kann ich Effekte anwenden?** + +Sie können Effekte auf verschiedene Formen anwenden, einschließlich Autoformen, Diagrammen, Tabellen, Bildern, SmartArt‑Objekten, OLE‑Objekten und mehr. + +**Kann ich Effekte auf gruppierte Formen anwenden?** + +Ja, Sie können Effekte auf gruppierte Formen anwenden. Der Effekt wird auf die gesamte Gruppe angewendet. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md index 69df2003d5..bc5cda5fdd 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md @@ -6,368 +6,389 @@ weight: 10 url: /de/python-net/connector/ keywords: - Verbinder -- Verbindertyp -- Verbindungspunkt -- Verbindungslinie -- Verbindungswinkel +- Verbinder-Typ +- Verbinderpunkt +- Verbinderlinie +- Verbinderwinkel - Formen verbinden - PowerPoint -- OpenDocument - Präsentation - Python - Aspose.Slides -description: "Ermöglichen Sie Python-Anwendungen, Linien in PowerPoint- und OpenDocument-Folien zu zeichnen, zu verbinden und automatisch zu verlegen – erhalten Sie vollständige Kontrolle über gerade, Winkel- und gebogene Verbinder." +description: "Ermöglichen Sie Python-Anwendungen, Linien in PowerPoint- und OpenDocument-Folien zu zeichnen, zu verbinden und automatisch zu routen – erhalten Sie vollständige Kontrolle über gerade, Ellenbogen- und gekrümmte Verbinder." --- -Ein PowerPoint-Verbinder ist eine spezielle Linie, die zwei Formen miteinander verbindet oder verknüpft und an den Formen haftet, selbst wenn sie auf einer bestimmten Folie bewegt oder neu positioniert werden. +## **Einleitung** -Verbinder sind typischerweise mit *Verbindungspunkten* (grüne Punkte) verbunden, die standardmäßig auf allen Formen vorhanden sind. Verbindungspunkte erscheinen, wenn ein Cursor sich ihnen nähert. +Ein PowerPoint‑Verbinder ist eine spezialisierte Linie, die zwei Formen verbindet und angeheftet bleibt, wenn die Formen auf einer Folie verschoben oder neu positioniert werden. Verbinder werden an **Verbindungspunkten** (grüne Punkte) an Formen befestigt. Verbindungspunkte erscheinen, wenn der Zeiger sich ihnen nähert. **Anpassungspunkte** (gelbe Punkte), die bei bestimmten Verbindern verfügbar sind, ermöglichen das Ändern von Position und Form eines Verbinders. -*Anpassungspunkte* (orange Punkte), die nur bei bestimmten Verbindern vorhanden sind, dienen dazu, die Positionen und Formen der Verbinder zu ändern. +## **Verbindertypen** -## **Arten von Verbindern** +In PowerPoint können Sie drei Arten von Verbindern verwenden: gerade, Ellenbogen (gekrümmt) und Kurven. -In PowerPoint können Sie gerade, angewinkelte (Ellbogen) und gebogene Verbinder verwenden. +Aspose.Slides unterstützt die folgenden Verbindertypen: -Aspose.Slides bietet diese Verbinder an: - -| Verbinder | Bild | Anzahl der Anpassungspunkte | -| ------------------------------ | ----------------------------------------------------------- | --------------------------- | -| `ShapeType.LINE` | ![shapetype-lineconnector](shapetype-lineconnector.png) | 0 | -| `ShapeType.STRAIGHT_CONNECTOR1` | ![shapetype-straightconnector1](shapetype-straightconnector1.png) | 0 | -| `ShapeType.BENT_CONNECTOR2` | ![shapetype-bent-connector2](shapetype-bent-connector2.png) | 0 | -| `ShapeType.BENT_CONNECTOR3` | ![shapetype-bentconnector3](shapetype-bentconnector3.png) | 1 | -| `ShapeType.BENT_CONNECTOR4` | ![shapetype-bentconnector4](shapetype-bentconnector4.png) | 2 | -| `ShapeType.BENT_CONNECTOR5` | ![shapetype-bentconnector5](shapetype-bentconnector5.png) | 3 | -| `ShapeType.CURVED_CONNECTOR2` | ![shapetype-curvedconnector2](shapetype-curvedconnector2.png) | 0 | -| `ShapeType.CURVED_CONNECTOR3` | ![shapetype-curvedconnector3](shapetype-curvedconnector3.png) | 1 | -| `ShapeType.CURVED_CONNECTOR4` | ![shapetype-curvedconnector4](shapetype-curvedconnector4.png) | 2 | -| `ShapeType.CURVED_CONNECTOR5` | ![shapetype.curvedconnector5](shapetype.curvedconnector5.png) | 3 | +| Verbindertyp | Bild | Anzahl der Anpassungspunkte | +| ------------ | ---- | --------------------------- | +| `ShapeType.LINE` | ![Linienverbinder](shapetype-lineconnector.png) | 0 | +| `ShapeType.STRAIGHT_CONNECTOR1` | ![Gerader Verbinder 1](shapetype-straightconnector1.png) | 0 | +| `ShapeType.BENT_CONNECTOR2` | ![Gebogener Verbinder 2](shapetype-bent-connector2.png) | 0 | +| `ShapeType.BENT_CONNECTOR3` | ![Gebogener Verbinder 3](shapetype-bentconnector3.png) | 1 | +| `ShapeType.BENT_CONNECTOR4` | ![Gebogener Verbinder 4](shapetype-bentconnector4.png) | 2 | +| `ShapeType.BENT_CONNECTOR5` | ![Gebogener Verbinder 5](shapetype-bentconnector5.png) | 3 | +| `ShapeType.CURVED_CONNECTOR2` | ![Kurvenverbinder 2](shapetype-curvedconnector2.png) | 0 | +| `ShapeType.CURVED_CONNECTOR3` | ![Kurvenverbinder 3](shapetype-curvedconnector3.png) | 1 | +| `ShapeType.CURVED_CONNECTOR4` | ![Kurvenverbinder 4](shapetype-curvedconnector4.png) | 2 | +| `ShapeType.CURVED_CONNECTOR5` | ![Kurvenverbinder 5](shapetype.curvedconnector5.png) | 3 | ## **Formen mit Verbindern verbinden** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Holen Sie sich die Referenz einer Folie über ihren Index. -1. Fügen Sie zwei [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) zur Folie hinzu, indem Sie die `add_auto_shape` Methode verwenden, die vom `Shapes` Objekt bereitgestellt wird. -1. Fügen Sie einen Verbinder hinzu, indem Sie die `add_auto_shape` Methode verwenden, indem Sie den Verbindungstyp definieren. -1. Verbinden Sie die Formen mithilfe des Verbinders. -1. Rufen Sie die Methode `reroute` auf, um den kürzesten Verbindungsweg anzuwenden. -1. Speichern Sie die Präsentation. +Dieser Abschnitt zeigt, wie man Formen mit Verbindern in Aspose.Slides verknüpft. Sie fügen einer Folie einen Verbinder hinzu und befestigen dessen Anfang und Ende an Ziel­formen. Die Verwendung von Verbindungspunkten stellt sicher, dass der Verbinder an den Formen „geklebt“ bleibt, selbst wenn diese verschoben oder in ihrer Größe verändert werden. -Dieser Python-Code zeigt Ihnen, wie Sie einen Verbinder (einen gebogenen Verbinder) zwischen zwei Formen (einer Ellipse und einem Rechteck) hinzufügen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +2. Holen Sie eine Referenz auf die Folie anhand ihres Index. +3. Fügen Sie der Folie zwei [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)‑Objekte mithilfe der vom [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/)‑Objekt bereitgestellten Methode `add_auto_shape` hinzu. +4. Fügen Sie einen Verbinder mit der Methode `add_connector` des [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/)‑Objekts hinzu und geben Sie den Verbindertyp an. +5. Verbinden Sie die Formen mit dem Verbinder. +6. Rufen Sie die Methode `reroute` auf, um den kürzesten Verbindungsweg anzuwenden. +7. Speichern Sie die Präsentation. +Der folgende Python‑Code zeigt, wie ein gebogener Verbinder zwischen zwei Formen (einer Ellipse und einem Rechteck) hinzugefügt wird: ```python import aspose.slides as slides -# Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt -with slides.Presentation() as input: - # Greift auf die Formensammlung einer bestimmten Folie zu - shapes = input.slides[0].shapes +# Instanziieren der Presentation-Klasse, um eine PPTX-Datei zu erstellen. +with slides.Presentation() as presentation: + + # Zugriff auf die Shapes-Sammlung der ersten Folie. + shapes = presentation.slides[0].shapes - # Fügt eine Ellipsen-Autoshape hinzu - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Eine Ellipse-AutoShape hinzufügen. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Fügt eine Rechteck-Autoshape hinzu - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100) + # Ein Rechteck-AutoShape hinzufügen. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Fügt eine Verbinderform zur Formensammlung der Folie hinzu + # Einen Verbinder zur Folie hinzufügen. connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) - # Verbindet die Formen mithilfe des Verbinders + # Die Formen mit dem Verbinder verbinden. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # Ruft reroute auf, das den automatischen kürzesten Weg zwischen den Formen festlegt + # reroute aufrufen, um den kürzesten Pfad zu setzen. connector.reroute() - # Speichert die Präsentation - input.save("Connecting shapes using connectors_out.pptx", slides.export.SaveFormat.PPTX) - + # Die Präsentation speichern. + presentation.save("connected_shapes.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="HINWEIS" color="warning" %}} - -Die Methode `connector.reroute` leitet einen Verbinder um und zwingt ihn, den kürzesten möglichen Weg zwischen den Formen zu nehmen. Um ihr Ziel zu erreichen, kann die Methode die Punkte `start_shape_connection_site_index` und `end_shape_connection_site_index` ändern. -{{% /alert %}} +{{% alert title="NOTE" color="warning" %}} +Die Methode `connector.reroute` leitet einen Verbinder neu, sodass er den kürzest möglichen Pfad zwischen den Formen nimmt. Dabei kann die Methode die Werte `start_shape_connection_site_index` und `end_shape_connection_site_index` ändern. +{{% /alert %}} -## **Verbindungspunkt festlegen** +## **Verbindungspunkte angeben** -Wenn Sie möchten, dass ein Verbinder zwei Formen unter Verwendung spezifischer Punkte an den Formen verknüpft, müssen Sie Ihre bevorzugten Verbindungspunkte auf folgende Weise angeben: +Dieser Abschnitt erklärt, wie man einen Verbinder an einem bestimmten Verbindungspunkt einer Form in Aspose.Slides befestigt. Durch das gezielte Ansteuern von Verbindungspunkten können Sie die Leitung und Anordnung des Verbinders steuern und saubere, vorhersehbare Diagramme in Ihren Präsentationen erzeugen. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Holen Sie sich die Referenz einer Folie über ihren Index. -1. Fügen Sie zwei [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) zur Folie hinzu, indem Sie die `add_auto_shape` Methode verwenden, die vom `Shapes` Objekt bereitgestellt wird. -1. Fügen Sie einen Verbinder hinzu, indem Sie die `add_connector` Methode verwenden, die vom `Shapes` Objekt bereitgestellt wird, indem Sie den Verbindungstyp definieren. -1. Verbinden Sie die Formen mithilfe des Verbinders. -1. Setzen Sie Ihre bevorzugten Verbindungspunkte an den Formen. -1. Speichern Sie die Präsentation. - -Dieser Python-Code demonstriert einen Vorgang, bei dem ein bevorzugter Verbindungspunkt festgelegt wird: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +2. Holen Sie eine Referenz auf die Folie anhand ihres Index. +3. Fügen Sie der Folie zwei [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)‑Objekte mithilfe der vom [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/)‑Objekt bereitgestellten Methode `add_auto_shape` hinzu. +4. Fügen Sie einen Verbinder mit der Methode `add_connector` des [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/)‑Objekts hinzu und geben Sie den Verbindertyp an. +5. Verbinden Sie die Formen mit dem Verbinder. +6. Setzen Sie Ihre bevorzugten Verbindungspunkte an den Formen. +7. Speichern Sie die Präsentation. +Der folgende Python‑Code demonstriert, wie ein bevorzugter Verbindungspunkt festgelegt wird: ```python import aspose.slides as slides -# Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt +# Instanziieren der Presentation-Klasse, um eine PPTX-Datei zu erstellen. with slides.Presentation() as presentation: - # Greift auf die Formensammlung einer bestimmten Folie zu + + # Zugriff auf die Shapes-Sammlung der ersten Folie. shapes = presentation.slides[0].shapes - # Fügt eine Verbinderform zur Formensammlung der Folie hinzu - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) + # Eine Ellipse-AutoShape hinzufügen. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Fügt eine Ellipsen-Autoshape hinzu - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Eine Rechteck-AutoShape hinzufügen. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Fügt eine Rechteck-Autoshape hinzu - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 100, 100) + # Einen Verbinder zur Shape-Sammlung der Folie hinzufügen. + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) - # Verbindet die Formen mithilfe des Verbinders + # Die Formen mit dem Verbinder verbinden. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # Setzt den bevorzugten Verbindungspunktindex an der Ellipsenform - wantedIndex = 6 - - # Überprüft, ob der bevorzugte Index kleiner als die maximale Anzahl der Standortindex ist - if ellipse.connection_site_count > wantedIndex: - # Setzt den bevorzugten Verbindungspunkt an der Ellipsen-Autoshape - connector.start_shape_connection_site_index = wantedIndex + # Den bevorzugten Verbindungsseitenindex auf der Ellipse festlegen. + site_index = 6 - # Speichert die Präsentation - presentation.save("Connecting_Shape_on_desired_connection_site_out.pptx", slides.export.SaveFormat.PPTX) + # Prüfen, ob der bevorzugte Index innerhalb der verfügbaren Seitenanzahl liegt. + if ellipse.connection_site_count > site_index: + # Den bevorzugten Verbindungsseitenindex auf der Ellipse-AutoShape zuweisen. + connector.start_shape_connection_site_index = site_index + # Die Präsentation speichern. + presentation.save("connection_points.pptx", slides.export.SaveFormat.PPTX) ``` -## **Anpassung des Verbindungspunktes** -Sie können einen bestehenden Verbinder über seine Anpassungspunkte anpassen. Nur Verbinder mit Anpassungspunkten können auf diese Weise geändert werden. Siehe die Tabelle unter **[Arten von Verbindern](/slides/de/python-net/connector/#types-of-connectors)** +## **Verbindungspunkte anpassen** -#### **Einfacher Fall** +Sie können Verbinder über deren Anpassungspunkte modifizieren. Nur Verbinder, die Anpassungspunkte bereitstellen, können auf diese Weise bearbeitet werden. Einzelheiten dazu, welche Verbinder Anpassungen unterstützen, finden Sie in der Tabelle unter [Verbindertypen](/slides/de/python-net/connector/#connector-types). -Betrachten Sie einen Fall, bei dem ein Verbinder zwischen zwei Formen (A und B) durch eine dritte Form (C) verläuft: +### **Einfacher Fall** -![connector-obstruction](connector-obstruction.png) +Betrachten Sie den Fall, dass ein Verbinder zwischen zwei Formen (A und B) eine dritte Form (C) schneidet: -Code: +![Verbinderbehinderung](connector-obstruction.png) +Codebeispiel: ```python import aspose.slides as slides import aspose.pydrawing as draw -with slides.Presentation() as pres: - sld = pres.slides[0] - shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.black - connector.start_shape_connected_to = shapeFrom - connector.end_shape_connected_to = shapeTo + connector.start_shape_connected_to = shape_from + connector.end_shape_connected_to = shape_to connector.start_shape_connection_site_index = 2 ``` -Um die dritte Form zu vermeiden oder zu umgehen, können wir den Verbinder anpassen, indem wir seine senkrechte Linie nach links verschieben: -![connector-obstruction-fixed](connector-obstruction-fixed.png) +Um die dritte Form zu umgehen, passen Sie den Verbinder an, indem Sie dessen vertikalen Abschnitt nach links verschieben: +![Behobene Verbinderbehinderung](connector-obstruction-fixed.png) ```python - adj2 = connector.adjustments[1] - adj2.raw_value += 10000 + adjustment2 = connector.adjustments[1] + adjustment2.raw_value += 10000 ``` -### **Komplexe Fälle** -Um kompliziertere Anpassungen vorzunehmen, müssen Sie diese Dinge berücksichtigen: +### **Komplexe Fälle** -* Ein anpassbarer Punkt eines Verbinders ist stark mit einer Formel verknüpft, die seine Position berechnet und bestimmt. Eine Änderung des Standorts des Punktes kann die Form des Verbinders verändern. -* Die Anpassungspunkte eines Verbinders sind in einer strengen Reihenfolge in einem Array definiert. Die Anpassungspunkte sind von einem Startpunkt des Verbinders zu seinem Endpunkt nummeriert. -* Werte der Anpassungspunkte spiegeln den Prozentsatz der Breite/Höhe der Form des Verbinders wider. - * Die Form wird durch die Start- und Endpunkte des Verbinders multipliziert mit 1000 begrenzt. - * Der erste Punkt, der zweite Punkt und der dritte Punkt definieren den Prozentsatz von der Breite, den Prozentsatz von der Höhe und den Prozentsatz von der Breite (wieder) jeweils. -* Bei Berechnungen, die die Koordinaten der Anpassungspunkte eines Verbinders bestimmen, müssen Sie die Drehung des Verbinders und seine Spiegelung berücksichtigen. **Beachten Sie**, dass der Drehwinkel für alle Verbinder, die unter **[Arten von Verbindern](/slides/de/python-net/connector/#types-of-connectors)** angezeigt werden, 0 ist. +Für fortgeschrittene Anpassungen betrachten Sie Folgendes: -#### **Fall 1** +- Der anpassbare Punkt eines Verbinders wird durch eine Formel bestimmt, die seine Position festlegt. Das Ändern dieses Punktes kann die Gesamtform des Verbinders verändern. +- Die Anpassungspunkte eines Verbinders werden in einem streng geordneten Array gespeichert, das von Anfang bis Ende des Verbinders nummeriert ist. +- Die Werte der Anpassungspunkte stellen Prozentsätze der Breite/Höhe der Verbinder­form dar. + - Die Form ist durch die Anfangs‑ und Endpunkte des Verbinders begrenzt und wird mit 1000 skaliert. + - Der erste, zweite und dritte Anpassungspunkt stehen für: Prozentsatz der Breite, Prozentsatz der Höhe und erneut Prozentsatz der Breite. +- Beim Berechnen der Koordinaten der Anpassungspunkte sind die Rotation und Spiegelung des Verbinders zu berücksichtigen. **Hinweis:** Für alle unter [Connector Types](/slides/de/python-net/connector/#connector-types) aufgeführten Verbinder beträgt der Rotationswinkel 0. -Betrachten Sie einen Fall, in dem zwei Textrahmenobjekte durch einen Verbinder miteinander verbunden sind: +#### **Case 1** -![connector-shape-complex](connector-shape-complex.png) +Betrachten Sie den Fall, dass zwei Textfeld‑Objekte mit einem Verbinder verknüpft sind: -Code: +![Verknüpfte Formen](connector-shape-complex.png) +Codebeispiel: ```python import aspose.slides as slides import aspose.pydrawing as draw -# Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt -with slides.Presentation() as pres: - # Erhält die erste Folie in der Präsentation - sld = pres.slides[0] - # Fügt Formen hinzu, die durch einen Verbinder verbunden werden - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) - shapeFrom.text_frame.text = "Von" - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) - shapeTo.text_frame.text = "Zu" - # Fügt einen Verbinder hinzu - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) - # Gibt die Richtung des Verbinders an +# Instanziieren der Presentation-Klasse, um eine PPTX-Datei zu erstellen. +with slides.Presentation() as presentation: + + # Erste Folie abrufen. + slide = presentation.slides[0] + + # Erste Folie abrufen. + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) + shape_from.text_frame.text = "From" + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) + shape_to.text_frame.text = "To" + + # Einen Verbinder hinzufügen. + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) + # Richtung des Verbinders festlegen. connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE - # Gibt die Farbe des Verbinders an + # Farbe des Verbinders festlegen. connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.crimson - # Gibt die Dicke der Linie des Verbinders an + # Linienstärke des Verbinders festlegen. connector.line_format.width = 3 - # Verbindet die Formen miteinander über den Verbinder - connector.start_shape_connected_to = shapeFrom + # Formen mit dem Verbinder verknüpfen. + connector.start_shape_connected_to = shape_from connector.start_shape_connection_site_index = 3 - connector.end_shape_connected_to = shapeTo + connector.end_shape_connected_to = shape_to connector.end_shape_connection_site_index = 2 - # Erhält die Anpassungspunkte für den Verbinder - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] + # Anpassungspunkte des Verbinders abrufen. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] ``` + **Anpassung** -Wir können die Werte der Anpassungspunkte des Verbinders ändern, indem wir die entsprechenden Breiten- und Höhenprozentsätze um 20 % bzw. 200 % erhöhen: +Ändern Sie die Werte der Anpassungspunkte des Verbinders, indem Sie den Prozentwert der Breite um 20 % und den Prozentwert der Höhe um 200 % erhöhen: ```python - # Ändert die Werte der Anpassungspunkte - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + # Werte der Anpassungspunkte ändern. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + Das Ergebnis: -![connector-adjusted-1](connector-adjusted-1.png) +![Verbinderanpassung 1](connector-adjusted-1.png) -Um ein Modell zu definieren, das es uns ermöglicht, die Koordinaten und die Form einzelner Teile des Verbinders zu bestimmen, erstellen wir eine Form, die dem horizontalen Bestandteil des Verbinders an dem Punkt connector.adjustments[0] entspricht: +Um ein Modell zu definieren, das uns ermöglicht, die Koordinaten und die Form der Verbindersegmente zu bestimmen, erstellen Sie eine Form, die dem vertikalen Bauteil des Verbinders bei `connector.adjustments[0]` entspricht: ```python - # Zeichnet den vertikalen Bestandteil des Verbinders - - x = connector.x + connector.width * adjValue_0.raw_value / 100000 + # Zeichnen des vertikalen Bestandteils des Verbinders. + x = connector.x + connector.width * adjustment_0.raw_value / 100000 y = connector.y - height = connector.height * adjValue_1.raw_value / 100000 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) + height = connector.height * adjustment_1.raw_value / 100000 + + slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) ``` -Das Ergebnis: -![connector-adjusted-2](connector-adjusted-2.png) +Das Ergebnis: -#### **Fall 2** +![Verbinderanpassung 2](connector-adjusted-2.png) -Im **Fall 1** haben wir einen einfachen Anpassungsvorgang des Verbinders unter Verwendung grundlegender Prinzipien demonstriert. In normalen Situationen müssen Sie die Drehung des Verbinders und seine Anzeige (die durch `connector.rotation`, `connector.frame.flip_h` und `connector.frame.flip_v` festgelegt werden) berücksichtigen. Wir werden nun den Prozess demonstrieren. +#### **Case 2** -Zuerst fügen wir ein neues Textrahmenobjekt (**Zu 1**) zur Folie hinzu (zu Verbindungszwecken) und erstellen einen neuen (grünen) Verbinder, der es mit den bereits erstellten Objekten verbindet. +In **Case 1** haben wir eine einfache Verbinderanpassung anhand grundlegender Prinzipien demonstriert. In typischen Szenarien müssen Sie die Rotation des Verbinders und seine Anzeigeeinstellungen (gesteuert durch `connector.rotation`, `connector.frame.flip_h` und `connector.frame.flip_v`) berücksichtigen. So funktioniert der Prozess. +Zuerst fügen Sie der Folie ein neues Textfeld‑Objekt (**To 1**) für die Verbindung hinzu und erstellen einen neuen grünen Verbinder, der es mit den bestehenden Objekten verbindet. ```python - # Erstellt ein neues Bindungsobjekt - shapeTo_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) - shapeTo_1.text_frame.text = "Zu 1" - # Erstellt einen neuen Verbinder + # Erstelle ein neues Zielobjekt. + shape_to_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) + shape_to_1.text_frame.text = "To 1" + + # Erstelle einen neuen Verbinder. connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.medium_aquamarine connector.line_format.width = 3 - # Verbindet die Objekte über den neu erstellten Verbinder + + # Verbinde die Objekte mit dem neu erstellten Verbinder. connector.start_shape_connected_to = shapeFrom connector.start_shape_connection_site_index = 2 - connector.end_shape_connected_to = shapeTo_1 + connector.end_shape_connected_to = shape_to_1 connector.end_shape_connection_site_index = 3 - # Erhält die Anpassungspunkte des Verbinders - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] - # Ändert die Werte der Anpassungspunkte - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + + # Abrufen der Anpassungspunkte des Verbinders. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] + + # Werte der Anpassungspunkte ändern. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + Das Ergebnis: -![connector-adjusted-3](connector-adjusted-3.png) +![Verbinderanpassung 3](connector-adjusted-3.png) -Zweitens erstellen wir eine Form, die dem horizontalen Bestandteil des Verbinders entspricht, der durch den neuen Anpassungspunkt des Verbinders `connector.adjustments[0]` verläuft. Wir verwenden die Werte aus den Verbinderdaten für `connector.rotation`, `connector.frame.flip_h` und `connector.frame.flip_v` und wenden die gängige Koordinatentransformationsformel für die Drehung um einen gegebenen Punkt x0 an: +Als Nächstes erstellen Sie eine Form, die dem **horizontalen** Abschnitt des Verbinders entspricht, der durch den neuen Anpassungspunkt `connector.adjustments[0]` verläuft. Verwenden Sie die Werte aus `connector.rotation`, `connector.frame.flip_h` und `connector.frame.flip_v` und wenden Sie die Standard‑Formel zur Koordinatentransformation bei Rotation um einen gegebenen Punkt `x0` an: X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; Y = (x — x0) * sin(alpha) + (y — y0) * cos(alpha) + y0; -In unserem Fall beträgt der Drehwinkel des Objekts 90 Grad und der Verbinder wird vertikal angezeigt, sodass dies der entsprechende Code ist: - +In unserem Fall beträgt der Rotationswinkel des Objekts 90 Grad und der Verbinder wird vertikal dargestellt, sodass der entsprechende Code lautet: ```python - # Speichert die Koordinaten des Verbinders + # Speichere die Koordinaten des Verbinders. x = connector.x y = connector.y - # Korrigiert die Koordinaten des Verbinders, falls notwendig + + # Korrigiere die Koordinaten des Verbinders, falls er gespiegelt ist. if connector.frame.flip_h == 1: x += connector.width if connector.frame.flip_v == 1: y += connector.height - # Nimmt den Wert des Anpassungspunktes als Koordinate + # Verwende den Wert des Anpassungspunkts als Koordinate. x += connector.width * adjValue_0.raw_value / 100000 - # Konvertiert die Koordinaten, da Sin(90) = 1 und Cos(90) = 0 + # Konvertiere die Koordinaten, weil sin(90°) = 1 und cos(90°) = 0 ist. xx = connector.frame.center_x - y + connector.frame.center_y yy = x - connector.frame.center_x + connector.frame.center_y - # Bestimmt die Breite des horizontalen Bestandteils mit dem Wert des zweiten Anpassungspunktes + # Bestimme die Breite des horizontalen Segments mithilfe des Wertes des zweiten Anpassungspunkts. width = connector.height * adjValue_1.raw_value / 100000 shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, xx, yy, width, 0) shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red ``` + Das Ergebnis: -![connector-adjusted-4](connector-adjusted-4.png) +![Verbinderanpassung 4](connector-adjusted-4.png) -Wir haben Berechnungen, die einfache Anpassungen und komplizierte Anpassungspunkte (Anpassungspunkte mit Drehwinkeln) betreffen, demonstriert. Mit dem erlernten Wissen können Sie Ihr eigenes Modell entwickeln (oder einen Code schreiben), um ein `GraphicsPath`-Objekt zu erhalten oder sogar die Werte der Anpassungspunkte eines Verbinders basierend auf bestimmten Folienkoordinaten festzulegen. +Wir haben Berechnungen sowohl für einfache als auch für komplexere Anpassungspunkte (bei denen Rotation berücksichtigt wird) demonstriert. Mit diesem Wissen können Sie Ihr eigenes Modell entwickeln – oder Code schreiben – um ein `GraphicsPath`‑Objekt zu erhalten oder sogar die Werte der Anpassungspunkte eines Verbinders basierend auf konkreten Folienkoordinaten zu setzen. -## **Winkel der Verbindungsleitungen finden** +## **Verbindungs­liniewinkel ermitteln** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Holen Sie sich die Referenz einer Folie über ihren Index. -1. Greifen Sie auf die Form der Verbindungsleitung zu. -1. Verwenden Sie die Linienbreite, Höhe, Höhe des Formrahmens und Breite des Formrahmens, um den Winkel zu berechnen. +Verwenden Sie das untenstehende Beispiel, um den Winkel von Verbindungs­linien auf einer Folie mit Aspose.Slides zu bestimmen. Sie lernen, wie Sie die Endpunkte eines Verbinders auslesen und seine Ausrichtung berechnen, um Pfeile, Beschriftungen und andere Formen exakt auszurichten. -Dieser Python-Code demonstriert einen Vorgang, bei dem wir den Winkel für eine Verbindungsleitung berechnet haben: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +2. Holen Sie eine Referenz auf die Folie anhand des Index. +3. Greifen Sie auf die Form des Verbindungs­linien‑Objekts zu. +4. Verwenden Sie die Breite und Höhe der Linie sowie die Breite und Höhe des Formrahmens, um den Winkel zu berechnen. +Der folgende Python‑Code demonstriert, wie der Winkel für ein Verbinder‑Linien‑Objekt berechnet wird: ```python import aspose.slides as slides import math -def get_direction(w, h, flipH, flipV): - endLineX = w * (-1 if flipH else 1) - endLineY = h * (-1 if flipV else 1) - endYAxisX = 0 - endYAxisY = h - angle = math.atan2(endYAxisY, endYAxisX) - math.atan2(endLineY, endLineX) +def get_direction(w, h, flip_h, flip_v): + end_line_x = w * (-1 if flip_h else 1) + end_line_y = h * (-1 if flip_v else 1) + end_y_axis_x = 0 + end_y_axis_y = h + angle = math.atan2(end_y_axis_y, end_y_axis_x) - math.atan2(end_line_y, end_line_x) if (angle < 0): angle += 2 * math.pi return angle * 180.0 / math.pi -with slides.Presentation(path + "ConnectorLineAngle.pptx") as pres: - slide = pres.slides[0] - for i in range(len(slide.shapes)): - dir = 0.0 - shape = slide.shapes[i] - if (type(shape) is slides.AutoShape): - if shape.shape_type == slides.ShapeType.LINE: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) +with slides.Presentation("connector_line_angle.pptx") as presentation: + slide = presentation.slides[0] + for shape_index in range(len(slide.shapes)): + direction = 0.0 + shape = slide.shapes[shape_index] + if type(shape) is slides.AutoShape and shape.shape_type == slides.ShapeType.LINE: + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) elif type(shape) is slides.Connector: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + print(direction) +``` + + +## **FAQ** + +**Wie erkenne ich, ob ein Verbinder an einer bestimmten Form "geklebt" werden kann?** + +Prüfen Sie, ob die Form [connection sites](https://reference.aspose.com/slides/python-net/aspose.slides/shape/connection_site_count/) bereitstellt. Gibt es keine oder ist die Anzahl 0, ist ein Kleben nicht möglich; in diesem Fall verwenden Sie freie Endpunkte und positionieren sie manuell. Es ist ratsam, die Anzahl der Sites vor dem Anfügen zu prüfen. + +**Was passiert mit einem Verbinder, wenn ich eine der verbundenen Formen lösche?** + +Die Enden werden gelöst; der Verbinder bleibt als gewöhnliche Linie mit freien Anfangs‑/Endpunkten auf der Folie erhalten. Sie können ihn entweder löschen oder die Verbindungen neu zuweisen und, falls nötig, [reroute](https://reference.aspose.com/slides/python-net/aspose.slides/connector/reroute/) verwenden. - print(dir) +**Werden Verbinder‑Beziehungen beim Kopieren einer Folie in eine andere Präsentation erhalten?** -``` \ No newline at end of file +Im Allgemeinen ja, vorausgesetzt, die Ziel­formen werden ebenfalls kopiert. Wird die Folie in eine andere Datei eingefügt, ohne die verbundenen Formen, werden die Enden frei und Sie müssen sie erneut anfügen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md index 47bfbc6230..ae4917de0a 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md @@ -4,7 +4,7 @@ linktitle: Benutzerdefinierte Form type: docs weight: 20 url: /de/python-net/custom-shape/ -keywords: +keywords: - benutzerdefinierte Form - Form hinzufügen - Form erstellen @@ -15,165 +15,194 @@ keywords: - Punkte bearbeiten - Punkt hinzufügen - Punkt entfernen -- Bearbeitungsvorgang +- Bearbeitungsoperation - abgerundete Ecke - PowerPoint - OpenDocument - Präsentation - Python - Aspose.Slides -description: "Erstellen und passen Sie Formen in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides for Python via .NET an: Geometriepfade, abgerundete Ecken, zusammengesetzte Formen." +description: "Formen in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python über .NET erstellen und anpassen: Geometriepfade, abgerundete Ecken, zusammengesetzte Formen." --- -# Ändern einer Form mit Bearbeitungspunkten +## **Übersicht** -Betrachten Sie ein Quadrat. In PowerPoint können Sie mit **Bearbeitungspunkten** +Betrachten Sie ein Quadrat. In PowerPoint können Sie mit **Edit Points**: -* die Ecke des Quadrats hinein oder heraus bewegen -* die Krümmung für eine Ecke oder einen Punkt festlegen -* neue Punkte zum Quadrat hinzufügen -* Punkte am Quadrat manipulieren usw. +* einen Eckpunkt des Quadrats nach innen oder außen verschieben, +* die Krümmung einer Ecke oder eines Punktes anpassen, +* neue Punkte zum Quadrat hinzufügen, +* seine Punkte manipulieren. -Im Wesentlichen können Sie die beschriebenen Aufgaben auf jede Form anwenden. Mit Bearbeitungspunkten können Sie eine Form ändern oder eine neue Form aus einer vorhandenen Form erstellen. +Sie können diese Vorgänge auf jede Form anwenden. Mit **Edit Points** können Sie eine Form bearbeiten oder aus einer bestehenden Form eine neue erstellen. -## Tipps zur Formbearbeitung +## **Tipps zur Formbearbeitung** -![overview_image](custom_shape_0.png) +!["Edit Points" command](custom_shape_0.png) -Bevor Sie mit der Bearbeitung von PowerPoint-Formen über Bearbeitungspunkte beginnen, sollten Sie diese Punkte zu Formen beachten: +Bevor Sie PowerPoint‑Formen mit **Edit Points** bearbeiten, beachten Sie folgende Hinweise zu Formen: -* Eine Form (oder ihr Pfad) kann entweder geschlossen oder offen sein. -* Wenn eine Form geschlossen ist, fehlt ein Start- oder Endpunkt. Wenn eine Form offen ist, hat sie einen Anfang und ein Ende. -* Alle Formen bestehen aus mindestens 2 Ankerpunkten, die durch Linien miteinander verbunden sind. -* Eine Linie ist entweder gerade oder gekrümmt. Ankerpunkte bestimmen die Beschaffenheit der Linie. -* Ankerpunkte existieren als Eckenpunkte, gerade Punkte oder glatte Punkte: - * Ein Eckenpunkt ist ein Punkt, an dem 2 gerade Linien in einem Winkel zusammentreffen. - * Ein glatter Punkt ist ein Punkt, an dem 2 Griffe in einer geraden Linie liegen und die Segmente der Linie in einer sanften Kurve zusammenkommen. In diesem Fall sind alle Griffe vom Ankerpunkt durch einen gleichen Abstand getrennt. - * Ein gerader Punkt ist ein Punkt, an dem 2 Griffe in einer geraden Linie liegen und die Liniensegmente der Linie in einer sanften Kurve zusammenkommen. In diesem Fall müssen die Griffe nicht durch einen gleichen Abstand vom Ankerpunkt getrennt sein. -* Durch Verschieben oder Bearbeiten von Ankerpunkten (was den Winkel der Linien ändert) können Sie das Aussehen einer Form ändern. +* Eine Form (oder ihr Pfad) kann **geschlossen** oder **offen** sein. +* Eine geschlossene Form hat keinen Start‑ oder Endpunkt; eine offene Form hat einen Anfang und ein Ende. +* Jede Form besitzt mindestens zwei Ankerpunkte, die durch Liniensegmente verbunden sind. +* Ein Segment ist entweder gerade oder gekrümmt; Ankerpunkte bestimmen die Art des Segments. +* Ankerpunkte können **corner**, **smooth** oder **straight** sein: + * Ein **corner**‑Punkt ist dort, wo zwei gerade Segmente unter einem Winkel zusammentreffen. + * Ein **smooth**‑Punkt hat zwei Griffe, die kollinear sind, und die benachbarten Segmente bilden eine glatte Kurve. In diesem Fall sind beide Griffe gleich weit vom Ankerpunkt entfernt. + * Ein **straight**‑Punkt hat ebenfalls zwei kollineare Griffe, und die benachbarten Segmente bilden eine glatte Kurve. Hier müssen die Griffe nicht die gleiche Entfernung vom Ankerpunkt haben. +* Durch das Verschieben oder Bearbeiten von Ankerpunkten (und damit das Ändern der Segmentwinkel) können Sie das Aussehen der Form ändern. -Um PowerPoint-Formen über Bearbeitungspunkte zu bearbeiten, bietet **Aspose.Slides** die [**GeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Klasse und die [**IGeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) Schnittstelle. +Zum Bearbeiten von PowerPoint‑Formen stellt Aspose.Slides die Klasse [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) bereit. -* Eine [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Instanz stellt einen Geometriepfad des [IGeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) Objekts dar. -* Um den `GeometryPath` von der `IGeometryShape` Instanz abzurufen, können Sie die [IGeometryShape.GetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) Methode verwenden. -* Um den `GeometryPath` für eine Form festzulegen, können Sie diese Methoden verwenden: [IGeometryShape.SetGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) für *feste Formen* und [IGeometryShape.SetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) für *kompositere Formen*. -* Um Segmente hinzuzufügen, können Sie die Methoden unter [IGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) verwenden. -* Mit den Eigenschaften [IGeometryPath.Stroke](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) und [IGeometryPath.FillMode](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) können Sie das Aussehen eines Geometriepfades festlegen. -* Mit der [IGeometryPath.PathData](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/properties/pathdata) Eigenschaft können Sie den Geometriepfad einer `GeometryShape` als ein Array von Pfadsegmenten abrufen. -* Um auf zusätzliche Optionen zur Anpassung der Formgeometrie zuzugreifen, können Sie [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) in [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0) umwandeln. -* Verwenden Sie die Methoden `GeometryPathToGraphicsPath` und `GraphicsPathToGeometryPath` (aus der [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/) Klasse), um `GeometryPath` in `GraphicsPath` und umgekehrt umzuwandeln. +* Eine [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/)‑Instanz stellt den Geometrie‑Pfad eines [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/)-Objekts dar. +* Um die [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) von einer [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/)‑Instanz abzurufen, verwenden Sie die Methode [GeometryShape.get_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/get_geometry_paths/). +* Um die [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) für eine Form festzulegen, verwenden Sie [GeometryShape.set_geometry_path](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_path/) für *einfache Formen* und [GeometryShape.set_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_paths/) für *zusammengesetzte Formen*. +* Zum Hinzufügen von Segmenten verwenden Sie die Methoden von [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +* Verwenden Sie die Eigenschaften [GeometryPath.stroke](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/stroke/) und [GeometryPath.fill_mode](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/fill_mode/), um das Erscheinungsbild eines Geometrie‑Pfads zu steuern. +* Mit der Eigenschaft [GeometryPath.path_data](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/path_data/) können Sie den Geometrie‑Pfad einer Form als Array von Pfadsegmenten abrufen. -## **Einfache Bearbeitungsvorgänge** +## **Einfache Bearbeitungsoperationen** -Dieser Python-Code zeigt Ihnen, wie Sie - -**Eine Linie** am Ende eines Pfades hinzufügen: +Die folgenden Methoden werden für einfache Bearbeitungsoperationen verwendet. +**Eine Linie hinzufügen** am Ende eines Pfads: ```py line_to(point) line_to(x, y) ``` -**Eine Linie** an einer bestimmten Position auf einem Pfad hinzufügen: + +**Eine Linie hinzufügen** an einer angegebenen Position in einem Pfad: ```py line_to(point, index) line_to(x, y, index) ``` -**Eine kubische Bezier-Kurve** am Ende eines Pfades hinzufügen: + +**Eine kubische Bézier‑Kurve hinzufügen** am Ende eines Pfads: ```py cubic_bezier_to(point1, point2, point3) cubic_bezier_to(x1, y1, x2, y2, x3, y3) ``` -**Eine kubische Bezier-Kurve** an der angegebenen Position auf einem Pfad hinzufügen: + +**Eine kubische Bézier‑Kurve hinzufügen** an einer angegebenen Position in einem Pfad: ```py cubic_bezier_to(point1, point2, point3, index) cubic_bezier_to(x1, y1, x2, y2, x3, y3, index) ``` -**Eine quadratische Bezier-Kurve** am Ende eines Pfades hinzufügen: + + +**Eine quadratische Bézier‑Kurve hinzufügen** am Ende eines Pfads: ```py quadratic_bezier_to(point1, point2) quadratic_bezier_to(x1, y1, x2, y2) ``` -**Eine quadratische Bezier-Kurve** an einer bestimmten Position auf einem Pfad hinzufügen: + +**Eine quadratische Bézier‑Kurve hinzufügen** an einer angegebenen Position in einem Pfad: ```py quadratic_bezier_to(point1, point2, index) quadratic_bezier_to(x1, y1, x2, y2, index) ``` -**Einen bestimmten Bogen** zu einem Pfad anhängen: + + +**Einen Bogen anhängen** an einen Pfad: ```py -arc_to(width, height, startAngle, sweepAngle) +arc_to(width, heigth, startAngle, sweepAngle) ``` -**Die aktuelle Figur** eines Pfades schließen: + + +**Die aktuelle Figur schließen** in einem Pfad: ```py close_figure() ``` -**Die Position für den nächsten Punkt** festlegen: + + +**Die Position für den nächsten Punkt festlegen**: ```py move_to(point) move_to(x, y) ``` -**Den Pfadsegment** an einem bestimmten Index entfernen: + +**Das Pfadsegment entfernen** an einem angegebenen Index: ```py remove_at(index) ``` -## Fügen Sie benutzerdefinierte Punkte zur Form hinzu -1. Erstellen Sie eine Instanz der [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) Klasse und setzen Sie den [ShapeType.Rectangle](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) -2. Holen Sie sich eine Instanz der [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Klasse von der Form. -3. Fügen Sie einen neuen Punkt zwischen den beiden oberen Punkten auf dem Pfad hinzu. -4. Fügen Sie einen neuen Punkt zwischen den beiden unteren Punkten auf dem Pfad hinzu. -6. Wenden Sie den Pfad auf die Form an. -Dieser Python-Code zeigt Ihnen, wie Sie benutzerdefinierte Punkte zu einer Form hinzufügen: +## **Benutzerdefinierte Punkte zu Formen hinzufügen** + +Hier lernen Sie, wie Sie eine Freiform‑Form definieren, indem Sie Ihre eigene Punktfolge hinzufügen. Durch Angabe geordneter Punkte und Segmenttypen (gerade oder gekrümmt) und optionales Schließen des Pfads können Sie präzise benutzerdefinierte Grafiken – Polygone, Symbole, Beschriftungen oder Logos – direkt auf Ihren Folien zeichnen. + +1. Erstellen Sie eine Instanz der Klasse [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) und setzen Sie deren [ShapeType.RECTANGLE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). +2. Holen Sie eine [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/)‑Instanz von der Form. +3. Fügen Sie einen neuen Punkt zwischen den beiden oberen Punkten des Pfads ein. +4. Fügen Sie einen neuen Punkt zwischen den beiden unteren Punkten des Pfads ein. +5. Wenden Sie den aktualisierten Pfad auf die Form an. + +Der folgende Python‑Code zeigt, wie man benutzerdefinierte Punkte zu einer Form hinzufügt: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath = shape.get_geometry_paths()[0] +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) + + geometry_path = shape.get_geometry_paths()[0] + geometry_path.line_to(100, 50, 1) + geometry_path.line_to(100, 50, 4) + + shape.set_geometry_path(geometry_path) - geometryPath.line_to(100, 50, 1) - geometryPath.line_to(100, 50, 4) - shape.set_geometry_path(geometryPath) + presentation.save("custom_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example1_image](custom_shape_1.png) -## Punkte von der Form entfernen +![Custom points](custom_shape_1.png) -1. Erstellen Sie eine Instanz der [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) Klasse und setzen Sie den [ShapeType.Heart](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) Typ. -2. Holen Sie sich eine Instanz der [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Klasse von der Form. -3. Entfernen Sie das Segment für den Pfad. -4. Wenden Sie den Pfad auf die Form an. +## **Punkte aus Formen entfernen** -Dieser Python-Code zeigt Ihnen, wie Sie Punkte von einer Form entfernen: +Manchmal enthält eine benutzerdefinierte Form unnötige Punkte, die ihre Geometrie verkomplizieren oder die Darstellung beeinflussen. Dieser Abschnitt zeigt, wie man bestimmte Punkte aus dem Pfad einer Form entfernt, um die Kontur zu vereinfachen und sauberere, präzisere Ergebnisse zu erzielen. +1. Erstellen Sie eine Instanz der Klasse [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) und setzen Sie deren [ShapeType.HEART](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). +2. Holen Sie eine [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/)‑Instanz von der Form. +3. Entfernen Sie ein Segment aus dem Pfad. +4. Wenden Sie den aktualisierten Pfad auf die Form an. + +Der folgende Python‑Code zeigt, wie man Punkte aus einer Form entfernt: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) path = shape.get_geometry_paths()[0] path.remove_at(2) + shape.set_geometry_path(path) + + presentation.save("removed_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example2_image](custom_shape_2.png) -## Eine benutzerdefinierte Form erstellen -1. Berechnen Sie Punkte für die Form. -2. Erstellen Sie eine Instanz der [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Klasse. +![Removed points](custom_shape_2.png) + +## **Benutzerdefinierte Formen erstellen** + +Erstellen Sie maßgeschneiderte Vektorformen, indem Sie einen [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) definieren und ihn aus Linien, Bögen und Bézier‑Kurven zusammensetzen. Dieser Abschnitt zeigt, wie man eine benutzerdefinierte Geometrie von Grund auf erstellt und die daraus resultierende Form zu Ihrer Folie hinzufügt. + +1. Berechnen Sie die Punkte für die Form. +2. Erstellen Sie eine Instanz der Klasse [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). 3. Füllen Sie den Pfad mit den Punkten. -4. Erstellen Sie eine Instanz der [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) Klasse. +4. Erstellen Sie eine Instanz der Klasse [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). 5. Wenden Sie den Pfad auf die Form an. -Dieser Python-Code zeigt Ihnen, wie Sie eine benutzerdefinierte Form erstellen: - +Der folgende Python‑Code zeigt, wie man eine benutzerdefinierte Form erstellt: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -196,128 +225,149 @@ for angle in range(-90, 270, step): y = r * math.sin(radians) points.append(draw.PointF(x + R, y + R)) -starPath = slides.GeometryPath() -starPath.move_to(points[0]) +star_path = slides.GeometryPath() +star_path.move_to(points[0]) for i in range(len(points)): - starPath.line_to(points[i]) + star_path.line_to(points[i]) -starPath.close_figure() +star_path.close_figure() -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) - shape.set_geometry_path(starPath) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) + shape.set_geometry_path(star_path) + + presentation.save("custom_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example3_image](custom_shape_3.png) -## Erstellen einer zusammengesetzten benutzerdefinierten Form +![Custom shape](custom_shape_3.png) -1. Erstellen Sie eine Instanz der [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) Klasse. -2. Erstellen Sie eine erste Instanz der [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Klasse. -3. Erstellen Sie eine zweite Instanz der [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Klasse. -4. Wenden Sie die Pfade auf die Form an. +## **Zusammengesetzte benutzerdefinierte Formen erstellen** -Dieser Python-Code zeigt Ihnen, wie Sie eine zusammengesetzte benutzerdefinierte Form erstellen: +Das Erstellen einer zusammengesetzten benutzerdefinierten Form ermöglicht es Ihnen, mehrere Geometrie‑Pfade zu einer einzigen wiederverwendbaren Form auf einer Folie zu kombinieren. Definieren und Mergen Sie diese Pfade, um komplexe Visualisierungen zu erstellen, die über den Standardsatz von Formen hinausgehen. +1. Erstellen Sie eine Instanz der Klasse [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +2. Erstellen Sie die erste Instanz der Klasse [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +3. Erstellen Sie die zweite Instanz der Klasse [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +4. Wenden Sie beide Pfade auf die Form an. + +Der folgende Python‑Code zeigt, wie man eine zusammengesetzte benutzerdefinierte Form erstellt: ```py import aspose.slides as slides -import aspose.pydrawing as draw -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) + + geometry_path_0 = slides.GeometryPath() + geometry_path_0.move_to(0, 0) + geometry_path_0.line_to(shape.width, 0) + geometry_path_0.line_to(shape.width, shape.height/3) + geometry_path_0.line_to(0, shape.height / 3) + geometry_path_0.close_figure() - geometryPath0 = slides.GeometryPath() - geometryPath0.move_to(0, 0) - geometryPath0.line_to(shape.width, 0) - geometryPath0.line_to(shape.width, shape.height/3) - geometryPath0.line_to(0, shape.height / 3) - geometryPath0.close_figure() + geometry_path_1 = slides.GeometryPath() + geometry_path_1.move_to(0, shape.height/3 * 2) + geometry_path_1.line_to(shape.width, shape.height / 3 * 2) + geometry_path_1.line_to(shape.width, shape.height) + geometry_path_1.line_to(0, shape.height) + geometry_path_1.close_figure() - geometryPath1 = slides.GeometryPath() - geometryPath1.move_to(0, shape.height/3 * 2) - geometryPath1.line_to(shape.width, shape.height / 3 * 2) - geometryPath1.line_to(shape.width, shape.height) - geometryPath1.line_to(0, shape.height) - geometryPath1.close_figure() + shape.set_geometry_paths([ geometry_path_0, geometry_path_1]) - shape.set_geometry_paths([ geometryPath0, geometryPath1]) + presentation.save("composite_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example4_image](custom_shape_4.png) -## **Erstellen einer benutzerdefinierten Form mit abgerundeten Ecken** -Dieser Python-Code zeigt Ihnen, wie Sie eine benutzerdefinierte Form mit abgerundeten Ecken (nach innen) erstellen: +![Composite shape](custom_shape_4.png) + +## **Benutzerdefinierte Formen mit abgerundeten Ecken erstellen** +Dieser Abschnitt zeigt, wie man mit einem Geometrie‑Pfad eine benutzerdefinierte Form mit glatt abgerundeten Ecken zeichnet. Sie kombinieren gerade Segmente und kreisförmige Bögen, um die Kontur zu bilden, und fügen die fertige Form zu Ihrer Folie hinzu. + +Der folgende Python‑Code zeigt, wie man eine benutzerdefinierte Form mit abgerundeten Ecken erstellt: ```py import aspose.slides as slides import aspose.pydrawing as draw -shapeX = 20 -shapeY = 20 -shapeWidth = 300 -shapeHeight = 200 +shape_x = 20 +shape_y = 20 +shape_width = 300 +shape_height = 200 -leftTopSize = 50 -rightTopSize = 20 -rightBottomSize = 40 -leftBottomSize = 10 +left_top_size = 50 +right_top_size = 20 +right_bottom_size = 40 +left_bottom_size = 10 with slides.Presentation() as presentation: - childShape = presentation.slides[0].shapes.add_auto_shape( - slides.ShapeType.CUSTOM, shapeX, shapeY, shapeWidth, shapeHeight) + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape( + slides.ShapeType.CUSTOM, shape_x, shape_y, shape_width, shape_height) + + point1 = draw.PointF(left_top_size, 0) + point2 = draw.PointF(shape_width - right_top_size, 0) + point3 = draw.PointF(shape_width, shape_height - right_bottom_size) + point4 = draw.PointF(left_bottom_size, shape_height) + point5 = draw.PointF(0, left_top_size) + + geometry_path = slides.GeometryPath() + geometry_path.move_to(point1) + geometry_path.line_to(point2) + geometry_path.arc_to(right_top_size, right_top_size, 180, -90) + geometry_path.line_to(point3) + geometry_path.arc_to(right_bottom_size, right_bottom_size, -90, -90) + geometry_path.line_to(point4) + geometry_path.arc_to(left_bottom_size, left_bottom_size, 0, -90) + geometry_path.line_to(point5) + geometry_path.arc_to(left_top_size, left_top_size, 90, -90) + geometry_path.close_figure() + + shape.set_geometry_path(geometry_path) + + presentation.save("curved_corners.pptx", slides.export.SaveFormat.PPTX) +``` - geometryPath = slides.GeometryPath() - point1 = draw.PointF(leftTopSize, 0) - point2 = draw.PointF(shapeWidth - rightTopSize, 0) - point3 = draw.PointF(shapeWidth, shapeHeight - rightBottomSize) - point4 = draw.PointF(leftBottomSize, shapeHeight) - point5 = draw.PointF(0, leftTopSize) +![Curved corners](custom_shape_6.png) - geometryPath.move_to(point1) - geometryPath.line_to(point2) - geometryPath.arc_to(rightTopSize, rightTopSize, 180, -90) - geometryPath.line_to(point3) - geometryPath.arc_to(rightBottomSize, rightBottomSize, -90, -90) - geometryPath.line_to(point4) - geometryPath.arc_to(leftBottomSize, leftBottomSize, 0, -90) - geometryPath.line_to(point5) - geometryPath.arc_to(leftTopSize, leftTopSize, 90, -90) +## **Ermitteln, ob die Geometrie einer Form geschlossen ist** - geometryPath.close_figure() +Eine geschlossene Form ist definiert als eine, bei der alle Seiten miteinander verbunden sind und eine durchgehende Grenze ohne Lücken bilden. Eine solche Form kann eine einfache geometrische Form oder eine komplexe benutzerdefinierte Kontur sein. Das folgende Codebeispiel zeigt, wie man prüft, ob die Geometrie einer Form geschlossen ist: +```py +def is_geometry_closed(geometry_shape): + is_closed = None - childShape.set_geometry_path(geometryPath) + for geometry_path in geometry_shape.get_geometry_paths(): + data_length = len(geometry_path.path_data) + if data_length == 0: + continue - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` + last_segment = geometry_path.path_data[data_length - 1] + is_closed = last_segment.path_command == PathCommandType.CLOSE -## Umwandlung von GeometryPath in GraphicsPath (System.Drawing.Drawing2D) + if not is_closed: + return False -1. Erstellen Sie eine Instanz der [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) Klasse. -2. Erstellen Sie eine Instanz der [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) Klasse im [System.Drawing.Drawing2D](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0) Namespace. -3. Konvertieren Sie die [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) Instanz in die [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) Instanz mit [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/). -4. Wenden Sie die Pfade auf die Form an. + return is_closed +``` -Dieser Python-Code—eine Umsetzung der obigen Schritte—demonstriert den Prozess der **GeometryPath** zu **GraphicsPath**-Umwandlung: -```py -import aspose.slides as slides -import aspose.pydrawing as draw +## **FAQ** -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 100) +**Was passiert mit der Füllung und Kontur, nachdem die Geometrie ersetzt wurde?** - originalPath = shape.get_geometry_paths()[0] - originalPath.fill_mode = slides.PathFillModeType.NONE +Der Stil bleibt bei der Form; nur die Kontur ändert sich. Füllung und Kontur werden automatisch auf die neue Geometrie angewendet. - gPath = draw.drawing2d.GraphicsPath() +**Wie rotiere ich eine benutzerdefinierte Form zusammen mit ihrer Geometrie korrekt?** - gPath.add_string("Text in der Form", draw.FontFamily("Arial"), 1, 40, draw.PointF(10, 10), draw.StringFormat.generic_default) +Verwenden Sie die [rotation](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/rotation/)‑Eigenschaft der Form; die Geometrie rotiert mit der Form, weil sie an das Koordinatensystem der Form gebunden ist. - textPath = slides.util.ShapeUtil.graphics_path_to_geometry_path(gPath) - textPath.fill_mode = slides.PathFillModeType.NORMAL +**Kann ich eine benutzerdefinierte Form in ein Bild konvertieren, um das Ergebnis zu „sperren“?** - shape.set_geometry_paths([originalPath, textPath]) -``` -![example5_image](custom_shape_5.png) \ No newline at end of file +Ja. Exportieren Sie den gewünschten [slide](/slides/de/python-net/convert-powerpoint-to-png/)‑Bereich oder die [shape](/slides/de/python-net/create-shape-thumbnails/)‑Selbst in ein Rasterformat; das vereinfacht die weitere Arbeit mit aufwändigen Geometrien. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md index 8865a2b07c..a8633c8e22 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md @@ -10,78 +10,91 @@ keywords: - Ellipse hinzufügen - Ellipse erstellen - Ellipse zeichnen -- Formatierte Ellipse +- formatierte Ellipse - PowerPoint - OpenDocument - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Sie Ellipsenformen in Aspose.Slides for Python via .NET in PPT-, PPTX- und ODP-Präsentationen erstellen, formatieren und bearbeiten – inklusive Codebeispiele." +description: "Erfahren Sie, wie Sie Ellipsenformen in Aspose.Slides für Python via .NET in PPT-, PPTX- und ODP-Präsentationen erstellen, formatieren und manipulieren - inklusive Codebeispielen." --- - ## **Ellipse erstellen** -In diesem Thema werden wir Entwicklern zeigen, wie sie Ellipsenformen zu ihren Folien mit Aspose.Slides für Python über .NET hinzufügen können. Aspose.Slides für Python über .NET bietet eine einfachere API, um verschiedene Arten von Formen mit nur wenigen Zeilen Code zu zeichnen. Um eine einfache Ellipse zu einer ausgewählten Folie der Präsentation hinzuzufügen, befolgen Sie bitte die folgenden Schritte: - -1. Erstellen Sie eine Instanz der [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)Klasse -1. Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden -1. Fügen Sie eine AutoShape vom Typ Ellipse mit der Methode AddAutoShape hinzu, die vom IShapes-Objekt bereitgestellt wird -1. Schreiben Sie die modifizierte Präsentation als PPTX-Datei +In diesem Thema stellen wir Entwicklern das Hinzufügen von Ellipsenformen zu ihren Folien mit Aspose.Slides für Python via .NET vor. Aspose.Slides für Python via .NET bietet einen einfacheren Satz von APIs, um verschiedene Arten von Formen mit nur wenigen Codezeilen zu zeichnen. Um eine einfache Ellipse zu einer ausgewählten Folie der Präsentation hinzuzufügen, folgen Sie bitte den untenstehenden Schritten: -Im folgenden Beispiel haben wir eine Ellipse zur ersten Folie hinzugefügt. +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Holen Sie die Referenz einer Folie, indem Sie deren Index verwenden. +3. Fügen Sie mit der Methode AddAutoShape des IShapes-Objekts eine AutoShape vom Typ Ellipse hinzu. +4. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Im nachstehenden Beispiel haben wir eine Ellipse zur ersten Folie hinzugefügt. ```py import aspose.slides as slides -# Instanziieren Sie die Presentation-Klasse, die das PPTX repräsentiert +# Instanziiere die Prseetation-Klasse, die die PPTX darstellt with slides.Presentation() as pres: - # Holen Sie sich die erste Folie + # Holen Sie die erste Folie sld = pres.slides[0] - # Fügen Sie eine AutoShape vom Typ Ellipse hinzu + # Füge eine AutoShape vom Typ Ellipse hinzu sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Schreiben Sie die PPTX-Datei auf die Festplatte + #Schreibe die PPTX-Datei auf die Festplatte pres.save("EllipseShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Formatierte Ellipse erstellen** -Um eine besser formatierte Ellipse zu einer Folie hinzuzufügen, befolgen Sie bitte die folgenden Schritte: - -1. Erstellen Sie eine Instanz der [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)Klasse. -1. Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -1. Fügen Sie eine AutoShape vom Typ Ellipse mit der Methode AddAutoShape hinzu, die vom IShapes-Objekt bereitgestellt wird. -1. Setzen Sie den Fülltyp der Ellipse auf Solid. -1. Setzen Sie die Farbe der Ellipse mit der SolidFillColor.Color-Eigenschaft, die vom FillFormat-Objekt bereitgestellt wird, das mit dem IShape-Objekt verknüpft ist. -1. Setzen Sie die Farbe der Linien der Ellipse. -1. Setzen Sie die Breite der Linien der Ellipse. -1. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Im folgenden Beispiel haben wir eine formatierte Ellipse zur ersten Folie der Präsentation hinzugefügt. +## **Formatierte Ellipse erstellen** +Um eine besser formatierte Ellipse zu einer Folie hinzuzufügen, folgen Sie bitte den untenstehenden Schritten: + +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Holen Sie die Referenz einer Folie, indem Sie deren Index verwenden. +3. Fügen Sie mit der Methode AddAutoShape des IShapes-Objekts eine AutoShape vom Typ Ellipse hinzu. +4. Setzen Sie den Fülltyp der Ellipse auf Solid. +5. Setzen Sie die Farbe der Ellipse über die Eigenschaft SolidFillColor.Color, die vom FillFormat-Objekt bereitgestellt wird und dem IShape-Objekt zugeordnet ist. +6. Setzen Sie die Farbe der Linien der Ellipse. +7. Setzen Sie die Breite der Linien der Ellipse. +8. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. + +Im nachstehenden Beispiel haben wir eine formatierte Ellipse zur ersten Folie der Präsentation hinzugefügt. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instanziieren Sie die Presentation-Klasse, die das PPTX repräsentiert +# Instanziiere die Presentation-Klasse, die die PPTX darstellt with slides.Presentation() as pres: - # Holen Sie sich die erste Folie + # Hole die erste Folie sld = pres.slides[0] - # Fügen Sie eine AutoShape vom Typ Ellipse hinzu + # Füge eine AutoShape vom Typ Ellipse hinzu shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Wenden Sie einige Formatierungen auf die Ellipsenform an + # Wende einige Formatierungen auf die Ellipsenform an shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Wenden Sie einige Formatierungen auf die Linie der Ellipse an + # Wende einige Formatierungen auf die Linie der Ellipse an shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # Schreiben Sie die PPTX-Datei auf die Festplatte + #Schreibe die PPTX-Datei auf die Festplatte pres.save("EllipseShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie lege ich die genaue Position und Größe einer Ellipse relativ zu den Einheiten der Folie fest?** + +Koordinaten und Größen werden typischerweise **in Punkten** angegeben. Für vorhersehbare Ergebnisse sollten Sie Ihre Berechnungen auf der Foliengröße basieren und erforderliche Millimeter oder Zoll vor der Zuweisung in Punkte umrechnen. + +**Wie kann ich eine Ellipse über oder unter anderen Objekten platzieren (Stapelanordnung steuern)?** + +Passen Sie die Zeichenreihenfolge des Objekts an, indem Sie es nach vorne bringen oder nach hinten senden. Dadurch kann die Ellipse andere Objekte überlappen oder die darunter liegenden sichtbar machen. + +**Wie animiere ich das Auftreten oder die Hervorhebung einer Ellipse?** + +[Apply](/slides/de/python-net/shape-animation/) Eingangs‑, Hervorhebungs‑ oder Ausgangseffekte auf die Form und konfigurieren Sie Trigger und Timing, um zu steuern, wann und wie die Animation abgespielt wird. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md index c9009957d4..b8c5df7245 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md @@ -1,79 +1,112 @@ --- -title: Linie +title: Linienformen in Präsentationen mit Python erstellen +linktitle: Linie type: docs weight: 50 url: /de/python-net/line/ -keywords: "Linie, PowerPoint-Form, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Linie in PowerPoint-Präsentation in Python hinzufügen" +keywords: +- Linie +- Linie erstellen +- Linie hinzufügen +- einfache Linie +- Linie konfigurieren +- Linie anpassen +- Strichstil +- Pfeilspitze +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie die Linienformatierung in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python via .NET manipulieren können. Entdecken Sie Eigenschaften, Methoden und Beispiele." --- -Aspose.Slides für Python über .NET unterstützt das Hinzufügen verschiedener Arten von Formen zu den Folien. In diesem Thema werden wir mit Formen arbeiten, indem wir Linien zu den Folien hinzufügen. Mit Aspose.Slides für Python über .NET können Entwickler nicht nur einfache Linien erstellen, sondern auch einige ansprechende Linien auf den Folien zeichnen. -## **Einfache Linie erstellen** -Um eine einfache gerade Linie zu einer ausgewählten Folie der Präsentation hinzuzufügen, folgen Sie bitte den folgenden Schritten: +## **Übersicht** -- Erstellen Sie eine Instanz der [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)Klasse. -- Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -- Fügen Sie eine AutoShape vom Typ Linie mit der Methode [add_auto_shape](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) hinzu, die vom Shapes-Objekt bereitgestellt wird. -- Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Aspose.Slides für Python via .NET unterstützt das Hinzufügen verschiedener Formen zu den Folien. In diesem Thema beginnen wir mit Formen, indem wir Linien zu den Folien hinzufügen. Mit Aspose.Slides können Entwickler nicht nur einfache Linien erstellen, sondern auch ausgefallene Linien auf den Folien zeichnen. -Im untenstehenden Beispiel haben wir eine Linie zur ersten Folie der Präsentation hinzugefügt. +## **Einfache Linien erstellen** +Verwenden Sie Aspose.Slides, um einer Folie eine einfache Linie als Trenn- oder Verbindungslinie hinzuzufügen. So fügen Sie einer ausgewählten Folie in einer Präsentation eine einfache Linie hinzu: + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Holen Sie sich eine Referenz auf die Folie nach Index. +1. Fügen Sie dem [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/)‑Objekt eine [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) vom Typ `LINE` über die Methode `add_auto_shape` hinzu. +1. Speichern Sie die Präsentation als PPTX‑Datei. + +Im folgenden Beispiel wird einer ersten Folie der Präsentation eine Linie hinzugefügt. ```py import aspose.slides as slides -# Erstellen Sie eine Instanz der PresentationEx-Klasse, die die PPTX-Datei darstellt -with slides.Presentation() as pres: - # Holen Sie sich die erste Folie - sld = pres.slides[0] +# Instanziieren der Presentation‑Klasse. +with slides.Presentation() as presentation: + + # Erste Folie holen. + slide = presentation.slides[0] - # Fügen Sie eine AutoShape vom Typ Linie hinzu - sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + # AutoShape vom Typ LINE hinzufügen. + slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) - # Schreiben Sie die PPTX auf die Festplatte - pres.save("LineShape1_out.pptx", slides.export.SaveFormat.PPTX) + # Präsentation als PPTX‑Datei speichern. + presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX) ``` -## **Pfeilförmige Linie erstellen** -Aspose.Slides für Python über .NET ermöglicht es Entwicklern auch, einige Eigenschaften der Linie zu konfigurieren, um sie ansprechender zu gestalten. Lassen Sie uns versuchen, einige Eigenschaften einer Linie so zu konfigurieren, dass sie wie ein Pfeil aussieht. Bitte folgen Sie den folgenden Schritten, um dies zu tun: +## **Pfeilförmige Linien erstellen** -- Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)Klasse. -- Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -- Fügen Sie eine AutoShape vom Typ Linie mit der Methode AddAutoShape hinzu, die vom Shapes-Objekt bereitgestellt wird. -- Setzen Sie den Linienstil auf einen der von Aspose.Slides für Python über .NET angebotenen Stile. -- Setzen Sie die Breite der Linie. -- Setzen Sie den [Dash-Stil](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) der Linie auf einen der von Aspose.Slides für Python über .NET angebotenen Stile. -- Setzen Sie den [Pfeilkopf-Stil](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) und die Länge des Anfangspunktes der Linie. -- Setzen Sie den Pfeilkopf-Stil und die Länge des Endpunktes der Linie. -- Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Aspose.Slides ermöglicht das Konfigurieren von Linieneigenschaften, um sie optisch ansprechender zu gestalten. Im Folgenden konfigurieren wir einige Eigenschaften einer Linie, sodass sie wie ein Pfeil aussieht. Vorgehensweise: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Holen Sie sich eine Referenz auf eine Folie nach Index. +1. Fügen Sie dem [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/)‑Objekt eine [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) vom Typ `LINE` über die Methode `add_auto_shape` hinzu. +1. Setzen Sie den [line style](https://reference.aspose.com/slides/python-net/aspose.slides/linestyle/). +1. Setzen Sie die Linienbreite. +1. Setzen Sie den [dash style](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) der Linie. +1. Setzen Sie den [arrowhead style](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) und die Länge für den Startpunkt der Linie. +1. Setzen Sie den Pfeilspitzen‑Stil und die Länge für den Endpunkt der Linie. +1. Speichern Sie die Präsentation als PPTX‑Datei. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Erstellen Sie eine Instanz der PresentationEx-Klasse, die die PPTX-Datei darstellt -with slides.Presentation() as pres: - # Holen Sie sich die erste Folie - sld = pres.slides[0] +# Instanziieren der Presentation-Klasse, die die PPTX-Datei darstellt. +with slides.Presentation() as presentation: + # Erste Folie holen. + slide = presentation.slides[0] + + # AutoShape vom Typ LINE hinzufügen. + shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # Formatierung auf die Linie anwenden. + shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN + shape.line_format.width = 10 + + shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT + + shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT + shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL + + shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG + shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE + + shape.line_format.fill_format.fill_type = slides.FillType.SOLID + shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon + + # Präsentation als PPTX-Datei speichern. + presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX) +``` + - # Fügen Sie eine AutoShape vom Typ Linie hinzu - shp = sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) +## **FAQ** - # Wenden Sie einige Formatierungen auf die Linie an - shp.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN - shp.line_format.width = 10 +**Kann ich eine normale Linie in einen Connector umwandeln, sodass sie an Formen "einrastet"?** - shp.line_format.dash_style = slides.LineDashStyle.DASH_DOT +Nein. Eine normale Linie (ein [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) vom Typ [LINE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/)) wird nicht automatisch zu einem Connector. Verwenden Sie den dedizierten [Connector](https://reference.aspose.com/slides/python-net/aspose.slides/connector/)-Typ und die [corresponding APIs](/slides/de/python-net/connector/) für Verbindungen. - shp.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT - shp.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL +**Was soll ich tun, wenn die Eigenschaften einer Linie vom Theme geerbt werden und es schwierig ist, die endgültigen Werte zu bestimmen?** - shp.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG - shp.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE +[Lesen Sie die effektiven Eigenschaften](/slides/de/python-net/shape-effective-properties/) über die Klassen [ILineFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilineformateffectivedata/)/[ILineFillFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilinefillformateffectivedata/) – diese berücksichtigen bereits Vererbung und Theme‑Stile. - shp.line_format.fill_format.fill_type = slides.FillType.SOLID - shp.line_format.fill_format.solid_fill_color.color = draw.Color.maroon +**Kann ich eine Linie gegen Bearbeiten (Verschieben, Größenänderung) sperren?** - # Schreiben Sie die PPTX auf die Festplatte - pres.save("LineShape2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Ja. Formen bieten [lock objects](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/), mit denen Sie [disallow editing operations](/slides/de/python-net/applying-protection-to-presentation/) deaktivieren können. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md index 3670514083..04f617a57a 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md @@ -1,34 +1,46 @@ --- -title: Absatz +title: Absatzgrenzen aus Präsentationen in Python ermitteln +linktitle: Absatz type: docs weight: 60 url: /de/python-net/paragraph/ -keywords: "Absatz, Portion, Absatzkoordinate, Portionskoordinate, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Absatz und Portion in PowerPoint-Präsentation in Python" +keywords: +- Absatzgrenzen +- Textabschnittsgrenzen +- Absatzkoordinate +- Portionskoordinate +- Absatzgröße +- Textabschnittsgröße +- Textfeld +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie in Aspose.Slides für Python via .NET Absatz- und Textportionen-Grenzen abrufen, um die Textpositionierung in PowerPoint- und OpenDocument-Präsentationen zu optimieren." --- -## **Abrufen von Absatz- und Portionskoordinaten im TextFrame** -Mit Aspose.Slides für Python über .NET können Entwickler jetzt die rechteckigen Koordinaten für Absätze innerhalb der Absatzsammlung eines TextFrames abrufen. Es ermöglicht auch, die Koordinaten der Portion innerhalb der Portionssammlung eines Absatzes zu erhalten. In diesem Thema werden wir mithilfe eines Beispiels demonstrieren, wie die rechteckigen Koordinaten für einen Absatz zusammen mit der Position der Portion innerhalb eines Absatzes abgerufen werden können. - -## **Abrufen der rechteckigen Koordinaten des Absatzes** -Die neue Methode **GetRect()** wurde hinzugefügt. Sie ermöglicht es, das Rechteck der Absatzgrenzen zu erhalten. +## **Koordinaten von Absatz und Portion in TextFrame erhalten** +Mit Aspose.Slides für Python via .NET können Entwickler jetzt die rechteckigen Koordinaten für einen Paragraphen innerhalb der Paragraphensammlung eines TextFrames abrufen. Außerdem können Sie die Koordinaten einer Portion innerhalb der Portionssammlung eines Paragraphen erhalten. In diesem Thema demonstrieren wir anhand eines Beispiels, wie man die rechteckigen Koordinaten für einen Paragraphen zusammen mit der Position einer Portion innerhalb eines Paragraphen erhält. +## **Rechteckige Koordinaten eines Absatzes erhalten** +Die neue Methode **GetRect()** wurde hinzugefügt. Sie ermöglicht das Abrufen des Begrenzungsrechtecks eines Paragraphen. ```py import aspose.slides as slides -# Erstellen Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt +# Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei repräsentiert with slides.Presentation(path + "Shapes.pptx") as presentation: shape = presentation.slides[0].shapes[0] textFrame = shape.text_frame rect = textFrame.paragraphs[0].get_rect() ``` -## **Abrufen der Größe des Absatzes und der Portion innerhalb des Tabellenzellen-TextFrames** ## -Um die [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) oder die [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) Größe und Koordinaten in einem Tabellenzellen-TextFrame zu erhalten, können Sie die [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) und [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) Methoden verwenden. +## **Größe von Absatz und Portion innerhalb des TextFrames einer Tabellenzelle erhalten** ## -Dieser Beispielcode demonstriert die beschriebene Operation: +Um die Größe und die Koordinaten von [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) oder [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) in einem TextFrame einer Tabellenzelle zu erhalten, können Sie die Methoden [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) und [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) verwenden. +Dieses Beispielcode demonstriert die beschriebene Operation: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -61,4 +73,23 @@ with slides.Presentation(path + "source.pptx") as pres: rect.x + x, rect.y + y, rect.width, rect.height) shape.fill_format.fill_type = slides.FillType.NO_FILL -``` \ No newline at end of file +``` + + +## **FAQ** + +**In welchen Einheiten werden die Koordinaten eines Absatzes und Textportionen zurückgegeben?** + +In Punkt, wobei 1 Zoll = 72 Punkt entspricht. Dies gilt für alle Koordinaten und Abmessungen auf der Folie. + +**Beeinflusst das Textumbruch die Begrenzungen eines Absatzes?** + +Ja. Wenn [wrapping](https://reference.aspose.com/slides/python-net/aspose.slides/textframeformat/wrap_text/) im [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) aktiviert ist, bricht der Text um, um die Breite des Bereichs zu füllen, wodurch sich die tatsächlichen Begrenzungen des Absatzes ändern. + +**Können Absatzkoordinaten zuverlässig in Pixel im exportierten Bild umgewandelt werden?** + +Ja. Konvertiere Punkt in Pixel mithilfe von: pixels = points × (DPI / 72). Das Ergebnis hängt vom für das Rendern/Exportieren gewählten DPI ab. + +**Wie erhalte ich die "effektiven" Absatzformatierungsparameter unter Berücksichtigung der Stilvererbung?** + +Verwende die [effective paragraph formatting data structure](/slides/de/python-net/shape-effective-properties/); sie gibt die endgültigen konsolidierten Werte für Einzüge, Abstand, Umbruch, RTL und mehr zurück. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md index 8a6eb667e8..2a19115ccf 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md @@ -1,11 +1,11 @@ --- -title: Textteile in Präsentationen mit Python verwalten -linktitle: Textteil +title: Textabschnitte in Präsentationen mit Python verwalten +linktitle: Textabschnitt type: docs weight: 70 url: /de/python-net/portion/ keywords: -- Textportion +- Textabschnitt - Textteil - Textkoordinaten - Textposition @@ -14,21 +14,40 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Sie Textteile in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides for Python via .NET verwalten und Leistung sowie Anpassungsmöglichkeiten steigern." +description: "Erfahren Sie, wie Sie Textabschnitte in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python über .NET verwalten, um Leistung und Anpassungsmöglichkeiten zu verbessern." --- -## **Positionkoordinaten der Portion abrufen** -**GetCoordinates()**-Methode wurde zur IPortion- und Portion-Klasse hinzugefügt, die es ermöglicht, die Koordinaten des Beginns der Portion abzurufen: +## **Koordinaten von Textabschnitten abrufen** +Die Methode [get_coordinates](https://reference.aspose.com/slides/python-net/aspose.slides/portion/get_coordinates/) wurde zur Klasse [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) hinzugefügt, die das Abrufen der Koordinaten von Textabschnitten ermöglicht: ```py import aspose.slides as slides -with slides.Presentation(path + "HelloWorld.pptx") as presentation: +with slides.Presentation("HelloWorld.pptx") as presentation: shape = presentation.slides[0].shapes[0] - textFrame = shape.text_frame + text_frame = shape.text_frame - for paragraph in textFrame.paragraphs: + for paragraph in text_frame.paragraphs: for portion in paragraph.portions: point = portion.get_coordinates() - print("Koordinaten X =" + str(point.x) + " Koordinaten Y =" + str(point.y)) -``` \ No newline at end of file + print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y)) +``` + + +## **FAQ** + +**Kann ich einem einzelnen Teil des Textes innerhalb eines Absatzes einen Hyperlink zuweisen?** + +Ja, Sie können einem einzelnen Abschnitt einen [Hyperlink zuweisen](/slides/de/python-net/manage-hyperlinks/); nur dieses Fragment ist anklickbar, nicht der gesamte Absatz. + +**Wie funktioniert die Stilvererbung: Was überschreibt ein Portion und was wird von Paragraph/TextFrame übernommen?** + +Eigenschaften auf Portion‑Ebene haben die höchste Priorität. Wenn eine Eigenschaft nicht auf der [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) festgelegt ist, übernimmt die Engine sie vom [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/); ist sie dort ebenfalls nicht gesetzt, wird sie vom [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) oder vom [Theme](https://reference.aspose.com/slides/python-net/aspose.slides.theme/theme/)-Stil übernommen. + +**Was passiert, wenn die für eine Portion angegebene Schriftart auf dem Zielrechner/Server fehlt?** + +[Font substitution rules](/slides/de/python-net/font-selection-sequence/) werden angewendet. Der Text kann umfließen: Metriken, Silbentrennung und Breite können sich ändern, was für präzises Positionieren wichtig ist. + +**Kann ich für einen Portion einen eigenen Textfüllungs‑Transparenzwert oder Farbverlauf festlegen, unabhängig vom Rest des Absatzes?** + +Ja, Textfarbe, Füllung und Transparenz auf der [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/)-Ebene können von benachbarten Fragmenten abweichen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md index 99154ecbb7..2e8be4d0cc 100644 --- a/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md +++ b/de/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md @@ -1,65 +1,73 @@ --- -title: Rechteck +title: Rechtecke zu Präsentationen in Python hinzufügen +linktitle: Rechteck type: docs weight: 80 url: /de/python-net/rectangle/ -keywords: "Rechteck erstellen, PowerPoint-Form, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Rechteck in PowerPoint-Präsentation in Python erstellen" +keywords: +- Rechteck hinzufügen +- Rechteck erstellen +- Rechteckform +- einfaches Rechteck +- formatiertes Rechteck +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Steigern Sie Ihre PowerPoint- und OpenDocument-Präsentationen, indem Sie mit Aspose.Slides für Python über .NET Rechtecke hinzufügen – gestalten und ändern Sie Formen ganz einfach programmgesteuert." --- - ## **Einfaches Rechteck erstellen** -Wie in den vorherigen Themen geht es auch hier um das Hinzufügen einer Form, und dieses Mal ist die Form, über die wir sprechen werden, das Rechteck. In diesem Thema haben wir beschrieben, wie Entwickler einfache oder formatierte Rechtecke zu ihren Folien mit Aspose.Slides für Python über .NET hinzufügen können. Um ein einfaches Rechteck zu einer ausgewählten Folie der Präsentation hinzuzufügen, befolgen Sie bitte die folgenden Schritte: +Wie bei vorherigen Themen geht es auch hier um das Hinzufügen einer Form, und dieses Mal diskutieren wir das Rechteck. In diesem Thema haben wir beschrieben, wie Entwickler einfache oder formatierte Rechtecke zu ihren Folien mit Aspose.Slides für Python über .NET hinzufügen können. Um ein einfaches Rechteck zu einer ausgewählten Folie der Präsentation hinzuzufügen, folgen Sie bitte den untenstehenden Schritten: 1. Erstellen Sie eine Instanz der [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)Klasse. -1. Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -1. Fügen Sie eine IAutoShape vom Typ Rechteck mit der Methode AddAutoShape hinzu, die vom IShapes-Objekt zur Verfügung gestellt wird. -1. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Im folgenden Beispiel haben wir ein einfaches Rechteck zur ersten Folie der Präsentation hinzugefügt. +1. Holen Sie die Referenz einer Folie, indem Sie deren Index verwenden. +1. Fügen Sie eine IAutoShape vom Typ Rectangle mithilfe der AddAutoShape‑Methode, die vom IShapes‑Objekt bereitgestellt wird, hinzu. +1. Schreiben Sie die modifizierte Präsentation als PPTX‑Datei. +Im nachstehenden Beispiel haben wir ein einfaches Rechteck zur ersten Folie der Präsentation hinzugefügt. ```py import aspose.slides as slides -# Instanziieren Sie die Präsentationsklasse, die die PPTX darstellt +# Instanziieren Sie die Presentation‑Klasse, die die PPTX darstellt with slides.Presentation() as pres: - # Erhalten Sie die erste Folie + # Holen Sie die erste Folie sld = pres.slides[0] - # Fügen Sie eine Autohshape vom Typ Rechteck hinzu + # Fügen Sie eine AutoShape des Typs Rectangle hinzu sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - #Schreiben Sie die PPTX-Datei auf die Festplatte + # Schreiben Sie die PPTX‑Datei auf die Festplatte pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **Formatiertes Rechteck erstellen** -Um ein formatiertes Rechteck zu einer Folie hinzuzufügen, befolgen Sie bitte die folgenden Schritte: +Um ein formatiertes Rechteck zu einer Folie hinzuzufügen, folgen Sie bitte den untenstehenden Schritten: 1. Erstellen Sie eine Instanz der [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)Klasse. -1. Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -1. Fügen Sie eine IAutoShape vom Typ Rechteck mit der Methode AddAutoShape hinzu, die vom IShapes-Objekt zur Verfügung gestellt wird. -1. Setzen Sie den Fülltyp des Rechtecks auf Fest. -1. Setzen Sie die Farbe des Rechtecks mit der Eigenschaft SolidFillColor.Color, wie sie vom FillFormat-Objekt bereitgestellt wird, das mit dem IShape-Objekt verknüpft ist. +1. Holen Sie die Referenz einer Folie, indem Sie deren Index verwenden. +1. Fügen Sie eine IAutoShape vom Typ Rectangle mithilfe der AddAutoShape‑Methode, die vom IShapes‑Objekt bereitgestellt wird, hinzu. +1. Setzen Sie den Fülltyp des Rechtecks auf Solid. +1. Setzen Sie die Farbe des Rechtecks über die Eigenschaft SolidFillColor.Color, die vom FillFormat‑Objekt des IShape‑Objekts bereitgestellt wird. 1. Setzen Sie die Farbe der Linien des Rechtecks. 1. Setzen Sie die Breite der Linien des Rechtecks. -1. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - Die obigen Schritte sind im folgenden Beispiel implementiert. - +1. Schreiben Sie die modifizierte Präsentation als PPTX‑Datei. + Die oben genannten Schritte sind im nachstehenden Beispiel umgesetzt. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instanziieren Sie die Präsentationsklasse, die die PPTX darstellt +# Instanziieren Sie die Presentation‑Klasse, die die PPTX repräsentiert with slides.Presentation() as pres: - # Erhalten Sie die erste Folie + # Holen Sie die erste Folie sld = pres.slides[0] - # Fügen Sie eine Autohshape vom Typ Rechteck hinzu + # Fügen Sie eine AutoShape vom Typ Rectangle hinzu shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # Wenden Sie einige Formatierungen auf die Rechteckform an + # Wenden Sie einige Formatierungen auf die Rechtecksform an shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate @@ -68,6 +76,37 @@ with slides.Presentation() as pres: shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - #Schreiben Sie die PPTX-Datei auf die Festplatte + # Schreiben Sie die PPTX‑Datei auf die Festplatte pres.save("RectShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie füge ich ein Rechteck mit abgerundeten Ecken hinzu?** + +Verwenden Sie den abgerundeten [Formtyp](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) und passen Sie den Eckradius in den Eigenschaften der Form an; das Abrunden kann auch für jede Ecke einzeln über Geometrie‑Anpassungen erfolgen. + +**Wie fülle ich ein Rechteck mit einem Bild (Textur)?** + +Wählen Sie den Bild‑[Fülltyp](https://reference.aspose.com/slides/python-net/aspose.slides/filltype/), geben Sie die Bildquelle an und konfigurieren Sie die [Dehnungs‑/Kachel‑Modi](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillmode/). + +**Kann ein Rechteck Schatten und Leuchten haben?** + +Ja. [Äußerer/innerer Schatten, Leuchten und weiche Kanten](/slides/de/python-net/shape-effect/) sind verfügbar und verfügen über anpassbare Parameter. + +**Kann ich ein Rechteck in einen Button mit Hyperlink umwandeln?** + +Ja. [Weisen Sie der Form einen Hyperlink zu](/slides/de/python-net/manage-hyperlinks/) (Sprung zu einer Folie, Datei, Webadresse oder E‑Mail). + +**Wie kann ich ein Rechteck vor Verschieben und Änderungen schützen?** + +[Verwenden Sie Form‑Sperren](/slides/de/python-net/applying-protection-to-presentation/): Sie können das Verschieben, Ändern der Größe, Auswählen oder Bearbeiten von Text verbieten, um das Layout beizubehalten. + +**Kann ich ein Rechteck in ein Rasterbild oder SVG konvertieren?** + +Ja. Sie können die Form [rendern](http://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) zu einem Bild mit einer angegebenen Größe/Skala oder sie [als SVG exportieren](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) für die Verwendung als Vektor. + +**Wie erhalte ich schnell die tatsächlichen (effektiven) Eigenschaften eines Rechtecks unter Berücksichtigung von Theme und Vererbung?** + +[Verwenden Sie die effektiven Eigenschaften der Form](/slides/de/python-net/shape-effective-properties/): Die API liefert berechnete Werte, die Theme‑Stile, Layout und lokale Einstellungen berücksichtigen und die Formatierungsanalyse vereinfachen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md index 49be14cae1..26b5584df9 100644 --- a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md +++ b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md @@ -1,11 +1,11 @@ --- title: Standard-Schriftarten in Präsentationen mit Python anpassen -linktitle: Standardschriftart +linktitle: Standard-Schriftart type: docs weight: 30 url: /de/python-net/default-font/ keywords: -- Standardschriftart +- Standard-Schriftart - Reguläre Schriftart - Normale Schriftart - Asiatische Schriftart @@ -17,31 +17,29 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Legen Sie Standardschriftarten in Aspose.Slides for Python fest, um eine korrekte Konvertierung von PowerPoint (PPT, PPTX) und OpenDocument (ODP) in PDF, XPS und Bilder sicherzustellen." +description: "Legen Sie Standard-Schriftarten in Aspose.Slides für Python fest, um eine korrekte Konvertierung von PowerPoint (PPT, PPTX) und OpenDocument (ODP) zu PDF, XPS und Bildern sicherzustellen." --- -## **Verwendung von Standard-Schriftarten für das Rendern von Präsentationen** -Aspose.Slides ermöglicht es Ihnen, die Standard-Schriftart für das Rendern der Präsentation in PDF, XPS oder Thumbnails festzulegen. Dieser Artikel zeigt, wie Sie DefaultRegular Font und DefaultAsian Font als Standard-Schriftarten definieren können. Bitte folgen Sie den untenstehenden Schritten, um Schriftarten aus externen Verzeichnissen mithilfe der Aspose.Slides für Python über .NET API zu laden: +## **Verwendung von Standardschriften für das Rendern von Präsentationen** +Aspose.Slides ermöglicht das Festlegen der Standardschrift für das Rendern der Präsentation in PDF, XPS oder Miniaturansichten. Dieser Artikel zeigt, wie man DefaultRegularFont und DefaultAsianFont als Standardschriften definiert. Bitte folgen Sie den nachstehenden Schritten, um Schriftarten aus externen Verzeichnissen mit Aspose.Slides für Python via .NET‑API zu laden: -1. Erstellen Sie eine Instanz von LoadOptions. -1. Setzen Sie die DefaultRegularFont auf die gewünschte Schriftart. Im folgenden Beispiel habe ich Wingdings verwendet. -1. Setzen Sie die DefaultAsianFont auf die gewünschte Schriftart. Ich habe im folgenden Beispiel Wingdings verwendet. -1. Laden Sie die Präsentation mit Presentation und setzen Sie die Ladeoptionen. -1. Generieren Sie nun das Folien-Thumbnil, PDF und XPS, um die Ergebnisse zu überprüfen. - -Die Implementierung des obigen ist unten angegeben. +1. Erstellen Sie eine Instanz von LoadOptions. +2. Setzen Sie DefaultRegularFont auf die gewünschte Schriftart. Im folgenden Beispiel habe ich Wingdings verwendet. +3. Setzen Sie DefaultAsianFont auf die gewünschte Schriftart. Ich habe Wingdings im folgenden Beispiel verwendet. +4. Laden Sie die Präsentation mit Presentation und den festgelegten Ladeoptionen. +5. Erzeugen Sie nun die Folien‑Miniatur, PDF und XPS, um die Ergebnisse zu überprüfen. ```py import aspose.slides as slides -# Verwenden Sie Ladeoptionen, um die Standard-Schriftarten für Regular und Asian zu definieren +# Verwenden Sie Ladeoptionen, um die Standard‑schriftarten (Regulär und Asiatisch) festzulegen# Verwenden Sie Ladeoptionen, um die Standard‑schriftarten (Regulär und Asiatisch) festzulegen loadOptions = slides.LoadOptions(slides.LoadFormat.AUTO) loadOptions.default_regular_font = "Wingdings" loadOptions.default_asian_font = "Wingdings" -# Präsentation laden +# Laden Sie die Präsentation with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: - # Folien-Thumbnails generieren + # Erzeugen Sie die Folien‑Miniatur with pptx.slides[0].get_image(1, 1) as img: img.save("output_out.png", slides.ImageFormat.PNG) @@ -50,4 +48,27 @@ with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: # XPS generieren pptx.save("output_out.xps", slides.export.SaveFormat.XPS) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Was genau beeinflussen default_regular_font und default_asian_font – nur den Export oder auch Miniaturansichten, PDF, XPS, HTML und SVG?** + +Sie wirken in der Rendering‑Pipeline für alle unterstützten Ausgaben mit. Dazu gehören Folien‑Miniaturansichten, [PDF](/slides/de/python-net/convert-powerpoint-to-pdf/), [XPS](/slides/de/python-net/convert-powerpoint-to-xps/), [Rasterbilder](/slides/de/python-net/convert-powerpoint-to-png/), [HTML](/slides/de/python-net/convert-powerpoint-to-html/), und [SVG](/slides/de/python-net/render-a-slide-as-an-svg-image/), weil Aspose.Slides dieselbe Layout‑ und Glyphen‑Auflösungslogik für diese Ziele verwendet. + +**Werden Standardschriften auch angewendet, wenn man einfach ein PPTX liest und speichert, ohne zu rendern?** + +Nein. Standardschriften sind relevant, wenn Text gemessen und gezeichnet werden muss. Ein einfaches Öffnen‑und‑Speichern einer Präsentation ändert die gespeicherten Schriftlauf‑Informationen oder die Dateistruktur nicht. Standardschriften kommen bei Vorgängen zum Einsatz, die Text rendern oder neu layouten. + +**Wenn ich eigene Schriftordner hinzufüge oder Schriftarten aus dem Speicher bereitstelle, werden sie bei der Auswahl der Standardschriften berücksichtigt?** + +Ja. [Benutzerdefinierte Schriftquellen](/slides/de/python-net/custom-font/) erweitern den Katalog verfügbarer Familien und Glyphen, die die Engine nutzen kann. Standardschriften und alle [Fallback‑Regeln](/slides/de/python-net/fallback-font/) werden zunächst gegen diese Quellen aufgelöst, was zu einer zuverlässigeren Abdeckung auf Servern und in Containern führt. + +**Beeinflussen Standardschriften die Textmetriken (Kerning, Vorstufen) und damit Zeilenumbrüche und Textumbruch?** + +Ja. Das Ändern der Schriftart ändert die Glyphenmetriken und kann während des Renderns Zeilenumbrüche, Textumbruch und Seiteneinteilung verändern. Für Layout‑Stabilität sollten Sie [die Originalschriftarten einbetten](/slides/de/python-net/embedded-font/) oder metrisch kompatible Standard‑ und Fallback‑Familien wählen. + +**Gibt es einen Sinn, Standardschriften festzulegen, wenn alle in der Präsentation verwendeten Schriftarten eingebettet sind?** + +Oft ist das nicht nötig, weil [eingebettete Schriftarten](/slides/de/python-net/embedded-font/) bereits ein konsistentes Erscheinungsbild gewährleisten. Standardschriften dienen jedoch weiterhin als Sicherheitsnetz für Zeichen, die nicht im eingebetteten Subset enthalten sind, oder wenn eine Datei eingebetteten und nicht eingebetteten Text mischt. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md index 803037764c..3457ca91f7 100644 --- a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md +++ b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md @@ -1,19 +1,44 @@ --- -title: Fallback-Schriftart +title: Verwalten von Fallback-Schriftarten für Präsentationen in Python +linktitle: Fallback-Schriftart type: docs weight: 50 url: /de/python-net/fallback-font/ -keywords: "Fallback-Schriftart, Schriftart, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "PowerPoint-Fallback-Schriftart in Python" +keywords: +- Fallback-Schriftart +- verfügbare Schriftart +- Glyphen-Ersetzung +- Schriftart angeben +- Regel angeben +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Aspose.Slides für Python über .NET Fallback-Schriftarten verwendet, um Text in PowerPoint- und OpenDocument-Präsentationen lesbar zu halten, wenn die ursprünglichen Schriftarten nicht verfügbar sind." --- ## **Fallback-Schriftart** -Die Fallback-Schriftart wird verwendet, wenn die für den Text angegebene Schriftart im System verfügbar ist, diese Schriftart jedoch ein erforderliches Glyphenzeichen nicht enthält. In diesem Fall ist es möglich, eine der angegebenen Fallback-Schriftarten zum Ersetzen des Glyphenzeichens zu verwenden. +Eine Fallback-Schriftart wird verwendet, wenn die für den Text angegebene Schriftart im System vorhanden ist, diese jedoch kein benötigtes Glyph enthält. In diesem Fall kann eines der angegebenen Fallback-Schriftarten zur Glyphen‑Ersetzung verwendet werden. -Aspose.Slides ermöglicht es, Fallback-Schriftarten zu erstellen, sie zur Sammlung der Fallback-Schriftarten hinzuzufügen, eine Fallback-Schriftartsammlung für eine bestimmte Präsentation festzulegen, Fallback-Schriftarten aus der Präsentation zu entfernen, die Regeln für die Anwendung von Fallback-Schriftarten festzulegen und mehr. +Aspose.Slides ermöglicht das Erstellen von Fallback-Schriftarten, das Hinzufügen zu einer Fallback-Schriftarten‑Sammlung, das Festlegen einer Fallback‑Schriftarten‑Sammlung für eine bestimmte Präsentation, das Entfernen von Fallback-Schriftarten aus einer Präsentation, das Angeben von Regeln zur Anwendung von Fallback‑Schriftarten und weitere Vorgänge. -Um sich mit diesen Funktionen vertraut zu machen, nutzen Sie die folgenden Links: +Um sich mit diesen Funktionen vertraut zu machen, verwenden Sie die folgenden Links: -- [Fallback-Schriftart erstellen](/slides/de/python-net/create-fallback-font) -- [Fallback-Schriftartensammlung erstellen](/slides/de/python-net/create-fallback-fonts-collection) -- [Präsentation mit Fallback-Schriftart rendern](/slides/de/python-net/render-presentation-with-fallback-font) \ No newline at end of file +- [Create Fallback Font](/slides/de/python-net/create-fallback-font) +- [Create Fallback Fonts Collection](/slides/de/python-net/create-fallback-fonts-collection) +- [Render Presentation with Fallback Font](/slides/de/python-net/render-presentation-with-fallback-font) + +## **FAQ** + +**Wie unterscheiden sich Fallback-Schriftarten von der Schriftart-Substitution?** + +Fallback wird pro Zeichen oder pro Unicode‑Bereich angewendet, wenn die primäre Schriftart bestimmte Glyphen nicht enthält; es füllt nur die fehlenden Zeichen. [Substitution](/slides/de/python-net/font-substitution/) ersetzt eine fehlende oder nicht verfügbare Schriftart für einen gesamten Lauf oder Textabschnitt durch eine andere Schriftart. Sie können kombiniert werden, aber ihr Geltungsbereich und die Auswahllogik unterscheiden sich. + +**Werden Fallback‑Einstellungen in der Präsentationsdatei gespeichert?** + +Nein. Die Fallback‑Konfiguration existiert nur zur Verarbeitungs‑/Renderzeit in der Bibliothek und wird nicht in die PPTX serialisiert. Die Präsentation speichert Ihre Fallback‑Regeln nicht. + +**Beeinflusst Fallback Elemente, die von PowerPoint‑Objekten (SmartArt, Diagrammen, WordArt) erstellt wurden?** + +Ja. Text in diesen Objekten durchläuft dieselbe Rendering‑Pipeline, sodass dieselben Fallback‑Regeln darauf wie auf normalen Text angewendet werden. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md index 8e566d66f7..868ac8625e 100644 --- a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md +++ b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md @@ -1,14 +1,28 @@ --- -title: Erstellen von Fallback-Schriftarten +title: Fallback-Schriftarten für Präsentationen in Python festlegen +linktitle: Fallback-Schriftart type: docs weight: 10 url: /de/python-net/create-fallback-font/ -keywords: "Schriftarten, Fallback-Schriftart, PowerPoint-Präsentation Python, Aspose.Slides für Python über .NET" -description: "Fallback-Schriftart in PowerPoint in Python" +keywords: +- Fallback-Schriftart +- Fallback-Regel +- Schriftart anwenden +- Schriftart ersetzen +- Unicode-Bereich +- fehlende Glyphe +- passende Glyphe +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Meistern Sie Aspose.Slides für Python via .NET, um Fallback-Schriftarten in PPT-, PPTX- und ODP-Dateien festzulegen und eine konsistente Textdarstellung auf jedem Gerät oder Betriebssystem zu gewährleisten." --- -Aspose.Slides unterstützt das [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) Interface und die [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) Klasse, um die Regeln zur Anwendung einer Fallback-Schriftart festzulegen. Die [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) Klasse stellt eine Assoziation zwischen dem angegebenen Unicode-Bereich, der zur Suche nach fehlenden Glyphen verwendet wird, und einer Liste von Schriftarten dar, die die entsprechenden Glyphen enthalten können: +## **Fallback-Schriftarten angeben** +Aspose.Slides unterstützt das [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/)‑Interface und die [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/)‑Klasse, um die Regeln für die Anwendung einer Fallback‑Schriftart festzulegen. Die Klasse [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) stellt eine Zuordnung zwischen dem angegebenen Unicode‑Bereich, der zum Suchen fehlender Glyphen verwendet wird, und einer Liste von Schriften dar, die die passenden Glyphen enthalten können: ```py startUnicodeIndex = 0x0B80 endUnicodeIndex = 0x0BFF @@ -16,16 +30,39 @@ endUnicodeIndex = 0x0BFF firstRule = slides.FontFallBackRule(startUnicodeIndex, endUnicodeIndex, "Vijaya") secondRule = slides.FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic") -#Auf verschiedene Weise können Sie eine Schriftartenliste hinzufügen: +#Verwenden Sie mehrere Möglichkeiten, um eine Schriftliste hinzuzufügen: fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial" ] thirdRule = slides.FontFallBackRule(0x1F300, 0x1F64F, fontNames) ``` -Es ist auch möglich, die [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) Fallback-Schriftart oder die [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) in ein vorhandenes [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) Objekt hinzuzufügen. -Die [FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) kann verwendet werden, um eine Liste von [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) Objekten zu organisieren, wenn es erforderlich ist, Fallback-Schriftartenersatzregeln für mehrere Unicode-Bereiche festzulegen. +Es ist außerdem möglich, die Fallback‑Schriftart mit [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) zu entfernen oder mit [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) zu einer vorhandenen [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/)‑Instanz hinzuzufügen. -{{% alert color="primary" title="Siehe auch" %}} -- [Fallback-Schriftarten-Sammlung erstellen](/slides/de/python-net/create-fallback-fonts-collection/) -{{% /alert %}} \ No newline at end of file +[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) kann verwendet werden, um eine Liste von [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/)‑Objekten zu organisieren, wenn für mehrere Unicode‑Bereiche Fallback‑Schriftart‑Ersetzungsregeln angegeben werden müssen. + +{{% alert color="primary" title="See also" %}} +- [Create Fallback Fonts Collection](/slides/de/python-net/create-fallback-fonts-collection/) +{{% /alert %}} + +## **FAQ** + +**Was ist der Unterschied zwischen einer Fallback‑Schriftart, einer Schriftart‑Substitution und dem Einbetten von Schriftarten?** + +Eine Fallback‑Schriftart wird nur für Zeichen verwendet, die in der primären Schriftart fehlen. [Font substitution](/slides/de/python-net/font-substitution/) ersetzt die gesamte angegebene Schriftart durch eine andere Schriftart. [Font embedding](/slides/de/python-net/embedded-font/) verpackt die Schriftarten in der Ausgabedatei, sodass Empfänger den Text wie beabsichtigt anzeigen können. + +**Werden Fallback‑Schriftarten bei Exporten wie PDF, PNG oder SVG angewendet oder nur bei der Bildschirmdarstellung?** + +Ja. Fallback beeinflusst alle [rendering and export operations](/slides/de/python-net/convert-presentation/), bei denen Zeichen gezeichnet werden müssen, die in der Quellschriftart nicht vorhanden sind. + +**Ändert die Konfiguration von Fallback die Präsentationsdatei selbst und bleibt die Einstellung bei zukünftigen Öffnungen erhalten?** + +Nein. Fallback‑Regeln sind Laufzeit‑Render‑Einstellungen in Ihrem Code; sie werden nicht in der .pptx gespeichert und erscheinen nicht in PowerPoint. + +**Beeinflussen das Betriebssystem (Windows/Linux/macOS) und die Menge der Schriftarten‑Verzeichnisse die Auswahl des Fallbacks?** + +Ja. Die Engine löst Schriftarten aus den verfügbaren Systemordnern und allen von Ihnen angegebenen [additional paths](/slides/de/python-net/custom-font/) auf. Ist eine Schriftart physisch nicht verfügbar, kann eine Regel, die sie referenziert, nicht wirksam werden. + +**Funktioniert Fallback für WordArt, SmartArt und Diagramme?** + +Ja. Wenn diese Objekte Text enthalten, wird derselbe Glyph‑Substitutions‑Mechanismus angewendet, um fehlende Zeichen darzustellen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md index 70cbb25728..56d0cf615d 100644 --- a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md +++ b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md @@ -1,34 +1,35 @@ --- -title: Schriftartenersetzung in Präsentationen mit Python vereinfachen -linktitle: Schriftartenersetzung +title: Vereinfachen Sie den Schriftartenaustausch in Präsentationen mit Python +linktitle: Schriftart ersetzen type: docs weight: 60 url: /de/python-net/font-replacement/ keywords: - Schriftart - Schriftart ersetzen -- Schriftartenersetzung +- Schriftartersetzung - Schriftart ändern - PowerPoint - OpenDocument - Präsentation - Python - Aspose.Slides -description: "Schriftarten nahtlos in Aspose.Slides for Python via .NET ersetzen, um eine konsistente Typografie in PowerPoint- und OpenDocument-Präsentationen sicherzustellen." +description: "Ersetzen Sie Schriftarten nahtlos in Aspose.Slides Python über .NET, um eine konsistente Typografie in PowerPoint- und OpenDocument-Präsentationen sicherzustellen." --- -Wenn Sie Ihre Meinung über die Verwendung einer Schriftart ändern, können Sie diese Schriftart durch eine andere ersetzen. Alle Instanzen der alten Schriftart werden durch die neue Schriftart ersetzt. +## **Schriftarten ersetzen** -Aspose.Slides ermöglicht es, eine Schriftart auf diese Weise zu ersetzen: +Wenn Sie Ihre Meinung ändern und eine Schriftart nicht mehr verwenden möchten, können Sie diese Schriftart durch eine andere ersetzen. Alle Vorkommen der alten Schriftart werden durch die neue Schriftart ersetzt. -1. Laden Sie die relevante Präsentation. -2. Laden Sie die zu ersetzende Schriftart. -3. Laden Sie die neue Schriftart. -4. Ersetzen Sie die Schriftart. -5. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Aspose.Slides ermöglicht das Ersetzen einer Schriftart auf folgende Weise: -Dieser Python-Code demonstriert den Schriftartwechsel: +1. Laden Sie die betreffende Präsentation. +2. Laden Sie die Schriftart, die ersetzt werden soll. +3. Laden Sie die neue Schriftart. +4. Ersetzen Sie die Schriftart. +5. Schreiben Sie die modifizierte Präsentation als PPTX‑Datei. +Dieser Python‑Code demonstriert das Ersetzen von Schriftarten: ```py import aspose.pydrawing as draw import aspose.slides as slides @@ -48,8 +49,43 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: presentation.save("UpdatedFont_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="Hinweis" color="warning" %}} -Um Regeln festzulegen, die bestimmen, was unter bestimmten Bedingungen passiert (wenn eine Schriftart nicht zugegriffen werden kann, zum Beispiel), siehe [**Schriftartsubstitution**](/slides/de/python-net/font-substitution/). +{{% alert title="Note" color="warning" %}} -{{% /alert %}} \ No newline at end of file +Um Regeln festzulegen, die bestimmen, was unter bestimmten Bedingungen passiert (z. B. wenn auf eine Schriftart nicht zugegriffen werden kann), siehe [**Font Substitution**](/slides/de/python-net/font-substitution/). + +{{% /alert %}} + +## **FAQ** + +**Was ist der Unterschied zwischen "Schriftart‑Ersetzung", "Schriftart‑Substitution" und "Fallback‑Schriftarten"?** + +Ersetzung ist ein gezielter Wechsel von einer Familie zur anderen im gesamten Dokument. [Substitution](/slides/de/python-net/font-substitution/) ist eine Regel wie „wenn die Schriftart nicht verfügbar ist, verwende X.“ [Fallback](/slides/de/python-net/fallback-font/) wird punktuell für einzelne fehlende Glyphen angewendet, wenn die Basis­schriftart installiert ist, aber die benötigten Zeichen nicht enthält. + +**Wird die Ersetzung auf Master‑Folien, Layouts, Notizen und Kommentare angewendet?** + +Ja. Die Ersetzung wirkt sich auf alle Präsentationsobjekte aus, die die ursprüngliche Schriftart verwenden, einschließlich Master‑Folien und Notizen; Kommentare sind ebenfalls Teil des Dokuments und werden von der Schrift‑Engine berücksichtigt. + +**Ändert sich die Schriftart in eingebetteten OLE‑Objekten (z. B. Excel)?** + +Nein. [OLE‑Inhalt](/slides/de/python-net/manage-ole/) wird von seiner eigenen Anwendung gesteuert. Eine Ersetzung in der Präsentation formatiert die internen OLE‑Daten nicht neu; sie können als Bild oder als extern editierbarer Inhalt angezeigt werden. + +**Kann ich eine Schriftart nur in einem Teil der Präsentation (nach Folien oder Bereichen) ersetzen?** + +Gezielte Ersetzung ist möglich, wenn Sie die Schriftart auf Ebene der benötigten Objekte/Bereiche ändern, anstatt eine globale Ersetzung für das gesamte Dokument vorzunehmen. Die Gesamt‑Logik zur Schriftartauswahl beim Rendern bleibt unverändert. + +**Wie kann ich im Voraus ermitteln, welche Schriftarten die Präsentation tatsächlich verwendet?** + +Verwenden Sie den [Font Manager] der Präsentation(https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/): Er liefert eine Liste der [verwendeten Familien](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) und Informationen zu [Substitutionen/„unbekannten“ Schriftarten](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_substitutions/), was die Planung der Ersetzung unterstützt. + +**Funktioniert die Schriftart‑Ersetzung beim Konvertieren in PDF/Bilder?** + +Ja. Beim Export wendet Aspose.Slides dieselbe [Schriftart‑Auswahl/‑Substitutions‑Sequenz](/slides/de/python-net/font-selection-sequence/) an, sodass eine zuvor durchgeführte Ersetzung während der Konvertierung berücksichtigt wird. + +**Muss ich die Ziel‑schriftart im System installieren oder kann ich einen Schriftarten‑Ordner anhängen?** + +Eine Installation ist nicht erforderlich: Die Bibliothek ermöglicht das [Laden externer Schriftarten](/slides/de/python-net/custom-font/) aus Benutzerordnern für die Verwendung während des [Renderns und Exports](/slides/de/python-net/convert-powerpoint/). + +**Wird die Ersetzung „Tofu“ (Quadrate) anstelle von Zeichen beheben?** + +Nur wenn die Ziel‑schriftart die erforderlichen Glyphen tatsächlich enthält. Andernfalls sollte [Fallback](/slides/de/python-net/fallback-font/) konfiguriert werden, um die fehlenden Zeichen abzudecken. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md index e3f4cf99d0..2d82362635 100644 --- a/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md +++ b/de/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md @@ -1,23 +1,37 @@ --- -title: Schriftartersetzung +title: Schriftart-Substitution in Präsentationen mit Python konfigurieren +linktitle: Schriftart-Substitution type: docs weight: 70 url: /de/python-net/font-substitution/ -keywords: "Schriftart, Ersatzschriftart, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Schriftart in PowerPoint in Python ersetzen" +keywords: +- Schriftart +- Schriftart ersetzen +- Schriftart-Substitution +- Schriftart ersetzen +- Schriftart-Ersetzung +- Substitutionsregel +- Ersetzungsregel +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Aktivieren Sie optimale Schriftart-Substitution in Aspose.Slides für Python via .NET beim Konvertieren von PowerPoint- und OpenDocument-Präsentationen in andere Dateiformate." --- -Aspose.Slides ermöglicht es Ihnen, Regeln für Schriftarten festzulegen, die bestimmen, was unter bestimmten Bedingungen getan werden muss (zum Beispiel, wenn eine Schriftart nicht zugänglich ist) auf folgende Weise: +## **Substitutionsregeln festlegen** + +Aspose.Slides ermöglicht es Ihnen, Regeln für Schriftarten festzulegen, die bestimmen, was unter bestimmten Bedingungen (z. B. wenn auf eine Schriftart nicht zugegriffen werden kann) zu tun ist, und das auf folgende Weise: 1. Laden Sie die relevante Präsentation. -2. Laden Sie die Schriftart, die ersetzt werden soll. +2. Laden Sie die zu ersetzende Schriftart. 3. Laden Sie die neue Schriftart. 4. Fügen Sie eine Regel für den Ersatz hinzu. -5. Fügen Sie die Regel zur Regelkollektion für Schriftart-Ersatz der Präsentation hinzu. -6. Generieren Sie das Folienbild, um den Effekt zu beobachten. - -Dieser Python-Code demonstriert den Schriftartersetzungsprozess: +5. Fügen Sie die Regel zur Sammlung der Schriftart‑Ersetzungsregeln der Präsentation hinzu. +6. Erzeugen Sie das Folienbild, um die Wirkung zu beobachten. +Dieser Python-Code demonstriert den Schriftart‑Substitutionsprozess: ```python import aspose.slides as slides @@ -29,24 +43,53 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: # Lädt die neue Schriftart destFont = slides.FontData("Arial") - # Fügt eine Schriftartregel für den Schriftartersatz hinzu + # Fügt eine Schriftartregel für den Ersatz hinzu fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE) - # Fügt die Regel zur Sammlung der Ersatzschriftartregeln hinzu + # Fügt die Regel zur Sammlung der Schriftart-Ersetzungsregeln hinzu fontSubstRuleCollection = slides.FontSubstRuleCollection() fontSubstRuleCollection.add(fontSubstRule) - # Fügt die Schriftartregelsammlung zur Regel liste hinzu + # Fügt die Schriftartregel‑sammlung zur Regel‑liste hinzu presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection - # Die Arial-Schriftart wird anstelle von SomeRareFont verwendet, wenn Letztere nicht zugänglich ist + #Arial-Schrift wird anstelle von SomeRareFont verwendet, wenn diese nicht zugänglich ist with presentation.slides[0].get_image(1, 1) as bmp: - # Speichert das Bild im JPEG-Format auf der Festplatte + # Speichert das Bild im JPEG-Format auf dem Datenträger bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG) ``` -{{% alert title="HINWEIS" color="warning" %}} -Vielleicht möchten Sie [**Schriftart ersetzen**](/slides/de/python-net/font-replacement/). +{{% alert title="NOTE" color="warning" %}} +Vielleicht möchten Sie sich [**Font Replacement**](/slides/de/python-net/font-replacement/) ansehen. +{{% /alert %}} + +## **FAQ** + +**Was ist der Unterschied zwischen Font Replacement und Font Substitution?** + +[Replacement](/slides/de/python-net/font-replacement/) ist ein erzwungener Ersatz einer Schriftart durch eine andere in der gesamten Präsentation. Substitution ist eine Regel, die unter einer bestimmten Bedingung ausgelöst wird, zum Beispiel wenn die ursprüngliche Schriftart nicht verfügbar ist, und dann eine festgelegte Ersatzschriftart verwendet wird. + +**Wann genau werden Substitutionsregeln angewendet?** + +Die Regeln nehmen am normalen [font selection](/slides/de/python-net/font-selection-sequence/)‑Ablauf teil, der beim Laden, Rendern und Konvertieren ausgewertet wird; ist die gewählte Schriftart nicht verfügbar, wird ein Ersatz oder eine Substitution angewendet. + +**Wie ist das Standardverhalten, wenn weder Ersatz noch Substitution konfiguriert ist und die Schriftart im System fehlt?** + +Die Bibliothek versucht, die am nächsten liegende verfügbare Systemschriftart zu wählen, ähnlich wie PowerPoint. + +**Kann ich benutzerdefinierte externe Schriftarten zur Laufzeit anhängen, um Substitution zu vermeiden?** + +Ja. Sie können zur Laufzeit [add external fonts](/slides/de/python-net/custom-font/) hinzufügen, sodass die Bibliothek sie bei der Auswahl und dem Rendering berücksichtigt, auch für nachfolgende Konvertierungen. + +**Verteilt Aspose Schriftarten mit der Bibliothek?** + +Nein. Aspose verteilt keine kostenpflichtigen oder kostenlosen Schriftarten; Sie fügen Schriftarten selbst hinzu und verwenden sie nach eigenem Ermessen und Verantwortung. + +**Gibt es Unterschiede im Substitutionsverhalten unter Windows, Linux und macOS?** + +Ja. Die Schrifterkennung beginnt in den Schriftverzeichnissen des Betriebssystems. Die Menge der standardmäßig verfügbaren Schriftarten und die Suchpfade unterscheiden sich je nach Plattform, was die Verfügbarkeit und den Bedarf an Substitution beeinflusst. + +**Wie sollte ich die Umgebung vorbereiten, um unerwartete Substitutionen bei Batch‑Konvertierungen zu minimieren?** -{{% /alert %}} \ No newline at end of file +Synchronisieren Sie den Satz an Schriftarten über Maschinen oder Container hinweg, [add the external fonts](/slides/de/python-net/custom-font/) für die Ausgabedokumente hinzufügen und nach Möglichkeit [embed fonts](/slides/de/python-net/embedded-font/) in Präsentationen einbetten, damit die gewünschten Schriftarten beim Rendern verfügbar sind. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-notes/_index.md b/de/python-net/developer-guide/presentation-notes/_index.md index 2fb0ffbdba..42572d64ee 100644 --- a/de/python-net/developer-guide/presentation-notes/_index.md +++ b/de/python-net/developer-guide/presentation-notes/_index.md @@ -1,69 +1,88 @@ --- -title: Präsentationsnotizen +title: Verwalten von Präsentationsnotizen in Python +linktitle: Präsentationsnotizen type: docs weight: 110 url: /de/python-net/presentation-notes/ -keywords: "Notizen, PowerPoint-Notizen, Notizen hinzufügen, Notizen entfernen, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Notizen in PowerPoint-Präsentationen in Python hinzufügen und entfernen" +keywords: +- Notizen +- Notizfolie +- Notizen hinzufügen +- Notizen entfernen +- Notizstil +- Master-Notizen +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Passen Sie Präsentationsnotizen mit Aspose.Slides für Python via .NET an. Arbeiten Sie nahtlos mit PowerPoint- und OpenDocument-Notizen, um Ihre Produktivität zu steigern." --- - - -Aspose.Slides unterstützt das Entfernen von Notizenfolien aus einer Präsentation. In diesem Thema werden wir diese neue Funktion zum Entfernen von Notizen sowie das Hinzufügen von Notizenstilfolien aus jeder Präsentation vorstellen. Aspose.Slides für Python über .NET bietet die Funktion, Notizen von jeder Folie zu entfernen sowie Stil zu bestehenden Notizen hinzuzufügen. Entwickler können Notizen auf folgende Weise entfernen: +Aspose.Slides unterstützt das Entfernen von Notizfolien aus einer Präsentation. In diesem Thema stellen wir diese neue Funktion zum Entfernen von Notizen sowie zum Hinzufügen von Notizstil‑Folien zu einer beliebigen Präsentation vor. Aspose.Slides für Python via .NET bietet die Möglichkeit, Notizen einer beliebigen Folie zu entfernen und Stil zu vorhandenen Notizen hinzuzufügen. Entwickler können Notizen auf folgende Weise entfernen: - Notizen einer bestimmten Folie einer Präsentation entfernen. - Notizen aller Folien einer Präsentation entfernen. -## **Notizen von einer Folie entfernen** -Notizen einer bestimmten Folie können wie im folgenden Beispiel gezeigt entfernt werden: +## **Notizen von Folie entfernen** +Notizen einer bestimmten Folie können, wie im Beispiel unten gezeigt, entfernt werden: ```py import aspose.slides as slides -# Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt +# Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt with slides.Presentation(path + "AccessSlides.pptx") as presentation: # Entfernen der Notizen der ersten Folie mgr = presentation.slides[0].notes_slide_manager mgr.remove_notes_slide() - # Präsentation auf der Festplatte speichern + # Präsentation auf Festplatte speichern presentation.save("RemoveNotesAtSpecificSlide_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **Notizen von allen Folien entfernen** -Notizen aller Folien einer Präsentation können wie im folgenden Beispiel gezeigt entfernt werden: - +Notizen aller Folien einer Präsentation können, wie im Beispiel unten gezeigt, entfernt werden: ```py import aspose.slides as slides -# Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt +# Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt with slides.Presentation(path + "AccessSlides.pptx") as presentation: # Entfernen der Notizen aller Folien for i in range(len(presentation.slides)): mgr = presentation.slides[i].notes_slide_manager mgr.remove_notes_slide() - # Präsentation auf der Festplatte speichern + # Präsentation auf Festplatte speichern presentation.save("RemoveNotesFromAllSlides_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Notizenstil hinzufügen** -Die Notizenstil-Eigenschaft wurde zur [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) Schnittstelle und zur [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) Klasse hinzugefügt. Diese Eigenschaft gibt den Stil eines Notiztexts an. Die Implementierung wird im folgenden Beispiel demonstriert. - +## **NotesStyle hinzufügen** +Die Property NotesStyle wurde dem Interface [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) bzw. der Klasse [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) hinzugefügt. Diese Property gibt den Stil eines Notiztextes an. Die Implementierung wird im Beispiel unten demonstriert. ```py import aspose.slides as slides -# Instanziieren Sie die Präsentationsklasse, die die Präsentationsdatei darstellt +# Instanziiere Presentation-Klasse, die die Präsentationsdatei darstellt with slides.Presentation(path + "AccessSlides.pptx") as presentation: notesMaster = presentation.master_notes_slide_manager.master_notes_slide if notesMaster != None: - # Holen Sie den Textstil der MasterNotesSlide + # Hole den Textstil der MasterNotesSlide notesStyle = notesMaster.notes_style - #Setzen Sie das Symbol für die Aufzählungszeichen für die ersten Absatzebenen + #Setze Symbol-Aufzählungszeichen für Absätze der ersten Ebene paragraphFormat = notesStyle.get_level(0) paragraphFormat.bullet.type = slides.BulletType.SYMBOL - # Speichern Sie die PPTX-Datei auf der Festplatte + # PPTX-Datei auf die Festplatte speichern presentation.save("AddNotesSlideWithNotesStyle_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Welche API‑Entität bietet Zugriff auf die Notizen einer bestimmten Folie?** + +Notizen werden über den Notizen‑Manager der Folie abgerufen: Die Folie besitzt einen [NotesSlideManager](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/) und eine [property](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/notes_slide/), die das Notizen‑Objekt zurückgibt, oder `None`, wenn keine Notizen vorhanden sind. + +**Gibt es Unterschiede in der Notizunterstützung zwischen den PowerPoint‑Versionen, mit denen die Bibliothek arbeitet?** + +Die Bibliothek unterstützt ein breites Spektrum an Microsoft‑PowerPoint‑Formaten (97‑und neuer) sowie ODP; Notizen werden in diesen Formaten unterstützt, ohne dass eine installierte PowerPoint‑Kopie erforderlich ist. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-properties/_index.md b/de/python-net/developer-guide/presentation-properties/_index.md index c58ade216a..281c046147 100644 --- a/de/python-net/developer-guide/presentation-properties/_index.md +++ b/de/python-net/developer-guide/presentation-properties/_index.md @@ -1,156 +1,150 @@ --- -title: Präsentationseigenschaften +title: Verwalten von Präsentationseigenschaften mit Python +linktitle: Präsentationseigenschaften type: docs weight: 70 url: /de/python-net/presentation-properties/ -keywords: "PowerPoint-Eigenschaften, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "PowerPoint-Präsentationseigenschaften in Python" +keywords: +- PowerPoint-Eigenschaften +- Präsentationseigenschaften +- Dokumenteigenschaften +- eingebaute Eigenschaften +- benutzerdefinierte Eigenschaften +- erweiterte Eigenschaften +- Eigenschaften verwalten +- Eigenschaften ändern +- Dokumentmetadaten +- Metadaten bearbeiten +- Korrektursprache +- Standardsprache +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Meistern Sie die Präsentationseigenschaften in Aspose.Slides für Python via .NET und optimieren Sie Suche, Branding und Arbeitsabläufe in Ihren PowerPoint-Dateien." --- - -## **Lebendes Beispiel** -Versuchen Sie die [**Aspose.Slides-Metadaten**](https://products.aspose.app/slides/metadata) Online-Anwendung, um zu sehen, wie Sie mit Dokumenteigenschaften über die Aspose.Slides API arbeiten können: - -[](https://products.aspose.app/slides/metadata) - -[![todo:image_alt_text](slides-metadata.png)](https://products.aspose.app/slides/metadata) - - ## **Über Präsentationseigenschaften** -Wie bereits erwähnt, unterstützt Aspose.Slides für Python über .NET zwei Arten von Dokumenteigenschaften, nämlich **Eingebaute** und **Benutzerdefinierte** Eigenschaften. Entwickler können beide Arten von Eigenschaften mit Hilfe der Aspose.Slides für Python über .NET API zugreifen. Aspose.Slides für Python über .NET bietet eine Klasse [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) an, die die mit einer Präsentationsdatei verknüpften Dokumenteigenschaften darstellt über die [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) Eigenschaft. Entwickler können die durch das **Presentation**-Objekt bereitgestellte [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) Eigenschaft verwenden, um auf die Dokumenteigenschaften der Präsentationsdateien zuzugreifen, wie unten beschrieben: - +Wie bereits beschrieben unterstützt Aspose.Slides für Python via .NET zwei Arten von Dokumenteneigenschaften, nämlich **Built-in** und **Custom** Eigenschaften. Entwickler können also beide Arten von Eigenschaften über die Aspose.Slides für Python via .NET API nutzen. Aspose.Slides für Python via .NET stellt die Klasse [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) bereit, die die Dokumenteneigenschaften einer Präsentationsdatei über die Eigenschaft [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) repräsentiert. Entwickler können die von **Presentation** bereitgestellte [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) Eigenschaft verwenden, um die Dokumenteneigenschaften der Präsentationsdateien wie unten beschrieben zuzugreifen: {{% alert color="primary" %}} - -Bitte beachten Sie, dass Sie keine Werte für die **Anwendung** und **Produzenten** Felder festlegen können, da Aspose Ltd. und Aspose.Slides für Python über .NET x.x.x in diesen Feldern angezeigt werden. - +Bitte beachten Sie, dass Sie keine Werte für die Felder **Application** und **Producer** festlegen können, da Aspose Ltd. und Aspose.Slides für Python via .NET x.x.x in diesen Feldern angezeigt werden. {{% /alert %}} - ## **Verwalten von Präsentationseigenschaften** -Microsoft PowerPoint bietet eine Funktion, um einige Eigenschaften zu den Präsentationsdateien hinzuzufügen. Diese Dokumenteigenschaften ermöglichen es, nützliche Informationen zusammen mit den Dokumenten (Präsentationsdateien) zu speichern. Es gibt zwei Arten von Dokumenteigenschaften: -- Systemdefinierte (Eingebaute) Eigenschaften +Microsoft PowerPoint bietet die Möglichkeit, einige Eigenschaften zu einer Präsentationsdatei hinzuzufügen. Diese Dokumenteigenschaften ermöglichen es, nützliche Informationen zusammen mit den Dokumenten (Präsentationsdateien) zu speichern. Es gibt zwei Arten von Dokumenteigenschaften: + +- Systemdefinierte (Built-in) Eigenschaften - Benutzerdefinierte (Custom) Eigenschaften -**Eingebaute** Eigenschaften enthalten allgemeine Informationen über das Dokument, wie den Dokumenttitel, den Namen des Autors, Dokumentstatistiken usw. **Benutzerdefinierte** Eigenschaften sind solche, die von den Benutzern als **Name/Wert**-Paare definiert werden, wobei sowohl der Name als auch der Wert vom Benutzer festgelegt werden. Mit Aspose.Slides für Python über .NET können Entwickler auf die Werte von eingebauten Eigenschaften sowie benutzerdefinierten Eigenschaften zugreifen und diese ändern. Microsoft PowerPoint 2007 ermöglicht die Verwaltung der Dokumenteigenschaften der Präsentationsdateien. Alles, was Sie tun müssen, ist, auf das Office-Symbol zu klicken und dann das Menü **Vorbereiten | Eigenschaften | Erweiterte Eigenschaften** von Microsoft PowerPoint 2007 zu wählen. Wenn Sie das Menü **Erweiterte Eigenschaften** auswählen, erscheint ein Dialogfeld, mit dem Sie die Dokumenteigenschaften der PowerPoint-Datei verwalten können. Im **Eigenschafts-Dialog** können Sie sehen, dass es viele Registerkarten wie **Allgemein, Zusammenfassung, Statistiken, Inhalte und Benutzerdefiniert** gibt. Alle diese Registerkarten ermöglichen die Konfiguration verschiedener Arten von Informationen im Zusammenhang mit den PowerPoint-Dateien. Die **Benutzerdefiniert**-Registerkarte wird verwendet, um die benutzerdefinierten Eigenschaften der PowerPoint-Dateien zu verwalten. -## **Zugriff auf Eingebaute Eigenschaften** -Diese durch das **IDocumentProperties**-Objekt bereitgestellten Eigenschaften umfassen: **Ersteller(Autor)**, **Beschreibung**, **Schlüsselwörter**, **Erstellt** (Erstellungsdatum), **Ändert** (Änderungsdatum), **Gedruckt** (Letztes Druckdatum), **Letzte geänderte von**, **Schlüsselwörter**, **SharedDoc** (Ist zwischen verschiedenen Produzenten geteilt?), **Präsentationsformat**, **Betreff** und **Titel** +**Built-in** Eigenschaften enthalten allgemeine Informationen über das Dokument wie Titel, Autorname, Dokumentstatistiken usw. **Custom** Eigenschaften sind vom Benutzer als **Name/Value**‑Paare definierte Eigenschaften, bei denen sowohl Name als auch Wert vom Benutzer festgelegt werden. Mit Aspose.Slides für Python via .NET können Entwickler sowohl eingebaute als auch benutzerdefinierte Eigenschaften lesen und ändern. Microsoft PowerPoint 2007 ermöglicht die Verwaltung der Dokumenteigenschaften von Präsentationsdateien. Sie müssen lediglich das Office‑Symbol anklicken und anschließend **Prepare | Properties | Advanced Properties** im Menü von Microsoft PowerPoint 2007 auswählen. Nachdem Sie den Menüpunkt **Advanced Properties** gewählt haben, erscheint ein Dialog, in dem Sie die Dokumenteigenschaften der PowerPoint‑Datei verwalten können. Im **Properties Dialog** sehen Sie mehrere Registerkarten wie **General**, **Summary**, **Statistics**, **Contents** und **Custom**. Alle diese Registerkarten ermöglichen die Konfiguration verschiedener Informationen zu den PowerPoint‑Dateien. Die Registerkarte **Custom** wird verwendet, um die benutzerdefinierten Eigenschaften der PowerPoint‑Dateien zu verwalten. + +## **Zugriff auf eingebaute Eigenschaften** +Diese Eigenschaften, die vom **IDocumentProperties**‑Objekt bereitgestellt werden, umfassen: **Creator(Author)**, **Description**, **Keywords**, **Created** (Erstellungsdatum), **Modified** (Änderungsdatum), **Printed** (Datum des letzten Drucks), **LastModifiedBy**, **Keywords**, **SharedDoc** (Wird zwischen verschiedenen Produzenten geteilt?), **PresentationFormat**, **Subject** und **Title** ```py import aspose.slides as slides -# Instanziieren Sie die Präsentationsklasse, die die Präsentation darstellt +# Instanziieren der Presentation-Klasse, die die Präsentation darstellt with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: - # Erstellen Sie eine Referenz auf das mit der Präsentation verknüpfte Objekt + # Erstellen einer Referenz zum mit Presentation verbundenen Objekt documentProperties = pres.document_properties - # Anzeigen der eingebauten Eigenschaften - print("Kategorie : " + documentProperties.category) - print("Aktueller Status : " + documentProperties.content_status) - print("Erstellungsdatum : " + str(documentProperties.created_time)) - print("Autor : " + documentProperties.author) - print("Beschreibung : " + documentProperties.comments) - print("Schlüsselwörter : " + documentProperties.keywords) - print("Letzte Änderung von : " + documentProperties.last_saved_by) - print("Vorgesetzter : " + documentProperties.manager) - print("Änderungsdatum : " + str(documentProperties.last_saved_time)) - print("Präsentationsformat : " + documentProperties.presentation_format) - print("Letztes Druckdatum : " + str(documentProperties.last_printed)) - print("Ist zwischen Produzenten geteilt : " + str(documentProperties.shared_doc)) - print("Betreff : " + documentProperties.subject) - print("Titel : " + documentProperties.title) + # Anzeigen der integrierten Eigenschaften + print("category : " + documentProperties.category) + print("Current Status : " + documentProperties.content_status) + print("Creation Date : " + str(documentProperties.created_time)) + print("Author : " + documentProperties.author) + print("Description : " + documentProperties.comments) + print("KeyWords : " + documentProperties.keywords) + print("Last Modified By : " + documentProperties.last_saved_by) + print("Supervisor : " + documentProperties.manager) + print("Modified Date : " + str(documentProperties.last_saved_time)) + print("Presentation Format : " + documentProperties.presentation_format) + print("Last Print Date : " + str(documentProperties.last_printed)) + print("Is Shared between producers : " + str(documentProperties.shared_doc)) + print("Subject : " + documentProperties.subject) + print("Title : " + documentProperties.title) ``` -## **Modifizieren von Eingebauten Eigenschaften** -Die Modifizierung der eingebauten Eigenschaften von Präsentationsdateien ist ebenso einfach wie der Zugriff darauf. Sie können einfach einen Stringwert einer gewünschten Eigenschaft zuweisen, und der Eigenschaftswert wird geändert. Im folgenden Beispiel haben wir demonstriert, wie wir die eingebauten Dokumenteigenschaften der Präsentationsdatei ändern können. + +## **Eingebaute Eigenschaften ändern** +Das Ändern der eingebauten Eigenschaften von Präsentationsdateien ist genauso einfach wie ihr Zugriff. Sie können einfach einen Zeichenkettenwert einer beliebigen gewünschten Eigenschaft zuweisen und der Eigenschaftswert wird geändert. Im nachfolgenden Beispiel zeigen wir, wie man die eingebauten Dokumenteigenschaften einer Präsentationsdatei ändern kann. ```py import aspose.slides as slides -# Instanziieren Sie die Präsentationsklasse, die die Präsentation darstellt +# Instanziieren der Presentation-Klasse, die die Presentation darstellt with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation: - # Erstellen Sie eine Referenz auf das mit der Präsentation verknüpfte Objekt + # Erstellen einer Referenz zum mit Presentation verbundenen Objekt documentProperties = presentation.document_properties - # Setzen der eingebauten Eigenschaften - documentProperties.author = "Aspose.Slides für .NET" - documentProperties.title = "Ändern der Präsentationseigenschaften" - documentProperties.subject = "Aspose Betreff" - documentProperties.comments = "Aspose Beschreibung" + # Setzen der integrierten Eigenschaften + documentProperties.author = "Aspose.Slides for .NET" + documentProperties.title = "Modifying Presentation Properties" + documentProperties.subject = "Aspose Subject" + documentProperties.comments = "Aspose Description" documentProperties.manager = "Aspose Manager" - # Speichern Sie Ihre Präsentation in einer Datei + # Präsentation in einer Datei speichern presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Hinzufügen von Benutzerdefinierten Präsentationseigenschaften** -Aspose.Slides für Python über .NET ermöglicht es Entwicklern auch, benutzerdefinierte Werte für die Dokumenteigenschaften der Präsentation hinzuzufügen. Ein Beispiel ist unten gegeben, das zeigt, wie man die benutzerdefinierten Eigenschaften für eine Präsentation festlegt. +## **Benutzerdefinierte Präsentationseigenschaften hinzufügen** +Aspose.Slides für Python via .NET ermöglicht es Entwicklern auch, benutzerdefinierte Werte für Präsentations‑Dokumenteigenschaften hinzuzufügen. Das folgende Beispiel zeigt, wie benutzerdefinierte Eigenschaften für eine Präsentation gesetzt werden. ```py import aspose.slides as slides -# Instanziieren Sie die Präsentationsklasse +# Instanziieren der Presentation-Klasse with slides.Presentation() as presentation: # Dokumenteigenschaften abrufen documentProperties = presentation.document_properties # Benutzerdefinierte Eigenschaften hinzufügen - documentProperties.set_custom_property_value("Neue Benutzerdefinierte", 12) - documentProperties.set_custom_property_value("Mein Name", "Mudassir") - documentProperties.set_custom_property_value("Benutzerdefiniert", 124) + documentProperties.set_custom_property_value("New Custom", 12) + documentProperties.set_custom_property_value("My Nam", "Mudassir") + documentProperties.set_custom_property_value("Custom", 124) - # Abrufen des Eigenschaftsnames an einem bestimmten Index + # Property-Name an bestimmtem Index abrufen getPropertyName = documentProperties.get_custom_property_name(2) - # Entfernen der ausgewählten Eigenschaft + # Ausgewählte Eigenschaft entfernen documentProperties.remove_custom_property(getPropertyName) - # Speichern der Präsentation + # Präsentation speichern presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Zugriff und Modifikation von Benutzerdefinierten Eigenschaften** -Aspose.Slides für Python über .NET erlaubt es Entwicklern ebenfalls, auf die Werte der benutzerdefinierten Eigenschaften zuzugreifen. Ein Beispiel ist unten gegeben, das zeigt, wie Sie auf alle diese benutzerdefinierten Eigenschaften für eine Präsentation zugreifen und sie ändern können. +## **Zugriff auf und Ändern benutzerdefinierter Eigenschaften** +Aspose.Slides für Python via .NET ermöglicht es Entwicklern zudem, die Werte benutzerdefinierter Eigenschaften zu lesen. Das nachstehende Beispiel zeigt, wie Sie alle benutzerdefinierten Eigenschaften einer Präsentation zugreifen und ändern können. ```py import aspose.slides as slides -# Instanziieren Sie die Präsentationsklasse, die die PPTX darstellt +# Instanzieren der Presentation-Klasse, die die PPTX darstellt with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentation: - # Erstellen Sie eine Referenz auf das mit der Präsentation verknüpfte document_properties-Objekt + # Erstellen einer Referenz zum document_properties-Objekt, das mit der Präsentation verknüpft ist documentProperties = presentation.document_properties - # Zugriff und Modifikation benutzerdefinierter Eigenschaften + # Auf benutzerdefinierte Eigenschaften zugreifen und diese ändern for i in range(documentProperties.count_of_custom_properties): - # Anzeigen der Namen und Werte benutzerdefinierter Eigenschaften - print("Benutzerdefinierte Eigenschaftsname : " + documentProperties.get_custom_property_name(i)) - print("Benutzerdefinierte Eigenschaftswert : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) + # Namen und Werte benutzerdefinierter Eigenschaften anzeigen + print("Custom Property Name : " + documentProperties.get_custom_property_name(i)) + print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) - # Modifizieren der Werte benutzerdefinierter Eigenschaften - documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "Neuer Wert " + str(i + 1)) - # Speichern Sie Ihre Präsentation in einer Datei + # Werte benutzerdefinierter Eigenschaften ändern + documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1)) + # Präsentation in einer Datei speichern presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Überprüfen, ob die Präsentation geändert oder erstellt wurde** -Aspose.Slides für Python über .NET stellt eine Funktion bereit, um zu überprüfen, ob eine Präsentation geändert oder erstellt wurde. Ein Beispiel ist unten gegeben, das zeigt, wie festgestellt werden kann, ob die Präsentation erstellt oder geändert wurde. - -```py -import aspose.slides as slides - -info =slides.PresentationFactory.instance.get_presentation_info(path + "AccessModifyingProperties.pptx") -props = info.read_document_properties() - -print(props.name_of_application) -print(props.app_version) -``` - -## **Sprache für die Rechtschreibprüfung festlegen** - -Aspose.Slides bietet die `Language_Id`-Eigenschaft (bereitgestellt durch die [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/) Klasse), um Ihnen zu ermöglichen, die Sprache für die Rechtschreibprüfung für ein PowerPoint-Dokument festzulegen. Die Sprache für die Rechtschreibprüfung ist die Sprache, für die Rechtschreibung und Grammatik in der PowerPoint überprüft werden. -Dieser Python-Code zeigt Ihnen, wie Sie die Sprache für die Rechtschreibprüfung für ein PowerPoint festlegen: +## **Rechtschreibprüfungssprache festlegen** +Aspose.Slides stellt die Eigenschaft `Language_Id` (bereitgestellt von der Klasse [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)) zur Verfügung, um die Rechtschreibprüfungssprache für ein PowerPoint‑Dokument festzulegen. Die Rechtschreibprüfungssprache ist die Sprache, für die Rechtschreibung und Grammatik im PowerPoint geprüft werden. +Dieser Python‑Code zeigt, wie die Rechtschreibprüfungssprache für ein PowerPoint festgelegt wird: ```python import aspose.slides as slides @@ -166,17 +160,16 @@ with slides.Presentation(path + "SetProofingLanguage.pptx") as pres: portion_format.east_asian_font = font portion_format.latin_font = font - # Festlegen der Id einer Prüfungsprache + # Setze die Id einer Korrektursprache portion_format.language_id = "zh-CN" new_portion.text = "1。" paragraph.portions.add(new_portion) ``` -## **Standardsprache festlegen** - -Dieser Python-Code zeigt Ihnen, wie Sie die Standardsprache für eine gesamte PowerPoint-Präsentation festlegen: +## **Standardsprache festlegen** +Dieser Python‑Code zeigt, wie die Standardsprache für eine gesamte PowerPoint‑Präsentation festgelegt wird: ```python import aspose.slides as slides @@ -186,7 +179,27 @@ load_options.default_text_language = "en_US" with slides.Presentation(load_options) as pres: shp = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 150) text_frame = shp.text_frame - text_frame.text = "Neuer Text" + text_frame.text = "New Text" print(text_frame.paragraphs[0].portions[0].portion_format.language_id) -``` \ No newline at end of file +``` + + +## **Live-Beispiel** +Testen Sie die Online‑App [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata), um zu sehen, wie Sie mit Dokumenteigenschaften über die Aspose.Slides‑API arbeiten können: + +[![View & Edit PowerPoint Metadata](slides-metadata.png)](https://products.aspose.app/slides/metadata) + +## **FAQ** + +**Wie kann ich eine eingebaute Eigenschaft aus einer Präsentation entfernen?** + +Eingebaute Eigenschaften sind ein integraler Bestandteil der Präsentation und können nicht vollständig entfernt werden. Sie können jedoch ihre Werte ändern oder, sofern die jeweilige Eigenschaft dies zulässt, auf leer setzen. + +**Was geschieht, wenn ich eine benutzerdefinierte Eigenschaft hinzufüge, die bereits existiert?** + +Wenn Sie eine benutzerdefinierte Eigenschaft hinzufügen, die bereits existiert, wird ihr vorhandener Wert durch den neuen überschrieben. Sie müssen die Eigenschaft nicht vorher entfernen oder prüfen, da Aspose.Slides den Wert automatisch aktualisiert. + +**Kann ich Präsentationseigenschaften abrufen, ohne die gesamte Präsentation zu laden?** + +Ja, Sie können Präsentationseigenschaften abrufen, ohne die gesamte Präsentation zu laden, indem Sie die Methode [get_presentation_info](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/get_presentation_info/) der Klasse [PresentationFactory](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/) verwenden. Anschließend nutzen Sie die Methode [read_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/read_document_properties/) der Klasse [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/), um die Eigenschaften effizient zu lesen, was Speicher spart und die Leistung verbessert. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md b/de/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md index d03e185fce..098820376a 100644 --- a/de/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md +++ b/de/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md @@ -14,61 +14,76 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Sie PowerPoint- und OpenDocument-Dateien mit Aspose.Slides for Python via .NET digital signieren. Sichern Sie Ihre Folien in Sekunden mit klaren Codebeispielen." +description: "Erfahren Sie, wie Sie PowerPoint- & OpenDocument-Dateien mit Aspose.Slides für Python über .NET digital signieren. Sichern Sie Ihre Folien in Sekunden mit klaren Codebeispielen." --- -**Digitales Zertifikat** wird verwendet, um eine passwortgeschützte PowerPoint-Präsentation zu erstellen, die als von einer bestimmten Organisation oder Person erstellt gekennzeichnet ist. Ein digitales Zertifikat kann durch Kontaktaufnahme mit einer autorisierten Organisation - einer Zertifizierungsstelle - erhalten werden. Nach der Installation des digitalen Zertifikats im System kann es verwendet werden, um eine digitale Signatur zur Präsentation über Datei -> Informationen -> Präsentation schützen hinzuzufügen: +**Digitales Zertifikat** wird verwendet, um eine passwortgeschützte PowerPoint-Präsentation zu erstellen, die als von einer bestimmten Organisation oder Person erstellt gekennzeichnet ist. Ein digitales Zertifikat kann durch Kontaktaufnahme mit einer autorisierten Organisation – einer Zertifizierungsstelle – erhalten werden. Nach der Installation des digitalen Zertifikats im System kann es verwendet werden, um über Datei -> Informationen -> Präsentation schützen eine digitale Signatur zur Präsentation hinzuzufügen: ![todo:image_alt_text](https://lh5.googleusercontent.com/OPGhgHMb_L54PGJztP5oIO9zhxGXzhtnbcrC-z7yLUrc_NkRX1obBfwffXhPV1NWBiqhidiupCphixNGl25LkfQhliG6MCM6E-x16ZuQgMyLABC9bQ446ohMluZr6-ThgQLXCOyy) -Die Präsentation kann mehr als eine digitale Signatur enthalten. Nachdem die digitale Signatur zur Präsentation hinzugefügt wurde, erscheint eine spezielle Nachricht in PowerPoint: +Eine Präsentation kann mehr als eine digitale Signatur enthalten. Nachdem die digitale Signatur zur Präsentation hinzugefügt wurde, erscheint in PowerPoint eine spezielle Meldung: ![todo:image_alt_text](https://lh3.googleusercontent.com/7ZfH7wElhwcvgJ_btF3C32zasBRbT1yA4tFOpnNnUm0q57ayBKJr0Pb43Oi4RgeCoOmwhyxxz_g8kw3H3Qw8Iqeaka5Xipip9cqvwbadY4E40D_NhXnUnbtdXSHFX6fjNm_UBvLJ) -Um die Präsentation zu signieren oder die Authentizität der Präsentationssignaturen zu überprüfen, stellt die **Aspose.Slides API** die [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/) Schnittstelle, die [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) Schnittstelle und die [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/) Eigenschaft bereit. Derzeit werden digitale Signaturen nur für das PPTX-Format unterstützt. +Um eine Präsentation zu signieren oder die Authentizität von Präsentationssignaturen zu überprüfen, stellt die **Aspose.Slides API** die Schnittstelle [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/), die Schnittstelle [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) und[**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/) bereit. Derzeit werden digitale Signaturen nur für das PPTX-Format unterstützt. ## **Digitale Signatur aus PFX-Zertifikat hinzufügen** -Das folgende Коде-Beispiel zeigt, wie eine digitale Signatur aus einem PFX-Zertifikat hinzugefügt wird: - -1. Öffnen Sie die PFX-Datei und geben Sie das PFX-Passwort an den [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/) Objekt weiter. -1. Fügen Sie die erstellte Signatur dem Präsentationsobjekt hinzu. +Das untenstehende Code‑Beispiel zeigt, wie eine digitale Signatur aus einem PFX‑Zertifikat hinzugefügt wird: +1. Öffnen Sie die PFX‑Datei und übergeben Sie das PFX‑Passwort an das Objekt [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/). +2. Fügen Sie die erstellte Signatur dem Präsentationsobjekt hinzu. ```py -#[TODO:Exception] RuntimeError: Proxy error(FileNotFoundException): Konnte die Datei oder Assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' nicht laden. Datei wurde nicht gefunden. +#[TODO:Exception] RuntimeError: Proxy-Fehler(FileNotFoundException): Datei oder Assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' konnte nicht geladen werden. Datei wurde nicht gefunden. import aspose.slides as slides with slides.Presentation() as pres: - # Erstellen Sie das DigitalSignature-Objekt mit der PFX-Datei und dem PFX-Passwort + # DigitalSignature-Objekt mit PFX-Datei und PFX-Passwort erstellen signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1") - # Kommentieren Sie die neue digitale Signatur - signature.comments = "Aspose.Slides digitale Signaturtest." + # Kommentar zur neuen digitalen Signatur + signature.comments = "Aspose.Slides digital signing test." - # Fügen Sie die digitale Signatur der Präsentation hinzu + # Digitale Signatur zur Präsentation hinzufügen pres.digital_signatures.add(signature) # Präsentation speichern pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX) ``` -Jetzt ist es möglich zu überprüfen, ob die Präsentation digital signiert wurde und nicht verändert wurde: +Jetzt ist es möglich zu prüfen, ob die Präsentation digital signiert wurde und nicht verändert wurde: ```py # Präsentation öffnen with slides.Presentation("SomePresentationSigned.pptx") as pres: if len(pres.digital_signatures) > 0: allSignaturesAreValid = True - print("Signaturen, die zur Unterzeichnung der Präsentation verwendet wurden: ") + print("Signatures used to sign the presentation: ") # Prüfen, ob alle digitalen Signaturen gültig sind - for signature in pres.digital_signatures: + for signature in pres.digital_signatures : print(signature.certificate.subject_name.name + ", " - + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "GÜLTIG" if signature.is_valid else "UNGÜLTIG") + + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID") allSignaturesAreValid = allSignaturesAreValid and signature.is_valid + if allSignaturesAreValid: - print("Präsentation ist echt, alle Signaturen sind gültig.") + print("Presentation is genuine, all signatures are valid.") else: - print("Präsentation wurde seit der Unterzeichnung geändert.") -``` \ No newline at end of file + print("Presentation has been modified since signing.") +``` + + +## **FAQ** + +**Kann ich vorhandene Signaturen aus einer Datei entfernen?** + +Ja. Die Sammlung digitaler Signaturen unterstützt das [Entfernen einzelner Elemente](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/remove_at/) und das [Komplett leeren](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/clear/); nachdem Sie die Datei gespeichert haben, enthält die Präsentation keine Signaturen mehr. + +**Wird die Datei nach dem Signieren "schreibgeschützt"?** + +Nein. Eine Signatur bewahrt die Integrität und Urheberschaft, blockiert jedoch keine Änderungen. Um das Bearbeiten einzuschränken, kombinieren Sie sie mit ["Schreibgeschützt" oder einem Passwort](/slides/de/python-net/password-protected-presentation/). + +**Wird die Signatur in verschiedenen PowerPoint-Versionen korrekt angezeigt?** + +Die Signatur wird für den OOXML‑Container (PPTX) erstellt. Moderne PowerPoint‑Versionen, die OOXML‑Signaturen unterstützen, zeigen den Status solcher Signaturen korrekt an. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md b/de/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md index 641f8406ac..9142f50f6f 100644 --- a/de/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md +++ b/de/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md @@ -1,86 +1,109 @@ --- -title: Passwortgeschützte Präsentation +title: Präsentationen mit Passwörtern mit Python sichern +linktitle: Passwortschutz type: docs weight: 20 url: /de/python-net/password-protected-presentation/ -keywords: "PowerPoint sperren, PowerPoint entsperren, PowerPoint schützen, Passwort festlegen, Passwort hinzufügen, PowerPoint verschlüsseln, PowerPoint entschlüsseln, Schreibschutz, PowerPoint-Sicherheit, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Passwortschutz, Verschlüsselung und Sicherheit für PowerPoint in Python" - +keywords: +- PowerPoint sperren +- Präsentation sperren +- PowerPoint entsperren +- Präsentation entsperren +- PowerPoint schützen +- Präsentation schützen +- Passwort festlegen +- Passwort hinzufügen +- PowerPoint verschlüsseln +- Präsentation verschlüsseln +- PowerPoint entschlüsseln +- Präsentation entschlüsseln +- Schreibschutz +- PowerPoint Sicherheit +- Präsentationssicherheit +- Passwort entfernen +- Schutz entfernen +- Verschlüsselung entfernen +- Passwort deaktivieren +- Schutz deaktivieren +- Schreibschutz entfernen +- PowerPoint-Präsentation +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Sie PowerPoint- und OpenDocument-Präsentationen, die mit einem Passwort geschützt sind, mühelos mit Aspose.Slides für Python über .NET sperren und entsperren können. Steigern Sie Ihre Produktivität und sichern Sie Ihre Präsentationen mit unserer Schritt-für-Schritt-Anleitung." --- -## **Über Passwortschutz** +## **Über den Passwortschutz** ### **Wie funktioniert der Passwortschutz für Präsentationen?** -Wenn Sie eine Präsentation passwortschützen, bedeutet das, dass Sie ein Passwort festlegen, das bestimmte Einschränkungen für die Präsentation durchsetzt. Um die Einschränkungen zu entfernen, muss das Passwort eingegeben werden. Eine passwortgeschützte Präsentation gilt als gesperrt. +Wenn Sie eine Präsentation mit einem Passwort schützen, legen Sie ein Passwort fest, das bestimmte Einschränkungen für die Präsentation erzwingt. Um die Einschränkungen zu entfernen, muss das Passwort eingegeben werden. Eine passwortgeschützte Präsentation gilt als gesperrte Präsentation. Typischerweise können Sie ein Passwort festlegen, um diese Einschränkungen für eine Präsentation durchzusetzen: - **Änderung** - Wenn Sie nur bestimmten Benutzern erlauben möchten, Ihre Präsentation zu ändern, können Sie eine Änderungsbeschränkung festlegen. Die Einschränkung verhindert hier, dass Personen Dinge in Ihrer Präsentation modifizieren, ändern oder kopieren (es sei denn, sie geben das Passwort ein). + Wenn nur bestimmte Benutzer Ihre Präsentation ändern dürfen, können Sie eine Änderungsbeschränkung setzen. Diese Beschränkung verhindert, dass Personen die Präsentation ändern, bearbeiten oder Inhalte kopieren (es sei denn, sie geben das Passwort ein). - In diesem Fall kann ein Benutzer jedoch, auch ohne das Passwort, auf Ihr Dokument zugreifen und es öffnen. In diesem schreibgeschützten Modus kann der Benutzer den Inhalt oder Dinge—Hyperlinks, Animationen, Effekte und andere—innerhalb Ihrer Präsentation ansehen, aber er kann keine Elemente kopieren oder die Präsentation speichern. + In diesem Fall kann ein Benutzer das Dokument jedoch öffnen und darauf zugreifen, auch ohne das Passwort. Im Nur-Lese‑Modus kann er den Inhalt – Hyperlinks, Animationen, Effekte und andere Elemente – ansehen, aber keine Elemente kopieren oder die Präsentation speichern. - **Öffnen** - Wenn Sie nur bestimmten Benutzern erlauben möchten, Ihre Präsentation zu öffnen, können Sie eine Öffnungsbeschränkung festlegen. Die Einschränkung verhindert hier, dass Personen den Inhalt Ihrer Präsentation überhaupt ansehen (es sei denn, sie geben das Passwort ein). + Wenn nur bestimmte Benutzer die Präsentation öffnen dürfen, können Sie eine Öffnungsbeschränkung setzen. Diese Beschränkung verhindert, dass Personen überhaupt den Inhalt der Präsentation sehen (es sei denn, sie geben das Passwort ein). - Technisch verhindert die Öffnungsbeschränkung auch, dass Benutzer Ihre Präsentationen ändern: Wenn Personen eine Präsentation nicht öffnen können, können sie sie nicht ändern oder modifizieren. + Technisch verhindert die Öffnungsbeschränkung auch Änderungen: Wenn Personen eine Präsentation nicht öffnen können, können sie sie nicht ändern. - **Hinweis**: Wenn Sie eine Präsentation passwortschützen, um das Öffnen zu verhindern, wird die Präsentationsdatei verschlüsselt. + **Hinweis**: Wenn Sie eine Präsentation mit einem Passwort schützen, um das Öffnen zu verhindern, wird die Datei verschlüsselt. -## So schützen Sie eine Präsentation online mit einem Passwort +## Wie man eine Präsentation online passwortschützt -1. Gehen Sie zu unserer [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock) Seite. +1. Rufen Sie unsere Seite [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock) auf. ![todo:image_alt_text](slides-lock.png) -2. Klicken Sie auf **Dateien ziehen oder hochladen**. +2. Klicken Sie auf **Drop or upload your files**. 3. Wählen Sie die Datei aus, die Sie auf Ihrem Computer passwortschützen möchten. -4. Geben Sie Ihr bevorzugtes Passwort für den Schreibschutz ein; Geben Sie Ihr bevorzugtes Passwort für den Ansichtsschutz ein. +4. Geben Sie Ihr bevorzugtes Passwort für den Schreibschutz ein; geben Sie Ihr bevorzugtes Passwort für den Leseschutz ein. -5. Wenn Sie möchten, dass Benutzer Ihre Präsentation als endgültige Kopie sehen, markieren Sie das Kontrollkästchen **Als endgültig markieren**. +5. Wenn Sie möchten, dass Benutzer Ihre Präsentation als Endkopie sehen, aktivieren Sie das Kontrollkästchen **Mark as final**. -6. Klicken Sie auf **JETZT SCHÜTZEN**. +6. Klicken Sie auf **PROTECT NOW.** -7. Klicken Sie auf **JETZT HERUNTERLADEN**. +7. Klicken Sie auf **DOWNLOAD NOW.** ## **Passwortschutz für Präsentationen in Aspose.Slides** **Unterstützte Formate** -Aspose.Slides unterstützt Passwortschutz, Verschlüsselung und ähnliche Vorgänge für Präsentationen in diesen Formaten: +Aspose.Slides unterstützt Passwortschutz, Verschlüsselung und ähnliche Vorgänge für Präsentationen in folgenden Formaten: -- PPTX und PPT - Microsoft PowerPoint-Präsentation -- ODP - OpenDocument-Präsentation -- OTP - OpenDocument-Präsentationsvorlage +- PPTX und PPT – Microsoft PowerPoint Presentation +- ODP – OpenDocument Presentation +- OTP – OpenDocument Presentation Template **Unterstützte Vorgänge** -Aspose.Slides ermöglicht es Ihnen, Passwortschutz für Präsentationen zu verwenden, um Änderungen auf folgende Weise zu verhindern: +Aspose.Slides ermöglicht den Passwortschutz von Präsentationen, um Änderungen auf folgende Weise zu verhindern: -- Verschlüsselung einer Präsentation -- Festlegen eines Schreibschutzes für eine Präsentation +- Verschlüsseln einer Präsentation +- Setzen eines Schreibschutzes für eine Präsentation **Weitere Vorgänge** -Aspose.Slides ermöglicht es Ihnen, weitere Aufgaben im Zusammenhang mit Passwortschutz und Verschlüsselung auf folgende Weise durchzuführen: +Aspose.Slides ermöglicht weitere Aufgaben im Zusammenhang mit Passwortschutz und Verschlüsselung: -- Entziffern einer Präsentation; Öffnen einer verschlüsselten Präsentation -- Entfernen der Verschlüsselung; Deaktivieren des Passwortschutzes -- Entfernen des Schreibschutzes von einer Präsentation -- Abrufen der Eigenschaften einer verschlüsselten Präsentation -- Überprüfen, ob eine Präsentation verschlüsselt ist -- Überprüfen, ob eine Präsentation passwortgeschützt ist. +- Entschlüsseln einer Präsentation; Öffnen einer verschlüsselten Präsentation +- Entfernen der Verschlüsselung; Deaktivieren des Passwortschutzes +- Entfernen des Schreibschutzes von einer Präsentation +- Abrufen der Eigenschaften einer verschlüsselten Präsentation +- Prüfen, ob eine Präsentation verschlüsselt ist +- Prüfen, ob eine Präsentation passwortgeschützt ist ## **Verschlüsseln einer Präsentation** -Sie können eine Präsentation verschlüsseln, indem Sie ein Passwort festlegen. Um die gesperrte Präsentation zu ändern, muss der Benutzer das Passwort angeben. - -Um eine Präsentation zu verschlüsseln oder passwortzu schützen, müssen Sie die Methode encrypt (von [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)) verwenden, um ein Passwort für die Präsentation festzulegen. Sie übergeben das Passwort an die encrypt-Methode und verwenden die save-Methode, um die nun verschlüsselte Präsentation zu speichern. +Sie können eine Präsentation verschlüsseln, indem Sie ein Passwort festlegen. Um die gesperrte Präsentation zu ändern, muss der Benutzer das Passwort eingeben. -Dieser Beispielcode zeigt Ihnen, wie Sie eine Präsentation verschlüsseln: +Zum Verschlüsseln oder zum Passwortschutz einer Präsentation verwenden Sie die `encrypt`‑Methode (aus [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)), um ein Passwort für die Präsentation zu setzen. Sie übergeben das Passwort an die `encrypt`‑Methode und verwenden anschließend die `save`‑Methode, um die nun verschlüsselte Präsentation zu speichern. +Dieses Beispiel zeigt, wie Sie eine Präsentation verschlüsseln: ```py import aspose.slides as slides @@ -89,14 +112,14 @@ with slides.Presentation() as pres: pres.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Schreibschutz für eine Präsentation festlegen** -Sie können eine Markierung hinzufügen, die "Nicht ändern" angibt, zu einer Präsentation. Auf diese Weise können Sie den Benutzern mitteilen, dass Sie möchten, dass sie keine Änderungen an der Präsentation vornehmen. +## **Schreibschutz für eine Präsentation setzen** -**Hinweis**: Der Schreibschutzprozess verschlüsselt die Präsentation nicht. Daher können Benutzer—wenn sie das wirklich wollen—die Präsentation ändern, aber um die Änderungen zu speichern, müssen sie eine Präsentation mit einem anderen Namen erstellen. +Sie können einer Präsentation einen Hinweis „Do not modify“ hinzufügen. Auf diese Weise teilen Sie den Benutzern mit, dass sie die Präsentation nicht ändern sollen. -Um einen Schreibschutz festzulegen, müssen Sie die Methode setWriteProtection verwenden. Dieser Beispielcode zeigt Ihnen, wie Sie einen Schreibschutz für eine Präsentation festlegen: +**Hinweis**: Der Schreibschutzvorgang verschlüsselt die Präsentation nicht. Daher können Benutzer – falls gewünscht – die Präsentation ändern, müssen jedoch zum Speichern der Änderungen einen anderen Dateinamen wählen. +Um einen Schreibschutz zu setzen, verwenden Sie die `setWriteProtection`‑Methode. Dieses Beispiel zeigt, wie Sie einen Schreibschutz für eine Präsentation setzen: ```py import aspose.slides as slides @@ -105,12 +128,12 @@ with slides.Presentation() as pres: pres.save("write-protected-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Entschlüsseln einer Präsentation; Öffnen einer verschlüsselten Präsentation** -Aspose.Slides ermöglicht es Ihnen, eine verschlüsselte Datei zu laden, indem Sie ihr Passwort übergeben. Um eine Präsentation zu entschlüsseln, müssen Sie die Methode [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) ohne Parameter aufrufen. Dann müssen Sie das richtige Passwort eingeben, um die Präsentation zu laden. +## **Entschlüsseln einer Präsentation; Öffnen einer verschlüsselten Präsentation** -Dieser Beispielcode zeigt Ihnen, wie Sie eine Präsentation entschlüsseln: +Aspose.Slides ermöglicht das Laden einer verschlüsselten Datei, indem das Passwort übergeben wird. Zum Entschlüsseln einer Präsentation rufen Sie die [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)‑Methode ohne Parameter auf. Anschließend geben Sie das korrekte Passwort ein, um die Präsentation zu laden. +Dieses Beispiel zeigt, wie Sie eine Präsentation entschlüsseln: ```py import aspose.slides as slides @@ -120,12 +143,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: print(pres.document_properties.author) ``` -## **Entfernen der Verschlüsselung; Deaktivieren des Passwortschutzes** -Sie können die Verschlüsselung oder den Passwortschutz für eine Präsentation entfernen. Auf diese Weise können Benutzer auf die Präsentation zugreifen oder sie ohne Einschränkungen ändern. +## **Entfernen der Verschlüsselung; Deaktivieren des Passwortschutzes** -Um die Verschlüsselung oder den Passwortschutz zu entfernen, müssen Sie die Methode [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) aufrufen. Dieser Beispielcode zeigt Ihnen, wie Sie die Verschlüsselung von einer Präsentation entfernen: +Sie können die Verschlüsselung oder den Passwortschutz einer Präsentation entfernen. Damit können Benutzer die Präsentation ohne Einschränkungen öffnen oder ändern. +Zum Entfernen der Verschlüsselung bzw. des Passwortschutzes rufen Sie die [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)‑Methode auf. Dieses Beispiel zeigt, wie Sie die Verschlüsselung einer Präsentation entfernen: ```py import aspose.slides as slides @@ -136,12 +159,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: pres.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Entfernen des Schreibschutzes von einer Präsentation** -Sie können Aspose.Slides verwenden, um den Schreibschutz, der auf einer Präsentationsdatei verwendet wird, zu entfernen. Auf diese Weise können Benutzer nach Belieben Änderungen vornehmen—und sie erhalten keine Warnungen, wenn sie solche Aufgaben durchführen. +## **Entfernen des Schreibschutzes von einer Präsentation** -Sie können den Schreibschutz von einer Präsentation entfernen, indem Sie die Methode [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) verwenden. Dieser Beispielcode zeigt Ihnen, wie Sie den Schreibschutz von einer Präsentation entfernen: +Mit Aspose.Slides können Sie den Schreibschutz einer Präsentationsdatei entfernen. Dann können Benutzer die Datei nach Belieben ändern, ohne dass Warnungen erscheinen. +Sie entfernen den Schreibschutz mit der [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)‑Methode. Dieses Beispiel zeigt, wie Sie den Schreibschutz entfernen: ```py import aspose.slides as slides @@ -150,14 +173,12 @@ with slides.Presentation("write-protected-pres.pptx") as pres: pres.save("write-protection-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Abrufen der Eigenschaften einer verschlüsselten Präsentation** - -Typischerweise haben Benutzer Schwierigkeiten, die Dokumenteigenschaften einer verschlüsselten oder passwortgeschützten Präsentation zu erhalten. Aspose.Slides bietet jedoch einen Mechanismus, der es Ihnen ermöglicht, eine Präsentation passwortzuschützen und gleichzeitig den Benutzern den Zugang zu den Eigenschaften dieser Präsentation zu ermöglichen. -**Hinweis**: Wenn Aspose.Slides eine Präsentation verschlüsselt, werden die Dokumenteigenschaften der Präsentation standardmäßig ebenfalls passwortgeschützt. Aber wenn Sie die Eigenschaften der Präsentation zugänglich machen möchten (auch nachdem die Präsentation verschlüsselt wurde), erlaubt Ihnen Aspose.Slides genau das. +## **Abrufen der Eigenschaften einer verschlüsselten Präsentation** -Wenn Sie möchten, dass Benutzer die Möglichkeit behalten, auf die Eigenschaften einer von Ihnen verschlüsselten Präsentation zuzugreifen, können Sie die [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) Eigenschaft auf `True` setzen. Dieser Beispielcode zeigt Ihnen, wie Sie eine Präsentation verschlüsseln, während Sie den Benutzern ermöglichen, auf ihre Dokumenteigenschaften zuzugreifen: +Benutzer haben häufig Schwierigkeiten, die Dokumenteigenschaften einer verschlüsselten oder passwortgeschützten Präsentation zu erhalten. Aspose.Slides bietet jedoch einen Mechanismus, mit dem Sie eine Präsentation passwortschützen und gleichzeitig die Möglichkeit für Benutzer erhalten, die Eigenschaften abzurufen. +**Hinweis**: Wenn Aspose.Slides eine Präsentation verschlüsselt, werden die Dokumenteigenschaften standardmäßig ebenfalls passwortgeschützt. Wenn Sie jedoch möchten, dass die Eigenschaften auch nach der Verschlüsselung zugänglich bleiben, können Sie das `EncryptDocumentProperties`‑Attribut auf `True` setzen. Dieses Beispiel zeigt, wie Sie eine Präsentation verschlüsseln und gleichzeitig den Zugriff auf die Dokumenteigenschaften ermöglichen: ```py import aspose.slides as slides @@ -166,25 +187,25 @@ with slides.Presentation() as pres: pres.protection_manager.encrypt("123123") ``` -## **Überprüfen, ob eine Präsentation passwortgeschützt ist, bevor Sie sie laden** -Bevor Sie eine Präsentation laden, möchten Sie möglicherweise überprüfen und bestätigen, dass die Präsentation nicht mit einem Passwort geschützt ist. Auf diese Weise vermeiden Sie Fehler und ähnliche Probleme, die auftreten, wenn eine passwortgeschützte Präsentation ohne ihr Passwort geladen wird. +## **Prüfen, ob eine Präsentation vor dem Laden passwortgeschützt ist** -Dieser Python-Code zeigt Ihnen, wie Sie eine Präsentation untersuchen, um zu sehen, ob sie passwortgeschützt ist (ohne die Präsentation selbst zu laden): +Bevor Sie eine Präsentation laden, möchten Sie möglicherweise prüfen, ob sie bereits mit einem Passwort geschützt ist. So vermeiden Sie Fehler, die beim Laden einer passwortgeschützten Präsentation ohne gültiges Passwort auftreten können. +Dieser Python‑Code zeigt, wie Sie eine Präsentation prüfen, ohne sie zu laden: ```python import aspose.slides as slides presentationInfo = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -print("Die Präsentation ist passwortgeschützt: " + str(presentationInfo.is_password_protected)) +print("The presentation is password protected: " + str(presentationInfo.is_password_protected)) ``` -## **Überprüfen, ob eine Präsentation verschlüsselt ist** -Aspose.Slides ermöglicht es Ihnen, zu überprüfen, ob eine Präsentation verschlüsselt ist. Um diese Aufgabe auszuführen, können Sie die [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) Eigenschaft verwenden, die `True` zurückgibt, wenn die Präsentation verschlüsselt ist, oder `False`, wenn die Präsentation nicht verschlüsselt ist. +## **Prüfen, ob eine Präsentation verschlüsselt ist** -Dieser Beispielcode zeigt Ihnen, wie Sie überprüfen, ob eine Präsentation verschlüsselt ist: +Aspose.Slides ermöglicht das Prüfen, ob eine Präsentation verschlüsselt ist. Verwenden Sie dazu die [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)‑Eigenschaft, die `True` zurückgibt, wenn die Präsentation verschlüsselt ist, andernfalls `False`. +Dieses Beispiel zeigt, wie Sie prüfen, ob eine Präsentation verschlüsselt ist: ```py import aspose.slides as slides @@ -192,12 +213,12 @@ with slides.Presentation() as pres: print(str(pres.protection_manager.is_encrypted)) ``` -## **Überprüfen, ob eine Präsentation schreibgeschützt ist** -Aspose.Slides ermöglicht es Ihnen, zu überprüfen, ob eine Präsentation schreibgeschützt ist. Um diese Aufgabe auszuführen, können Sie die [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) Eigenschaft verwenden, die `True` zurückgibt, wenn die Präsentation schreibgeschützt ist, oder `False`, wenn die Präsentation nicht schreibgeschützt ist. +## **Prüfen, ob eine Präsentation schreibgeschützt ist** -Dieser Beispielcode zeigt Ihnen, wie Sie überprüfen, ob eine Präsentation schreibgeschützt ist: +Aspose.Slides ermöglicht das Prüfen, ob eine Präsentation schreibgeschützt ist. Verwenden Sie dazu die [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)‑Eigenschaft, die `True` zurückgibt, wenn die Präsentation schreibgeschützt ist, andernfalls `False`. +Dieses Beispiel zeigt, wie Sie prüfen, ob eine Präsentation schreibgeschützt ist: ```py import aspose.slides as slides @@ -205,23 +226,38 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(pres.protection_manager.is_write_protected)) ``` -## **Validieren oder Bestätigen, dass ein bestimmtes Passwort zum Schutz einer Präsentation verwendet wurde** -Sie möchten möglicherweise überprüfen und bestätigen, dass ein bestimmtes Passwort verwendet wurde, um ein Präsentationsdokument zu schützen. Aspose.Slides bietet Ihnen die Möglichkeit, ein Passwort zu validieren. +## **Validieren, ob ein bestimmtes Passwort zum Schutz einer Präsentation verwendet wurde** -Dieser Beispielcode zeigt Ihnen, wie Sie ein Passwort validieren: +Möglicherweise möchten Sie überprüfen, ob ein bestimmtes Passwort zum Schutz einer Präsentationsdatei eingesetzt wurde. Aspose.Slides stellt die Möglichkeit bereit, ein Passwort zu validieren. +Dieses Beispiel zeigt, wie Sie ein Passwort validieren: ```py import aspose.slides as slides with slides.Presentation("write-protected-pres.pptx") as pres: - # Überprüfen, ob "pass" übereinstimmt + # prüfen, ob "pass" übereinstimmt matched = pres.protection_manager.check_write_protection("my_password") print(str(matched)) ``` -Es gibt `True` zurück, wenn die Präsentation mit dem angegebenen Passwort verschlüsselt wurde. Andernfalls gibt es `False` zurück. + +Es gibt `True` zurück, wenn die Präsentation mit dem angegebenen Passwort verschlüsselt wurde, andernfalls `False`. {{% alert color="primary" title="Siehe auch" %}} -- [Digitale Signatur in PowerPoint](/slides/de/python-net/digital-signature-in-powerpoint/) -{{% /alert %}} \ No newline at end of file +- [Digital Signature in PowerPoint](/slides/de/python-net/digital-signature-in-powerpoint/) +{{% /alert %}} + +## **FAQ** + +**Welche Verschlüsselungsmethoden werden von Aspose.Slides unterstützt?** + +Aspose.Slides unterstützt moderne Verschlüsselungsmethoden, einschließlich AES‑basierter Algorithmen, und gewährleistet ein hohes Maß an Datensicherheit für Ihre Präsentationen. + +**Was passiert, wenn beim Öffnen einer Präsentation ein falsches Passwort eingegeben wird?** + +Es wird eine Ausnahme ausgelöst, die anzeigt, dass der Zugriff auf die Präsentation verweigert wird. Dies verhindert unbefugten Zugriff und schützt den Präsentationsinhalt. + +**Gibt es Leistungseinbußen bei der Arbeit mit passwortgeschützten Präsentationen?** + +Der Vorgang des Verschlüsselns und Entschlüsselns kann beim Öffnen und Speichern einen leichten Overhead verursachen. In den meisten Fällen ist dieser Einfluss minimal und beeinträchtigt die Gesamtverarbeitungszeit Ihrer Präsentationsaufgaben nicht. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md b/de/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md index 7bd8fd2f66..56c05bc1e7 100644 --- a/de/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md +++ b/de/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md @@ -1,25 +1,34 @@ --- -title: Nur-Lesen-Präsentation +title: Präsentationen im Nur-Lese-Modus mit Python speichern +linktitle: Nur-Lese-Präsentation type: docs weight: 30 url: /de/python-net/read-only-presentation/ -keywords: "Nur-Lesen-Einstellung, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Nur-Lesen PowerPoint-Präsentation in Python" +keywords: +- nur lesen +- Präsentation schützen +- Bearbeitung verhindern +- PowerPoint +- Präsentation +- Python +- Aspose.Slides +description: "Laden und Speichern von PowerPoint-Dateien (PPT, PPTX) im Nur-Lese-Modus mit Aspose.Slides für Python über .NET, das präzise Folienvorschauen ermöglicht, ohne Ihre Präsentationen zu verändern." --- -In PowerPoint 2019 führte Microsoft die **Immer als Nur-Lesen öffnen**-Einstellung als eine der Optionen ein, die Benutzer verwenden können, um ihre Präsentationen zu schützen. Sie möchten diese Nur-Lesen-Einstellung verwenden, um eine Präsentation zu schützen, wenn +## **Lese-Only-Modus anwenden** -- Sie versehentliche Bearbeitungen verhindern und den Inhalt Ihrer Präsentation sicher aufbewahren möchten. -- Sie die Personen darauf aufmerksam machen möchten, dass die von Ihnen bereitgestellte Präsentation die endgültige Version ist. +In PowerPoint 2019 hat Microsoft die Einstellung **Always Open Read-Only** eingeführt, die zu den Optionen gehört, mit denen Benutzer ihre Präsentationen schützen können. Sie möchten diese Lese-Only‑Einstellung verwenden, um eine Präsentation zu schützen, wenn -Nachdem Sie die **Immer als Nur-Lesen öffnen**-Option für eine Präsentation ausgewählt haben, sehen die Benutzer beim Öffnen der Präsentation die **Nur-Lesen**-Empfehlung und möglicherweise eine Nachricht in dieser Form: *Um versehentliche Änderungen zu verhindern, hat der Autor diese Datei als schreibgeschützt eingerichtet.* +- Sie verhindern versehentliche Änderungen und halten den Inhalt Ihrer Präsentation sicher. +- Sie möchten die Personen darauf hinweisen, dass die von Ihnen bereitgestellte Präsentation die endgültige Version ist. -Die Nur-Lesen-Empfehlung ist ein einfacher, aber effektiver Abschreckungsmechanismus, der das Bearbeiten verhindert, da die Benutzer eine Aufgabe ausführen müssen, um sie zu entfernen, bevor sie die Präsentation bearbeiten dürfen. Wenn Sie nicht möchten, dass Benutzer Änderungen an einer Präsentation vornehmen, und sie auf höfliche Weise darüber informieren möchten, könnte die Nur-Lesen-Empfehlung eine gute Option für Sie sein. +Nachdem Sie die Option **Always Open Read-Only** für eine Präsentation ausgewählt haben, sehen die Benutzer beim Öffnen der Präsentation die **Read-Only**‑Empfehlung und möglicherweise eine Meldung in folgender Form: *Um versehentliche Änderungen zu verhindern, hat der Autor diese Datei zum Öffnen im Nur-Lese-Modus festgelegt.* -> Wenn eine Präsentation mit dem **Nur-Lesen**-Schutz in einer älteren Microsoft PowerPoint-Anwendung geöffnet wird—die die kürzlich eingeführte Funktion nicht unterstützt—wird die **Nur-Lesen**-Empfehlung ignoriert (die Präsentation wird normal geöffnet). +Die **Read-Only**‑Empfehlung ist ein einfacher, aber wirksamer Abschreckungsmechanismus, der das Bearbeiten entmutigt, weil Benutzer eine Aufgabe ausführen müssen, um sie zu entfernen, bevor sie die Präsentation bearbeiten dürfen. Wenn Sie nicht möchten, dass Benutzer Änderungen an einer Präsentation vornehmen, und ihnen dies höflich mitteilen wollen, kann die **Read-Only**‑Empfehlung eine gute Option für Sie sein. -Aspose.Slides für Python über .NET ermöglicht es Ihnen, eine Präsentation als **Nur-Lesen** einzustellen, was bedeutet, dass die Benutzer (nachdem sie die Präsentation geöffnet haben) die **Nur-Lesen**-Empfehlung sehen. Dieser Beispielcode zeigt Ihnen, wie Sie eine Präsentation in Python mit Aspose.Slides als **Nur-Lesen** festlegen: +> Wird eine Präsentation mit **Read-Only**‑Schutz in einer älteren Microsoft PowerPoint-Anwendung geöffnet, die die kürzlich eingeführte Funktion nicht unterstützt, wird die **Read-Only**‑Empfehlung ignoriert (die Präsentation wird normal geöffnet). +Aspose.Slides für Python über .NET ermöglicht es Ihnen, eine Präsentation auf **Read-Only** zu setzen, wodurch Benutzer (nach dem Öffnen der Präsentation) die **Read-Only**‑Empfehlung sehen. Dieser Beispielcode zeigt, wie Sie eine Präsentation in Python mit Aspose.Slides auf **Read-Only** setzen: ```py import aspose.slides as slides @@ -28,8 +37,27 @@ with slides.Presentation() as pres: pres.save("ReadOnlyPresentation.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -**Hinweis**: Die **Nur-Lesen**-Empfehlung soll einfach das Bearbeiten entmutigen oder Benutzer daran hindern, versehentliche Änderungen an einer PowerPoint-Präsentation vorzunehmen. Wenn eine motivierte Person—die weiß, was sie tut—beschließt, Ihre Präsentation zu bearbeiten, kann sie das Nur-Lesen-Attribut leicht entfernen. Wenn Sie ernsthaft unbefugtes Bearbeiten verhindern müssen, sind Sie besser beraten, [striktere Schutzmaßnahmen zu verwenden, die Verschlüsselungen und Passwörter umfassen](https://docs.aspose.com/slides/python-net/password-protected-presentation/). +**Hinweis**: Die **Read-Only**‑Empfehlung soll lediglich das Bearbeiten abschrecken oder Benutzer daran hindern, versehentliche Änderungen an einer PowerPoint-Präsentation vorzunehmen. Wenn eine motivierte Person – die weiß, was sie tut – entscheidet, Ihre Präsentation zu bearbeiten, kann sie die Read-Only‑Einstellung leicht entfernen. Wenn Sie tatsächlich unbefugtes Bearbeiten verhindern müssen, ist es besser, [striktere Schutzmaßnahmen zu verwenden, die Verschlüsselungen und Passwörter umfassen](https://docs.aspose.com/slides/python-net/password-protected-presentation/). + +{{% /alert %}} + +## **FAQ** + +**Wie unterscheidet sich 'Read-Only empfohlen' von vollständigem Passwortschutz?** + +'Read-Only recommended' zeigt lediglich einen Vorschlag an, die Datei im Nur-Lese-Modus zu öffnen, und lässt sich leicht umgehen. [Passwortschutz](/slides/de/python-net/password-protected-presentation/) beschränkt tatsächlich das Öffnen oder Bearbeiten und ist geeignet, wenn Sie echte Sicherheitskontrollen benötigen. + +**Kann 'Read-Only empfohlen' mit Wasserzeichen kombiniert werden, um Bearbeitungen weiter abzuschrecken?** + +Ja. Die Empfehlung kann mit [Wasserzeichen](/slides/de/python-net/watermark/) als visuellen Abschreckungsmechanismus kombiniert werden; sie sind separate Verfahren und funktionieren gut zusammen. + +**Kann ein Makro oder externes Tool die Datei noch ändern, wenn die Empfehlung aktiviert ist?** + +Ja. Die Empfehlung blockiert keine programmatischen Änderungen. Um automatisierte Bearbeitungen zu verhindern, verwenden Sie [Passwörter und Verschlüsselung](/slides/de/python-net/password-protected-presentation/). + +**Wie steht 'Read-Only empfohlen' im Zusammenhang mit den Flags 'is_encrypted' und 'is_write_protected'?** -{{% /alert %}} \ No newline at end of file +Sie sind unterschiedliche Signale. 'Read-Only empfohlen' ist ein weicher, optionaler Hinweis; [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_write_protected/) und [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_encrypted/) zeigen tatsächliche Schreib‑ bzw. Lese‑Beschränkungen an, die von Passwörtern oder Verschlüsselung abhängen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-security/watermark/_index.md b/de/python-net/developer-guide/presentation-security/watermark/_index.md index 00231a27ed..abca691c8c 100644 --- a/de/python-net/developer-guide/presentation-security/watermark/_index.md +++ b/de/python-net/developer-guide/presentation-security/watermark/_index.md @@ -6,8 +6,8 @@ weight: 40 url: /de/python-net/watermark/ keywords: - Wasserzeichen -- Textwasserzeichen -- Bildwasserzeichen +- Text-Wasserzeichen +- Bild-Wasserzeichen - Wasserzeichen hinzufügen - Wasserzeichen ändern - Wasserzeichen entfernen @@ -26,31 +26,30 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Lernen Sie, wie Sie Text- und Bildwasserzeichen in PowerPoint- und OpenDocument-Präsentationen in Python verwalten, um einen Entwurf, vertrauliche Informationen, Urheberrechte und mehr zu kennzeichnen." +description: "Erfahren Sie, wie Sie Text- und Bildwasserzeichen in PowerPoint- und OpenDocument-Präsentationen in Python verwalten, um einen Entwurf, vertrauliche Informationen, Urheberrecht und mehr anzuzeigen." --- ## **Über Wasserzeichen** -**Ein Wasserzeichen** in einer Präsentation ist ein Text- oder Bildstempel, der auf einer Folie oder auf allen Präsentationsfolien verwendet wird. Üblicherweise wird ein Wasserzeichen verwendet, um anzuzeigen, dass die Präsentation ein Entwurf ist (z.B. ein „Entwurf“-Wasserzeichen), dass sie vertrauliche Informationen enthält (z.B. ein „Vertraulich“-Wasserzeichen), um anzugeben, welchem Unternehmen sie gehört (z.B. ein „Unternehmensname“-Wasserzeichen), um den Autor der Präsentation zu identifizieren usw. Ein Wasserzeichen hilft, Urheberrechtsverletzungen zu verhindern, indem es anzeigt, dass die Präsentation nicht kopiert werden sollte. Wasserzeichen werden sowohl in PowerPoint- als auch in OpenOffice-Präsentationsformaten verwendet. In Aspose.Slides können Sie ein Wasserzeichen zu PowerPoint PPT, PPTX und OpenOffice ODP-Dateiformaten hinzufügen. +**Ein Wasserzeichen** in einer Präsentation ist ein Text‑ oder Bildstempel, der auf einer Folie oder auf allen Folien einer Präsentation verwendet wird. Üblicherweise wird ein Wasserzeichen eingesetzt, um anzuzeigen, dass die Präsentation ein Entwurf ist (z. B. ein „Entwurf“-Wasserzeichen), vertrauliche Informationen enthält (z. B. ein „Vertraulich“-Wasserzeichen), welchem Unternehmen sie zuzuordnen ist (z. B. ein „Firmenname“-Wasserzeichen), den Autor der Präsentation zu kennzeichnen usw. Ein Wasserzeichen hilft, Urheberrechtsverletzungen zu verhindern, indem es deutlich macht, dass die Präsentation nicht kopiert werden darf. Wasserzeichen werden sowohl in PowerPoint‑ als auch in OpenOffice‑Präsentationsformaten verwendet. In Aspose.Slides können Sie ein Wasserzeichen zu PowerPoint‑PPT, PPTX und OpenOffice‑ODP‑Dateiformaten hinzufügen. -In [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) gibt es verschiedene Möglichkeiten, Wasserzeichen in PowerPoint- oder OpenOffice-Dokumenten zu erstellen und deren Design und Verhalten zu ändern. Der gemeinsame Aspekt ist, dass Sie zur Hinzufügung von Textwasserzeichen die [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) Klasse verwenden sollten, und um Bildwasserzeichen hinzuzufügen, verwenden Sie die [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) Klasse oder füllen eine Wasserzeichenform mit einem Bild. `PictureFrame` implementiert die [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) Klasse, die es Ihnen ermöglicht, alle flexiblen Einstellungen des Formobjekts zu verwenden. Da `TextFrame` keine Form ist und seine Einstellungen eingeschränkt sind, wird es in ein [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) Objekt eingekapselt. +In [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) gibt es verschiedene Möglichkeiten, Wasserzeichen in PowerPoint‑ oder OpenOffice‑Dokumenten zu erstellen und ihr Design sowie Verhalten zu ändern. Der gemeinsame Aspekt ist, dass Sie zum Hinzufügen von Textwasserzeichen die Klasse [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) verwenden und zum Hinzufügen von Bildwasserzeichen die Klasse [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) oder das Befüllen einer Wasserzeichen‑Form mit einem Bild. `PictureFrame` implementiert die Klasse [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), sodass Sie alle flexiblen Einstellungen des Form‑Objekts nutzen können. Da `TextFrame` keine Form ist und seine Einstellungen eingeschränkt sind, wird es in ein [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)-Objekt eingewickelt. -Ein Wasserzeichen kann auf zwei Arten angewendet werden: auf einer einzelnen Folie oder auf allen Präsentationsfolien. Der Folienmaster wird verwendet, um ein Wasserzeichen auf allen Präsentationsfolien anzuwenden – das Wasserzeichen wird dem Folienmaster hinzugefügt, dort vollständig gestaltet und auf alle Folien angewendet, ohne die Berechtigung zum Ändern des Wasserzeichens auf einzelnen Folien zu beeinträchtigen. +Ein Wasserzeichen kann auf zwei Arten angewendet werden: auf einer einzelnen Folie oder auf allen Folien der Präsentation. Der Folien‑Master wird verwendet, um ein Wasserzeichen auf alle Folien anzuwenden – das Wasserzeichen wird dem Folien‑Master hinzugefügt, dort vollständig gestaltet und auf alle Folien angewendet, ohne die Möglichkeit zu beeinträchtigen, das Wasserzeichen auf einzelnen Folien zu ändern. -Ein Wasserzeichen wird normalerweise als nicht bearbeitbar für andere Benutzer betrachtet. Um zu verhindern, dass das Wasserzeichen (oder besser gesagt, die übergeordnete Form des Wasserzeichens) bearbeitet wird, bietet Aspose.Slides eine Funktion zum Sperren von Formen. Eine bestimmte Form kann auf einer normalen Folie oder auf einem Folienmaster gesperrt werden. Wenn die Wasserzeichenform auf dem Folienmaster gesperrt ist, ist sie auf allen Präsentationsfolien gesperrt. +Ein Wasserzeichen gilt normalerweise als nicht zur Bearbeitung durch andere Benutzer verfügbar. Um zu verhindern, dass das Wasserzeichen (bzw. die übergeordnete Form des Wasserzeichens) bearbeitet wird, bietet Aspose.Slides eine Form‑Sperrfunktion. Eine bestimmte Form kann auf einer normalen Folie oder auf einem Folien‑Master gesperrt werden. Wird die Wasserzeichen‑Form auf dem Folien‑Master gesperrt, ist sie auf allen Folien gesperrt. -Sie können dem Wasserzeichen einen Namen zuweisen, damit Sie es in Zukunft, wenn Sie es löschen möchten, in den Formen der Folie nach Namen finden können. +Sie können dem Wasserzeichen einen Namen zuweisen, sodass Sie es später anhand des Namens in den Folien‑Formen finden und ggf. löschen können. -Sie können das Wasserzeichen auf jede Weise gestalten; jedoch gibt es normalerweise häufige Merkmale in Wasserzeichen, wie z.B. zentrierte Ausrichtung, Drehung, Vordergrundposition usw. Wir werden im Folgenden betrachten, wie man diese in den Beispielen verwendet. +Sie können das Wasserzeichen nach Belieben gestalten; üblicherweise weisen Wasserzeichen jedoch gemeinsame Merkmale wie zentrierte Ausrichtung, Drehung, Vordergrundposition usw. auf. Im Folgenden betrachten wir, wie diese Eigenschaften in den Beispielen verwendet werden. ## **Textwasserzeichen** -### **Fügen Sie ein Textwasserzeichen zu einer Folie hinzu** - -Um ein Textwasserzeichen in PPT, PPTX oder ODP hinzuzufügen, können Sie zunächst eine Form zur Folie hinzufügen und dann einen Textbereich zu dieser Form hinzufügen. Der Textbereich wird durch die [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) Klasse dargestellt. Dieser Typ erbt nicht von [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), die über eine breite Palette von Eigenschaften verfügt, um das Wasserzeichen flexibel zu positionieren. Daher wird das [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) Objekt in ein [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) Objekt eingekapselt. Um dem Form Wasserzeichentext hinzuzufügen, verwenden Sie die [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) Methode, wie unten gezeigt. +### **Ein Textwasserzeichen zu einer Folie hinzufügen** +Um ein Textwasserzeichen in PPT, PPTX oder ODP hinzuzufügen, fügen Sie zunächst eine Form zur Folie hinzu und anschließend einen Textrahmen zu dieser Form. Der Textrahmen wird durch die Klasse [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) repräsentiert. Dieser Typ ist nicht von [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) abgeleitet, das über einen umfangreichen Satz von Eigenschaften zur flexiblen Positionierung des Wasserzeichens verfügt. Daher wird das [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)-Objekt in ein [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)‑Objekt eingebettet. Um Text zum Wasserzeichen‑Shape hinzuzufügen, verwenden Sie die Methode [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) wie unten gezeigt. ```py -watermark_text = "VERTRAULICH" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: slide = presentation.slides[0] @@ -59,16 +58,16 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` + {{% alert color="primary" title="Siehe auch" %}} -- [Wie man die TextFrame-Klasse verwendet](/slides/de/python-net/text-formatting/) +- [Wie die TextFrame‑Klasse verwendet wird](/slides/de/python-net/text-formatting/) {{% /alert %}} -### **Fügen Sie ein Textwasserzeichen zur Präsentation hinzu** - -Wenn Sie ein Textwasserzeichen zur gesamten Präsentation (d.h. zu allen Folien auf einmal) hinzufügen möchten, fügen Sie es zum [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/) hinzu. Der Rest der Logik ist dieselbe wie beim Hinzufügen eines Wasserzeichens zu einer einzelnen Folie – erstellen Sie ein [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) Objekt und fügen Sie dann das Wasserzeichen mit der [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) Methode hinzu. +### **Ein Textwasserzeichen zu einer Präsentation hinzufügen** +Wenn Sie ein Textwasserzeichen zur gesamten Präsentation (d. h. zu allen Folien gleichzeitig) hinzufügen möchten, fügen Sie es dem [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/) hinzu. Der Rest der Logik ist identisch zu dem Vorgehen beim Hinzufügen eines Wasserzeichens zu einer einzelnen Folie – erzeugen Sie ein [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)‑Objekt und fügen Sie das Wasserzeichen über die Methode [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) hinzu. ```py -watermark_text = "VERTRAULICH" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: master_slide = presentation.masters[0] @@ -77,33 +76,33 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` + {{% alert color="primary" title="Siehe auch" %}} -- [Wie man den Folienmaster verwendet](/slides/de/python-net/slide-master/) +- [Wie der Folien‑Master verwendet wird](/slides/de/python-net/slide-master/) {{% /alert %}} -### **Setzen Sie die Transparenz der Wasserzeichenform** - -Standardmäßig wird die rechteckige Form mit Füll- und Linienfarben gestylt. Die folgenden Zeilen von Code machen die Form transparent. +### **Transparenz der Wasserzeichen‑Form festlegen** +Standardmäßig ist die Rechteckform mit Füll‑ und Linienfarben formatiert. Die folgenden Codezeilen machen die Form transparent. ```py watermark_shape.fill_format.fill_type = FillType.NO_FILL watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL ``` -### **Legen Sie die Schriftart für ein Textwasserzeichen fest** -Sie können die Schriftart des Textwasserzeichens wie unten gezeigt ändern. +### **Schriftart für ein Textwasserzeichen festlegen** +Sie können die Schriftart des Textwasserzeichens wie unten gezeigt ändern. ```py text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format text_format.latin_font = FontData("Arial") text_format.font_height = 50 ``` -### **Setzen Sie die Textfarbe des Wasserzeichens** -Um die Farbe des Wasserzeichentextes einzustellen, verwenden Sie diesen Code: +### **Farbe des Wasserzeichentextes festlegen** +Um die Farbe des Wasserzeichentextes zu setzen, verwenden Sie diesen Code: ```py alpha = 150 red = 200 @@ -115,10 +114,10 @@ fill_format.fill_type = FillType.SOLID fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue) ``` -### **Zentrieren Sie ein Textwasserzeichen** -Es ist möglich, das Wasserzeichen auf einer Folie zu zentrieren, und dafür können Sie Folgendes tun: +### **Ein Textwasserzeichen zentrieren** +Das Wasserzeichen kann auf einer Folie zentriert werden; dazu gehen Sie wie folgt vor: ```py slide_size = presentation.slide_size.size @@ -133,16 +132,16 @@ watermark_shape = slide.shapes.add_auto_shape( watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` + Das Bild unten zeigt das Endergebnis. ![Das Textwasserzeichen](text_watermark.png) ## **Bildwasserzeichen** -### **Fügen Sie ein Bildwasserzeichen zu einer Präsentation hinzu** - -Um ein Bildwasserzeichen zu einer Präsentationsfolie hinzuzufügen, können Sie Folgendes tun: +### **Ein Bildwasserzeichen zu einer Präsentation hinzufügen** +Um ein Bildwasserzeichen zu einer Präsentationsfolie hinzuzufügen, können Sie Folgendes ausführen: ```py with open("watermark.png", "rb") as image_stream: image = presentation.images.add_image(image_stream.read()) @@ -152,12 +151,12 @@ with open("watermark.png", "rb") as image_stream: watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH ``` -## **Sperren Sie ein Wasserzeichen vor der Bearbeitung** -Wenn es notwendig ist, zu verhindern, dass ein Wasserzeichen bearbeitet wird, verwenden Sie die [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) Eigenschaft auf der Form. Mit dieser Eigenschaft können Sie die Form davor schützen, ausgewählt, verschoben, neu positioniert, mit anderen Elementen gruppiert, ihre Texte vor der Bearbeitung gesperrt und vieles mehr zu werden: +## **Ein Wasserzeichen vor Bearbeitung schützen** +Falls ein Wasserzeichen nicht bearbeitet werden soll, verwenden Sie die Eigenschaft [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) der Form. Mit dieser Eigenschaft können Sie die Form davor schützen, ausgewählt, in der Größe geändert, verschoben, mit anderen Elementen gruppiert, ihr Text bearbeitet usw. zu werden: ```py -# Sperren Sie die Wasserzeichenform vor Änderungen +# Sperren Sie die Wasserzeichen-Form vor Änderungen watermark_shape.auto_shape_lock.select_locked = True watermark_shape.auto_shape_lock.size_locked = True watermark_shape.auto_shape_lock.text_locked = True @@ -165,37 +164,37 @@ watermark_shape.auto_shape_lock.position_locked = True watermark_shape.auto_shape_lock.grouping_locked = True ``` -## **Bringen Sie ein Wasserzeichen nach vorne** -In Aspose.Slides kann die Z-Reihenfolge von Formen über die [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape) Methode festgelegt werden. Dazu müssen Sie diese Methode von der Liste der Präsentationsfolien aufrufen und die Formreferenz sowie ihre Reihenfolgenummer in die Methode übergeben. Auf diese Weise ist es möglich, eine Form nach vorne zu bringen oder sie nach hinten auf der Folie zu senden. Diese Funktion ist besonders nützlich, wenn Sie ein Wasserzeichen vor der Präsentation platzieren müssen: +## **Ein Wasserzeichen in den Vordergrund bringen** +In Aspose.Slides kann die Z‑Reihenfolge von Formen über die Methode [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape) festgelegt werden. Rufen Sie diese Methode aus der Folienliste der Präsentation auf und übergeben Sie die Referenz der Form sowie deren Reihenfolgenummer. Auf diese Weise lässt sich eine Form in den Vordergrund bzw. in den Hintergrund der Folie verschieben. Diese Funktion ist besonders nützlich, wenn das Wasserzeichen vor dem Rest der Präsentation platziert werden soll: ```py shape_count = len(slide.shapes) slide.shapes.reorder(shape_count - 1, watermark_shape) ``` -## **Setzen Sie die Wasserzeichen-Drehung** -Hier ist ein Codebeispiel, wie Sie die Drehung des Wasserzeichens anpassen können, damit es diagonal über die Folie positioniert wird: +## **Wasserzeichen‑Rotation festlegen** +Im folgenden Beispiel wird gezeigt, wie Sie die Drehung des Wasserzeichens so anpassen, dass es diagonal über die Folie verläuft: ```py diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi watermark_shape.rotation = float(diagonal_angle) ``` -## **Setzen Sie einen Namen für ein Wasserzeichen** -Aspose.Slides ermöglicht es Ihnen, den Namen einer Form festzulegen. Durch die Verwendung des Formnamens können Sie in Zukunft darauf zugreifen, um sie zu ändern oder zu löschen. Um den Namen der Wasserzeichenform festzulegen, weisen Sie ihn der [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) Eigenschaft zu: +## **Einen Namen für ein Wasserzeichen festlegen** +Aspose.Slides ermöglicht das Festlegen eines Namens für eine Form. Mit dem Form‑Namen können Sie später auf die Form zugreifen, um sie zu ändern oder zu löschen. Um den Namen der Wasserzeichen‑Form zu setzen, weisen Sie ihn der Eigenschaft [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) zu: ```py watermark_shape.name = "watermark" ``` -## **Entfernen Sie ein Wasserzeichen** -Um die Wasserzeichenform zu entfernen, verwenden Sie die [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) Methode, um sie in den Folienformen zu finden. Übergeben Sie dann die Wasserzeichenform an die [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape) Methode: +## **Ein Wasserzeichen entfernen** +Um die Wasserzeichen‑Form zu entfernen, verwenden Sie die Methode [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) zum Auffinden in den Folien‑Formen. Anschließend übergeben Sie die Wasserzeichen‑Form an die Methode [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape): ```py slide_shapes = list(slide.shapes) for shape in slide_shapes: @@ -203,8 +202,35 @@ for shape in slide_shapes: slide.shapes.remove(watermark_shape) ``` -## **Ein Live-Beispiel** -Sie möchten möglicherweise die **Aspose.Slides kostenlose** [Wasserzeichen hinzufügen](https://products.aspose.app/slides/watermark) und [Wasserzeichen entfernen](https://products.aspose.app/slides/watermark/remove-watermark) Online-Tools ausprobieren. +## **Ein Live‑Beispiel** + +Probieren Sie die kostenlosen Aspose.Slides‑Online‑Tools **Add Watermark** und **Remove Watermark** aus. + +![Online‑Tools zum Hinzufügen und Entfernen von Wasserzeichen](online_tools.png) + +## **FAQ** + +**Was ist ein Wasserzeichen und warum sollte ich es verwenden?** + +Ein Wasserzeichen ist ein Text‑ oder Bild‑Overlay, das auf Folien angewendet wird, um geistiges Eigentum zu schützen, die Markenbekanntheit zu steigern oder die unbefugte Nutzung von Präsentationen zu verhindern. + +**Kann ich ein Wasserzeichen zu allen Folien einer Präsentation hinzufügen?** + +Ja, Aspose.Slides ermöglicht das Hinzufügen eines Wasserzeichens zu jeder Folie einer Präsentation. Sie können über alle Folien iterieren und die Wasserzeichen‑Einstellungen einzeln anwenden. + +**Wie kann ich die Transparenz des Wasserzeichens anpassen?** + +Sie können die Transparenz des Wasserzeichens anpassen, indem Sie die Füll‑Einstellungen ([FillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/fillformat/)) der Form ändern. So bleibt das Wasserzeichen dezent und lenkt nicht vom Folieninhalt ab. + +**Welche Bildformate werden für Wasserzeichen unterstützt?** + +Aspose.Slides unterstützt verschiedene Bildformate wie PNG, JPEG, GIF, BMP, SVG und weitere. + +**Kann ich die Schriftart und den Stil eines Textwasserzeichens anpassen?** + +Ja, Sie können jede Schriftart, Größe und jeden Stil wählen, um das Design Ihrer Präsentation anzupassen und die Marken‑Konsistenz zu wahren. + +**Wie ändere ich die Position oder Ausrichtung eines Wasserzeichens?** -![Online-Tools zum Hinzufügen und Entfernen von Wasserzeichen](online_tools.png) \ No newline at end of file +Sie können die Position und Ausrichtung des Wasserzeichens ändern, indem Sie die Koordinaten, Größe und Drehungs‑Eigenschaften der [shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)-Form anpassen. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md b/de/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md index 1e9ba7b4d9..95dbd9fee6 100644 --- a/de/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md +++ b/de/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md @@ -1,109 +1,111 @@ --- -title: Zugriff auf Folien in Präsentationen mit Python -linktitle: Folie aufrufen +title: Folien in Präsentationen mit Python zugreifen +linktitle: Folienzugriff type: docs weight: 20 url: /de/python-net/access-slide-in-presentation/ keywords: -- auf folien zugreifen -- folienindex -- folien-ID -- folienposition -- position ändern -- folieneigenschaften -- foliennummer +- Folienzugriff +- Folienindex +- Folien-ID +- Folienposition +- Position ändern +- Folieneigenschaften +- Foliennummer - PowerPoint - OpenDocument - Präsentation - Python - Aspose.Slides -description: "Erfahren Sie, wie Sie Folien in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides for Python via .NET aufrufen und verwalten. Steigern Sie Ihre Produktivität mit Codebeispielen." +description: "Erfahren Sie, wie Sie Folien in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python über .NET zugreifen und verwalten können. Steigern Sie die Produktivität mit Codebeispielen." --- -Aspose.Slides ermöglicht den Zugriff auf Folien auf zwei Arten: über den Index und über die ID. +## **Übersicht** -## **Zugriff auf Folie über Index** +Dieser Artikel erklärt, wie man auf bestimmte Folien in einer PowerPoint-Präsentation mit Aspose.Slides für Python zugreift. Er zeigt, wie man eine Präsentation öffnet, Folien nach Index oder eindeutiger ID referenziert und grundlegende Folieninformationen liest, die für die Navigation innerhalb der Datei benötigt werden. Mit diesen Techniken können Sie die genaue Folie, die Sie prüfen oder verarbeiten möchten, zuverlässig finden. -Alle Folien in einer Präsentation sind numerisch basierend auf der Folienposition angeordnet, beginnend mit 0. Die erste Folie ist über den Index 0 zugänglich; die zweite Folie wird über den Index 1 erreicht; usw. +## **Zugriff auf eine Folie nach Index** -Die Klasse Presentation, die eine Präsentationsdatei repräsentiert, stellt alle Folien als eine [ISlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/islidecollection/) Sammlung (Sammlung von [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/) Objekten) zur Verfügung. Dieser Python-Code zeigt, wie man über den Index auf eine Folie zugreift: +Folien in einer Präsentation werden nach ihrer Position indexiert, beginnend bei 0. Die erste Folie hat den Index 0, die zweite Folie hat den Index 1 und so weiter. +Die Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) (die eine Präsentationsdatei darstellt) stellt Folien über eine [SlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) von [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/)-Objekten bereit. + +Der folgende Python-Code zeigt, wie man auf eine Folie nach ihrem Index zugreift: ```python import aspose.slides as slides -# Erstellt ein Presentation-Objekt, das eine Präsentationsdatei repräsentiert -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Erhält einen Verweis auf die Folie über ihren Index +# Erstelle ein Presentation-Objekt, das eine Präsentationsdatei darstellt. +with slides.Presentation("sample.pptx") as presentation: + # Hole eine Folie anhand ihres Indexes. slide = presentation.slides[0] ``` -## **Zugriff auf Folie über ID** -Jede Folie in einer Präsentation hat eine eindeutige ID, die mit ihr verbunden ist. Sie können die Methode `get_slide_by_id(id)` verwenden (bereitgestellt durch die [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse), um diese ID gezielt anzusprechen. Dieser Python-Code zeigt, wie man eine gültige Folien-ID angibt und über die Methode `get_slide_by_id(id)` auf diese Folie zugreift: +## **Zugriff auf eine Folie nach ID** + +Jede Folie in einer Präsentation hat eine eindeutige ID, die ihr zugeordnet ist. Sie können die Methode [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) (die von der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) bereitgestellt wird) verwenden, um diese ID anzusteuern. +Der folgende Python-Code zeigt, wie man eine gültige Folien-ID angibt und über die Methode [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) auf diese Folie zugreift: ```python import aspose.slides as slides -# Erstellt ein Presentation-Objekt, das eine Präsentationsdatei repräsentiert -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Erhält eine Folien-ID +# Erstelle ein Presentation-Objekt, das eine Präsentationsdatei darstellt. +with slides.Presentation("sample.pptx") as presentation: + # Erhalte die Folien-ID. id = presentation.slides[0].slide_id - # Greift auf die Folie über ihre ID zu + # Greife auf die Folie über ihre ID zu. slide = presentation.get_slide_by_id(id) ``` -## **Folie Position ändern** -Aspose.Slides ermöglicht Ihnen, die Position einer Folie zu ändern. Zum Beispiel können Sie angeben, dass die erste Folie zur zweiten Folie werden soll. +## **Ändern der Position einer Folie** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich den Verweis auf die Folie (deren Position Sie ändern möchten) über ihren Index. -3. Legen Sie eine neue Position für die Folie über die Eigenschaft `slide_number` fest. -4. Speichern Sie die modifizierte Präsentation. +Aspose.Slides ermöglicht es, die Position einer Folie zu ändern. Zum Beispiel können Sie die erste Folie zur zweiten machen. -Dieser Python-Code demonstriert eine Operation, bei der die Folie in Position 1 nach Position 2 verschoben wird: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Holen Sie sich eine Referenz auf die Folie, deren Position Sie anhand ihres Index ändern möchten. +1. Setzen Sie eine neue Position für die Folie über die Eigenschaft [slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/slide/slide_number/). +1. Speichern Sie die geänderte Präsentation. +Der folgende Python-Code verschiebt die Folie von Position 1 nach Position 2: ```python import aspose.slides as slides -# Erstellt ein Presentation-Objekt, das eine Präsentationsdatei repräsentiert -with slides.Presentation(path + "ChangePosition.pptx") as pres: - # Erhält die Folie, deren Position geändert wird - sld = pres.slides[0] - # Setzt die neue Position für die Folie - sld.slide_number = 2 - # Speichert die modifizierte Präsentation - pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX) +# Instanziiere ein Presentation-Objekt, das eine Präsentationsdatei darstellt. +with slides.Presentation("sample.pptx") as presentation: + # Hole die Folie, deren Position geändert wird. + slide = presentation.slides[0] + # Setze die neue Position für die Folie. + slide.slide_number = 2 + # Speichere die geänderte Präsentation. + presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -Die erste Folie wurde zur zweiten; die zweite Folie wurde zur ersten. Wenn Sie die Position einer Folie ändern, werden andere Folien automatisch angepasst. -## **Folie Nummer festlegen** +Die erste Folie wird zur zweiten; die zweite Folie wird zur ersten. Wenn Sie die Position einer Folie ändern, werden die anderen Folien automatisch angepasst. -Durch die Verwendung der Eigenschaft `first_slide_number` (bereitgestellt durch die [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse) können Sie eine neue Nummer für die erste Folie in einer Präsentation festlegen. Diese Operation führt dazu, dass die anderen Foliennummern neu berechnet werden. +## **Festlegen der Foliennummer** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -2. Holen Sie sich die Foliennummer. -3. Legen Sie die Foliennummer fest. -4. Speichern Sie die modifizierte Präsentation. +Mit der Eigenschaft [first_slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) (die von der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) bereitgestellt wird) können Sie eine neue Nummer für die erste Folie in einer Präsentation festlegen. Dieser Vorgang führt dazu, dass die anderen Foliennummern neu berechnet werden. -Dieser Python-Code demonstriert eine Operation, bei der die erste Foliennummer auf 10 gesetzt wird: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Legen Sie die Foliennummer fest. +1. Speichern Sie die geänderte Präsentation. +Der folgende Python-Code demonstriert einen Vorgang, bei dem die erste Foliennummer auf 10 gesetzt wird: ```python import aspose.slides as slides -# Erstellt ein Presentation-Objekt, das eine Präsentationsdatei repräsentiert -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Erhält die Foliennummer - firstSlideNumber = presentation.first_slide_number - # Setzt die Foliennummer +# Instanziiere ein Presentation-Objekt, das eine Präsentationsdatei darstellt. +with slides.Presentation("sample.pptx") as presentation: + # Setze die Foliennummer. presentation.first_slide_number = 10 - # Speichert die modifizierte Präsentation - presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX) + # Speichere die geänderte Präsentation. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -Wenn Sie die erste Folie überspringen möchten, können Sie die Nummerierung ab der zweiten Folie beginnen (und die Nummerierung für die erste Folie ausblenden) auf folgende Weise: +Wenn Sie die erste Folie überspringen möchten, können Sie die Nummerierung ab der zweiten Folie beginnen (und die Nummer auf der ersten Folie ausblenden), wie folgt: ```python import aspose.slides as slides @@ -113,15 +115,30 @@ with slides.Presentation() as presentation: presentation.slides.add_empty_slide(layout_slide) presentation.slides.add_empty_slide(layout_slide) - # Legt die Nummer für die erste Präsentationsfolie fest + # Setze die Nummer für die erste Folie in der Präsentation. presentation.first_slide_number = 0 - # Zeigt die Foliennummern für alle Folien an + # Zeige Foliennummern für alle Folien an. presentation.header_footer_manager.set_all_slide_numbers_visibility(True) - # Blendet die Foliennummer für die erste Folie aus + # Verstecke die Foliennummer auf der ersten Folie. presentation.slides[0].header_footer_manager.set_slide_number_visibility(False) - # Speichert die modifizierte Präsentation - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + # Speichere die geänderte Präsentation. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**Stimmt die von einem Benutzer sichtbare Foliennummer mit dem nullbasierten Index der Sammlung überein?** + +Die auf einer Folie angezeigte Nummer kann bei einem beliebigen Wert beginnen (z. B. 10) und muss nicht mit dem Index übereinstimmen; die Beziehung wird durch die Einstellung [first slide number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) der Präsentation gesteuert. + +**Beeinflussen ausgeblendete Folien die Indexierung?** + +Ja. Eine ausgeblendete Folie bleibt in der Sammlung und wird bei der Indexierung gezählt; „ausgeblendet“ bezieht sich auf die Anzeige, nicht auf ihre Position in der Sammlung. + +**Ändert sich der Index einer Folie, wenn andere Folien hinzugefügt oder entfernt werden?** + +Ja. Indizes spiegeln stets die aktuelle Reihenfolge der Folien wider und werden bei Einfüge-, Lösch- und Verschiebevorgängen neu berechnet. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-slide/compare-slides/_index.md b/de/python-net/developer-guide/presentation-slide/compare-slides/_index.md index 649a0de8e1..c23408f521 100644 --- a/de/python-net/developer-guide/presentation-slide/compare-slides/_index.md +++ b/de/python-net/developer-guide/presentation-slide/compare-slides/_index.md @@ -1,17 +1,24 @@ --- -title: Vergleiche Folien +title: Präsentationsfolien in Python vergleichen +linktitle: Folien vergleichen type: docs weight: 50 url: /de/python-net/compare-slides/ -keywords: "Vergleiche PowerPoint-Folien, Vergleiche zwei Folien, Präsentation, Python, Aspose.Slides" -description: "Vergleiche PowerPoint-Präsentationsfolien in Python" +keywords: +- Folien vergleichen +- Folienvergleich +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Vergleichen Sie PowerPoint- und OpenDocument-Präsentationen programmgesteuert mit Aspose.Slides für Python über .NET. Erkennen Sie Folienunterschiede im Code schnell." --- -## **Vergleiche Zwei Folien** -Die Equals-Methode wurde zur [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) Schnittstelle und zur [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/) Klasse hinzugefügt. Sie gibt true für Folien/Layout und Folien/Hauptfolien zurück, die in ihrer Struktur und ihrem statischen Inhalt identisch sind. - -Zwei Folien sind gleich, wenn alle Formen, Stile, Texte, Animationen und andere Einstellungen usw. übereinstimmen. Der Vergleich berücksichtigt keine einzigartigen Identifikatorwerte, z.B. SlideId und dynamischen Inhalt, z.B. den aktuellen Datumswert im Datumsplatzhalter. +## **Zwei Folien vergleichen** +Die Equals‑Methode wurde dem Interface [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) und der Klasse [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/) hinzugefügt. Sie liefert true für Folien/Layouts und Master‑Folien, die in ihrer Struktur und ihrem statischen Inhalt identisch sind. +Zwei Folien sind gleich, wenn alle Formen, Stile, Texte, Animationen und weitere Einstellungen übereinstimmen etc. Der Vergleich berücksichtigt keine eindeutigen Identifier‑Werte, z. B. SlideId, und keinen dynamischen Inhalt, z. B. den aktuellen Datumswert im Date Placeholder. ```py import aspose.slides as slides @@ -20,5 +27,20 @@ with slides.Presentation(path + "AccessSlides.pptx") as p1: for i in range(len(p1.masters)): for j in range(len(p2.masters)): if p1.masters[i] == p2.masters[j]: - print("MasterSlide#{0} der Präsentation1 ist gleich MasterSlide#{1} der Präsentation2".format(i,j)) -``` \ No newline at end of file + print("Presentation1 MasterSlide#{0} is equal to Presentation2 MasterSlide#{1}".format(i,j)) +``` + + +## **FAQ** + +**Beeinflusst die Tatsache, dass eine Folie ausgeblendet ist, den Vergleich der Folien selbst?** + +[Hidden status](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) ist eine Eigenschaft auf Präsentations‑/Wiedergabe‑Ebene, nicht visueller Inhalt. Die Gleichheit zweier bestimmter Folien wird durch ihre Struktur und ihren statischen Inhalt bestimmt; die reine Tatsache, dass eine Folie ausgeblendet ist, macht die Folien nicht unterschiedlich. + +**Werden Hyperlinks und deren Parameter berücksichtigt?** + +Ja. Links sind Teil des statischen Inhalts einer Folie. Wenn die URL oder die Hyperlink‑Aktion abweicht, wird dies normalerweise als Unterschied im statischen Inhalt angesehen. + +**Wenn ein Diagramm auf eine externe Excel‑Datei verweist, werden die Inhalte dieser Datei berücksichtigt?** + +Nein. Der Vergleich erfolgt anhand der Folien selbst. Externe Datenquellen werden in der Regel zum Vergleich nicht ausgelesen; es werden nur die in der Folienstruktur und im statischen Zustand vorhandenen Inhalte berücksichtigt. \ No newline at end of file diff --git a/de/python-net/developer-guide/presentation-via-vba/_index.md b/de/python-net/developer-guide/presentation-via-vba/_index.md index 2183fbc5f8..0abe7ae606 100644 --- a/de/python-net/developer-guide/presentation-via-vba/_index.md +++ b/de/python-net/developer-guide/presentation-via-vba/_index.md @@ -1,110 +1,179 @@ --- -title: Präsentation über VBA +title: VBA-Projekte in Präsentationen mit Python verwalten +linktitle: Präsentation über VBA type: docs weight: 250 url: /de/python-net/presentation-via-vba/ -keywords: "Makro, Makros, VBA, VBA-Makro, Makro hinzufügen, Makro entfernen, VBA hinzufügen, VBA entfernen, Makro extrahieren, VBA extrahieren, PowerPoint-Makro, PowerPoint-Präsentation, Python, Aspose.Slides für Python über .NET" -description: "Fügen Sie VBA-Makros in PowerPoint-Präsentationen in Python hinzu, entfernen und extrahieren Sie sie." +keywords: +- Makro +- VBA +- VBA-Makro +- Makro hinzufügen +- Makro entfernen +- Makro extrahieren +- VBA hinzufügen +- VBA entfernen +- VBA extrahieren +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Entdecken Sie, wie Sie PowerPoint- und OpenDocument-Präsentationen über VBA mit Aspose.Slides für Python via .NET erstellen und manipulieren, um Ihren Arbeitsablauf zu optimieren." --- -Der [Aspose.Slides.Vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) Namespace enthält Klassen und Schnittstellen zum Arbeiten mit Makros und VBA-Code. +## **Übersicht** -{{% alert title="Hinweis" color="warning" %}} +Dieser Artikel untersucht die wichtigsten Fähigkeiten von Aspose.Slides für Python über .NET zur Arbeit mit Makros in PowerPoint‑Präsentationen. Die Bibliothek stellt praktische Werkzeuge zum Hinzufügen, Entfernen und Extrahieren von Makros bereit, wodurch Sie die Erstellung und Änderung von Präsentationen automatisieren können. -Wenn Sie eine Präsentation, die Makros enthält, in ein anderes Dateiformat (PDF, HTML usw.) konvertieren, ignoriert Aspose.Slides alle Makros (Makros werden nicht in die resultierende Datei übertragen). +Mit Aspose.Slides können Sie: -Wenn Sie Makros zu einer Präsentation hinzufügen oder eine Präsentation speichern, die Makros enthält, schreibt Aspose.Slides einfach die Bytes für die Makros. +- Die Entwicklung von Präsentationen beschleunigen – die Automatisierung routinemäßiger Aufgaben reduziert die benötigte Zeit für die Vorbereitung von Material. +- Flexibilität gewährleisten – die Möglichkeit, Makros zu verwalten, erlaubt es Ihnen, Präsentationen an spezifische Aufgaben und Szenarien anzupassen. +- Daten integrieren – die einfache Integration externer Datenquellen hilft, den Inhalt der Folien aktuell zu halten. +- Wartung vereinfachen – zentrales Makro‑Management erleichtert das Anwenden von Änderungen und das Aktualisieren von Präsentationen. -Aspose.Slides **führt niemals** die Makros in einer Präsentation aus. +Der Artikel präsentiert anschließend praktische Beispiele, wie Aspose.Slides effektiv zum Arbeiten mit Makros in PowerPoint verwendet wird. -{{% /alert %}} +Der [aspose.slides.vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) Namensraum stellt Klassen zur Arbeit mit Makros und VBA‑Code bereit. + +{{% alert title="Note" color="warning" %}} +Wenn Sie eine Präsentation, die Makros enthält, in ein anderes Format (PDF, HTML usw.) konvertieren, ignoriert Aspose.Slides die Makros – sie werden nicht in die Ausgabedatei übernommen. -## **VBA-Makros hinzufügen** +Wenn Sie einer Präsentation Makros hinzufügen oder eine Präsentation, die Makros enthält, erneut speichern, schreibt Aspose.Slides die Makro‑Bytes unverändert. + +Aspose.Slides **nie** führt Makros in einer Präsentation aus. +{{% /alert %}} -Aspose.Slides bietet die [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) Klasse, mit der Sie VBA-Projekte (und Projektverweise) erstellen und vorhandene Module bearbeiten können. Sie können die [IVbaProject](https://reference.aspose.com/slides/net/aspose.slides.vba/ivbaproject/) Schnittstelle verwenden, um VBA in einer Präsentation zu verwalten. +## **VBA‑Makros hinzufügen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Verwenden Sie den Konstruktor der [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors), um ein neues VBA-Projekt hinzuzufügen. -1. Fügen Sie ein Modul zum VbaProject hinzu. -1. Setzen Sie den Quellcode des Moduls. -1. Fügen Sie Verweise auf hinzu. -1. Fügen Sie Verweise auf **Microsoft Office** hinzu. -1. Verknüpfen Sie die Verweise mit dem VBA-Projekt. -1. Speichern Sie die Präsentation. +Aspose.Slides stellt die Klasse [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) bereit, um VBA‑Projekte (und Projektverweise) zu erstellen und vorhandene Module zu bearbeiten. -Dieser Python-Code zeigt Ihnen, wie Sie ein VBA-Makro von Grund auf zu einer Präsentation hinzufügen: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Verwenden Sie den Konstruktor [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors), um ein neues VBA‑Projekt hinzuzufügen. +3. Fügen Sie dem VBA‑Projekt ein Modul hinzu. +4. Legen Sie den Quellcode des Moduls fest. +5. Fügen Sie einen Verweis auf `` hinzu. +6. Fügen Sie einen Verweis auf **Microsoft Office** hinzu. +7. Verknüpfen Sie die Verweise mit dem VBA‑Projekt. +8. Speichern Sie die Präsentation. +Der folgende Python‑Code zeigt, wie Sie ein VBA‑Makro von Grund auf zu einer Präsentation hinzufügen: ```python import aspose.slides as slides -# Erstellt eine Instanz der Präsentationsklasse +# Erstelle eine Instanz der Präsentationsklasse. with slides.Presentation() as presentation: - # Erstellt ein neues VBA-Projekt - presentation.vba_project = slides.vba.VbaProject() - # Fügt ein leeres Modul zum VBA-Projekt hinzu - module = presentation.vba_project.modules.add_empty_module("Modul") - - # Setzt den Quellcode des Moduls - module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub" + # Erstelle ein neues VBA-Projekt. + presentation.vba_project = slides.vba.VbaProject() - # Erstellt einen Verweis auf - stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") + # Füge ein leeres Modul zum VBA-Projekt hinzu. + module = presentation.vba_project.modules.add_empty_module("Module") - # Erstellt einen Verweis auf Office - officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") + # Setze den Quellcode des Moduls. + module.source_code = """ + Sub Test(oShape As Shape) + MsgBox "Hello, world!" + End Sub + """ - # Fügt Verweise zum VBA-Projekt hinzu - presentation.vba_project.references.add(stdoleReference) - presentation.vba_project.references.add(officeReference) + # Erstelle einen Verweis auf . + stdole_reference = slides.vba.VbaReferenceOleTypeLib("stdole", + "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - - # Speichert die Präsentation - presentation.save("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) -``` + # Erstelle einen Verweis auf Microsoft Office. + office_reference = slides.vba.VbaReferenceOleTypeLib("Office", + "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") -{{% alert color="primary" %}} + # Füge die Verweise dem VBA-Projekt hinzu. + presentation.vba_project.references.add(stdole_reference) + presentation.vba_project.references.add(office_reference) -Sie sollten sich **Aspose** [Makro-Entferner](https://products.aspose.app/slides/remove-macros) ansehen, eine kostenlose Webanwendung, die verwendet wird, um Makros aus PowerPoint-, Excel- und Word-Dokumenten zu entfernen. + # Speichere die Präsentation. + presentation.save("macros.pptm", slides.export.SaveFormat.PPTM) +``` -{{% /alert %}} -## **VBA-Makros entfernen** +{{% alert color="primary" %}} +Vielleicht möchten Sie den **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros) ausprobieren, eine kostenlose Web‑App zum Entfernen von Makros aus PowerPoint-, Excel‑ und Word‑Dokumenten. +{{% /alert %}} -Über die [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/#properties) Eigenschaft der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse können Sie ein VBA-Makro entfernen. +## **VBA‑Makros entfernen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse und laden Sie die Präsentation, die das Makro enthält. -1. Greifen Sie auf das Makro-Modul zu und entfernen Sie es. -1. Speichern Sie die modifizierte Präsentation. +Mit der Eigenschaft [vba_project](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/vba_project/) der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) können Sie ein VBA‑Makro entfernen. -Dieser Python-Code zeigt Ihnen, wie Sie ein VBA-Makro entfernen: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) und laden Sie die Präsentation, die das Makro enthält. +2. Greifen Sie auf das Makro‑Modul zu und entfernen Sie es. +3. Speichern Sie die geänderte Präsentation. +Der folgende Python‑Code zeigt, wie Sie ein VBA‑Makro entfernen: ```python import aspose.slides as slides -# Lädt die Präsentation, die das Makro enthält -with slides.Presentation(path + "VBA.pptm") as presentation: - # Greift auf das Vba-Modul zu und entfernt es - presentation.vba_project.modules.remove(presentation.vba_project.modules[0]) +# Laden Sie die Präsentation, die das Makro enthält. +with slides.Presentation("VBA.pptm") as presentation: + + # Greifen Sie auf das VBA-Modul zu. + vba_module = presentation.vba_project.modules[0] - # Speichert die Präsentation - presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) + # Entfernen Sie das VBA-Modul. + presentation.vba_project.modules.remove(vba_module) + + # Speichern Sie die Präsentation. + presentation.save("removed_macro.pptm", slides.export.SaveFormat.PPTM) ``` -## **VBA-Makros extrahieren** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse und laden Sie die Präsentation, die das Makro enthält. -2. Überprüfen Sie, ob die Präsentation ein VBA-Projekt enthält. -3. Durchlaufen Sie alle Module, die im VBA-Projekt enthalten sind, um die Makros anzuzeigen. +## **VBA‑Makros extrahieren** + +Mit der Eigenschaft `modules` in der Klasse [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) können Sie auf alle Module eines VBA‑Projekts zugreifen. Die Klasse [VbaModule](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbamodule/) kann verwendet werden, um Moduleigenschaften wie Name und Code zu extrahieren. -Dieser Python-Code zeigt Ihnen, wie Sie VBA-Makros aus einer Präsentation, die Makros enthält, extrahieren: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) und laden Sie die Präsentation, die das Makro enthält. +2. Prüfen Sie, ob die Präsentation ein VBA‑Projekt enthält. +3. Durchlaufen Sie alle Module im VBA‑Projekt, um die Makros anzuzeigen. +Der folgende Python‑Code zeigt, wie Sie VBA‑Makros aus einer Präsentation extrahieren: ```python import aspose.slides as slides -with slides.Presentation(path + "VBA.pptm") as pres: - if pres.vba_project is not None: # Überprüft, ob die Präsentation ein VBA-Projekt enthält - for module in pres.vba_project.modules: +with slides.Presentation("VBA.pptm") as presentation: + # Prüfen, ob die Präsentation ein VBA-Projekt enthält. + if presentation.vba_project is not None: + for module in presentation.vba_project.modules: print(module.name) print(module.source_code) -``` \ No newline at end of file +``` + + +## **Überprüfen, ob ein VBA‑Projekt passwortgeschützt ist** + +Mit der Eigenschaft [VbaProject.is_password_protected](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/is_password_protected/) können Sie feststellen, ob die Eigenschaften eines Projekts passwortgeschützt sind. + +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) und laden Sie eine Präsentation, die ein Makro enthält. +2. Prüfen Sie, ob die Präsentation ein [VBA‑Projekt](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) enthält. +3. Prüfen Sie, ob das VBA‑Projekt passwortgeschützt ist, um seine Eigenschaften anzuzeigen. +```py +import aspose.slides as slides + +with slides.Presentation("VBA.pptm") as presentation: + # Prüfen, ob die Präsentation ein VBA-Projekt enthält. + if presentation.vba_project is not None: + if presentation.vba_project.is_password_protected: + print(f"The VBA Project '{presentation.vba_project.name}' is protected by password to view project properties.") +``` + + +## **FAQ** + +**Was passiert mit Makros, wenn ich die Präsentation als PPTX speichere?** + +Makros werden entfernt, da PPTX kein VBA unterstützt. Um Makros zu erhalten, wählen Sie PPTM, PPSM oder POTM. + +**Kann Aspose.Slides Makros in einer Präsentation ausführen, um beispielsweise Daten zu aktualisieren?** + +Nein. Die Bibliothek führt niemals VBA‑Code aus; die Ausführung ist nur innerhalb von PowerPoint mit den entsprechenden Sicherheitseinstellungen möglich. + +**Wird die Arbeit mit ActiveX‑Steuerelementen, die mit VBA‑Code verknüpft sind, unterstützt?** + +Ja, Sie können auf vorhandene [ActiveX‑Steuerelemente](/slides/de/python-net/activex/) zugreifen, deren Eigenschaften ändern und sie entfernen. Dies ist nützlich, wenn Makros mit ActiveX interagieren. \ No newline at end of file diff --git a/de/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md b/de/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md index 6411df02cd..c62ca5b5b3 100644 --- a/de/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md +++ b/de/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md @@ -1,145 +1,133 @@ --- -title: Anwendung von Schutz auf Präsentationen +title: Präsentationsbearbeitungen mit Formulärsperren in Python verhindern +linktitle: Präsentationsbearbeitungen verhindern type: docs weight: 70 url: /de/python-net/applying-protection-to-presentation/ +keywords: +- Bearbeitungen verhindern +- Schutz vor Bearbeitung +- Form sperren +- Position sperren +- Auswahl sperren +- Größe sperren +- Gruppierung sperren +- PowerPoint +- OpenDocument +- Präsentation +- Python +- Aspose.Slides +description: "Entdecken Sie, wie Aspose.Slides für Python via .NET Formen in PPT-, PPTX- und ODP-Dateien sperrt oder entsperrt, Präsentationen sichert und gleichzeitig kontrollierte Bearbeitungen sowie eine schnellere Bereitstellung ermöglicht." --- -{{% alert color="primary" %}} +## **Hintergrund** -Eine häufige Verwendung von Aspose.Slides besteht darin, Microsoft PowerPoint 2007 (PPTX) Präsentationen im Rahmen eines automatisierten Workflows zu erstellen, zu aktualisieren und zu speichern. Benutzer der Anwendung, die Aspose.Slides auf diese Weise verwenden, haben Zugang zu den ausgegebenen Präsentationen. Sie vor Bearbeitung zu schützen, ist ein häufiges Anliegen. Es ist wichtig, dass automatisch generierte Präsentationen ihre ursprüngliche Formatierung und ihren Inhalt beibehalten. +Ein häufiger Anwendungsfall für Aspose.Slides besteht darin, Microsoft PowerPoint (PPTX)-Präsentationen im Rahmen eines automatisierten Workflows zu erstellen, zu aktualisieren und zu speichern. Benutzer von Anwendungen, die Aspose.Slides auf diese Weise einsetzen, erhalten Zugriff auf die erzeugten Präsentationen, sodass deren Schutz vor Bearbeitung ein häufiges Anliegen ist. Es ist wichtig, dass automatisch erstellte Präsentationen ihr ursprüngliches Layout und ihren Inhalt beibehalten. -Dieser Artikel erklärt, wie [Präsentationen und Folien konstruiert sind](/slides/de/python-net/applying-protection-to-presentation/) und wie Aspose.Slides für Python über .NET [Schutz anwendet](/slides/de/python-net/applying-protection-to-presentation/) und dann [von](/slides/de/python-net/applying-protection-to-presentation/) einer Präsentation entfernt. Dieses Feature ist einzigartig für Aspose.Slides und zum Zeitpunkt des Schreibens nicht in Microsoft PowerPoint verfügbar. Es gibt Entwicklern eine Möglichkeit, zu steuern, wie die Präsentationen, die ihre Anwendungen erstellen, verwendet werden. +Dieser Artikel erklärt, wie Präsentationen und Folien aufgebaut sind und wie Aspose.Slides für Python einen Schutz für eine Präsentation anwenden und später wieder entfernen kann. Er bietet Entwicklern eine Möglichkeit, zu steuern, wie die von ihren Anwendungen erzeugten Präsentationen verwendet werden. -{{% /alert %}} -## **Zusammensetzung einer Folie** -Eine PPTX-Folie besteht aus mehreren Komponenten wie Autoformen, Tabellen, OLE-Objekten, gruppierten Formen, Bildrahmen, Video-Frames, Verbindern und verschiedenen anderen Elementen, die zum Erstellen einer Präsentation zur Verfügung stehen. +## **Aufbau einer Folie** -In Aspose.Slides für Python über .NET wird jedes Element auf einer Folie in ein Shape-Objekt umgewandelt. Mit anderen Worten, jedes Element auf der Folie ist entweder ein Shape-Objekt oder ein von Shape abgeleitetes Objekt. +Eine Präsentationsfolie besteht aus Komponenten wie Autoformen, Tabellen, OLE‑Objekten, Gruppierten Formen, Bildrahmen, Video‑Frames, Verbindungs‑elementen und anderen Elementen, die zum Erstellen einer Präsentation verwendet werden. In Aspose.Slides für Python wird jedes Element einer Folie durch ein Objekt repräsentiert, das von der [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)-Klasse erbt. -Die Struktur von PPTX ist komplex, sodass im Gegensatz zu PPT, wo ein generischer Schließmechanismus für alle Formen verwendet werden kann, es unterschiedliche Arten von Schließmechanismen für verschiedene Formtypen gibt. Die Klasse BaseShapeLock ist die generische PPTX-Sperrklasse. Die folgenden Arten von Sperren werden in Aspose.Slides für Python über .NET für PPTX unterstützt. +Die Struktur von PPTX ist komplex, sodass im Gegensatz zu PPT, wo ein generischer Sperrmechanismus für alle Formtypen verwendet werden kann, verschiedene Formtypen unterschiedliche Sperren benötigen. Die Klasse [BaseShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/baseshapelock/) ist die generische Sperrklasse für PPTX. Die folgenden Sperrtypen werden in Aspose.Slides für Python für PPTX unterstützt: -- AutoShapeLock sperrt Autoformen. -- ConnectorLock sperrt Verbindungselemente. -- GraphicalObjectLock sperrt grafische Objekte. -- GroupshapeLock sperrt Gruppenformen. -- PictureFrameLock sperrt Bildrahmen. +- [AutoShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshapelock/) sperrt Autoformen. +- [ConnectorLock](https://reference.aspose.com/slides/python-net/aspose.slides/connectorlock/) sperrt Verbindungsformen. +- [GraphicalObjectLock](https://reference.aspose.com/slides/python-net/aspose.slides/graphicalobjectlock/) sperrt grafische Objekte. +- [GroupShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/groupshapelock/) sperrt Gruppierten Formen. +- [PictureFrameLock](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/) sperrt Bildrahmen. -Jede Aktion, die auf alle Shape-Objekte in einem Präsentationsobjekt ausgeführt wird, wird auf die gesamte Präsentation angewendet. -## **Anwendung und Entfernung von Schutz** -Der angewandte Schutz stellt sicher, dass eine Präsentation nicht bearbeitet werden kann. Es ist eine nützliche Technik, um den Inhalt einer Präsentation zu schützen. -### **Anwendung von Schutz auf PPTX-Formen** -Aspose.Slides für Python über .NET bietet die Shape-Klasse, um eine Form auf der Folie zu handhaben. +Jede auf alle Formobjekte in einem [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)-Objekt ausgeführte Aktion wird auf die gesamte Präsentation angewendet. -Wie bereits erwähnt, hat jede Formklasse eine zugehörige Shape-Lock-Klasse zum Schutz. Dieser Artikel konzentriert sich auf die NoSelect-, NoMove- und NoResize-Sperren. Diese Sperren sorgen dafür, dass Formen nicht ausgewählt (durch Mausklicks oder andere Auswahlmethoden) und nicht verschoben oder in der Größe verändert werden können. +## **Schutz anwenden und entfernen** -Die folgenden Codebeispiele wenden Schutz auf alle Formtypen in einer Präsentation an. +Durch das Anwenden von Schutz wird sichergestellt, dass eine Präsentation nicht bearbeitet werden kann. Es ist eine nützliche Technik, um den Inhalt der Präsentation zu schützen. +### **Schutz auf PPTX‑Formen anwenden** + +Wie bereits erwähnt, hat jede Formklasse eine zugehörige Form‑Sperrklasse zum Schutz. Dieser Artikel konzentriert sich auf die Sperren NoSelect, NoMove und NoResize. Diese Sperren stellen sicher, dass Formen nicht ausgewählt (durch Mausklicks oder andere Auswahlmethoden) werden können und dass sie nicht verschoben oder in ihrer Größe verändert werden können. + +Das nachfolgende Code‑Beispiel wendet Schutz auf alle Formtypen in einer Präsentation an. ```py import aspose.slides as slides -#Instantiere die Präsentationsklasse, die eine PPTX-Datei darstellt -with slides.Presentation(path + "RectPicFrame.pptx") as pres: - #ISlide-Objekt zum Zugriff auf die Folien in der Präsentation - slide = pres.slides[0] - - #Durchlaufen aller Folien in der Präsentation - for slide in pres.slides: +# Instanziieren der Presentation-Klasse, die eine PPTX-Datei repräsentiert. +with slides.Presentation("Sample.pptx") as presentation: + # Durchlaufen aller Folien in der Präsentation. + for slide in presentation.slides: + # Durchlaufen aller Formen in der Folie. for shape in slide.shapes: - #wenn die Form eine Autoform ist if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Anwenden von Form-Sperren - auto_shape_lock.position_locked = True - auto_shape_lock.select_locked = True - auto_shape_lock.size_locked = True - - #wenn die Form eine Gruppenform ist + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Anwenden von Form-Sperren - group_shape_lock.grouping_locked = True - group_shape_lock.position_locked = True - group_shape_lock.select_locked = True - group_shape_lock.size_locked = True - - #wenn die Form ein Verbindungselement ist + shape.shape_lock.grouping_locked = True + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Anwenden von Form-Sperren - connector_lock.position_move = True - connector_lock.select_locked = True - connector_lock.size_locked = True - #wenn die Form ein Bildrahmen ist + shape.shape_lock.position_move = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.PictureFrame: - #Typumwandlung zu Bildrahmenform und Abrufen der Bildrahmen-Sperre - picture_lock = shape.shape_lock - - #Anwenden von Form-Sperren - picture_lock.position_locked = True - picture_lock.select_locked = True - picture_lock.size_locked = True - - #Speichern der Präsentationsdatei - pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True + # Speichern der Präsentationsdatei. + presentation.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) ``` -### **Entfernen von Schutz** -Der mit Aspose.Slides für Python über .NET angewandte Schutz kann nur mit Aspose.Slides für Python über .NET entfernt werden. Um eine Form zu entsperren, setzen Sie den Wert der angewandten Sperre auf false. Das folgende Codebeispiel zeigt, wie Formen in einer gesperrten Präsentation entsperrt werden. +### **Schutz entfernen** +Um eine Form zu entsperren, setzen Sie den Wert der angewendeten Sperre auf `False`. Das folgende Code‑Beispiel zeigt, wie Formen in einer gesperrten Präsentation entsperrt werden. ```py import aspose.slides as slides -#Öffnen der gewünschten Präsentation -with slides.Presentation("ProtectedSample.pptx") as pres: - for slide in pres.slides: +# Instanziieren der Presentation-Klasse, die eine PPTX-Datei darstellt. +with slides.Presentation("ProtectedSample.pptx") as presentation: + # Durchlaufen aller Folien in der Präsentation. + for slide in presentation.slides: + # Durchlaufen aller Formen in der Folie. for shape in slide.shapes: - - if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Anwenden von Form-Sperren - auto_shape_lock.position_locked = False - auto_shape_lock.select_locked = False - auto_shape_lock.size_locked = False - - elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Anwenden von Form-Sperren - group_shape_lock.grouping_locked = False - group_shape_lock.position_locked = False - group_shape_lock.select_locked = False - group_shape_lock.size_locked = False + if type(shape) is slides.AutoShape: + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + elif type(shape) is slides.GroupShape: + shape.shape_lock.grouping_locked = False + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Anwenden von Form-Sperren - connector_lock.position_move = False - connector_lock.select_locked = False - connector_lock.size_locked = False + shape.shape_lock.position_move = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.PictureFrame: - picture_lock = shape.shape_lock - - #Anwenden von Form-Sperren - picture_lock.position_locked = False - picture_lock.select_locked = False - picture_lock.size_locked = False - #Speichern der Präsentationsdatei - pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + # Speichern der Präsentationsdatei. + presentation.save("RemovedProtectionSample.pptx", slides.export.SaveFormat.PPTX) ``` +### **Fazit** + +Aspose.Slides bietet mehrere Optionen zum Schutz von Formen in einer Präsentation. Sie können eine einzelne Form sperren oder durch alle Formen einer Präsentation iterieren und jede einzeln sperren, um die gesamte Datei effektiv zu sichern. Der Schutz kann entfernt werden, indem der Sperrwert auf `False` gesetzt wird. + +## **FAQ** + +**Kann ich Form‑Sperren und Passwortschutz in derselben Präsentation kombinieren?** + +Ja. Sperren beschränken die Bearbeitung von Objekten innerhalb der Datei, während [password protection](/slides/de/python-net/password-protected-presentation/) den Zugriff auf das Öffnen und/oder das Speichern von Änderungen steuert. Diese Mechanismen ergänzen sich und arbeiten zusammen. -### **Zusammenfassung** -{{% alert color="primary" %}} +**Kann ich die Bearbeitung auf bestimmten Folien einschränken, ohne andere zu beeinflussen?** -Aspose.Slides bietet eine Reihe von Optionen, um Schutz auf Formen in einer Präsentation anzuwenden. Es ist möglich, eine bestimmte Form zu sperren oder durch alle Formen in einer Präsentation zu iterieren und sie alle zu sperren, um die Präsentation effektiv zu sperren. +Ja. Sperren Sie die Formen auf den ausgewählten Folien; die übrigen Folien bleiben bearbeitbar. -Nur Aspose.Slides für Python über .NET kann den Schutz von einer Präsentation entfernen, die zuvor geschützt wurde. Entfernen Sie den Schutz, indem Sie den Wert einer Sperre auf false setzen. +**Gelten Form‑Sperren für gruppierte Objekte und Verbindungs‑elemente?** -{{% /alert %}} \ No newline at end of file +Ja. Spezielle Sperrtypen werden für Gruppen, Verbindungs‑elemente, grafische Objekte und andere Formarten unterstützt. \ No newline at end of file diff --git a/de/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md b/de/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md index 4b6a3e5f45..6ddaae6bbe 100644 --- a/de/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md +++ b/de/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md @@ -1,22 +1,32 @@ --- -title: Extrahieren von Bildern aus Präsentationsformen +title: Bilder aus Präsentationsformen in Python extrahieren +linktitle: Bild aus Form type: docs weight: 90 url: /de/python-net/extracting-images-from-presentation-shapes/ -keywords: "Bild extrahieren, PowerPoint, PPT, PPTX, PowerPoint-Präsentation, Python, Aspose.Slides für Python" -description: "Bilder aus PowerPoint-Präsentationen in Python extrahieren" +keywords: +- Bild extrahieren +- Bild abrufen +- Folienhintergrund +- Formhintergrund +- PowerPoint +- Präsentation +- Python +- Aspose.Slides +description: "Bilder aus Formen in PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für Python via .NET - schnelle, codefreundliche Lösung." --- +## **Bilder aus Formen extrahieren** + {{% alert color="primary" %}} -Bilder werden häufig zu Formen hinzugefügt und auch oft als Hintergründe von Folien verwendet. Die Bildobjekte werden durch [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/), die eine Sammlung von [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) Objekten ist, hinzugefügt. +Bilder werden häufig zu Formen hinzugefügt und auch oft als Folienhintergründe verwendet. Die Bildobjekte werden über [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) hinzugefügt, das eine Sammlung von [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) Objekten ist. -Dieser Artikel erklärt, wie Sie die Bilder, die zu Präsentationen hinzugefügt wurden, extrahieren können. +Dieser Artikel erklärt, wie Sie die zu Präsentationen hinzugefügten Bilder extrahieren können. {{% /alert %}} -Um ein Bild aus einer Präsentation zu extrahieren, müssen Sie das Bild zunächst finden, indem Sie jede Folie und dann jede Form durchgehen. Sobald das Bild gefunden oder identifiziert ist, können Sie es extrahieren und als neue Datei speichern. XXX - +Um ein Bild aus einer Präsentation zu extrahieren, müssen Sie das Bild zuerst finden, indem Sie jede Folie und anschließend jede Form durchsuchen. Sobald das Bild gefunden oder identifiziert ist, können Sie es extrahieren und als neue Datei speichern. XXX ```py import aspose.slides as slides @@ -46,10 +56,10 @@ with slides.Presentation("pres.pptx") as pres: is_layout = False if slide.background.fill_format.fill_type == slides.FillType.PICTURE: - #Hintergrundbild abrufen + #Abrufen des Hintergrundbildes back_image = slide.background.fill_format.picture_fill_format.picture.image elif slide.layout_slide.background.fill_format.fill_type == slides.FillType.PICTURE: - #Hintergrundbild abrufen + #Abrufen des Hintergrundbildes back_image = slide.layout_slide.background.fill_format.picture_fill_format.picture.image is_layout = True @@ -78,4 +88,23 @@ with slides.Presentation("pres.pptx") as pres: shape_image.image.save( file_name.format("shape_"+str(i)+"_", slideIndex, image_type), image_format) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich das Originalbild ohne Beschnitt, Effekte oder Form-Transformationen extrahieren?** + +Ja. Wenn Sie auf das Bild einer Form zugreifen, erhalten Sie das Bildobjekt aus der [Bildsammlung](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) der Präsentation, das die ursprünglichen Pixel ohne Beschnitt oder Stil‑Effekte liefert. Der Ablauf greift auf die Bildsammlung der Präsentation und die [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) Objekte zu, die die Rohdaten speichern. + +**Besteht das Risiko, beim gleichzeitigen Speichern vieler Bilder identische Dateien zu duplizieren?** + +Ja, wenn Sie alles ununterscheidet speichern. Die [Bildsammlung](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) einer Präsentation kann identische Binärdaten enthalten, die von verschiedenen Formen oder Folien referenziert werden. Um Duplikate zu vermeiden, vergleichen Sie vor dem Schreiben Hash‑Werte, Größen oder Inhalte der extrahierten Daten. + +**Wie kann ich feststellen, welche Formen mit einem bestimmten Bild aus der Bildsammlung der Präsentation verknüpft sind?** + +Aspose.Slides speichert keine Rückverweise von [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) zu Formen. Erstellen Sie während der Traversierung manuell eine Zuordnung: Sobald Sie eine Referenz zu einem [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) finden, notieren Sie, welche Formen dieses verwenden. + +**Kann ich Bilder extrahieren, die in OLE‑Objekten eingebettet sind, z. B. angehängte Dokumente?** + +Nicht direkt, da ein OLE‑Objekt ein Container ist. Sie müssen das OLE‑Paket selbst extrahieren und dann dessen Inhalt mit separaten Tools analysieren. Bildformen in Präsentationen arbeiten über [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/); OLE ist ein anderer Objekttyp. \ No newline at end of file diff --git a/de/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md b/de/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md index c3d25a5288..85a0d2df02 100644 --- a/de/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md +++ b/de/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md @@ -1,34 +1,41 @@ --- -title: Holen Sie sich den gesamten Hintergrund der Präsentationsfolie als Bild +title: Den gesamten Folienhintergrund aus einer Präsentation als Bild extrahieren +linktitle: Gesamter Folienhintergrund type: docs weight: 95 url: /de/python-net/get-the-entire-presentation-slide-background-as-an-image/ keywords: -- folien -- hintergrund -- folienhintergrund -- hintergrund zu einem bild +- Folie +- Hintergrund +- Folienhintergrund +- Endhintergrund +- Hintergrund zu Bild - PowerPoint +- OpenDocument +- Präsentation - PPT - PPTX -- PowerPoint-Präsentation +- ODP - Python -- Aspose.Slides für Python +- Aspose.Slides +description: "Extrahieren Sie komplette Folienhintergründe als Bilder aus PowerPoint- und OpenDocument-Präsentationen mithilfe von Aspose.Slides für Python via .NET und optimieren Sie damit visuelle Workflows." --- -In PowerPoint-Präsentationen kann der Folienhintergrund aus vielen Elementen bestehen. Neben dem Bild, das als [Folienhintergrund](/slides/python-net/presentation-background/) festgelegt ist, kann der endgültige Hintergrund von dem Präsentationsthema, dem Farbschema und den Formen auf der Masterfolie und Layoutfolie beeinflusst werden. +## **Den gesamten Folienhintergrund erhalten** -Aspose.Slides für Python bietet keine einfache Methode, um den gesamten Hintergrund der Präsentationsfolie als Bild zu extrahieren, aber Sie können die folgenden Schritte befolgen, um dies zu tun: -1. Laden Sie die Präsentation mit der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse. -1. Holen Sie sich die Foliengröße aus der Präsentation. +In PowerPoint‑Präsentationen kann der Folienhintergrund aus vielen Elementen bestehen. Neben dem als [Folienhintergrund](/slides/de/python-net/presentation-background/) festgelegten Bild kann der endgültige Hintergrund durch das Präsentationsthema, das Farbschema und die auf der Master‑Folie sowie der Layout‑Folie platzierten Formen beeinflusst werden. + +Aspose.Slides for Python bietet keine einfache Methode, um den gesamten Folienhintergrund einer Präsentation als Bild zu extrahieren, aber Sie können die folgenden Schritte ausführen: +1. Laden Sie die Präsentation mit der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. +1. Ermitteln Sie die Foliengröße aus der Präsentation. 1. Wählen Sie eine Folie aus. 1. Erstellen Sie eine temporäre Präsentation. -1. Setzen Sie die gleiche Foliengröße in der temporären Präsentation. +1. Setzen Sie dieselbe Foliengröße in der temporären Präsentation. 1. Klonen Sie die ausgewählte Folie in die temporäre Präsentation. -1. Löschen Sie die Formen aus der geklonten Folie. +1. Löschen Sie die Formen von der geklonten Folie. 1. Konvertieren Sie die geklonte Folie in ein Bild. -Das folgende Codebeispiel extrahiert den gesamten Hintergrund der Präsentationsfolie als Bild. +Das folgende Codebeispiel extrahiert den gesamten Folienhintergrund der Präsentation als Bild. ```py slide_index = 0 image_scale = 1 @@ -46,4 +53,23 @@ with slides.Presentation("sample.pptx") as presentation: with cloned_slide.get_image(image_scale, image_scale) as background: background.save("output.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Werden komplexe Verläufe, Texturen oder Bildfüllungen einer Master‑Folie im resultierenden Hintergrundbild erhalten?** + +Ja. Aspose.Slides rendert Gradient‑, Bild‑ und Textur‑Füllungen, die auf der Folie, dem Layout oder dem Master definiert sind. Wenn Sie das Aussehen von geerbten Mastern isolieren möchten, [setzen Sie einen eigenen Hintergrund](/slides/de/python-net/presentation-background/) auf der aktuellen Folie, bevor Sie exportieren. + +**Kann ich dem resultierenden Hintergrundbild vor dem Speichern ein Wasserzeichen hinzufügen?** + +Ja. Sie können ein [Wasserzeichen hinzufügen](/slides/de/python-net/watermark/)‑Form oder Bild auf einer Arbeits‑[Kopie der Folie](/slides/de/python-net/clone-slides/) (hinter anderem Inhalt platziert) hinzufügen und anschließend exportieren. So können Sie ein Hintergrundbild mit eingebettetem Wasserzeichen erzeugen. + +**Kann ich den Hintergrund für ein bestimmtes Layout oder einen Master erhalten, ohne ihn an eine vorhandene Folie zu binden?** + +Ja. Greifen Sie auf den gewünschten Master oder das Layout zu, wenden Sie es auf eine [temporäre Folie](/slides/de/python-net/clone-slides/) mit der erforderlichen Größe an und exportieren Sie diese Folie, um den aus diesem Layout oder Master abgeleiteten Hintergrund zu erhalten. + +**Gibt es Lizenzbeschränkungen, die den Bildexport beeinflussen?** + +Render‑Funktionen sind mit einer [gültigen Lizenz](/slides/de/python-net/licensing/) vollständig verfügbar. Im Evaluierungsmodus kann die Ausgabe Einschränkungen wie ein Wasserzeichen enthalten. Aktivieren Sie die Lizenz einmal pro Prozess, bevor Sie Batch‑Exporte starten. \ No newline at end of file diff --git a/de/python-net/developer-guide/technical-articles/multithreading/_index.md b/de/python-net/developer-guide/technical-articles/multithreading/_index.md index b7ce4eaa4d..2d60956cf1 100644 --- a/de/python-net/developer-guide/technical-articles/multithreading/_index.md +++ b/de/python-net/developer-guide/technical-articles/multithreading/_index.md @@ -1,31 +1,34 @@ --- -title: Multithreading in Aspose.Slides +title: Multithreading in Aspose.Slides für Python +linktitle: Multithreading type: docs weight: 200 url: /de/python-net/multithreading/ keywords: -- PowerPoint -- Präsentation - Multithreading -- paralleles Arbeiten +- mehrere Threads +- parallele Arbeit - Folien konvertieren - Folien zu Bildern +- PowerPoint +- OpenDocument +- Präsentation - Python -- Aspose.Slides für Python +- Aspose.Slides +description: "Aspose.Slides für Python über .NET-Multithreading steigert die Verarbeitung von PowerPoint und OpenDocument. Entdecken Sie bewährte Methoden für effiziente Präsentationsabläufe." --- -## **Einführung** +## **Einleitung** -Während paralleles Arbeiten mit Präsentationen möglich ist (neben dem Parsen/Laden/Klonen) und alles gut läuft (meistens), besteht eine geringe Chance, dass Sie falsche Ergebnisse erhalten, wenn Sie die Bibliothek in mehreren Threads verwenden. +Während paralleles Arbeiten mit Präsentationen möglich ist (außer beim Parsen/Laden/Klonen) und meistens alles gut funktioniert, besteht eine geringe Wahrscheinlichkeit, dass Sie falsche Ergebnisse erhalten, wenn Sie die Bibliothek in mehreren Threads verwenden. -Wir empfehlen dringend, dass Sie **nicht** eine einzelne [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Instanz in einer Multithreading-Umgebung verwenden, da dies zu unvorhersehbaren Fehlern oder Problemen führen kann, die nicht leicht erkannt werden. +Wir empfehlen dringend, **nicht** eine einzelne [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Instanz in einer Multi‑Thread‑Umgebung zu verwenden, da dies zu unvorhersehbaren Fehlern oder Ausfällen führen kann, die nicht leicht zu erkennen sind. -Es ist **nicht** sicher, eine Instanz einer [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse in mehreren Threads zu laden, zu speichern und/oder zu klonen. Solche Operationen werden **nicht** unterstützt. Wenn Sie solche Aufgaben ausführen müssen, müssen Sie die Operationen unter Verwendung mehrerer einzelner Prozesse mit einem Thread parallelisieren – und jeder dieser Prozesse sollte seine eigene Präsentationsinstanz verwenden. +Es ist **nicht** sicher, eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse in mehreren Threads zu laden, zu speichern und/oder zu klonen. Derartige Vorgänge werden **nicht** unterstützt. Wenn Sie solche Aufgaben ausführen müssen, sollten Sie die Operationen mit mehreren single‑threaded Prozessen parallelisieren – und jeder dieser Prozesse sollte seine eigene Präsentationsinstanz verwenden. ## **Präsentationsfolien parallel in Bilder konvertieren** -Angenommen, wir möchten alle Folien aus einer PowerPoint-Präsentation parallel in PNG-Bilder konvertieren. Da es unsicher ist, eine einzelne `Presentation` Instanz in mehreren Threads zu verwenden, teilen wir die Präsentationsfolien in separate Präsentationen auf und konvertieren die Folien parallel in Bilder, wobei jede Präsentation in einem separaten Thread verwendet wird. Das folgende Codebeispiel zeigt, wie man dies macht. - +Angenommen, wir möchten alle Folien einer PowerPoint‑Präsentation parallel in PNG‑Bilder konvertieren. Da es unsicher ist, eine einzelne `Presentation`‑Instanz in mehreren Threads zu verwenden, teilen wir die Folien in separate Präsentationen auf und konvertieren die Folien parallel, wobei jede Präsentation in einem eigenen Thread verwendet wird. Das folgende Codebeispiel zeigt, wie das geht. ```py input_file_path = "sample.pptx" output_file_path_template = "slide_{0}.png" @@ -40,7 +43,7 @@ conversion_tasks = [] def convert_slide(slide_index): - # Folie i in eine separate Präsentation extrahieren. + # Extrahiere Folie i in eine separate Präsentation. with Presentation() as slide_presentation: slide_presentation.slide_size.set_size(slide_size.width, slide_size.height, SlideSizeScaleType.DO_NOT_SCALE) slide_presentation.slides.remove_at(0) @@ -64,4 +67,23 @@ for task in conversion_tasks: task.result() del presentation -``` \ No newline at end of file +``` + + +## **FAQ** + +**Muss ich die Lizenzkonfiguration in jedem Thread aufrufen?** + +Nein. Es reicht, sie einmal pro Prozess/App‑Domain aufzurufen, bevor die Threads starten. Wenn [license setup](/slides/de/python-net/licensing/) gleichzeitig aufgerufen werden könnte (z. B. bei lazy initialization), synchronisieren Sie diesen Aufruf, da die Lizenzkonfigurations‑Methode selbst nicht thread‑sicher ist. + +**Kann ich `Presentation`‑ oder `Slide`‑Objekte zwischen Threads übergeben?** + +Das Übergeben von „lebenden“ Präsentationsobjekten zwischen Threads wird nicht empfohlen: Verwenden Sie unabhängige Instanzen pro Thread oder erzeugen Sie getrennte Präsentationen/Slide‑Container für jeden Thread im Voraus. Dieser Ansatz folgt der allgemeinen Empfehlung, eine einzelne Präsentationsinstanz nicht über Threads hinweg zu teilen. + +**Ist es sicher, den Export in verschiedene Formate (PDF, HTML, Bilder) zu parallelisieren, sofern jeder Thread seine eigene `Presentation`‑Instanz hat?** + +Ja. Mit unabhängigen Instanzen und separaten Ausgabepfaden lassen sich solche Aufgaben in der Regel korrekt parallelisieren; vermeiden Sie gemeinsam genutzte Präsentationsobjekte und geteilte I/O‑Streams. + +**Wie soll ich mit globalen Schriftarteinstellungen (Ordner, Ersetzungen) in einer Multi‑Thread‑Umgebung umgehen?** + +Initialisieren Sie alle globalen Schriftarteinstellungen, bevor Sie die Threads starten, und ändern Sie sie während der parallelen Arbeit nicht mehr. Dadurch werden Rennbedingungen beim Zugriff auf gemeinsam genutzte Schriftressourcen vermieden. \ No newline at end of file diff --git a/de/python-net/getting-started/features-overview/_index.md b/de/python-net/getting-started/features-overview/_index.md index 8c5160555e..65e607743e 100644 --- a/de/python-net/getting-started/features-overview/_index.md +++ b/de/python-net/getting-started/features-overview/_index.md @@ -1,93 +1,119 @@ --- -title: Funktionsübersicht +title: Überblick über die Funktionen type: docs weight: 20 url: /de/python-net/features-overview/ keywords: -- funktionen -- unterstützte plattformen -- dateiformat -- konvertierung -- rendering -- drucken -- formatierung +- Funktionen +- unterstützte Plattformen +- Dateiformat +- Konvertierung +- Rendering +- Drucken +- Formatierung - PowerPoint - OpenDocument -- präsentation +- Präsentation - Python - Aspose.Slides -description: "Entdecken Sie Aspose.Slides for Python via .NET: eine leistungsstarke API, mit der Sie PowerPoint- und OpenDocument-Präsentationen effizient erstellen, bearbeiten, automatisieren und konvertieren können." +description: "Entdecken Sie Aspose.Slides für Python via .NET: eine leistungsstarke API zum Erstellen, Bearbeiten, Automatisieren und effizienten Konvertieren von PowerPoint- und OpenDocument-Präsentationen." --- ## **Unterstützte Plattformen** -Die Plattformen Aspose.Slides für Python über .NET können auf Windows x64 oder x86 und einer Vielzahl von Linux-Distributionen mit installiertem Python 3.5 oder höher verwendet werden. Es gibt zusätzliche Anforderungen an die Ziel-Linux-Plattform: -- GCC-6 Laufzeitbibliotheken (oder höher) -- Abhängigkeiten der .NET Core Runtime. Die Installation der .NET Core Runtime selbst ist NICHT erforderlich. -- Für Python 3.5-3.7: Der `pymalloc` Build von Python ist erforderlich. Die Python-Build-Option `--with-pymalloc` ist standardmäßig aktiviert. Typischerweise ist der `pymalloc` Build von Python im Dateinamen mit der Endung `m` gekennzeichnet. -- `libpython` gemeinsame Python-Bibliothek. Die Python-Build-Option `--enable-shared` ist standardmäßig deaktiviert, einige Python-Distributionen enthalten die `libpython` gemeinsame Bibliothek nicht. Für einige Linux-Plattformen kann die gemeinsame Bibliothek `libpython` über den Paketmanager installiert werden, z.B.: `sudo apt-get install libpython3.7`. Das häufige Problem ist, dass die `libpython` Bibliothek an einem anderen Ort installiert ist als der Standard-Systemort für gemeinsame Bibliotheken. Das Problem kann behoben werden, indem die Python-Build-Optionen verwendet werden, um alternative Bibliothekspfade beim Kompilieren von Python festzulegen, oder indem ein symbolischer Link zur `libpython` Bibliotheksdatei im Standardsystemstandort für gemeinsame Bibliotheken erstellt wird. Typischerweise lautet der Dateiname der `libpython` gemeinsamen Bibliothek `libpythonX.Ym.so.1.0` für Python 3.5-3.7 oder `libpythonX.Y.so.1.0` für Python 3.8 oder höher (z.B.: `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). +Die Plattformen, auf denen Aspose.Slides für Python via .NET verwendet werden kann, sind Windows x64 oder x86 sowie eine breite Palette von Linux‑Distributionen mit installiertem Python 3.5 oder höher. Für die Ziel‑Linux‑Plattform gelten zusätzliche Anforderungen: +- GCC‑6 Runtime‑Bibliotheken (oder neuer) +- Abhängigkeiten des .NET Core Runtime. Die Installation des .NET Core Runtime selbst ist **nicht** erforderlich +- Für Python 3.5‑3.7: Der `pymalloc`‑Build von Python wird benötigt. Die Build‑Option `--with-pymalloc` ist standardmäßig aktiviert. Typischerweise ist der `pymalloc`‑Build von Python mit dem Suffix `m` im Dateinamen gekennzeichnet. +- `libpython`‑gemeinsame Python‑Bibliothek. Die Build‑Option `--enable-shared` ist standardmäßig deaktiviert, manche Python‑Distributionen enthalten die `libpython`‑Bibliothek nicht. Für einige Linux‑Plattformen kann die `libpython`‑Bibliothek über den Paketmanager installiert werden, z. B.: `sudo apt-get install libpython3.7`. Ein häufiges Problem ist, dass die `libpython`‑Bibliothek an einem anderen Ort als dem Standard‑Systempfad für Shared‑Libraries installiert wird. Das Problem kann behoben werden, indem beim Python‑Build alternative Bibliothekspfade angegeben werden oder indem ein symbolischer Link zur `libpython`‑Datei im Standard‑Systempfad erstellt wird. Typischerweise lautet der Dateiname der `libpython`‑Shared‑Library `libpythonX.Ym.so.1.0` für Python 3.5‑3.7 bzw. `libpythonX.Y.so.1.0` für Python 3.8 oder neuer (z. B.: `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). -Wenn Sie Unterstützung für weitere Plattformen benötigen, suchen Sie nach den "Zwillingsprodukten" Aspose.Slides für .NET oder Aspose.Slides für Java. +Falls Sie Unterstützung für weitere Plattformen benötigen, schauen Sie sich die „Zwillingsbruder“-Produkte Aspose.Slides für .NET oder Aspose.Slides für Java an. ## **Dateiformate und Konvertierungen** -Aspose.Slides für Python über .NET unterstützt die meisten PowerPoint-Dokumentformate. Es ermöglicht Ihnen auch, diese in die gängigen Formate zu exportieren, die von Organisationen weit verbreitet verwendet und gegenseitig ausgetauscht werden. Sehen Sie sich diese Details an: +Aspose.Slides für Python via .NET unterstützt die meisten PowerPoint‑Dokumentformate. Außerdem können Sie diese in die populären Formate exportieren, die von Organisationen häufig verwendet und ausgetauscht werden. Details finden Sie unten: |**Funktion**|**Beschreibung**| | :- | :- | -|[Microsoft PowerPoint (PPT)](/slides/de/python-net/ppt-vs-pptx/)|Aspose.Slides für Python über .NET bietet die schnellste Verarbeitung für dieses Präsentationsdokumentformat.| -|[PPT zu PPTX Konvertierung](/slides/de/python-net/convert-ppt-to-pptx/)|Aspose.Slides für Python über .NET unterstützt die Konvertierung von PPT zu PPTX.| -|[Portable Document Format (PDF)](/slides/de/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Sie können alle unterstützten Dateiformate mit einer einzigen Methode in Adobe Portable Document Format (PDF) Dokumente exportieren.| +|[Microsoft PowerPoint (PPT)](/slides/de/python-net/ppt-vs-pptx/)|Aspose.Slides für Python via .NET bietet die schnellste Verarbeitung für dieses Präsentationsdokumentformat.| +|[PPT zu PPTX Konvertierung](/slides/de/python-net/convert-ppt-to-pptx/)|Aspose.Slides für Python via .NET unterstützt die Konvertierung von PPT zu PPTX.| +|[Portable Document Format (PDF)](/slides/de/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Sie können alle unterstützten Dateiformate mit einer einzigen Methode in Adobe Portable Document Format (PDF) exportieren.| |[XML Parser Specification (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|Sie können alle unterstützten Dateiformate mit einer einzigen Methode in XML Parser Specification (XPS) Dokumente exportieren.| |[Tagged Image File Format (TIFF)](/slides/de/python-net/convert-powerpoint-to-tiff/)|Sie können alle unterstützten Präsentationsdateiformate in Tagged Image File Format (TIFF) exportieren.| -|[PPTX zu HTML Konvertierung](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides für Python über .NET unterstützt die Konvertierung von PresentationEx in HTML-Format.| +|[PPTX zu HTML Konvertierung](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides für Python via .NET unterstützt die Konvertierung von PresentationEx in das HTML‑Format.| ## **Rendering und Drucken** -Aspose.Slides für Python über .NET unterstützt hochpräzises Rendering von Folien in den Präsentationsdokumenten in verschiedene Grafikformate. Sehen Sie sich diese Details an: +Aspose.Slides für Python via .NET unterstützt das hochqualitative Rendering von Folien in Präsentationsdokumenten in verschiedene Grafikformate. Details finden Sie unten: |**Funktion**|**Beschreibung**| | :- | :- | -|.NET unterstützte Bildformate|Mit Aspose.Slides für Python über .NET können Sie Präsentationsfolien und Bilder auf Folien in allen von .NET unterstützten Grafikformaten wie TIFF, PNG, BMP, JPEG, GIF und Metadateien rendern.| -|SVG-Format|Aspose.Slides für Python über .NET bietet auch integrierte Methoden, die es Ihnen ermöglichen, Präsentationsfolien in Scalable Vector Graphics (SVG) Formate zu exportieren.| -|Präsentation Drucken|Die neuesten Versionen von Aspose.Slides für Python über .NET bieten integrierte Druckmethoden mit verschiedenen Optionen.| +|.NET unterstützte Bildformate|Mit Aspose.Slides für Python via .NET können Sie Präsentationsfolien und Bilder auf Folien in allen von .NET unterstützten Grafikformaten wie TIFF, PNG, BMP, JPEG, GIF und Metadateien rendern.| +|SVG‑Format|Aspose.Slides für Python via .NET bietet außerdem integrierte Methoden, mit denen Sie Präsentationsfolien in Scalable Vector Graphics (SVG) Formate exportieren können.| +|Präsentationsdruck|Die neuesten Versionen von Aspose.Slides für Python via .NET bieten integrierte Druckmethoden mit verschiedenen Optionen.| -## **Inhaltsfunktionen** -Aspose.Slides für Python über .NET ermöglicht es Ihnen, auf fast alle Elemente oder Inhalte von Präsentationsdokumenten zuzugreifen, sie zu ändern oder zu erstellen. Sehen Sie sich diese Details an: +## **Inhalts‑Funktionen** +Aspose.Slides für Python via .NET ermöglicht den Zugriff, die Änderung oder das Erstellen fast aller Elemente oder Inhalte von Präsentationsdokumenten. Details finden Sie unten: |**Funktion**|**Beschreibung**| | :- | :- | -|Masterfolien|Die Masterfolien definieren das Layout der normalen Folien. Aspose.Slides für Python über .NET ermöglicht es Ihnen, auf die Masterfolien der Präsentationsdokumente zuzugreifen und sie zu ändern.| -|Normale Folien|Mit Aspose.Slides für Python über .NET können Sie neue Folien unterschiedlicher Typen erstellen; Sie können auch auf vorhandene Folien in den Präsentationen zugreifen und diese ändern.| -|Klone / Kopieren von Folien|Es gibt integrierte Methoden von Aspose.Slides für Python über .NET, die es Ihnen ermöglichen, vorhandene Folien innerhalb einer Präsentation zu klonen oder zu kopieren. Sie können auch kopierte und geklonte Folien von einer Präsentation zu einer anderen verwenden. Da eine Folie ihr Layout von der Masterfolie erbt, kopieren die integrierten Klonmethoden automatisch die Masterfolie beim Klonen.| -|Verwaltung der Folienabschnitte|Methoden zum Organisieren von Folien in verschiedenen Abschnitten innerhalb einer Präsentation.| -|Platzhalter und Texthalter|Sie können auf die Platzhalter und Texthalter in einer Folie zugreifen. Darüber hinaus können Sie eine Folie mit Texthaltern von Grund auf neu erstellen, indem Sie die geeignete Methode verwenden.| -|Kopf- und Fußzeilen|Aspose.Slides für Python über .NET erleichtert die Handhabung von Kopf- und Fußzeilen in Folien.| -|Notizen in Folien|Mit Aspose.Slides für Python über .NET können Sie auf Notizen zugreifen und diese ändern, die mit einer Folie verknüpft sind, und auch neue Notizen hinzufügen.| -|Ein Shape finden|Sie können auch eine bestimmte Form aus einer Folie anhand des alternativen Textes, der mit der Form verknüpft ist, finden.| -|Hintergründe|Aspose.Slides für Python über .NET ermöglicht es Ihnen, mit Hintergründen zu arbeiten, die mit einer Master- oder normalen Folie in einer Präsentation verknüpft sind.| -|Textkästen|Textkästen können von Grund auf neu erstellt werden. Sie können vorhandene Textkästen abrufen. Sie können auch deren Texte ändern, ohne das ursprüngliche Textformat zu verlieren.| -|Rechteckige Formen|Sie können rechteckige Formen mit Aspose.Slides für Python über .NET erstellen oder ändern.| -|Poly-Linienformen|Sie können Poly-Linienformen mit Aspose.Slides für Python über .NET erstellen oder ändern.| -|Ellipseformen|Sie können Ellipseformen mit Aspose.Slides für Python über .NET erstellen oder ändern.| -|Gruppenformen|Aspose.Slides für Python über .NET unterstützt Gruppenformen.| -|Autoformen|Aspose.Slides für Python über .NET unterstützt Autoformen.| -|SmartArt|Aspose.Slides für Python über .NET bietet Unterstützung für SmartArt-Formen in MS PowerPoint.| -|Diagramme|Aspose.Slides für Python über .NET bietet Unterstützung für MSO-Diagramme in PowerPoint.| -|Formenserialisierung|Aspose.Slides für Python über .NET unterstützt eine große Anzahl von Formen. Wenn Aspose.Slides für Python über .NET keine Unterstützung für eine Form hat, können Sie eine Serialisierungsmethode verwenden, über die Sie diese Form von einer vorhandenen Folie serialisieren können. So können Sie die Form je nach Ihren Anforderungen weiter verwenden.| -|Bildrahmen|Sie können Bilder in Bildrahmen mit Aspose.Slides für Python über .NET verwalten.| -|Audio-Rahmen|Sie können Audiodateien in Audio-Rahmen auf Folien mit Aspose.Slides für Python über .NET verlinken oder einbetten.| -|Video-Rahmen|Sie können Videodateien in Video-Rahmen verwalten. Aspose.Slides für Python über .NET bietet auch Unterstützung für verlinkte und eingebettete Videos.| -|OLE-Rahmen|Sie können OLE-Objekte in OLE-Rahmen mit Aspose.Slides für Python über .NET verwalten.| -|Tabellen|Aspose.Slides für Python über .NET unterstützt Tabellen in Folien.| -|ActiveX-Steuerelemente|Unterstützung für ActiveX-Steuerelemente.| -|VBA-Makros|Unterstützung für die Verwaltung von VBA-Makros innerhalb von Präsentationen.| -|Textfeld|Sie können auf den Text mit einer beliebigen Form über das mit dieser Form verknüpfte Textfeld zugreifen.| -|Textscannen|Sie können Texte in einer Präsentation auf der Präsentations- oder Folienstufe durch integrierte Scanmethoden scannen.| +|Master‑Folien|Die Master‑Folien definieren das Layout der normalen Folien. Aspose.Slides für Python via .NET ermöglicht den Zugriff und die Änderung der Master‑Folien von Präsentationsdokumenten.| +|Normale Folien|Mit Aspose.Slides für Python via .NET können Sie neue Folien verschiedener Typen erstellen; Sie können zudem vorhandene Folien in den Präsentationen abrufen und ändern.| +|Klonen / Kopieren von Folien|Es gibt integrierte Methoden von Aspose.Slides für Python via .NET, mit denen Sie vorhandene Folien innerhalb einer Präsentation klonen oder kopieren können. Sie können geklonte und kopierte Folien von einer Präsentation zur anderen verwenden. Da eine Folie ihr Layout vom Master‑Slide erbt, kopieren die integrierten Klon‑Methoden den Master automatisch beim Klonen.| +|Verwalten von Folien‑Abschnitten|Methoden zur Organisation von Folien in verschiedenen Abschnitten innerhalb einer Präsentation.| +|Platzhalter und Text‑Platzhalter|Sie können die Platzhalter und Text‑Platzhalter in einer Folie abrufen. Außerdem können Sie mit der entsprechenden Methode eine Folie mit Text‑Platzhaltern von Grund auf neu erstellen.| +|Kopf‑ und Fußzeilen|Aspose.Slides für Python via .NET erleichtert die Handhabung von Kopf‑/Fußzeilen in Folien.| +|Notizen in Folien|Mit Aspose.Slides für Python via .NET können Sie Notizen, die einer Folie zugeordnet sind, abrufen und ändern sowie neue Notizen hinzufügen.| +|Form finden|Sie können mithilfe des alternativen Textes, der einer Form zugeordnet ist, eine bestimmte Form in einer Folie finden.| +|Hintergründe|Aspose.Slides für Python via .NET ermöglicht die Arbeit mit Hintergründen, die einem Master‑ oder Normal‑Slide zugeordnet sind.| +|Textfelder|Textfelder können von Grund auf neu erstellt werden. Sie können vorhandene Textfelder abrufen und deren Texte ändern, ohne das ursprüngliche Textformat zu verlieren.| +|Rechteckformen|Sie können Rechteckformen mit Aspose.Slides für Python via .NET erstellen oder ändern.| +|Polylinienformen|Sie können Polylinienformen mit Aspose.Slides für Python via .NET erstellen oder ändern.| +|Ellipsenformen|Sie können Ellipsenformen mit Aspose.Slides für Python via .NET erstellen oder ändern.| +|Gruppenformen|Aspose.Slides für Python via .NET unterstützt Gruppenformen.| +|Autoformen|Aspose.Slides für Python via .NET unterstützt Autoformen.| +|SmartArt|Aspose.Slides für Python via .NET bietet Unterstützung für SmartArt‑Formen in MS PowerPoint.| +|Diagramme|Aspose.Slides für Python via .NET bietet Unterstützung für MSO‑Diagramme in PowerPoint.| +|Form‑Serialisierung|Aspose.Slides für Python via .NET unterstützt eine große Anzahl von Formen. Wenn Aspose.Slides für Python via .NET keine Unterstützung für eine Form bietet, können Sie eine Serialisierungsmethode verwenden, um diese Form aus einer bestehenden Folie zu serialisieren und anschließend weiter zu nutzen.| +|Bilderrahmen|Sie können Bilder in Bildrahmen mit Aspose.Slides für Python via .NET verwalten.| +|Audio‑Rahmen|Sie können Audio‑Dateien in Audio‑Rahmen auf Folien mit Aspose.Slides für Python via .NET verlinken oder einbetten.| +|Video‑Rahmen|Sie können Video‑Dateien in Video‑Rahmen verarbeiten. Aspose.Slides für Python via .NET bietet zudem Unterstützung für verlinkte und eingebettete Videos.| +|OLE‑Rahmen|Sie können OLE‑Objekte in OLE‑Rahmen mit Aspose.Slides für Python via .NET verwalten.| +|Tabellen|Aspose.Slides für Python via .NET unterstützt Tabellen in Folien.| +|ActiveX‑Steuerelemente|Unterstützung für ActiveX‑Steuerelemente.| +|VBA‑Makros|Unterstützung für die Verwaltung von VBA‑Makros innerhalb von Präsentationen.| +|Text‑Rahmen|Sie können über den Text‑Rahmen, der einer Form zugeordnet ist, auf den Text jeder Form zugreifen.| +|Text‑Scannen|Sie können mittels integrierter Scan‑Methoden Text in einer Präsentation auf Präsentations‑ oder Folienebene durchsuchen.| |Animationen|Sie können Animationen auf Formen anwenden.| -|Präsentationen|Aspose.Slides für Python über .NET unterstützt Präsentationen und Folienübergänge.| +|Bildschirmpräsentationen|Aspose.Slides für Python via .NET unterstützt Bildschirmpräsentationen und Folienübergänge.| -## **Formatierungsfunktionen** -Mit Aspose.Slides für Python über .NET können Sie Texte und Formen auf Folien in Präsentationen formatieren. Sehen Sie sich diese Details an: +## **Formatierungs‑Funktionen** +Mit Aspose.Slides für Python via .NET können Sie Texte und Formen auf Folien in Präsentationen formatieren. Details finden Sie unten: |**Funktion**|**Beschreibung**| | :- | :- | -|Textformatierung|

    In Aspose.Slides für Python über .NET können Sie Texte über die mit den Formen verknüpften Textfelder verwalten. Daher können Sie Texte mithilfe der Absätze und Teile formatieren, die mit den Textfeldern verknüpft sind. Diese Textelemente können durch Aspose.Slides für Python über .NET formatiert werden.

    - Schriftart

    - Schriftgröße

    - Schriftfarbe

    - Schriftarten

    - Absatzausrichtung

    - Absatzaufzählung

    - Absatzausrichtung

    | -|Formformatierung|

    In Aspose.Slides für Python über .NET ist das grundlegende Element einer Folie eine Form. Sie können diese Formelemente mit Aspose.Slides für Python über .NET formatieren:

    - Position

    - Größe

    - Linie

    - Füllung (einschließlich Muster, Gradient, Fest)

    - Text

    - Bild

    | \ No newline at end of file +|Textformatierung|

    In Aspose.Slides für Python via .NET können Sie Texte über die Text‑Frames verwalten, die den Formen zugeordnet sind. Damit können Sie Texte mithilfe der Absätze und Portionen des Text‑Frames formatieren. Diese Textelemente können über Aspose.Slides für Python via .NET formatiert werden.

    - Schriftart

    - Schriftgröße

    - Schriftfarbe

    - Schattierungen

    - Absatzausrichtung

    - Aufzählungszeichen

    - Absatzorientierung

    | +|Formformatierung|

    In Aspose.Slides für Python via .NET ist das Grundelement einer Folie eine Form. Sie können diese Formelemente mit Aspose.Slides für Python via .NET formatieren:

    - Position

    - Größe

    - Linie

    - Füllung (inkl. Muster, Verlauf, einfarbig)

    - Text

    - Bild

    | + +## **FAQ** + +**Muss ich Microsoft PowerPoint auf dem Server/PC installieren, damit die Bibliothek funktioniert?** + +Nein. PowerPoint ist nicht erforderlich; Aspose.Slides ist eine eigenständige Engine zum Erstellen, Bearbeiten, Konvertieren und Rendern von Präsentationen. + +**Wie funktioniert Multithreading? Kann die Verarbeitung parallelisiert werden?** + +Es ist sicher, verschiedene Dokumente in unterschiedlichen Threads zu verarbeiten; das gleiche [presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Objekt darf nicht von [multiple threads](/slides/de/python-net/multithreading/) gleichzeitig verwendet werden. + +**Werden Dateipasswörter und Verschlüsselung unterstützt?** + +Ja. [You can](/slides/de/python-net/password-protected-presentation/) verschlüsselte Präsentationen öffnen, ein Öffnungs‑ und Schreib‑Passwort setzen oder entfernen und den Schutzstatus prüfen. + +**Muss ich mich um Schriftpakete in Linux‑Containern kümmern?** + +Ja. Es wird empfohlen, gängige Schriftpakete zu installieren und/oder in Ihrer Anwendung explizit [specify font directories](/slides/de/python-net/custom-font/) anzugeben, um unerwartete Ersetzungen zu vermeiden. + +**Gibt es Einschränkungen in der Evaluierungs‑Version?** + +Im [evaluation mode](/slides/de/python-net/licensing/) wird ein Wasserzeichen zum Output hinzugefügt und bestimmte Einschränkungen gelten; eine [30‑day temporary license](https://purchase.aspose.com/temporary-license/) steht für vollständige Tests zur Verfügung. + +**Wird das Importieren externer Formate in eine Präsentation (PDF/HTML → PPTX) unterstützt?** + +Ja. Sie können [PDF pages and HTML content](/slides/de/python-net/import-presentation/) zu einer Präsentation hinzufügen und in Folien umwandeln. \ No newline at end of file diff --git a/de/python-net/getting-started/metered-licensing/_index.md b/de/python-net/getting-started/metered-licensing/_index.md index 1e6893bf5e..e78c6bc7dc 100644 --- a/de/python-net/getting-started/metered-licensing/_index.md +++ b/de/python-net/getting-started/metered-licensing/_index.md @@ -1,56 +1,88 @@ --- -title: Abgerechnete Lizenzierung +title: Metered-Lizenzierung type: docs weight: 90 url: /de/python-net/metered-licensing/ +keywords: +- Lizenz +- Metered-Lizenz +- Lizenzschlüssel +- öffentlicher Schlüssel +- privater Schlüssel +- Verbrauchsmenge +- Python +- Aspose.Slides +description: "Erfahren Sie, wie Aspose.Slides für Python via .NET Metered-Lizenzierung es Ihnen ermöglicht, PowerPoint- und OpenDocument-Dateien flexibel zu verarbeiten und nur für das zu bezahlen, was Sie nutzen." --- +## **Metered-Schlüssel anwenden** + {{% alert color="primary" %}} -Die abgerechnete Lizenzierung ist ein neuer Lizenzierungsmechanismus, der neben bestehenden Lizenzierungsmethoden verwendet werden kann. Wenn Sie basierend auf Ihrer Nutzung der Funktionen der Aspose.Slides-API abgerechnet werden möchten, wählen Sie die abgerechnete Lizenzierung. +Metered-Lizenzierung ist ein neuer Lizenzierungsmechanismus, der neben vorhandenen Lizenzierungsmethoden verwendet werden kann. Wenn Sie basierend auf Ihrer Nutzung der Aspose.Slides API‑Funktionen abgerechnet werden möchten, wählen Sie die Metered‑Lizenzierung. -Wenn Sie eine abgerechnete Lizenz erwerben, erhalten Sie Schlüssel (und keine Lizenzdatei). Dieser abgerechnete Schlüssel kann mit der von Aspose bereitgestellten [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) Klasse für Metering-Operationen angewendet werden. Weitere Einzelheiten finden Sie in den [Häufigen Fragen zur abgerechneten Lizenzierung](https://purchase.aspose.com/faqs/licensing/metered). +Wenn Sie eine Metered‑Lizenz erwerben, erhalten Sie Schlüssel (und keine Lizenzdatei). Dieser Metered‑Schlüssel kann mithilfe der von Aspose bereitgestellten [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/)‑Klasse für Messvorgänge angewendet werden. Weitere Details finden Sie in den [Metered Licensing FAQ](https://purchase.aspose.com/faqs/licensing/metered). {{% /alert %}} -1. Erstellen Sie eine Instanz der [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) Klasse. -1. Übergeben Sie Ihre öffentlichen und privaten Schlüssel an die Methode `set_metered_key`. -1. Führen Sie einige Verarbeitungen durch (führen Sie Aufgaben aus). -1. Rufen Sie die Methode `get_consumption_quantity()` der Metered-Klasse auf. - - Sie sollten die Menge/Anzahl der API-Anfragen sehen, die Sie bisher genutzt haben. +1. Erstellen Sie eine Instanz der [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/)‑Klasse. +1. Übergeben Sie Ihre öffentlichen und privaten Schlüssel an die Methode [set_metered_key](https://reference.aspose.com/slides/python-net/aspose.slides/metered/set_metered_key/#str-str). +1. Führen Sie einige Verarbeitungsschritte aus (Aufgaben ausführen). +1. Rufen Sie die Methode [get_consumption_quantity](https://reference.aspose.com/slides/python-net/aspose.slides/metered/get_consumption_quantity/#) der `Metered`‑Klasse auf. -Dieser Python-Code zeigt Ihnen, wie Sie die öffentlichen und privaten Schlüssel für die abgerechnete Lizenzierung festlegen: +Sie sollten die Menge/Anzahl der bisher von Ihnen konsumierten API‑Anfragen sehen. +Dieser Beispielcode zeigt, wie Sie die Metered‑Lizenzierung verwenden: ```python import aspose.slides as slides -# Erstellt eine Instanz der CAD Metered-Klasse +# Erstellt eine Instanz der Metered-Klasse metered = slides.Metered() -# Greift auf die set_metered_key-Eigenschaft zu und übergibt öffentliche und private Schlüssel als Parameter -metered.set_metered_key("*****", "*****") - -# Holt die Menge der abgerechneten Daten vor dem Aufruf der API -amountbefore = slides.metered.get_consumption_quantity() -# Anzeige der Informationen -print("Vorher verbrauchte Menge: " + str(amountbefore)) - -# Lädt das Dokument von der Festplatte. -with slides.Presentation("Presentation.pptx") as pres: - # Holt die Seitenanzahl des Dokuments - print(len(pres.slides)) - # Speichert als PDF - pres.save("out_pdf.pdf", slides.export.SaveFormat.PDF) - -# Holt die Menge der abgerechneten Daten nach dem Aufruf der API -amountafter = slides.metered.get_consumption_quantity() -# Anzeige der Informationen -print("Nachher verbrauchte Menge: " + str(amountafter)) +# Übergibt die öffentlichen und privaten Schlüssel an das Metered-Objekt +metered.set_metered_key("", "") + +# Holt den Verbrauchswert vor API-Aufrufen +amount_before = slides.Metered.get_consumption_quantity() +print("Amount consumed before:", amount_before) + +# Hier etwas mit der Aspose.Slides API machen +# ... + +# Holt den Verbrauchswert nach API-Aufrufen +amount_after = slides.Metered.get_consumption_quantity() +print("Amount consumed after:", amount_after) ``` + {{% alert color="warning" title="HINWEIS" %}} -Um die abgerechnete Lizenzierung zu nutzen, benötigen Sie eine stabile Internetverbindung, da der Lizenzierungsmechanismus das Internet verwendet, um ständig mit unseren Diensten zu interagieren und Berechnungen durchzuführen. +Um Metered‑Lizenzierung zu verwenden, benötigen Sie eine stabile Internetverbindung, da der Lizenzierungsmechanismus das Internet nutzt, um ständig mit unseren Diensten zu interagieren und Berechnungen durchzuführen. + +{{% /alert %}} + +## **FAQ** + +**Kann ich eine Metered‑Lizenz zusammen mit einer regulären Lizenz (unbefristet oder zeitlich befristet) in derselben Anwendung verwenden?** + +Ja. Metered ist ein zusätzlicher Lizenzierungsmechanismus, der neben bestehenden [Lizenzierungsmethoden](/slides/de/python-net/licensing/) verwendet werden kann. Sie wählen beim Start der Anwendung, welcher Mechanismus angewendet wird. + +**Was genau wird bei einer Metered‑Lizenz als Verbrauch gezählt: Vorgänge oder Dateien?** + +Der API‑Verbrauch wird gezählt, also die Anzahl der Anfragen oder Vorgänge. Sie können den aktuellen Verbrauch über die [Verbrauchserfassung‑Methoden](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) abrufen. + +**Ist Metered für Microservices und serverlose Umgebungen geeignet, in denen Instanzen häufig neu gestartet werden?** + +Ja. Da die Abrechnung auf API‑Aufruf‑Ebene erfolgt, sind Szenarien mit häufigen Cold‑Starts kompatibel, vorausgesetzt, es besteht ein stabiler Netzwerkzugriff für Metered‑Berechnungen. + +**Unterscheidet sich die Funktionalität der Bibliothek bei Verwendung einer Metered‑Lizenz im Vergleich zu einer unbefristeten Lizenz?** + +Nein. Dies betrifft nur den Lizenz‑ und Abrechnungsmechanismus; die Fähigkeiten des Produkts bleiben unverändert. + +**Wie steht Metered im Zusammenhang mit der Testversion und der temporären Lizenz?** + +Die Testversion hat Einschränkungen und Wasserzeichen, die [temporäre Lizenz](https://purchase.aspose.com/temporary-license/) beseitigt die Einschränkungen für 30 Tage, und Metered beseitigt die Einschränkungen und berechnet basierend auf der tatsächlichen Nutzung. + +**Kann ich das Budget kontrollieren, indem ich automatisch reagiere, wenn ein Verbrauchsschwellenwert überschritten wird?** -{{% /alert %}} \ No newline at end of file +Ja. Eine gängige Praxis ist, den aktuellen Verbrauch regelmäßig über die [Verfolgungsmethoden](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) auszulesen und eigene Limits oder Warnungen auf Anwendungs‑ oder Überwachungsebene zu implementieren. \ No newline at end of file diff --git a/de/python-net/getting-started/system-requirements/_index.md b/de/python-net/getting-started/system-requirements/_index.md index 7417ed7156..b9af65f756 100644 --- a/de/python-net/getting-started/system-requirements/_index.md +++ b/de/python-net/getting-started/system-requirements/_index.md @@ -16,14 +16,16 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Entdecken Sie die Systemanforderungen für Aspose.Slides for Python via .NET. Stellen Sie nahtlose PowerPoint- und OpenDocument-Unterstützung unter Windows, Linux und macOS sicher." +description: "Entdecken Sie die Systemanforderungen von Aspose.Slides für Python via .NET. Stellen Sie nahtlose Unterstützung für PowerPoint und OpenDocument unter Windows, Linux und macOS sicher." --- -Aspose.Slides für Python über .NET erfordert kein drittes Produkt wie Microsoft PowerPoint, das installiert sein muss. Aspose.Slides selbst ist eine Engine zum Erstellen, Modifizieren, Konvertieren und Rendern von Dokumenten in verschiedenen Formaten, einschließlich der Microsoft PowerPoint-Präsentationsformate. +## **Einführung** -## Unterstützte Betriebssysteme +Aspose.Slides for Python via .NET erfordert keine Drittanbieterprodukte, wie Microsoft PowerPoint, installiert zu haben. Aspose.Slides ist eine Engine zum Erstellen, Ändern, Konvertieren und Rendern von Dokumenten in verschiedenen Formaten, einschließlich Microsoft PowerPoint‑Präsentationsformaten. -Aspose.Slides für Python über .NET unterstützt die Betriebssysteme Windows 64-Bit und 32-Bit, macOS und Linux 64-Bit, auf denen Python 3.5 oder höher installiert ist. +## **Unterstützte Betriebssysteme** + +Aspose.Slides for Python unterstützt Windows (32‑Bit und 64‑Bit), macOS und 64‑Bit‑Linux auf Systemen mit Python 3.5 oder höher. @@ -64,16 +66,30 @@ Aspose.Slides für Python über .NET unterstützt die Betriebssysteme Windows 64
    macOS
      -
    • 12 "Monterey"
    • +
    • 12 „Monterey“
    -## Systemanforderungen für Zielplattformen Linux und macOS +## **Systemanforderungen für Ziel‑Linux‑ und macOS‑Plattformen** + +- GCC‑6‑Laufzeitbibliotheken (oder neuer). +- [libgdiplus](https://github.com/mono/libgdiplus), eine Open‑Source‑Implementierung der GDI+‑API. +- Abhängigkeiten des .NET‑Core‑Runtimes. Die Installation des .NET‑Core‑Runtimes selbst ist NICHT erforderlich. +- Für Python 3.5–3.7: Der `pymalloc`‑Build von Python ist erforderlich. Die Build‑Option `--with-pymalloc` ist standardmäßig aktiviert. Typischerweise ist der `pymalloc`‑Build von Python durch ein `m`‑Suffix im Dateinamen gekennzeichnet. +- Die gemeinsam genutzte Bibliothek `libpython`. Die Build‑Option `--enable-shared` von Python ist standardmäßig deaktiviert, und einige Python‑Distributionen enthalten die gemeinsam genutzte Bibliothek `libpython` nicht. Auf manchen Linux‑Plattformen kann die gemeinsam genutzte Bibliothek `libpython` über den Paketmanager installiert werden (z. B. `sudo apt-get install libpython3.7`). Ein häufiges Problem ist, dass die `libpython`‑Bibliothek an einem nichtstandardmäßigen Ort für Shared‑Libraries installiert ist. Dies kann behoben werden, indem beim Kompilieren von Python alternative Bibliothekspfade über Build‑Optionen gesetzt werden oder indem ein symbolischer Link zur `libpython`‑Bibliotheksdatei im standardmäßigen System‑Shared‑Library‑Verzeichnis erstellt wird. Typischerweise lautet der Dateiname der gemeinsam genutzten Bibliothek `libpythonX.Ym.so.1.0` für Python 3.5–3.7 oder `libpythonX.Y.so.1.0` für Python 3.8 oder neuer (z. B. `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). + +## **FAQ** + +**Muss Microsoft PowerPoint für Konvertierungen und das Rendern installiert sein?** + +Nein, PowerPoint ist nicht erforderlich; Aspose.Slides ist eine eigenständige Engine zum [Erstellen](/slides/de/python-net/create-presentation/), Ändern, [Konvertieren](/slides/de/python-net/convert-presentation/) und [Rendern](/slides/de/python-net/convert-powerpoint-to-png/) von Präsentationen. + +**Ist eine bestimmte .NET-Version (Core/5+/6+) auf dem Rechner erforderlich?** + +Die Installation des .NET‑Runtimes selbst ist nicht erforderlich, aber seine Abhängigkeiten müssen auf Linux/macOS vorhanden sein. Das bedeutet, das System sollte die Pakete enthalten, die üblicherweise als .NET‑Abhängigkeiten installiert werden, ohne den Runtime‑Komplettinstall zu benötigen. + +**Welche Schriftarten werden für korrektes Rendern benötigt?** -- GCC-6 Runtime-Bibliotheken (oder höher). -- [`libgdiplus`](https://github.com/mono/libgdiplus): eine Open-Source-Implementierung der GDI+ API. -- Abhängigkeiten der .NET Core Runtime. Die Installation der .NET Core Runtime selbst ist NICHT erforderlich. -- Für Python 3.5-3.7: Der `pymalloc` Build von Python wird benötigt. Die `--with-pymalloc` Python Build-Option ist standardmäßig aktiviert. Typischerweise ist der `pymalloc` Build von Python im Dateinamen mit dem `m` Suffix gekennzeichnet. -- `libpython` gemeinsame Python-Bibliothek. Die `--enable-shared` Python Build-Option ist standardmäßig deaktiviert, einige Python-Distributionen enthalten nicht die `libpython` gemeinsame Bibliothek. Für einige Linux-Plattformen kann die `libpython` gemeinsame Bibliothek mit dem Paketmanager installiert werden, zum Beispiel: `sudo apt-get install libpython3.7`. Ein häufiges Problem ist, dass die `libpython` Bibliothek an einem anderen Ort installiert ist als der Standard-Systemort für gemeinsame Bibliotheken. Das Problem kann behoben werden, indem die Python Build-Optionen verwendet werden, um alternativen Bibliothekspfade beim Kompilieren von Python festzulegen, oder es kann behoben werden, indem ein symbolischer Link zur `libpython` Bibliotheksdatei am Standardort für gemeinsame Bibliotheken im System erstellt wird. Typischerweise hat die Datei der `libpython` gemeinsamen Bibliothek den Dateinamen `libpythonX.Ym.so.1.0` für Python 3.5-3.7 oder `libpythonX.Y.so.1.0` für Python 3.8 oder höher (zum Beispiel: libpython3.7m.so.1.0, libpython3.9.so.1.0). \ No newline at end of file +In der Praxis müssen die in der Präsentation verwendeten Schriftarten oder passende [Ersatzschriften](/slides/de/python-net/font-substitution/) verfügbar sein. Um ein konsistentes Rendern auf Linux/macOS sicherzustellen, empfiehlt es sich, gängige Schriftpakete zu installieren. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/_index.md index adfd9aa425..26b7d30fd7 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -18,42 +18,95 @@ keywords: - OpenDocument - Python - Aspose.Slides -description: "Convierte presentaciones de PowerPoint y OpenDocument a PPTX, PDF, XPS, TIFF y más con Aspose.Slides for Python via .NET. Conversión sencilla y de alta calidad." +description: "Convertir presentaciones PowerPoint y OpenDocument a PPTX, PDF, XPS, TIFF y más con Aspose.Slides para Python a través de .NET. Conversión sencilla y de alta calidad." --- +## **Introducción** + +Esta página ofrece una visión general de la conversión de presentaciones con Aspose.Slides para Python a través de .NET. Resume los escenarios compatibles y señala guías específicas que muestran el código exacto para exportar presentaciones y diapositivas a formatos como PDF, XPS, TIFF, así como convertir entre PPT y PPTX. Cuando corresponda, los artículos vinculados resaltan opciones específicas del formato—por ejemplo, renderizar notas o ajustar la calidad de imagen—y limitaciones conocidas como el soporte parcial en rutas PPT→PPTX. Use esta página para elegir un formato de destino y luego siga la receta vinculada. + ## **Conversión de PPT a PPTX** -### **Acerca de la Conversión de PPT a PPTX** -Aspose.Slides ahora admite la conversión de PPT a PPTX. -### **Convertir PPT a PPTX con Aspose.Slides** -Aspose.Slides para Python a través de .NET proporciona soporte parcial para convertir presentaciones en formato de archivo PPT a presentaciones en formato de archivo PPTX. Dado que el soporte para la mencionada función de conversión de presentaciones se ha introducido recientemente en Aspose.Slides para Python a través de .NET, en este momento tiene una capacidad limitada y solo funciona para la forma simple de presentaciones. La principal ventaja que ofrece la biblioteca API Aspose.Slides para Python a través de .NET para convertir presentaciones PPT a formato PPTX es la facilidad de uso de la API para lograr el objetivo deseado. Por favor, proceda a este [enlace](/slides/es/python-net/convert-presentation/) para la sección de fragmentos de código para más detalles. La siguiente sección ilustra claramente qué características son compatibles y cuáles no al convertir presentaciones en formato PPT a presentaciones en formato PPTX. -{{% alert color="primary" %}} -Leer más [**Cómo Convertir PPT a PPTX**](/slides/es/python-net/convert-ppt-to-pptx/). + +### **Acerca de PPT/PPTX** + +PPT es el formato binario antiguo de PowerPoint (97–2003), mientras que PPTX es el formato Open XML empaquetado en ZIP introducido en PowerPoint 2007. En comparación con PPT, PPTX normalmente genera archivos más pequeños, admite funciones modernas, funciona bien con la automatización de documentos y se recomienda para almacenamiento a largo plazo y flujos de trabajo multiplataforma. + +### **Convertir PPT a PPTX** + +Aspose.Slides admite convertir presentaciones PPT al formato PPTX. La ventaja principal de usar la API de Aspose.Slides para esta tarea es la simplicidad del flujo de trabajo necesario para lograr el resultado deseado. En la práctica, puede realizar la conversión con código mínimo mientras mantiene alta fidelidad de diapositivas, diseños y medios. + +{{% alert color="primary" %}} +Leer más: [Convertir PPT a PPTX en Python](/slides/es/python-net/convert-ppt-to-pptx/). {{% /alert %}} + ## **Conversión de Presentación a PDF** + ### **Acerca de PDF** -El [Formato de Documento Portátil](https://en.wikipedia.org/wiki/PDF) es un formato de archivo que fue creado por Adobe System para el intercambio de documentos entre diferentes organizaciones. El propósito de este formato era permitir que el contenido de los documentos se representara de tal manera que su apariencia visual no dependiera de la plataforma en la que se estuviera visualizando. -### **PDF en Aspose.Slides para Python a través de .NET** -[PDF](https://docs.fileformat.com/pdf/) es un formato de archivo que fue creado por Adobe System para el intercambio de documentos entre diferentes organizaciones. El propósito de este formato era permitir que la apariencia visual del contenido del documento no dependiera de la plataforma en la que se estuviera visualizando. -Cualquier documento de presentación que se pueda cargar en Aspose.Slides para Python a través de .NET se puede convertir en un documento PDF. Puede exportar los documentos de presentación a PDF directamente utilizando solo el componente Aspose.Slides para Python a través de .NET. No necesita ninguna otra biblioteca de terceros o componente Aspose.PDF para este propósito. +El [Portable Document Format](https://en.wikipedia.org/wiki/PDF) (PDF) es un formato de archivo creado por Adobe Systems para intercambiar documentos entre organizaciones. Su objetivo es garantizar que el contenido de un documento se muestre con la misma apariencia visual sin importar la plataforma en que se visualice. + +### **Convertir Presentaciones a PDF** -{{% alert color="primary" %}} -Leer más [**Cómo Convertir Presentación a PDF**](/slides/es/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/). +Cualquier presentación que pueda cargarse en Aspose.Slides puede convertirse a un documento PDF. Puede exportar presentaciones a PDF directamente con el componente Aspose.Slides; no se requieren bibliotecas de terceros ni el componente Aspose.PDF. + +{{% alert color="primary" %}} +Leer más: [Convertir PPT y PPTX a PDF en Python](/slides/es/python-net/convert-powerpoint-to-pdf/). {{% /alert %}} ## **Conversión de Presentación a XPS** + ### **Acerca de XPS** -La [Especificación de Analizador XML](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) es un lenguaje de descripción de página y un formato de documento fijo que fue desarrollado originalmente por Microsoft. Al igual que PDF, XPS es un formato de documento de diseño fijo diseñado para preservar la fidelidad del documento y proporcionar una apariencia de documento independiente del dispositivo. -### **Convertir Presentación a XPS con Aspose.Slides** -Cualquier documento de presentación que se pueda cargar mediante Aspose.Slides para Python a través de .NET se puede convertir en formato XPS. Aspose.Slides para Python a través de .NET utiliza el motor de diseño y renderizado de alta fidelidad para producir salida en formato de documento XPS de diseño fijo. Vale la pena mencionar que Aspose.Slides para Python a través de .NET genera XPS directamente sin depender de las clases de Windows Presentation Foundation (WPF) que están empaquetadas con .NET Framework 3.5, lo que permite a Aspose.Slides para Python a través de .NET producir documentos XPS en máquinas que ejecutan versiones del .NET Framework anteriores a la versión 3.5. Puede aprender sobre cómo exportar los documentos de presentación a documentos XPS a través de Aspose.Slides para Python a través de .NET en [este tema](/slides/es/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). -{{% alert color="primary" %}} -Leer más [**Cómo Convertir Presentación a XPS**](/slides/es/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) + +El [XML Paper Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) (XPS) es un lenguaje de descripción de página y un formato de documento fijo desarrollado originalmente por Microsoft. Al igual que PDF, XPS es un formato de documento de diseño fijo diseñado para preservar la fidelidad del documento y proporcionar una apariencia independiente del dispositivo. + +### **Convertir Presentaciones a XPS** + +Cualquier presentación que pueda cargarse con Aspose.Slides puede convertirse al formato XPS. Aspose.Slides utiliza un motor de diseño y renderizado de página de alta fidelidad para producir salida en el formato XPS de diseño fijo. Es notable que Aspose.Slides genera XPS directamente sin depender de Windows Presentation Foundation (WPF). + +{{% alert color="primary" %}} +Leer más: [Convertir Presentaciones de PowerPoint a XPS en Python](/slides/es/python-net/convert-powerpoint-to-xps/). {{% /alert %}} + ## **Conversión de Presentación a TIFF** + ### **Acerca de TIFF** -El [Formato de Archivo de Imagen Etiquetado](https://en.wikipedia.org/wiki/TIFF) que es conocido por almacenar múltiples imágenes en un documento fue creado originalmente por Aldus. Este formato es ampliamente compatible con aplicaciones de escaneo, fax y manipulación de imágenes. -### **Convertir Presentación a TIFF con Aspose.Slides** -Cualquier documento que se pueda cargar en Aspose.Slide para .NET también se puede convertir en un documento TIFF directamente por Aspose.Slides para Python a través de .NET, eliminando la necesidad de cualquier componente de terceros. Además, puede definir opcionalmente el tamaño de las imágenes en el documento TIFF resultante. Puede encontrar información sobre cómo exportar los documentos de presentación a documentos TIFF a través de Aspose.Slides para Python a través de .NET en [este tema](/slides/es/python-net/convert-powerpoint-ppt-and-pptx-to-tiff/). -{{% alert color="primary" %}} -Leer más [**Cómo Convertir Presentación a TIFF**](/slides/es/python-net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file + +El [Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) (TIFF) es un formato de imagen raster conocida por almacenar múltiples imágenes (páginas) en un solo archivo. Desarrollado originalmente por Aldus, es ampliamente compatible con aplicaciones de escaneo, fax y otros procesos de imagen. + +### **Convertir Presentaciones a TIFF** + +Cualquier documento que pueda cargarse en Aspose.Slides también puede convertirse directamente a un archivo TIFF sin componentes de terceros. También puede especificar opcionalmente el tamaño de imagen para las páginas en el TIFF resultante. + +{{% alert color="primary" %}} +Leer más: [Convertir Presentaciones de PowerPoint a TIFF en Python](/slides/es/python-net/convert-powerpoint-to-tiff/). +{{% /alert %}} + +## **FAQ** + +**¿Puedo incluir diapositivas ocultas al exportar a PDF/XPS?** + +Sí. La exportación admite incluir diapositivas ocultas mediante la opción correspondiente en la configuración de [PDF](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/show_hidden_slides/)/[XPS](https://reference.aspose.com/slides/python-net/aspose.slides.export/xpsoptions/show_hidden_slides/). + +**¿Se admite guardar en el formato PDF/A (para almacenamiento de archivo)?** + +Sí, los niveles de cumplimiento PDF/A [están disponibles](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfcompliance/) (incluidos A-2a/A-2b/A-2u y A-3a/A-3b) durante la exportación. + +**¿Qué sucede con las fuentes durante la conversión: se incrustan o se sustituyen?** + +Existen opciones flexibles: puede [incrustar todos los glifos o solo los subconjuntos usados](/slides/es/python-net/embedded-font/), especificar una [fuente de respaldo](/slides/es/python-net/fallback-font/), y [controlar el comportamiento](/slides/es/python-net/font-substitution/) cuando una fuente carece de ciertos estilos. + +**¿Cómo puedo controlar la calidad y el tamaño del PDF resultante?** + +Hay opciones disponibles para la [calidad JPEG](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/jpeg_quality/), la [compresión de texto](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/text_compression/), y un umbral de [resolución suficiente](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/sufficient_resolution/) para imágenes, además de un modo que selecciona la [mejor compresión para imágenes](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/best_images_compression_ratio/). + +**¿Puedo exportar solo un rango de diapositivas (por ejemplo, 5–12)?** + +Sí, la exportación admite seleccionar un subconjunto de diapositivas. + +**¿Se admite el procesamiento multiproceso de varios archivos al mismo tiempo?** + +Es aceptable procesar distintas presentaciones en paralelo en procesos separados. Importante: el mismo objeto de [presentación](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) no debe cargarse ni guardarse desde [múltiples hilos](/slides/es/python-net/multithreading/). + +**¿Existen riesgos al aplicar la licencia desde diferentes hilos?** + +Sí, las llamadas de [configuración de licencia](/slides/es/python-net/licensing/) no son seguras para subprocesos y requieren sincronización. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index c07e82b26a..c70de75463 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,35 @@ --- -title: Convertir PowerPoint a GIF Animado +title: Convertir presentaciones a GIF animados en Python +linktitle: Presentación a GIF type: docs weight: 65 url: /es/python-net/convert-powerpoint-to-animated-gif/ -keywords: "Convertir PowerPoint, PPT, PPTX, GIF animado, PPT a GIF animado, PPTX a GIF animado, Python, configuraciones predeterminadas, configuraciones personalizadas" -description: "Convertir Presentación de PowerPoint a GIF animado: PPT a GIF, PPTX a GIF en Python" +keywords: +- GIF animado +- convertir PowerPoint +- convertir OpenDocument +- convertir presentación +- convertir diapositiva +- convertir PPT +- convertir PPTX +- convertir ODP +- PowerPoint a GIF +- OpenDocument a GIF +- presentación a GIF +- diapositiva a GIF +- PPT a GIF +- PPTX a GIF +- ODP a GIF +- configuración predeterminada +- configuración personalizada +- Python +- Aspose.Slides +description: "Convierta fácilmente presentaciones de PowerPoint (PPT, PPTX) y archivos OpenDocument (ODP) a GIF animados con Aspose.Slides para Python. Resultados rápidos y de alta calidad." --- -## Convertir Presentaciones a GIF Animado Usando Configuraciones Predeterminadas ## - -Este código de ejemplo en Python muestra cómo convertir una presentación a GIF animado usando configuraciones estándar: +## **Convertir presentaciones a GIF animado usando la configuración predeterminada** +Este código de ejemplo en Python muestra cómo convertir una presentación a GIF animado usando la configuración estándar: ```py import aspose.slides as slides @@ -18,17 +37,18 @@ pres = slides.Presentation(path + "pres.pptx") pres.save("pres.gif", slides.export.SaveFormat.GIF) ``` -El GIF animado se creará con parámetros predeterminados. + +El GIF animado se creará con los parámetros predeterminados. {{% alert title="TIP" color="primary" %}} -Si prefieres personalizar los parámetros para el GIF, puedes usar la clase [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/). Consulta el código de ejemplo a continuación. +Si prefiere personalizar los parámetros del GIF, puede usar la clase [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/) . Vea el código de ejemplo a continuación. {{% /alert %}} -## Convertir Presentaciones a GIF Animado Usando Configuraciones Personalizadas ## -Este código de ejemplo muestra cómo convertir una presentación a GIF animado usando configuraciones personalizadas en Python: +## **Convertir presentaciones a GIF animado usando configuración personalizada** +Este código de ejemplo muestra cómo convertir una presentación a GIF animado usando configuración personalizada en Python: ```py import aspose.slides as slides import aspose.pydrawing as drawing @@ -36,15 +56,26 @@ import aspose.pydrawing as drawing pres = slides.Presentation(path + "pres.pptx") options = slides.export.GifOptions() -options.frame_size = drawing.Size(960, 720) # el tamaño del GIF resultante -options.default_delay = 2000 # cuánto tiempo se mostrará cada diapositiva hasta que se cambie a la siguiente -options.transition_fps = 35 # aumentar FPS para una mejor calidad de animación de transición +options.frame_size = drawing.Size(960, 720) # el tamaño del GIF resultante +options.default_delay = 2000 # cuánto tiempo se mostrará cada diapositiva antes de cambiar a la siguiente +options.transition_fps = 35 # incrementar FPS para mejorar la calidad de la animación de transición pres.save("pres.gif", slides.export.SaveFormat.GIF, options) ``` + {{% alert title="Info" color="info" %}} -Es posible que desees probar un conversor GRATUITO de [Texto a GIF](https://products.aspose.app/slides/text-to-gif) desarrollado por Aspose. +Puede que desee probar un conversor GRATUITO [Text to GIF](https://products.aspose.app/slides/text-to-gif) desarrollado por Aspose. + +{{% /alert %}} + +## **FAQ** + +**¿Qué pasa si las fuentes usadas en la presentación no están instaladas en el sistema?** + +Instale las fuentes faltantes o [configure fuentes de reserva](/slides/es/python-net/powerpoint-fonts/). Aspose.Slides sustituirá, pero la apariencia puede variar. Para la identidad de marca, siempre asegúrese de que los tipos de letra requeridos estén disponibles explícitamente. + +**¿Puedo superponer una marca de agua en los fotogramas del GIF?** -{{% /alert %}} \ No newline at end of file +Sí. [Añada un objeto/logo semitransparente](/slides/es/python-net/watermark/) a la diapositiva maestra o a diapositivas individuales antes de la exportación — la marca de agua aparecerá en cada fotograma. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index b0d145146d..be816b70df 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,26 +1,85 @@ --- -title: Convertir PowerPoint a TIFF con Notas +title: Convertir presentaciones de PowerPoint a TIFF con notas en Python +linktitle: PowerPoint a TIFF con notas type: docs weight: 100 url: /es/python-net/convert-powerpoint-to-tiff-with-notes/ -keywords: "Convertir PowerPoint a TIFF con notas" -description: "Convertir PowerPoint a TIFF con notas en Aspose.Slides." +keywords: +- convertir PowerPoint +- convertir presentación +- convertir diapositiva +- convertir PPT +- convertir PPTX +- PowerPoint a TIFF +- presentación a TIFF +- diapositiva a TIFF +- PPT a TIFF +- PPTX a TIFF +- PowerPoint con notas +- presentación con notas +- diapositiva con notas +- PPT con notas +- PPTX con notas +- TIFF con notas +- Python +- Aspose.Slides +description: "Convierte presentaciones de PowerPoint a TIFF con notas usando Aspose.Slides para Python vía .NET. Aprende cómo exportar diapositivas con notas del presentador de manera eficiente." --- -{{% alert title="Consejo" color="primary" %}} +## **Visión general** -Puede que desee consultar el [convertidor GRATUITO de PowerPoint a Póster](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) de Aspose. +Aspose.Slides for Python via .NET ofrece una solución sencilla para convertir presentaciones PowerPoint y OpenDocument (PPT, PPTX y ODP) con notas al formato TIFF. Este formato se usa ampliamente para el almacenamiento de imágenes de alta calidad, la impresión y el archivado de documentos. Con Aspose.Slides, no solo puede exportar presentaciones completas con notas del presentador, sino también generar miniaturas de diapositivas en la vista de Diapositiva de notas. El proceso de conversión es simple y eficiente, utilizando el método `save` de la [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) clase para transformar toda la presentación en una serie de imágenes TIFF conservando las notas y el diseño. -{{% /alert %}} +## **Convertir una presentación a TIFF con notas** + +Guardar una presentación PowerPoint u OpenDocument como TIFF con notas usando Aspose.Slides for Python via .NET implica los siguientes pasos: + +1. Instanciar la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/): Cargar un archivo PowerPoint u OpenDocument. +1. Configurar las opciones de diseño de salida: Utilizar la clase [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/notescommentslayoutingoptions/) para especificar cómo deben mostrarse las notas y los comentarios. +1. Guardar la presentación como TIFF: Pasar las opciones configuradas al método [save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/save/#str-asposeslidesexportsaveformat-asposeslidesexportisaveoptions). + +Supongamos que tenemos un archivo "speaker_notes.pptx" con la siguiente diapositiva: -TIFF es uno de varios formatos de imagen de uso común que Aspose.Slides para Python a través de .NET admite para convertir presentaciones de PowerPoint PPT y PPTX con notas a imágenes. También puede generar miniaturas de diapositivas en la vista de Diapositivas de Notas. El método [Guardar](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) expuesto por la clase Presentation se puede utilizar para convertir toda la presentación en la vista de Diapositivas de Notas a TIFF. Guardar una presentación de Microsoft PowerPoint como TIFF con notas utilizando Aspose.Slides para Python a través de .NET es un proceso de dos líneas. Simplemente abra la presentación y guárdela como notas TIFF. También puede generar una miniatura de diapositiva en la vista de Diapositivas de Notas para diapositivas individuales. Los fragmentos de código a continuación actualizan la presentación de muestra a imágenes TIFF en la vista de Diapositivas de Notas, como se muestra a continuación: +![La diapositiva de la presentación con notas del presentador](slide_with_notes.png) + +El fragmento de código a continuación muestra cómo convertir la presentación a una imagen TIFF en la vista de Diapositiva de notas usando la propiedad [slides_layout_options](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/). ```py -import aspose.slides as slides +# Instanciar la clase Presentation que representa un archivo de presentación. +with slides.Presentation("speaker_notes.pptx") as presentation: + + notes_options = slides.export.NotesCommentsLayoutingOptions() + notes_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL # Muestra las notas debajo de la diapositiva. + + # Configura las opciones TIFF con el diseño de notas. + tiff_options = slides.export.TiffOptions() + tiff_options.dpi_x = 300 + tiff_options.dpi_y = 300 + tiff_options.slides_layout_options = notes_options + + # Guarda la presentación en TIFF con las notas del presentador. + presentation.save("TIFF_with_notes.tiff", slides.export.SaveFormat.TIFF, tiff_options) +``` + + +El resultado: + +![La imagen TIFF con notas del presentador](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +Consulte el [Convertidor gratuito de PowerPoint a póster de Aspose](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Puedo controlar la posición del área de notas en el TIFF resultante?** + +Sí. Utilice la [notes layout settings](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) para elegir entre opciones como `NONE`, `BOTTOM_TRUNCATED` o `BOTTOM_FULL`, que respectivamente ocultan las notas, las ajustan en una sola página o permiten que continúen en páginas adicionales. + +**¿Cómo puedo reducir el tamaño de un archivo TIFF con notas sin pérdida visible de calidad?** + +Elija una [efficient compression](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/compression_type/) (p. ej., `LZW` o `RLE`), establezca un DPI razonable y, si es aceptable, use un [pixel format](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/pixel_format/) más bajo (como 8 bpp o 1 bpp para monocromo). Reducir ligeramente las [image dimensions](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/image_size/) también puede ayudar sin afectar perceptiblemente la legibilidad. -# Instanciar un objeto Presentation que representa un archivo de presentación -presentation = slides.Presentation("pres.pptx") +**¿Afecta la fuente de las notas al resultado si las fuentes originales faltan en el sistema?** -# Guardar la presentación en notas TIFF -presentation.save("Notes_In_Tiff_out.tiff", slides.export.SaveFormat.TIFF) -``` \ No newline at end of file +Sí. Las fuentes faltantes activan la [substitution](/slides/es/python-net/font-selection-sequence/), lo que puede cambiar las métricas y la apariencia del texto. Para evitarlo, [supply the required fonts](/slides/es/python-net/custom-font/) o configure una [fallback font](/slides/es/python-net/fallback-font/) predeterminada para que se utilicen las tipografías previstas. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 3a54bf508f..54ec58abba 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,6 +1,6 @@ --- -title: "Comprender la diferencia: PPT vs PPTX" -linktitle: PPT vs PPTX +title: "Entendiendo la diferencia: PPT vs PPTX" +linktitle: "PPT vs PPTX" type: docs weight: 10 url: /es/python-net/ppt-vs-pptx/ @@ -15,38 +15,54 @@ keywords: - presentación - Python - Aspose.Slides -description: "Compara PPT y PPTX para PowerPoint con Aspose.Slides for Python, explorando las diferencias de formato, los beneficios, la compatibilidad y consejos de conversión." +description: "Compare PPT vs PPTX para PowerPoint con Aspose.Slides Python vía .NET, explorando diferencias de formato, beneficios, compatibilidad y consejos de conversión." --- - ## **¿Qué es PPT?** -[**PPT**](https://docs.fileformat.com/presentation/ppt/) es un formato de archivo binario, es decir, es imposible ver su contenido sin herramientas especiales. Las primeras versiones de PowerPoint 97-2003 trabajaron con el formato de archivo PPT, sin embargo, su expansibilidad es limitada. +[**PPT**](https://docs.fileformat.com/presentation/ppt/) es un formato de archivo binario, es decir, es imposible ver su contenido sin herramientas especiales. Las primeras versiones de PowerPoint 97-2003 trabajaban con el formato de archivo PPT, sin embargo su expandibilidad es limitada. + ## **¿Qué es PPTX?** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/) es un nuevo formato de archivo de presentación, basado en el estándar Office Open XML (ISO 29500:2008-2016, ECMA-376). PPTX es un conjunto almacenado de archivos XML y de medios. El formato PPTX es fácilmente expansible. Por ejemplo, es fácil agregar soporte para un nuevo tipo de gráfico o tipo de forma, sin cambiar el formato PPTX en cada nueva versión de PowerPoint. El formato PPTX se utiliza a partir de PowerPoint 2007. +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) es un nuevo formato de archivo de presentación, basado en el estándar Office Open XML (ISO 29500:2008-2016, ECMA-376). PPTX es un conjunto archivado de archivos XML y multimedia. El formato PPTX es fácilmente ampliable. Por ejemplo, es sencillo añadir soporte para un nuevo tipo de gráfico o forma, sin cambiar el formato PPTX en cada nueva versión de PowerPoint. El formato PPTX se utiliza a partir de PowerPoint 2007. ## **PPT vs PPTX** -Aunque PPTX proporciona una funcionalidad mucho más amplia, PPT sigue siendo bastante popular. La necesidad de convertir de PPT a PPTX y viceversa es altamente demandada. +Aunque PPTX ofrece una funcionalidad mucho más amplia, PPT sigue siendo bastante popular. La necesidad de convertir de PPT a PPTX y viceversa es muy demandada. -Sin embargo, la conversión entre el antiguo formato PPT y el nuevo formato PPTX es el desafío más complicado entre otros formatos de Microsoft Office. Aunque la especificación del formato PPT es abierta, es difícil trabajar con él. PowerPoint puede crear partes especiales (MetroBlob) en archivos PPT para almacenar información de PPTX que no es compatible con el formato PPT y no puede mostrarse en versiones antiguas de PowerPoint. Esta información puede ser restaurada cuando se carga un archivo PPT en una versión moderna de PowerPoint o se convierte a formato PPTX. +Sin embargo, la conversión entre el antiguo PPT y el nuevo PPTX es el desafío más complicado entre los demás formatos de Microsoft Office. Aunque la especificación del formato PPT es abierta, es difícil trabajar con él. PowerPoint puede crear partes especiales (MetroBlob) en archivos PPT para almacenar información de PPTX que no es compatible con el formato PPT y que no puede mostrarse en versiones antiguas de PowerPoint. Esta información puede restaurarse cuando un archivo PPT se carga en una versión moderna de PowerPoint o se convierte al formato PPTX. -Aspose.Slides proporciona una interfaz común para trabajar con todos los formatos de presentación. Permite convertir de PPT a PPTX y de PPTX a PPT de una manera muy simple. Aspose.Slides admite completamente la conversión de PPT a PPTX y también admite la conversión de PPTX a PPT con algunas restricciones. Recomendamos usar el formato PPTX siempre que sea posible. +Aspose.Slides ofrece una interfaz común para trabajar con todos los formatos de presentación. Permite convertir de PPT a PPTX y de PPTX a PPT de manera muy sencilla. Aspose.Slides soporta completamente la conversión de PPT a PPTX y también la conversión de PPTX a PPT con algunas restricciones. Recomendamos usar el formato PPTX siempre que sea posible. {{% alert color="primary" %}} - -Verifica la calidad de las conversiones de PPT a PPTX y de PPTX a PPT con la aplicación de conversión en línea [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). - +Comprueba la calidad de las conversiones de PPT a PPTX y de PPTX a PPT con la [**aplicación de conversión Aspose.Slides**](https://products.aspose.app/slides/conversion/). {{% /alert %}} - ```py import aspose.slides as slides # Instanciar un objeto Presentation que representa un archivo PPTX pres = slides.Presentation("PPTtoPPTX.ppt") -# Guardando la presentación PPTX en formato PPTX +# Guardar la presentación PPTX en formato PPTX pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -Lee más sobre [**Cómo Convertir Presentaciones PPT a PPTX**.](/slides/es/python-net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +Lee más sobre [**Cómo convertir presentaciones PPT a PPTX**](/slides/es/python-net/convert-ppt-to-pptx/). +{{% /alert %}} + +## **FAQ** + +**¿Tiene sentido conservar presentaciones antiguas en PPT si se abren sin errores?** + +Si una presentación se abre de forma fiable y no necesita colaboración ni funciones más recientes, puedes mantenerla en PPT. Pero, para una compatibilidad futura y mayor extensibilidad, es mejor [convertir a PPTX](/slides/es/python-net/convert-ppt-to-pptx/): el formato se basa en el estándar abierto OOXML y es más fácilmente soportado por herramientas modernas. + +**¿Cómo decidir qué archivos son críticos para convertir a PPTX primero?** + +Convierte primero las presentaciones que: sean editadas por varias personas; contengan gráficos complejos[/charts](/slides/es/python-net/create-chart/)/formas[/shapes](/slides/es/python-net/shape-manipulations/); se utilicen en comunicaciones externas; o generen advertencias al [abrir](/slides/es/python-net/open-presentation/). + +**¿Se preservará la protección por contraseña al convertir de PPT a PPTX y viceversa?** + +La contraseña se mantiene solo si la conversión y el soporte de cifrado son correctos en la herramienta que uses. Es más fiable [eliminar la protección](/slides/es/python-net/password-protected-presentation/), [convertir](/slides/es/python-net/convert-ppt-to-pptx/), y luego volver a aplicar la protección según tu política de seguridad. + +**¿Por qué algunos efectos desaparecen o se simplifican al convertir PPTX de vuelta a PPT?** + +Porque PPT no admite algunos objetos o propiedades más recientes. PowerPoint y las herramientas pueden almacenar “rastros” de esta información en bloques especiales para su restauración posterior, pero las versiones antiguas de PowerPoint no los renderizan. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 52d4f64a9e..058abb3d78 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,5 +1,5 @@ --- -title: Representar diapositivas de presentación como imágenes SVG en Python +title: Renderizar diapositivas de presentación como imágenes SVG en Python linktitle: Diapositiva a SVG type: docs weight: 50 @@ -12,7 +12,7 @@ keywords: - PPT a SVG - PPTX a SVG - ODP a SVG -- representar diapositiva +- renderizar diapositiva - convertir diapositiva - exportar diapositiva - imagen vectorial @@ -21,33 +21,32 @@ keywords: - presentación - Python - Aspose.Slides -description: "Aprenda a representar diapositivas de PowerPoint y OpenDocument como imágenes SVG usando Aspose.Slides for Python via .NET. Visuales de alta calidad con ejemplos de código sencillos." +description: "Aprenda a renderizar diapositivas de PowerPoint y OpenDocument como imágenes SVG usando Aspose.Slides para Python a través de .NET. Visuales de alta calidad con ejemplos de código sencillos." --- -SVG—un acrónimo de Gráficos Vectoriales Escalables—es un tipo o formato gráfico estándar utilizado para renderizar imágenes bidimensionales. SVG almacena imágenes como vectores en XML con detalles que definen su comportamiento o apariencia. +## **Convertir diapositivas a SVG** -SVG es uno de los pocos formatos para imágenes que cumple con estándares muy altos en términos de: escalabilidad, interactividad, rendimiento, accesibilidad, programabilidad, entre otros. Por estas razones, se utiliza comúnmente en el desarrollo web. +SVG—acrónimo de Scalable Vector Graphics—es un tipo o formato gráfico estándar utilizado para renderizar imágenes bidimensionales. SVG almacena imágenes como vectores en XML con detalles que definen su comportamiento o apariencia. + +SVG es uno de los pocos formatos de imágenes que cumple con estándares muy altos en estos aspectos: escalabilidad, interactividad, rendimiento, accesibilidad, programabilidad y otros. Por estas razones, se usa comúnmente en el desarrollo web. Puede que desee usar archivos SVG cuando necesite -- **imprimir su presentación en un *formato *muy grande*.** Las imágenes SVG se pueden escalar a cualquier resolución o nivel. Puede redimensionar las imágenes SVG tantas veces como sea necesario sin sacrificar la calidad. -- **usar gráficos y gráficos de sus diapositivas en *diferentes medios o plataformas**.* La mayoría de los lectores pueden interpretar archivos SVG. -- **usar el *tamaño posible más pequeño de las imágenes***. Los archivos SVG son generalmente más pequeños que sus equivalentes de alta resolución en otros formatos, especialmente aquellos formatos basados en mapa de bits (JPEG o PNG). +- **imprimir su presentación en un *formato muy grande*.** Las imágenes SVG pueden escalar a cualquier resolución o nivel. Puede redimensionar las imágenes SVG tantas veces como sea necesario sin sacrificar la calidad. +- **usar gráficos y diagramas de sus diapositivas en *diferentes medios o plataformas*.** La mayoría de los lectores pueden interpretar archivos SVG. +- **usar el *tamaño más pequeño posible de imágenes*.** Los archivos SVG son generalmente más pequeños que sus equivalentes de alta resolución en otros formatos, especialmente aquellos basados en mapa de bits (JPEG o PNG). -Aspose.Slides para Python a través de .NET le permite exportar diapositivas en sus presentaciones como imágenes SVG. Siga estos pasos para generar imágenes SVG: +Aspose.Slides for Python via .NET le permite exportar diapositivas de sus presentaciones como imágenes SVG. Siga estos pasos para generar imágenes SVG: -1. Cree una instancia de la clase Presentation. -2. Iterate a través de todas las diapositivas en la presentación. -3. Escriba cada diapositiva en su propio archivo SVG a través de FileStream. +1. Crear una instancia de la clase Presentation. +2. Recorrer todas las diapositivas de la presentación. +3. Escribir cada diapositiva en su propio archivo SVG mediante FileStream. {{% alert color="primary" %}} - -Puede que desee probar nuestra [aplicación web gratuita](https://products.aspose.app/slides/conversion/ppt-to-svg) en la que implementamos la función de conversión de PPT a SVG de Aspose.Slides para Python a través de .NET. - +Puede que desee probar nuestra [aplicación web gratuita](https://products.aspose.app/slides/conversion/ppt-to-svg) en la que implementamos la función de conversión de PPT a SVG de Aspose.Slides for Python via .NET. {{% /alert %}} -Este código de muestra en Python le muestra cómo convertir PPT a SVG usando Aspose.Slides: - +Este fragmento de código en Python muestra cómo convertir PPT a SVG usando Aspose.Slides: ```py import aspose.slides as slides @@ -59,4 +58,19 @@ for index in range(pres.slides.length): with open("slide-{index}.svg".format(index = index), "wb") as file: slide.write_as_svg(file) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Por qué el SVG resultante puede verse diferente en distintos navegadores?** + +El soporte para características específicas de SVG se implementa de manera diferente en los motores de los navegadores. Los parámetros [SVGOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/svgoptions/) ayudan a suavizar las incompatibilidades. + +**¿Es posible exportar no solo diapositivas sino también formas individuales a SVG?** + +Sí. Cualquier [forma puede guardarse como un SVG separado](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/), lo que resulta conveniente para íconos, pictogramas y reutilizar gráficos. + +**¿Se pueden combinar varias diapositivas en un único SVG (tirilla/documento)?** + +El escenario estándar es una diapositiva → un SVG. Combinar varias diapositivas en un único lienzo SVG es un paso de post‑procesamiento que se realiza a nivel de la aplicación. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index 468cf3096b..8c96a7adf9 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,33 +1,41 @@ --- -title: Exportar a HTML5 +title: Convertir presentaciones a HTML5 en Python +linktitle: Exportar a HTML5 type: docs weight: 40 url: /es/python-net/export-to-html5/ keywords: -- PowerPoint a HTML -- diapositivas a HTML -- HTML5 -- exportación a HTML -- exportar presentación +- PowerPoint a HTML5 +- OpenDocument a HTML5 +- presentación a HTML5 +- diapositiva a HTML5 +- PPT a HTML5 +- PPTX a HTML5 +- ODP a HTML5 +- convertir PowerPoint +- convertir OpenDocument - convertir presentación -- convertir diapositivas -- Java -- Aspose.Slides para Python a través de .NET -description: "Exportar PowerPoint a HTML5 en Python" +- convertir diapositiva +- exportación HTML5 +- exportar presentación +- exportar diapositiva +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Exporta presentaciones de PowerPoint y OpenDocument a HTML5 responsivo con Aspose.Slides para Python vía .NET. Conserva el formato, las animaciones y la interactividad." --- {{% alert title="Info" color="info" %}} - -En **Aspose.Slides 21.9**, implementamos soporte para la exportación a HTML5. Sin embargo, si prefieres exportar tu PowerPoint a HTML utilizando WebExtensions, consulta [este artículo](/slides/es/net/web-extensions/) en su lugar. - +En **Aspose.Slides 21.9**, implementamos soporte para la exportación a HTML5. Sin embargo, si prefieres exportar tu PowerPoint a HTML usando WebExtensions, consulta [este artículo](/slides/es/net/web-extensions/) en su lugar. {{% /alert %}} -El proceso de exportación a HTML5 aquí te permite convertir PowerPoint a HTML sin extensiones web o dependencias. De esta manera, utilizando tus propias plantillas, puedes aplicar opciones muy flexibles que definen el proceso de exportación y el HTML, CSS, JavaScript y atributos de animación resultantes. +El proceso de exportación a HTML5 aquí te permite convertir PowerPoint a HTML sin extensiones web ni dependencias. De esta forma, usando tus propias plantillas, puedes aplicar opciones muy flexibles que definen el proceso de exportación y el HTML, CSS, JavaScript y atributos de animación resultantes. ## **Exportar PowerPoint a HTML5** -Este código en python muestra cómo exportar una presentación a HTML5 sin extensiones web y dependencias: - +Este código Python muestra cómo exportar una presentación a HTML5 sin extensiones web ni dependencias: ```py import aspose.slides as slides @@ -35,14 +43,12 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5) ``` -{{% alert color="primary" %}} - -En este caso, obtienes HTML limpio. +{{% alert color="primary" %}} +En este caso, obtienes HTML limpio. {{% /alert %}} -Puedes querer especificar los ajustes para las animaciones de formas y las transiciones de diapositivas de esta manera: - +Es posible que desees especificar la configuración para animaciones de formas y transiciones de diapositivas de esta manera: ```py import aspose.slides as slides @@ -54,10 +60,10 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5, options) ``` -#### **Exportar PowerPoint a HTML** -Este código en python demuestra el proceso estándar de PowerPoint a HTML: +## **Exportar PowerPoint a HTML** +Este código Python demuestra el proceso estándar de exportación de PowerPoint a HTML: ```py import aspose.slides as slides @@ -65,30 +71,28 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML) ``` -En este caso, el contenido de la presentación se renderiza a través de SVG en una forma como esta: +En este caso, el contenido de la presentación se renderiza mediante SVG en una forma como esta: ```html
    - EL CONTENIDO DE LA DIAPOSITIVA VA AQUÍ + THE SLIDE CONTENT GOES HERE
    ``` -{{% alert title="Nota" color="warning" %}} - -Cuando utilizas este método para exportar PowerPoint a HTML, debido al renderizado SVG, no podrás aplicar estilos o animar elementos específicos. +{{% alert title="Note" color="warning" %}} +Cuando utilizas este método para exportar PowerPoint a HTML, debido a la renderización con SVG, no podrás aplicar estilos ni animar elementos específicos. {{% /alert %}} -## **Exportar PowerPoint a HTML5 Vista Diapositiva** +## **Exportar PowerPoint a Vista de Diapositivas HTML5** -**Aspose.Slides** te permite convertir una presentación de PowerPoint a un documento HTML5 en el que las diapositivas se presentan en un modo de vista de diapositiva. En este caso, cuando abres el archivo HTML5 resultante en un navegador, ves la presentación en modo de vista de diapositiva en una página web. - -Este código en Python demuestra el proceso de exportación de PowerPoint a HTML5 Vista Diapositiva: +**Aspose.Slides** permite convertir una presentación de PowerPoint a un documento HTML5 en el que las diapositivas se presentan en modo vista de diapositiva. En este caso, al abrir el archivo HTML5 resultante en un navegador, verás la presentación en modo vista de diapositiva en una página web. +Este código Python demuestra el proceso de exportación de PowerPoint a Vista de Diapositivas HTML5: ```python import aspose.slides as slides @@ -99,20 +103,21 @@ with slides.Presentation("pres.pptx") as pres: options.animate_transitions = True # Guardar presentación - pres.save("HTML5-vista-diapositiva.html", slides.export.SaveFormat.HTML5, options) + pres.save("HTML5-slide-view.html", slides.export.SaveFormat.HTML5, options) ``` -## Convertir una Presentación a un Documento HTML5 con Comentarios -Los comentarios en PowerPoint son una herramienta que permite a los usuarios dejar notas o comentarios sobre las diapositivas de la presentación. Son especialmente útiles en proyectos colaborativos, donde varias personas pueden agregar sus sugerencias o observaciones a elementos específicos de la diapositiva sin alterar el contenido principal. Cada comentario muestra el nombre del autor, lo que facilita rastrear quién dejó la observación. +## **Convertir una Presentación a un Documento HTML5 con Comentarios** + +Los comentarios en PowerPoint son una herramienta que permite a los usuarios dejar notas o comentarios en las diapositivas de la presentación. Son especialmente útiles en proyectos colaborativos, donde varias personas pueden agregar sus sugerencias o observaciones a elementos específicos de la diapositiva sin modificar el contenido principal. Cada comentario muestra el nombre del autor, lo que facilita rastrear quién dejó la observación. Supongamos que tenemos la siguiente presentación de PowerPoint guardada en el archivo "sample.pptx". ![Dos comentarios en la diapositiva de la presentación](two_comments_pptx.png) -Cuando conviertes una presentación de PowerPoint a un documento HTML5, puedes especificar fácilmente si deseas incluir comentarios de la presentación en el documento de salida. Para hacer esto, necesitas especificar los parámetros de visualización para los comentarios en la propiedad `notes_comments_layouting` de la clase [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/). +Al convertir una presentación de PowerPoint a un documento HTML5, puedes especificar fácilmente si incluir los comentarios de la presentación en el documento de salida. Para ello, debes especificar los parámetros de visualización de los comentarios en la propiedad `notes_comments_layouting` de la clase [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/). -El siguiente ejemplo de código convierte una presentación a un documento HTML5 con comentarios mostrados a la derecha de las diapositivas. +El siguiente ejemplo de código convierte una presentación a un documento HTML5 con los comentarios mostrados a la derecha de las diapositivas. ```py html5_options = Html5Options() html5_options.notes_comments_layouting.comments_position = CommentsPositions.RIGHT @@ -121,6 +126,21 @@ with Presentation("sample.pptx") as presentation: presentation.save("output.html", SaveFormat.HTML5, html5_options) ``` + El documento "output.html" se muestra en la imagen a continuación. -![Los comentarios en el documento HTML5 de salida](two_comments_html5.png) \ No newline at end of file +![Los comentarios en el documento HTML5 de salida](two_comments_html5.png) + +## **Preguntas frecuentes** + +**¿Puedo controlar si las animaciones de objetos y las transiciones de diapositivas se reproducirán en HTML5?** + +Sí, HTML5 ofrece opciones separadas para habilitar o deshabilitar [animaciones de formas](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) y [transiciones de diapositivas](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/). + +**¿Se admite la salida de comentarios, y dónde pueden ubicarse respecto a la diapositiva?** + +Sí, los comentarios pueden agregarse en HTML5 y posicionarse (por ejemplo, a la derecha de la diapositiva) mediante [configuraciones de diseño](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/notes_comments_layouting/) para notas y comentarios. + +**¿Puedo omitir enlaces que invoquen JavaScript por razones de seguridad o CSP?** + +Sí, existe una [configuración](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/skip_java_script_links/) que permite omitir hipervínculos con llamadas a JavaScript al guardar. Esto ayuda a cumplir con políticas de seguridad estrictas. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index dfa5ba929c..56db08de09 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,30 +1,42 @@ --- -title: Exportar a XAML +title: Exportar presentaciones a XAML con Python +linktitle: Exportar a XAML type: docs weight: 30 url: /es/python-net/export-to-xaml/ -keywords: "Exportar presentación de PowerPoint, Convertir PowerPoint, XAML, PowerPoint a XAML, PPT a XAML, PPTX a XAML, Python" -description: "Exportar o convertir presentación de PowerPoint a XAML" +keywords: +- exportar PowerPoint +- exportar OpenDocument +- exportar presentación +- convertir PowerPoint +- convertir OpenDocument +- convertir presentación +- PowerPoint a XAML +- OpenDocument a XAML +- presentación a XAML +- PPT a XAML +- PPTX a XAML +- ODP a XAML +- Python +- Aspose.Slides +description: "Convertir diapositivas de PowerPoint y OpenDocument a XAML en Python usando Aspose.Slides - solución rápida y sin Office que mantiene intacto su diseño." --- -# Exportando presentaciones a XAML +## **Descripción general** {{% alert title="Info" color="info" %}} -En [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/), implementamos soporte para la exportación a XAML. Ahora puedes exportar tus presentaciones a XAML. +En [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/), implementamos soporte para exportación a XAML. Ahora puede exportar sus presentaciones a XAML. {{% /alert %}} -# Acerca de XAML +XAML es un lenguaje de programación descriptivo que le permite crear o escribir interfaces de usuario para aplicaciones, especialmente aquellas que usan WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) y Xamarin Forms. -XAML es un lenguaje de programación descriptivo que te permite construir o escribir interfaces de usuario para aplicaciones, especialmente aquellas que utilizan WPF (Windows Presentation Foundation), UWP (Plataforma Universal de Windows) y formularios de Xamarin. +XAML, que es un lenguaje basado en XML, es la variante de Microsoft para describir una GUI. Es probable que la mayoría de las veces use un diseñador para trabajar con archivos XAML, pero aún puede escribir y editar su GUI. -XAML, que es un lenguaje basado en XML, es la variante de Microsoft para describir una GUI. Es probable que uses un diseñador para trabajar en archivos XAML la mayor parte del tiempo, pero aún puedes escribir y editar tu GUI. - -## Exportando presentaciones a XAML con opciones predeterminadas - -Este código de Python te muestra cómo exportar una presentación a XAML con configuraciones predeterminadas: +## **Exportar presentaciones a XAML con opciones predeterminadas** +Este código Python le muestra cómo exportar una presentación a XAML con la configuración predeterminada: ```py import aspose.slides as slides @@ -32,12 +44,12 @@ pres = slides.Presentation("pres.pptx") pres.save(slides.export.xaml.XamlOptions()) ``` -## Exportando presentaciones a XAML con opciones personalizadas -Puedes seleccionar opciones de la interfaz [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) que controlan el proceso de exportación y determinan cómo Aspose.Slides exporta tu presentación a XAML. +## **Exportar presentaciones a XAML con opciones personalizadas** -Por ejemplo, si deseas que Aspose.Slides agregue diapositivas ocultas de tu presentación al exportarla a XAML, puedes establecer la propiedad [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) en verdadero. Mira este código de Python de ejemplo: +Puede seleccionar opciones de la interfaz [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) que controlan el proceso de exportación y determinan cómo Aspose.Slides exporta su presentación a XAML. +Por ejemplo, si desea que Aspose.Slides incluya diapositivas ocultas de su presentación al exportarla a XAML, puede establecer la propiedad [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) en true. Vea este ejemplo de código Python: ```py import aspose.slides as slides @@ -47,4 +59,19 @@ opt = slides.export.xaml.XamlOptions() opt.export_hidden_slides = True pres.save(opt) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Cómo puedo garantizar fuentes predecibles si la fuente original no está disponible en la máquina?** + +Configure [default_regular_font](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/default_regular_font/) en [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — se utiliza como fuente de respaldo cuando la original falta. Esto ayuda a evitar sustituciones inesperadas. + +**¿El XAML exportado está destinado solo a WPF, o también puede usarse en otras pilas XAML?** + +XAML es un lenguaje de marcado UI general utilizado en WPF, UWP y Xamarin.Forms. La exportación apunta a la compatibilidad con las pilas XAML de Microsoft; el comportamiento exacto y el soporte para construcciones específicas dependen de la plataforma de destino. Pruebe el marcado en su entorno. + +**¿Se admiten diapositivas ocultas y cómo puedo evitar que se exporten por defecto?** + +De forma predeterminada, las diapositivas ocultas no se incluyen. Puede controlar este comportamiento mediante [export_hidden_slides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/export_hidden_slides/) en [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — mantenlo deshabilitado si no necesita exportarlas. \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/examine-presentation/_index.md b/es/python-net/developer-guide/manage-presentation/examine-presentation/_index.md index 3353b93421..4bddf7fdfc 100644 --- a/es/python-net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/es/python-net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,38 +1,40 @@ --- -title: Examinar Presentación +title: Recuperar y actualizar información de la presentación en Python +linktitle: Información de la presentación type: docs weight: 30 url: /es/python-net/examine-presentation/ keywords: -- PowerPoint -- presentación - formato de presentación -- propiedades de presentación +- propiedades de la presentación - propiedades del documento - obtener propiedades - leer propiedades - cambiar propiedades - modificar propiedades -- PPTX -- PPT +- actualizar propiedades +- examinar PPTX +- examinar PPT +- examinar ODP +- PowerPoint +- OpenDocument +- presentación - Python -description: "Leer y modificar propiedades de la presentación de PowerPoint en Python" +- Aspose.Slides +description: "Explore diapositivas, estructura y metadatos en presentaciones de PowerPoint y OpenDocument usando Python para obtener ideas más rápidas y auditorías de contenido más inteligentes." --- -Aspose.Slides para Python a través de .NET te permite examinar una presentación para descubrir sus propiedades y entender su comportamiento. +Aspose.Slides for Python a través de .NET le permite examinar una presentación para conocer sus propiedades y comprender su comportamiento. {{% alert title="Info" color="info" %}} - -Las clases [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) y [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) contienen las propiedades y métodos utilizados en las operaciones aquí. - +Las clases [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) y [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) contienen las propiedades y métodos usados en las operaciones aquí. {{% /alert %}} -## **Verificar un Formato de Presentación** +## **Comprobar el formato de una presentación** -Antes de trabajar en una presentación, puede que desees averiguar en qué formato (PPT, PPTX, ODP, y otros) se encuentra la presentación en ese momento. - -Puedes comprobar el formato de una presentación sin cargarla. Ve este código de Python: +Antes de trabajar con una presentación, es posible que desee averiguar en qué formato (PPT, PPTX, ODP y otros) se encuentra la presentación en este momento. +Puede comprobar el formato de una presentación sin cargarla. Vea este código Python: ```py import aspose.slides as slides @@ -46,10 +48,10 @@ info3 = slides.PresentationFactory.instance.get_presentation_info("pres.ppt") print(info3.load_format, info3.load_format == slides.LoadFormat.PPT) ``` -## **Obtener Propiedades de la Presentación** -Este código de Python te muestra cómo obtener propiedades de la presentación (información sobre la presentación): +## **Obtener propiedades de la presentación** +Este código Python le muestra cómo obtener las propiedades de la presentación (información sobre la presentación): ```py import aspose.slides as slides @@ -60,40 +62,58 @@ print(props.subject) print(props.title) ``` -Puede que desees ver las [propiedades bajo la clase DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties). -## **Actualizar Propiedades de la Presentación** +Es posible que desee ver las [propiedades bajo la clase DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties). -Aspose.Slides proporciona el método [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) que te permite realizar cambios en las propiedades de la presentación. +## **Actualizar propiedades de la presentación** -Supongamos que tenemos una presentación de PowerPoint con las propiedades del documento que se muestran a continuación. +Aspose.Slides proporciona el método [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) que le permite realizar cambios en las propiedades de la presentación. -![Propiedades del documento originales de la presentación de PowerPoint](input_properties.png) +Supongamos que tenemos una presentación de PowerPoint con las propiedades del documento que se muestran a continuación. -Este ejemplo de código te muestra cómo editar algunas propiedades de la presentación: +![Propiedades originales del documento de la presentación de PowerPoint](input_properties.png) +Este ejemplo de código le muestra cómo editar algunas propiedades de la presentación: ```py file_name = "sample.pptx" info = PresentationFactory.instance.get_presentation_info(file_name) properties = info.read_document_properties() -properties.title = "Mi título" +properties.title = "My title" properties.last_saved_time = datetime.now() info.update_document_properties(properties) info.write_binded_presentation(file_name) ``` + Los resultados de cambiar las propiedades del documento se muestran a continuación. -![Propiedades del documento cambiadas de la presentación de PowerPoint](output_properties.png) +![Propiedades cambiadas del documento de la presentación de PowerPoint](output_properties.png) + +## **Enlaces útiles** + +Para obtener más información sobre una presentación y sus atributos de seguridad, puede encontrar útiles los siguientes enlaces: + +- [Comprobando si una presentación está encriptada](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [Comprobando si una presentación está protegida contra escritura (solo lectura)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [Comprobando si una presentación está protegida con contraseña antes de cargarla](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [Confirmando la contraseña utilizada para proteger una presentación](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **Preguntas frecuentes** + +**¿Cómo puedo comprobar si las fuentes están incrustadas y cuáles son?** +Busque la [información de fuentes incrustadas](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_embedded_fonts/) a nivel de presentación, luego compare esas entradas con el conjunto de [fuentes realmente usadas en el contenido](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) para identificar qué fuentes son críticas para la renderización. + +**¿Cómo puedo saber rápidamente si el archivo tiene diapositivas ocultas y cuántas?** +Itere a través de la [colección de diapositivas](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) y examine la [bandera de visibilidad](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) de cada diapositiva. -## **Enlaces Útiles** +**¿Puedo detectar si se utiliza un tamaño y orientación de diapositiva personalizados, y si difieren de los valores predeterminados?** +Sí. Compare el [tamaño de diapositiva](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/slide_size/) y la orientación actuales con los valores predeterminados estándar; esto ayuda a anticipar el comportamiento para la impresión y la exportación. -Para obtener más información sobre una presentación y sus atributos de seguridad, puede que encuentres útiles estos enlaces: +**¿Existe una manera rápida de ver si los gráficos hacen referencia a fuentes de datos externas?** +Sí. Recorra todos los [gráficos](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), verifique su [fuente de datos](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdata/data_source_type/) y observe si los datos son internos o basados en enlaces, incluidos los enlaces rotos. -- [Verificando si una Presentación está Encriptada](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [Verificando si una Presentación está Protegida contra Escritura (solo lectura)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [Verificando si una Presentación está Protegida con Contraseña Antes de Cargarla](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [Confirmando la Contraseña Usada para Proteger una Presentación](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +**¿Cómo puedo evaluar las diapositivas 'pesadas' que pueden ralentizar la renderización o la exportación a PDF?** +Para cada diapositiva, cuente los objetos y busque imágenes grandes, transparencias, sombras, animaciones y contenido multimedia; asigne una puntuación de complejidad aproximada para señalar posibles puntos críticos de rendimiento. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/manage-blob/_index.md b/es/python-net/developer-guide/presentation-content/manage-blob/_index.md index 78fb767b1b..bbb78bbb55 100644 --- a/es/python-net/developer-guide/presentation-content/manage-blob/_index.md +++ b/es/python-net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,6 +1,6 @@ --- -title: Gestionar BLOBs en presentaciones con Python para un uso eficiente de la memoria -linktitle: Gestionar BLOB +title: Administrar BLOBs en presentaciones con Python para un uso eficiente de la memoria +linktitle: Administrar BLOB type: docs weight: 10 url: /es/python-net/manage-blob/ @@ -20,32 +20,31 @@ keywords: - presentación - Python - Aspose.Slides -description: "Gestiona datos BLOB en Aspose.Slides for Python via .NET para agilizar las operaciones de archivos de PowerPoint y OpenDocument y manejar presentaciones de manera eficiente." +description: "Administre los datos BLOB en Aspose.Slides para Python a través de .NET para optimizar las operaciones con archivos PowerPoint y OpenDocument y manejar presentaciones de manera eficiente." --- -### **Acerca de BLOB** +## **Acerca de BLOB** -**BLOB** (**Objeto Binario Grande**) es generalmente un artículo grande (foto, presentación, documento o medio) guardado en formatos binarios. +**BLOB** (**Binary Large Object**) suele ser un elemento grande (foto, presentación, documento o medio) guardado en formatos binarios. -Aspose.Slides para Python a través de .NET te permite usar BLOBs para objetos de una manera que reduce el consumo de memoria cuando se involucran archivos grandes. +Aspose.Slides for Python a través de .NET le permite usar BLOBs para objetos de una manera que reduce el consumo de memoria cuando se manejan archivos grandes. -# **Usar BLOB para Reducir el Consumo de Memoria** +## **Usar BLOB para reducir el consumo de memoria** -### **Agregar Archivo Grande a través de BLOB a una Presentación** +### **Agregar un archivo grande mediante BLOB a una presentación** -[Aspose.Slides](/slides/es/python-net/) para .NET te permite agregar archivos grandes (en este caso, un archivo de video grande) a través de un proceso que involucra BLOBs para reducir el consumo de memoria. - -Este código de Python te muestra cómo agregar un archivo de video grande a través del proceso BLOB a una presentación: +[Aspose.Slides](/slides/es/python-net/) para .NET le permite agregar archivos grandes (en este caso, un archivo de video grande) mediante un proceso que involucra BLOBs para reducir el consumo de memoria. +Este Python le muestra cómo agregar un archivo de video grande mediante el proceso BLOB a una presentación: ```py import aspose.slides as slides pathToVeryLargeVideo = "veryLargeVideo.avi" -# Crea una nueva presentación a la que se agregará el video +# Crea una nueva presentación a la que se añadirá el vídeo with slides.Presentation() as pres: with open(pathToVeryLargeVideo, "br") as fileStream: - # Agreguemos el video a la presentación - elegimos el comportamiento KeepLocked porque no + # Añadamos el vídeo a la presentación - elegimos el comportamiento KeepLocked porque no # pretendemos acceder al archivo "veryLargeVideo.avi". video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) pres.slides[0].shapes.add_video_frame(0, 0, 480, 270, video) @@ -55,11 +54,12 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeVideo.pptx", slides.export.SaveFormat.PPTX) ``` -### **Exportar Archivo Grande a Través de BLOB desde la Presentación** -Aspose.Slides para Python a través de .NET te permite exportar archivos grandes (en este caso, un archivo de audio o video) a través de un proceso que involucra BLOBs desde presentaciones. Por ejemplo, puedes necesitar extraer un archivo de medios grande de una presentación pero no quieres que el archivo se cargue en la memoria de tu computadora. Al exportar el archivo a través del proceso BLOB, logras mantener bajo el consumo de memoria. -Este código en Python demuestra la operación descrita: +### **Exportar un archivo grande mediante BLOB desde una presentación** +Aspose.Slides for Python a través de .NET le permite exportar archivos grandes (en este caso, un archivo de audio o video) mediante un proceso que involucra BLOBs desde presentaciones. Por ejemplo, puede necesitar extraer un archivo multimedia grande de una presentación pero no desea que el archivo se cargue en la memoria de su computadora. Al exportar el archivo mediante el proceso BLOB, mantiene bajo el consumo de memoria. + +Este código en Python demuestra la operación descrita: ```py import aspose.slides as slides @@ -69,19 +69,19 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation(path + "Video.pptx", loadOptions) as pres: - # Guardemos cada video en un archivo. Para prevenir un alto uso de memoria, necesitamos un búfer que se usará - # para transferir los datos desde el flujo de video de la presentación a un flujo para un nuevo archivo de video creado. + # Guardemos cada video en un archivo. Para evitar un alto consumo de memoria, necesitamos un búfer que será usado + # para transferir los datos del flujo de video de la presentación a un flujo para un nuevo archivo de video creado. # byte[] buffer = new byte[8 * 1024]; bufferSize = 8 * 1024 - # Itera a través de los videos + # Recorre los videos index = 0 # Si es necesario, puedes aplicar los mismos pasos para archivos de audio. for video in pres.videos: - # Abre el flujo de video de la presentación. Por favor, nota que evitamos intencionalmente acceder a propiedades - # como video.BinaryData - porque esta propiedad devuelve un arreglo de bytes que contiene un video completo, lo que luego - # causa que los bytes se carguen en la memoria. Usamos video.GetStream, que devolverá Stream - y NO - # requiere que carguemos todo el video en la memoria. + # Abre el flujo de video de la presentación. Por favor, ten en cuenta que evitamos intencionalmente acceder a propiedades + # como video.BinaryData - porque esta propiedad devuelve una matriz de bytes que contiene el video completo, lo que luego + # causa que los bytes se carguen en memoria. Usamos video.GetStream, que devolverá Stream - y NO + # requiere que carguemos el video completo en la memoria. with video.get_stream() as presVideoStream: with open("video{index}.avi".format(index = index), "wb") as outputFileStream: buffer = presVideoStream.read(8 * 1024) @@ -94,15 +94,15 @@ with slides.Presentation(path + "Video.pptx", loadOptions) as pres: index += 1 ``` -### **Agregar Imagen como BLOB en la Presentación** -Con los métodos de la interfaz [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) y la clase [**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/), puedes agregar una imagen grande como un flujo para que sea tratada como un BLOB. -Este código de Python te muestra cómo agregar una imagen grande a través del proceso BLOB: +### **Agregar una imagen como BLOB en una presentación** +Con los métodos de la interfaz [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) y de la clase [**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) puede agregar una imagen grande como flujo para que se trate como un BLOB. +Este código Python le muestra cómo agregar una imagen grande mediante el proceso BLOB: ```py import aspose.slides as slides -# crea una nueva presentación a la que se agregará la imagen. +# crea una nueva presentación a la que se añadirá la imagen. with slides.Presentation() as pres: with open("img.jpeg", "br") as fileStream: img = pres.images.add_image(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) @@ -110,12 +110,12 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeImage.pptx", slides.export.SaveFormat.PPTX) ``` -## **Memoria y Presentaciones Grandes** -Típicamente, para cargar una presentación grande, las computadoras requieren mucha memoria temporal. Todo el contenido de la presentación se carga en la memoria y el archivo (del cual se cargó la presentación) deja de usarse. +## **Memoria y presentaciones grandes** -Considera una presentación grande de PowerPoint (large.pptx) que contiene un archivo de video de 1.5 GB. El método estándar para cargar la presentación se describe en este código de Python: +Normalmente, para cargar una presentación grande, los equipos requieren mucha memoria temporal. Todo el contenido de la presentación se carga en la memoria y el archivo (del cual se cargó la presentación) deja de usarse. +Considere una presentación de PowerPoint grande (large.pptx) que contiene un archivo de video de 1,5 GB. El método estándar para cargar la presentación se describe en este código Python: ```py import aspose.slides as slides @@ -123,12 +123,12 @@ with slides.Presentation("large.pptx") as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -Pero este método consume alrededor de 1.6 GB de memoria temporal. -### **Cargar una Presentación Grande como BLOB** +Pero este método consume aproximadamente 1,6 GB de memoria temporal. -A través del proceso que involucra un BLOB, puedes cargar una presentación grande mientras usas poca memoria. Este código de Python describe la implementación donde se utiliza el proceso BLOB para cargar un archivo de presentación grande (large.pptx): +### **Cargar una presentación grande como BLOB** +Mediante el proceso que involucra un BLOB, puede cargar una presentación grande usando poca memoria. Este código Python describe la implementación donde se utiliza el proceso BLOB para cargar un archivo de presentación grande (large.pptx): ```py import aspose.slides as slides @@ -141,10 +141,10 @@ with slides.Presentation("large.pptx", loadOptions) as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -#### **Cambiar la Carpeta para Archivos Temporales** -Cuando se utiliza el proceso BLOB, tu computadora crea archivos temporales en la carpeta predeterminada para archivos temporales. Si deseas que los archivos temporales se mantengan en una carpeta diferente, puedes cambiar la configuración de almacenamiento usando `temp_files_root_path`: +### **Cambiar la carpeta para archivos temporales** +Cuando se usa el proceso BLOB, su equipo crea archivos temporales en la carpeta predeterminada para archivos temporales. Si desea que los archivos temporales se guarden en una carpeta diferente, puede cambiar la configuración de almacenamiento usando `temp_files_root_path`: ```py import aspose.slides as slides @@ -155,8 +155,29 @@ loadOptions.blob_management_options.is_temporary_files_allowed = True loadOptions.blob_management_options.temp_files_root_path = "temp" ``` + {{% alert title="Info" color="info" %}} +Al usar `temp_files_root_path`, Aspose.Slides no crea automáticamente una carpeta para almacenar los archivos temporales. Debe crear la carpeta manualmente. +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Qué datos en una presentación de Aspose.Slides se tratan como BLOB y están controlados por las opciones de BLOB?** + +Los objetos binarios grandes, como imágenes, audio y video, se tratan como BLOB. Todo el archivo de la presentación también implica el manejo de BLOB cuando se carga o se guarda. Estos objetos están regidos por políticas de BLOB que le permiten administrar el uso de memoria y volcar a archivos temporales cuando sea necesario. + +**¿Dónde configuro las reglas de manejo de BLOB al cargar una presentación?** + +Utilice [LoadOptions](https://reference.aspose.com/slides/python-net/aspose.slides/loadoptions/) con [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/). Allí establece el límite en memoria para BLOB, permite o prohibe los archivos temporales, elige la ruta raíz para los archivos temporales y selecciona el comportamiento de bloqueo de origen. + +**¿Afectan los ajustes de BLOB al rendimiento y cómo balanceo velocidad vs memoria?** + +Sí. Mantener BLOB en memoria maximiza la velocidad pero incrementa el consumo de RAM; reducir el límite de memoria transfiere más trabajo a archivos temporales, disminuyendo la RAM a costa de un mayor I/O. Ajuste el umbral [max_blobs_bytes_in_memory](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/max_blobs_bytes_in_memory/) para lograr el equilibrio adecuado para su carga de trabajo y entorno. + +**¿Ayudan las opciones de BLOB al abrir presentaciones extremadamente grandes (p.ej., gigabytes)?** + +Sí. [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) están diseñados para esos escenarios: habilitar archivos temporales y usar bloqueo de origen puede reducir significativamente el uso máximo de RAM y estabilizar el procesamiento de presentaciones muy grandes. -Cuando utilizas `temp_files_root_path`, Aspose.Slides no crea automáticamente una carpeta para almacenar archivos temporales. Debes crear la carpeta manualmente. +**¿Puedo usar políticas de BLOB al cargar desde flujos en lugar de archivos en disco?** -{{% /alert %}} \ No newline at end of file +Sí. Las mismas reglas se aplican a los flujos: la instancia de la presentación puede poseer y bloquear el flujo de entrada (según el modo de bloqueo elegido), y se utilizan archivos temporales cuando están permitidos, manteniendo predecible el uso de memoria durante el procesamiento. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/es/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index bebf329e41..9776788fc1 100644 --- a/es/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/es/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -11,7 +11,7 @@ keywords: - agregar imagen - crear imagen - extraer imagen -- imagen rasterizada +- imagen raster - imagen vectorial - recortar imagen - área recortada @@ -27,100 +27,90 @@ keywords: - presentación - Python - Aspose.Slides -description: "Agregue marcos de imagen a las presentaciones de PowerPoint y OpenDocument con Aspose.Slides for Python via .NET. Agilice su flujo de trabajo y mejore el diseño de las diapositivas." +description: "Agregar marcos de imagen a presentaciones PowerPoint y OpenDocument con Aspose.Slides para Python mediante .NET. Optimice su flujo de trabajo y mejore los diseños de diapositivas." --- -Un marco de imagen es una forma que contiene una imagen; es como una foto en un marco. +## **Visión general** -Puedes agregar una imagen a una diapositiva a través de un marco de imagen. De esta manera, puedes formatear la imagen formateando el marco de imagen. +Los marcos de imagen en Aspose.Slides para Python le permiten colocar y administrar imágenes raster y vectoriales como formas nativas de diapositiva. Puede insertar imágenes desde archivos o flujos, posicionarlas y redimensionarlas con coordenadas precisas, aplicar rotación, establecer transparencia y controlar el orden Z junto a otras formas. La API también admite recorte, mantenimiento de relaciones de aspecto, configuración de bordes y efectos, y reemplazo de la imagen subyacente sin reconstruir el diseño. Dado que los marcos de imagen se comportan como formas regulares, puede agregar animaciones, hipervínculos y texto alternativo, lo que facilita crear presentaciones visualmente ricas y accesibles. -{{% alert title="Consejo" color="primary" %}} +## **Crear marcos de imagen** -Aspose proporciona convertidores gratuitos—[JPEG a PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) y [PNG a PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—que permiten a las personas crear presentaciones rápidamente a partir de imágenes. +Esta sección muestra cómo insertar una imagen en una diapositiva creando un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) con Aspose.Slides para Python. Aprenderá a cargar la imagen, colocarla con precisión en la diapositiva y controlar su tamaño y formato. -{{% /alert %}} - -## **Crear Marco de Imagen** - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtén la referencia de una diapositiva a través de su índice. -3. Crea un objeto [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) agregando una imagen a la colección [IImages](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) asociada con el objeto de presentación que se usará para llenar la forma. -4. Especifica el ancho y la altura de la imagen. -5. Crea un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) basado en el ancho y la altura de la imagen a través del método `AddPictureFrame` expuesto por el objeto de forma asociado con la diapositiva referenciada. -6. Agrega un marco de imagen (que contiene la imagen) a la diapositiva. -7. Escribe la presentación modificada como un archivo PPTX. - -Este código de Python te muestra cómo crear un marco de imagen: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtener una diapositiva por su índice. +3. Crear un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) agregando la imagen a la [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de la presentación. Esta imagen se utilizará para rellenar la forma. +4. Especificar el ancho y alto del marco. +5. Crear un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) de ese tamaño mediante el método [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/). +6. Guardar la presentación como archivo PPTX. +El siguiente código Python muestra cómo crear un marco de imagen: ```py import aspose.slides as slides -import aspose.pydrawing as draw -# Instancia la clase Presentation que representa un archivo PPTX -with slides.Presentation() as pres: - # Obtiene la primera diapositiva - sld = pres.slides[0] - - # Instancia la clase ImageEx - with open("img.jpeg", "rb") as in_file: - image = pres.images.add_image(in_file) +# Instanciar la clase Presentation para representar un archivo PPTX. +with slides.Presentation() as presentation: + # Obtener la primera diapositiva. + slide = presentation.slides[0] - # Agrega un marco con la altura y el ancho equivalentes de la imagen - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, image.width, image.height, image) + # Añadir la imagen a la presentación. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Aplica algún formato al PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Añadir un marco de imagen dimensionado a la imagen. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Escribe el archivo PPTX en disco - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Guardar la presentación como PPTX. + presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="warning" %}} -Los marcos de imagen te permiten crear rápidamente diapositivas de presentación basadas en imágenes. Cuando combinas un marco de imagen con las opciones de guardado de Aspose.Slides, puedes manipular las operaciones de entrada/salida para convertir imágenes de un formato a otro. Tal vez quieras ver estas páginas: convertir [imagen a JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); convertir [JPG a imagen](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); convertir [JPG a PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/), convertir [PNG a JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); convertir [PNG a SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/), convertir [SVG a PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). +{{% alert color="warning" %}} -{{% /alert %}} +Los marcos de imagen le permiten crear rápidamente diapositivas de presentación a partir de imágenes. Cuando combina los marcos de imagen con las opciones de guardado de Aspose.Slides, puede controlar las operaciones de E/S para convertir imágenes de un formato a otro. Puede consultar estas páginas: convertir [image to JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); convertir [JPG to image](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); convertir [JPG to PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/); convertir [PNG to JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); convertir [PNG to SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/); convertir [SVG to PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). -## **Crear Marco de Imagen con Escala Relativa** +{{% /alert %}} -Al alterar la escala relativa de una imagen, puedes crear un marco de imagen más complicado. +## **Crear marcos de imagen con escala relativa** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtén la referencia de una diapositiva a través de su índice. -3. Agrega una imagen a la colección de imágenes de la presentación. -4. Crea un objeto [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) agregando una imagen a la colección [IImages](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) asociada con el objeto de presentación que se usará para llenar la forma. -5. Especifica el ancho y la altura relativa de la imagen en el marco de imagen. -6. Escribe la presentación modificada como un archivo PPTX. +Esta sección demuestra cómo colocar una imagen con un tamaño fijo y luego aplicar un escalado basado en porcentajes de forma independiente a su ancho y alto. Como los porcentajes pueden diferir, la relación de aspecto puede cambiar. El escalado se realiza en relación con las dimensiones originales de la imagen. -Este código de Python te muestra cómo crear un marco de imagen con escala relativa: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtener una diapositiva por su índice. +3. Crear un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) agregando la imagen a la [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de la presentación. +4. Añadir un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) a la diapositiva. +5. Establecer el ancho y alto relativos del marco de imagen. +6. Guardar la presentación como archivo PPTX. +El siguiente código Python muestra cómo crear un marco de imagen con escalado relativo: ```py import aspose.slides as slides -# Instancia la clase Presentation que representa un archivo PPTX +# Instanciar la clase Presentation para representar un archivo PPTX. with slides.Presentation() as presentation: - # Carga la imagen que se agregará a la colección de imágenes de la presentación - with open("img.jpeg", "rb") as in_file: - image = presentation.images.add_image(in_file) + # Obtener la primera diapositiva. + slide = presentation.slides[0] + + # Agregar la imagen a la colección de imágenes de la presentación. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Agrega un marco de imagen a la diapositiva - pf = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) + # Agregar un marco de imagen a la diapositiva. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # Establece la escala relativa de ancho y alto - pf.relative_scale_height = 0.8 - pf.relative_scale_width = 1.35 + # Establecer la escala relativa de ancho y alto. + picture_frame.relative_scale_height = 0.8 + picture_frame.relative_scale_width = 1.35 - # Guarda la presentación - presentation.save("Adding Picture Frame with Relative Scale_out.pptx", slides.export.SaveFormat.PPTX) + # Guardar la presentación. + presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX) ``` -## **Extraer Imagen del Marco de Imagen** -Puedes extraer imágenes de objetos [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) y guardarlas en formatos PNG, JPG y otros. El siguiente ejemplo de código demuestra cómo extraer una imagen del documento "sample.pptx" y guardarla en formato PNG. +## **Extraer imágenes raster de marcos de imagen** +Puede extraer imágenes raster de objetos [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) y guardarlas en PNG, JPG y otros formatos. El ejemplo de código a continuación muestra cómo extraer una imagen del documento "sample.pptx" y guardarla en formato PNG. ```python import aspose.slides as slides @@ -133,246 +123,297 @@ with slides.Presentation("sample.pptx") as presentation: image.save("slide_1_shape_1.png", slides.ImageFormat.PNG) ``` -## **Obtener Transparencia de la Imagen** -Aspose.Slides te permite obtener la transparencia de una imagen. Este código de Python demuestra la operación: +## **Extraer imágenes SVG de marcos de imagen** + +Cuando una presentación contiene gráficos SVG ubicados dentro de formas [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/), Aspose.Slides para Python mediante .NET le permite recuperar las imágenes vectoriales originales con plena fidelidad. Al recorrer la colección de formas de la diapositiva, puede identificar cada [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/), comprobar si el [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) subyacente contiene contenido SVG y luego guardar esa imagen en disco o en un flujo en su formato SVG nativo. + +El siguiente ejemplo de código muestra cómo extraer una imagen SVG de un marco de imagen: +```py +import aspose.slides as slides + +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + if isinstance(shape, slides.PictureFrame): + svg_image = shape.picture_format.picture.image.svg_image + + if svg_image is not None: + with open("output.svg", "w", encoding="utf-8") as svg_stream: + svg_stream.write(svg_image.svg_content) +``` + + +## **Obtener la transparencia de la imagen** +Aspose.Slides le permite recuperar el efecto de transparencia aplicado a una imagen. Este código Python demuestra la operación: ```python import aspose.slides as slides -with slides.Presentation("pres.pptx") as presentation: - pictureFrame = presentation.slides[0].shapes[0] - imageTransform = pictureFrame.picture_format.picture.image_transform - for effect in imageTransform: - if type(effect) is slides.AlphaModulateFixed: - transparencyValue = 100 - effect.amount - print("Transparencia de la imagen: " + str(transparencyValue)) +with slides.Presentation("sample.pptx") as presentation: + picture_frame = presentation.slides[0].shapes[0] + image_transform = picture_frame.picture_format.picture.image_transform + for effect in image_transform: + if isinstance(effect, slides.effects.AlphaModulateFixed): + transparency_value = 100 - effect.amount + print("Picture transparency: " + str(transparency_value)) ``` -## **Formateo del Marco de Imagen** -Aspose.Slides ofrece muchas opciones de formato que se pueden aplicar a un marco de imagen. Usando esas opciones, puedes alterar un marco de imagen para que se ajuste a requisitos específicos. +{{% alert color="primary" %}} +Todos los efectos aplicados a imágenes se pueden encontrar en [aspose.slides.effects](https://reference.aspose.com/slides/python-net/aspose.slides.effects/). +{{% /alert %}} + +## **Formato de marcos de imagen** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) . -2. Obtén la referencia de una diapositiva a través de su índice. -3. Crea un objeto [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage) agregando una imagen a la colección [IImages](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) asociada con el objeto de presentación que se usará para llenar la forma. -4. Especifica el ancho y la altura de la imagen. -5. Crea un `PictureFrame` basado en el ancho y la altura de la imagen a través del método [AddPictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) expuesto por el objeto [IShapes](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection) asociado con la diapositiva referenciada. -6. Agrega el marco de imagen (que contiene la imagen) a la diapositiva. -7. Establece el color de línea del marco de imagen. -8. Establece el ancho de línea del marco de imagen. -9. Rota el marco de imagen dándole un valor positivo o negativo. - * Un valor positivo rota la imagen en el sentido de las agujas del reloj. - * Un valor negativo rota la imagen en sentido contrario a las agujas del reloj. -10. Agrega el marco de imagen (que contiene la imagen) a la diapositiva. -11. Escribe la presentación modificada como un archivo PPTX. +Aspose.Slides ofrece muchas opciones de formato que puede aplicar a un marco de imagen. Con estas opciones, puede ajustar un marco de imagen para cumplir requisitos específicos. -Este código de Python demuestra el proceso de formateo del marco de imagen: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtener una diapositiva por su índice. +3. Crear un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) agregando la imagen a la [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de la presentación. Esta imagen se utilizará para rellenar la forma. +4. Especificar el ancho y alto del marco. +5. Crear un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) de ese tamaño mediante el método [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) de la diapositiva. +6. Establecer el color de línea del marco de imagen. +7. Establecer el ancho de línea del marco de imagen. +8. Rotar el marco de imagen proporcionando un valor positivo (horario) o negativo (antihorario). +9. Guardar la presentación modificada como archivo PPTX. +El siguiente código Python demuestra el proceso de formato del marco de imagen: ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instancia la clase Presentation que representa un archivo PPTX -with slides.Presentation() as pres: - # Obtiene la primera diapositiva - sld = pres.slides[0] +# Instanciar la clase Presentation para representar un archivo PPTX. +with slides.Presentation() as presentation: + # Obtener la primera diapositiva. + slide = presentation.slides[0] - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) + # Añadir la imagen a la colección de imágenes de la presentación. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Agrega un marco de imagen con la altura y el ancho equivalentes de la imagen - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, imgx.width, imgx.height, imgx) + # Añadir un marco de imagen con el tamaño de la imagen. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Aplica algún formato al PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Aplicar formato al marco de imagen. + picture_frame.line_format.fill_format.fill_type = slides.FillType.SOLID + picture_frame.line_format.fill_format.solid_fill_color.color = draw.Color.blue + picture_frame.line_format.width = 20 + picture_frame.rotation = 45 - # Escribe el archivo PPTX en disco - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Guardar la presentación como PPTX. + presentation.save("picture_formatting.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="Consejo" color="primary" %}} -Aspose desarrolló recientemente un [Creador de Collages gratuito](https://products.aspose.app/slides/collage). Si alguna vez necesitas [fusionar JPG/JPEG](https://products.aspose.app/slides/collage/jpg) o imágenes PNG, [crear cuadrículas de fotos](https://products.aspose.app/slides/collage/photo-grid), puedes usar este servicio. +{{% alert title="Tip" color="primary" %}} -{{% /alert %}} +Aspose ha desarrollado un [Collage Maker](https://products.aspose.app/slides/collage) gratuito. Si necesita [combinar JPG/JPEG](https://products.aspose.app/slides/collage/jpg) o imágenes PNG, o [crear cuadrículas de fotos](https://products.aspose.app/slides/collage/photo-grid), puede usar este servicio. -## **Agregar Imagen como Enlace** +{{% /alert %}} -Para evitar tamaños de presentación grandes, puedes agregar imágenes (o videos) a través de enlaces en lugar de incrustar los archivos directamente en las presentaciones. Este código de Python te muestra cómo agregar una imagen y un video en un marcador de posición: +## **Agregar imágenes como enlaces** +Para mantener los archivos de presentación pequeños, puede agregar imágenes o videos mediante enlaces en lugar de incrustar los archivos directamente en las presentaciones. El siguiente código Python muestra cómo insertar una imagen y un video en un marcador de posición: ```python import aspose.slides as slides with slides.Presentation("input.pptx") as presentation: - shapesToRemove = [] + slide = presentation.slides[0] + + shapes_to_remove = [] - for autoShape in presentation.slides[0].shapes: - if autoShape.placeholder is None: + for shape in slide.shapes: + if shape.placeholder is None: continue - - if autoShape.placeholder.type == slides.PlaceholderType.PICTURE: - pictureFrame = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, - autoShape.x, autoShape.y, autoShape.width, autoShape.height, None) - pictureFrame.picture_format.picture.link_path_long = \ + if shape.placeholder.type == slides.PlaceholderType.PICTURE: + picture_frame = slide.shapes.add_picture_frame( + slides.ShapeType.RECTANGLE, shape.x, shape.y, shape.width, shape.height, None) + + picture_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - shapesToRemove.append(autoShape) + shapes_to_remove.append(shape) - elif autoShape.placeholder.type == slides.PlaceholderType.MEDIA: - videoFrame = presentation.slides[0].shapes.add_video_frame( - autoShape.X, autoShape.Y, autoShape.width, autoShape.height, "") + elif shape.placeholder.type == slides.PlaceholderType.MEDIA: + video_frame = slide.shapes.add_video_frame(shape.X, shape.Y, shape.width, shape.height, "") - videoFrame.picture_format.picture.link_path_long = \ + video_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - videoFrame.link_path_long = "https://youtu.be/t_1LYZ102RA" - shapesToRemove.append(autoShape) - - + video_frame.link_path_long = "https://youtu.be/t_1LYZ102RA" + shapes_to_remove.append(shape) - for shape in shapesToRemove: - presentation.slides[0].shapes.remove(shape) + for shape in shapes_to_remove: + slide.shapes.remove(shape) presentation.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **Recortar Imagen** -Este código de Python te muestra cómo recortar una imagen existente en una diapositiva: +## **Recortar imágenes** -``` py +En esta sección, aprenderá a recortar el área visible de una imagen dentro de un marco de imagen sin alterar el archivo fuente. También aprenderá el método básico para aplicar márgenes de recorte y crear una composición limpia y enfocada directamente en la diapositiva. + +El siguiente código Python muestra cómo recortar una imagen en una diapositiva: +```py import aspose.slides as slides with slides.Presentation() as presentation: - # Crea un nuevo objeto de imagen - newImage = presentation.images.add_image(slides.Images.from_file(imagePath)) + slide = presentation.slides[0] - # Agrega un PictureFrame a una diapositiva - picFrame = presentation.slides[0].shapes.add_picture_frame( - slides.ShapeType.RECTANGLE, 100, 100, 420, 250, newImage) + # Añadir la imagen a la colección de imágenes de la presentación. + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # Recorta la imagen (valores porcentuales) - picFrame.picture_format.crop_left = 23.6 - picFrame.picture_format.crop_right = 21.5 - picFrame.picture_format.crop_top = 3 - picFrame.picture_format.crop_bottom = 31 + # Añadir un marco de imagen a la diapositiva. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 100, 100, 420, 250, image) - # Guarda el resultado - presentation.save(outPptxFile, slides.export.SaveFormat.PPTX) + # Recortar la imagen (valores en porcentaje). + picture_frame.picture_format.crop_left = 23.6 + picture_frame.picture_format.crop_right = 21.5 + picture_frame.picture_format.crop_top = 3 + picture_frame.picture_format.crop_bottom = 31 + + # Guardar el resultado. + presentation.save("cropped_image.pptx", slides.export.SaveFormat.PPTX) ``` -## **Eliminar Áreas Recortadas de la Imagen** -Si deseas eliminar las áreas recortadas de una imagen contenida en un marco, puedes usar el método [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/). Este método devuelve la imagen recortada o la imagen original si no es necesario recortar. +## **Eliminar áreas recortadas de imágenes** -Este código de Python demuestra la operación: +Si desea eliminar las áreas recortadas de una imagen en un marco, utilice el método [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/). Este método devuelve la imagen recortada, o la imagen original si no se necesita recorte. +El siguiente código Python demuestra la operación: ```python import aspose.slides as slides -with slides.Presentation(path + "PictureFrameCrop.pptx") as pres: - slide = pres.slides[0] +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # Obtiene el PictureFrame de la primera diapositiva + # Obtener el PictureFrame de la primera diapositiva. picture_frame = slides.shape[0] - # Elimina las áreas recortadas de la imagen del PictureFrame y devuelve la imagen recortada + # Obtener el PictureFrame de la primera diapositiva. cropped_image = picture_frame.picture_format.delete_picture_cropped_areas() - # Guarda el resultado - pres.save(path + "PictureFrameDeleteCroppedAreas.pptx", slides.export.SaveFormat.PPTX) + # Guardar el resultado. + presentation.save("deleted_cropped_areas.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="NOTA" color="warning" %}} -El método delete_picture_cropped_areas agrega la imagen recortada a la colección de imágenes de la presentación. Si la imagen se usa solo en el [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) procesado, esta configuración puede reducir el tamaño de la presentación. De lo contrario, el número de imágenes en la presentación resultante aumentará. +{{% alert title="NOTE" color="warning" %}} -Este método convierte archivos metafiles WMF/EMF a imagen raster PNG en la operación de recorte. +El método [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) agrega la imagen recortada a la colección de imágenes de la presentación. Si la imagen se usa solo en el [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) procesado, esto puede reducir el tamaño de la presentación; de lo contrario, el número de imágenes en la presentación resultante puede aumentar. -{{% /alert %}} +Durante el recorte, este método convierte los metafiles WMF/EMF a una imagen PNG rasterizada. -## **Bloquear Relación de Aspecto** +{{% /alert %}} -Si deseas que una forma que contiene una imagen mantenga su relación de aspecto incluso después de que cambies las dimensiones de la imagen, puedes usar la propiedad *aspect_ratio_locked* para establecer la configuración de *Bloquear Relación de Aspecto*. +## **Bloquear la relación de aspecto** -Este código de Python te muestra cómo bloquear la relación de aspecto de una forma: +Si desea que una forma que contiene una imagen mantenga su relación de aspecto después de cambiar las dimensiones de la imagen, establezca la propiedad [aspect_ratio_locked](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/aspect_ratio_locked/) en `True`. +El siguiente código Python muestra cómo bloquear la relación de aspecto de una forma: ```python -from aspose.slides import SlideLayoutType, Presentation, ShapeType -from aspose.pydrawing import Image +import aspose.slides as slides -with Presentation("pres.pptx") as pres: - layout = pres.layout_slides.get_by_type(SlideLayoutType.CUSTOM) - emptySlide = pres.slides.add_empty_slide(layout) - image = Image.from_file("image.png") - presImage = pres.images.add_image(image) +with slides.Presentation("sample.pptx") as presentation: + layout = presentation.layout_slides.get_by_type(slides.SlideLayoutType.CUSTOM) + empty_slide = presentation.slides.add_empty_slide(layout) + + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - pictureFrame = emptySlide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 150, presImage.width, presImage.height, presImage) + picture_frame = empty_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # establece la forma para preservar la relación de aspecto al redimensionar - pictureFrame.picture_frame_lock.aspect_ratio_locked = True + # Bloquear la relación de aspecto al redimensionar. + picture_frame.picture_frame_lock.aspect_ratio_locked = True + + presentation.save("aspect_ratio_locked.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="NOTA" color="warning" %}} -Esta configuración de *Bloquear Relación de Aspecto* preserva solo la relación de aspecto de la forma y no de la imagen que contiene. +{{% alert title="NOTE" color="warning" %}} -{{% /alert %}} +Esta configuración *Bloquear relación de aspecto* conserva solo la relación de aspecto de la forma, no la relación de aspecto de la imagen dentro de ella. -## **Usar Propiedad StretchOff** +{{% /alert %}} -Usando las propiedades `StretchOffsetLeft`, `StretchOffsetTop`, `StretchOffsetRight` y `StretchOffsetBottom` de la interfaz [IPictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) y la clase [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/), puedes especificar un rectángulo de relleno. +## **Usar propiedades de desplazamiento de estiramiento** -Cuando se especifica estiramiento para una imagen, un rectángulo fuente se escala para ajustarse al rectángulo de relleno especificado. Cada borde del rectángulo de relleno se define mediante un desplazamiento porcentual desde el borde correspondiente de la caja delimitadora de la forma. Un porcentaje positivo especifica un inset mientras que un porcentaje negativo especifica un outset. +Utilizando las propiedades `stretch_offset_left`, `stretch_offset_top`, `stretch_offset_right` y `stretch_offset_bottom` de la clase [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/), puede definir un rectángulo de relleno. -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) . -2. Obtén la referencia de una diapositiva a través de su índice. -3. Agrega un rectángulo `AutoShape`. -4. Crea una imagen. -5. Establece el tipo de relleno de la forma. -6. Establece el modo de relleno de imagen de la forma. -7. Agrega una imagen establecida para llenar la forma. -8. Especifica los desplazamientos de la imagen desde el borde correspondiente de la caja delimitadora de la forma. -9. Escribe la presentación modificada como un archivo PPTX. +Cuando se especifica el estiramiento para una imagen, el rectángulo de origen se escala para ajustarse al rectángulo de relleno. Cada borde del rectángulo de relleno se define mediante un desplazamiento porcentual desde el borde correspondiente del cuadro delimitador de la forma. Un porcentaje positivo indica una inserción, mientras que un porcentaje negativo indica una expansión. -Este código de Python demuestra un proceso en el que se usa una propiedad StretchOff: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtener una referencia a una diapositiva por su índice. +3. Añadir una [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) rectangular. +4. Establecer el tipo de relleno de la forma. +5. Establecer el modo de relleno de imagen de la forma. +6. Cargar una imagen. +7. Asignar la imagen para rellenar la forma. +8. Especificar los desplazamientos de la imagen desde los bordes correspondientes del cuadro delimitador de la forma. +9. Guardar la presentación como archivo PPTX. +El siguiente código Python demuestra cómo usar las propiedades de desplazamiento de estiramiento: ```py import aspose.slides as slides -# Instancia la clase Presentation que representa un archivo PPTX -with slides.Presentation() as pres: +# Instanciar la clase Presentation que representa un archivo PPTX. +with slides.Presentation() as presentation: + # Obtener la primera diapositiva. + slide = presentation.slides[0] + + # Añadir una AutoShape de rectángulo. + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 300, 300) + + # Establecer el tipo de relleno de la forma. + shape.fill_format.fill_type = slides.FillType.PICTURE + + # Establecer el modo de relleno de imagen de la forma. + shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH + + # Cargar la imagen y añadirla a la presentación. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) + + # Asignar la imagen para rellenar la forma. + shape.fill_format.picture_fill_format.picture.image = image + + # Especificar los desplazamientos de la imagen desde los bordes correspondientes del cuadro delimitador de la forma. + shape.fill_format.picture_fill_format.stretch_offset_left = 25 + shape.fill_format.picture_fill_format.stretch_offset_right = 25 + shape.fill_format.picture_fill_format.stretch_offset_top = -20 + shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 + + # Guardar el archivo PPTX en disco. + presentation.save("stretch_offset.pptx", slides.export.SaveFormat.PPTX) +``` + + +{{% alert title="Tip" color="primary" %}} + +Aspose ofrece convertidores gratuitos—[JPEG to PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) y [PNG to PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—que le permiten crear rápidamente presentaciones a partir de imágenes. + +{{% /alert %}} + +## **FAQ** + +**¿Cómo puedo averiguar qué formatos de imagen son compatibles con PictureFrame?** - # Obtiene la primera diapositiva - slide = pres.slides[0] +Aspose.Slides admite tanto imágenes raster (PNG, JPEG, BMP, GIF, etc.) como imágenes vectoriales (por ejemplo, SVG) mediante el objeto de imagen que se asigna a un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). La lista de formatos compatibles generalmente se superpone con las capacidades del motor de conversión de diapositivas e imágenes. - # Instancia la clase ImageEx - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) +**¿Cómo afectará la incorporación de decenas de imágenes grandes al tamaño y rendimiento del PPTX?** - # Agrega un marco de imagen con la altura y el ancho equivalentes de la imagen - shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 300) +Incrustar imágenes grandes aumenta el tamaño del archivo y el uso de memoria; enlazar imágenes ayuda a mantener bajo el tamaño de la presentación pero requiere que los archivos externos permanezcan accesibles. Aspose.Slides permite agregar imágenes mediante enlaces para reducir el tamaño del archivo. - # Establece el tipo de relleno de la forma - shape.fill_format.fill_type = slides.FillType.PICTURE +**¿Cómo puedo bloquear un objeto de imagen para que no se mueva o redimensione accidentalmente?** - # Establece el modo de relleno de imagen de la forma - shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH +Utilice [shape locks](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/picture_frame_lock/) para un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) (por ejemplo, desactivar el movimiento o el redimensionamiento). El mecanismo de bloqueo se describe para formas en un artículo de [protección](/slides/es/python-net/applying-protection-to-presentation/) separado y es compatible con varios tipos de forma, incluido [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). - # Establece la imagen para llenar la forma - shape.fill_format.picture_fill_format.picture.image = imgx +**¿Se conserva la fidelidad vectorial SVG al exportar una presentación a PDF/imágenes?** - # Especifica los desplazamientos de la imagen desde el borde correspondiente de la caja delimitadora de la forma - shape.fill_format.picture_fill_format.stretch_offset_left = 25 - shape.fill_format.picture_fill_format.stretch_offset_right = 25 - shape.fill_format.picture_fill_format.stretch_offset_top = -20 - shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 - - # Escribe el archivo PPTX en disco - pres.save("StretchOffsetLeftForPictureFrame_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Aspose.Slides permite extraer un SVG de un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) como vector original. Al [exportar a PDF](/slides/es/python-net/convert-powerpoint-to-pdf/) o a [formatos raster](/slides/es/python-net/convert-powerpoint-to-png/), el resultado puede rasterizarse según la configuración de exportación; el hecho de que el SVG original se almacene como vector se confirma mediante el comportamiento de extracción. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/es/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index 4613221bc5..3c9e4df528 100644 --- a/es/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/es/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,46 +1,45 @@ --- title: Agregar videos a presentaciones en Python -linktitle: Marco de video +linktitle: Fotograma de video type: docs weight: 10 url: /es/python-net/video-frame/ keywords: - agregar video - crear video -- insertar video +- incrustar video - extraer video - recuperar video -- marco de video +- fotograma de video - fuente web - PowerPoint - OpenDocument - presentación - Python - Aspose.Slides -description: "Aprende a agregar y extraer marcos de video de forma programática en diapositivas de PowerPoint y OpenDocument usando Aspose.Slides for Python via .NET. Guía rápida paso a paso." +description: "Aprenda a agregar y extraer fotogramas de video de forma programática en diapositivas PowerPoint y OpenDocument usando Aspose.Slides para Python a través de .NET. Guía práctica rápida." --- -Un video bien ubicado en una presentación puede hacer que su mensaje sea más convincente e incrementar los niveles de compromiso con su audiencia. +Un video bien colocado en una presentación puede hacer que tu mensaje sea más convincente y aumentar los niveles de compromiso con tu audiencia. -PowerPoint le permite agregar videos a una diapositiva en una presentación de dos maneras: +PowerPoint te permite agregar videos a una diapositiva en una presentación de dos maneras: -* Agregar o incrustar un video local (almacenado en su máquina) -* Agregar un video en línea (de una fuente web como YouTube). +* Agregar o incrustar un video local (almacenado en tu máquina) +* Agregar un video en línea (desde una fuente web como YouTube). -Para permitirle agregar videos (objetos de video) a una presentación, Aspose.Slides proporciona la interfaz [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/), la interfaz [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) y otros tipos relevantes. +Para permitirte agregar videos (objetos de video) a una presentación, Aspose.Slides proporciona la interfaz [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) y la interfaz [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) y otros tipos relevantes. -## **Crear Marco de Video Incrustado** +## **Crear fotograma de video incrustado** -Si el archivo de video que desea agregar a su diapositiva se almacena localmente, puede crear un marco de video para incrustar el video en su presentación. +Si el archivo de video que deseas agregar a tu diapositiva está almacenado localmente, puedes crear un fotograma de video para incrustar el video en tu presentación. -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenga la referencia de una diapositiva a través de su índice. -1. Agregue un objeto [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) y pase la ruta del archivo de video para incrustar el video con la presentación. -1. Agregue un objeto [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) para crear un marco para el video. -1. Guarde la presentación modificada. - -Este código de Python le muestra cómo agregar un video almacenado localmente a una presentación: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtén una referencia a una diapositiva mediante su índice. +3. Agrega un objeto [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) y pasa la ruta del archivo de video para incrustar el video en la presentación. +4. Agrega un objeto [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) para crear un fotograma para el video. +5. Guarda la presentación modificada. +Este código Python muestra cómo agregar un video almacenado localmente a una presentación: ```python import aspose.slides as slides @@ -48,15 +47,15 @@ with slides.Presentation(path + "pres.pptx") as pres: with open("Wildlife.mp4", "br") as fileStream: video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) - # Obtiene la primera diapositiva y agrega un marco de video + # Obtiene la primera diapositiva y agrega un fotograma de video pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video) # Guarda la presentación en disco pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX) ``` -Alternativamente, puede agregar un video pasando directamente la ruta de su archivo al método `add_video_frame(x, y, width, height, fname)`: +Alternativamente, puedes agregar un video pasando su ruta de archivo directamente al método `add_video_frame(x, y, width, height, fname)`. ``` python import aspose.slides as slides @@ -66,24 +65,23 @@ with slides.Presentation() as pres: ``` -## **Crear Marco de Video con Video de Fuente Web** - -Microsoft [PowerPoint 2013 y versiones posteriores](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) admite videos de YouTube en presentaciones. Si el video que desea utilizar está disponible en línea (por ejemplo, en YouTube), puede agregarlo a su presentación a través de su enlace web. +## **Crear fotograma de video con video de fuente web** -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenga la referencia de una diapositiva a través de su índice. -1. Agregue un objeto [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) y pase el enlace al video. -1. Establezca una miniatura para el marco de video. -1. Guarde la presentación. +Microsoft [PowerPoint 2013 y versiones posteriores](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) admite videos de YouTube en presentaciones. Si el video que deseas usar está disponible en línea (p. ej., en YouTube), puedes agregarlo a tu presentación mediante su enlace web. -Este código de Python le muestra cómo agregar un video de la web a una diapositiva en una presentación de PowerPoint: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. Obtén una referencia a una diapositiva mediante su índice. +3. Agrega un objeto [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) y pasa el enlace al video. +4. Establece una miniatura para el fotograma de video. +5. Guarda la presentación. +Este código Python muestra cómo agregar un video desde la web a una diapositiva en una presentación de PowerPoint: ```python import aspose.slides as slides from urllib.request import urlopen def add_video_from_youyube(pres, videoId): - # Agrega un marco de video + # Añade un videoFrame videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId) videoFrame.play_mode = slides.VideoPlayModePreset.AUTO @@ -98,17 +96,17 @@ with slides.Presentation() as pres: pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Extraer Video de Diapositiva** -Además de agregar videos a las diapositivas, Aspose.Slides le permite extraer videos incrustados en presentaciones. +## **Extraer video de la diapositiva** -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) para cargar la presentación que contiene el video. -2. Itere a través de todos los objetos [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/). -3. Itere a través de todos los objetos [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) para encontrar un [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). -4. Guarde el video en disco. +Además de agregar videos a las diapositivas, Aspose.Slides te permite extraer videos incrustados en presentaciones. -Este código de Python le muestra cómo extraer el video de una diapositiva de presentación: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) para cargar la presentación que contiene el video. +2. Itera a través de todos los objetos [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/). +3. Itera a través de todos los objetos [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) para encontrar un [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). +4. Guarda el video en disco. +Este código Python muestra cómo extraer el video de una diapositiva de presentación: ```python import aspose.slides as slides @@ -120,4 +118,23 @@ with slides.Presentation(path + "Video.pptx") as presentation: buffer = shape.embedded_video.binary_data with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream: stream.write(buffer) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Qué parámetros de reproducción de video se pueden cambiar para un VideoFrame?** + +Puedes controlar el [modo de reproducción](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_mode/) (automático o al hacer clic) y el [bucle](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_loop_mode/). Estas opciones están disponibles a través de las propiedades del objeto [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). + +**¿Agregar un video afecta al tamaño del archivo PPTX?** + +Sí. Cuando incrustas un video local, los datos binarios se incluyen en el documento, por lo que el tamaño de la presentación crece proporcionalmente al tamaño del archivo. Cuando agregas un video en línea, se incrustan un enlace y una miniatura, por lo que el aumento de tamaño es menor. + +**¿Puedo reemplazar el video en un VideoFrame existente sin cambiar su posición y tamaño?** + +Sí. Puedes intercambiar el [contenido de video](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/embedded_video/) dentro del fotograma manteniendo la geometría de la forma; este es un escenario frecuente para actualizar medios en un diseño existente. + +**¿Se puede determinar el tipo de contenido (MIME) de un video incrustado?** + +Sí. Un video incrustado tiene un [tipo de contenido](https://reference.aspose.com/slides/python-net/aspose.slides/video/content_type/) que puedes leer y usar, por ejemplo al guardarlo en disco. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md b/es/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md index 22334392c9..988ad240f9 100644 --- a/es/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/es/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,37 +1,50 @@ --- -title: WordArt +title: Crear y aplicar efectos WordArt en Python +linktitle: WordArt type: docs weight: 110 url: /es/python-net/wordart/ -keywords: "WordArt, Word Art, Crear WordArt, plantilla de WordArt, efectos de WordArt, efectos de sombra, efectos de visualización, efectos de resplandor, transformaciones de WordArt, efectos 3D, efectos de sombra exterior, efectos de sombra interior, Python, Aspose.Slides para Python a través de .NET" -description: "Añadir, manipular y gestionar WordArt y efectos en presentaciones de PowerPoint en Python o Aspose.Slides para Python a través de .NET" +keywords: +- WordArt +- crear WordArt +- plantilla WordArt +- efecto WordArt +- efecto de sombra +- efecto de visualización +- efecto de resplandor +- transformación WordArt +- efecto 3D +- efecto de sombra externa +- efecto de sombra interna +- Python +- Aspose.Slides +description: "Aprenda a crear y personalizar efectos WordArt en Aspose.Slides para Python mediante .NET. Esta guía paso a paso ayuda a los desarrolladores a mejorar presentaciones con texto elegante y profesional en Python." --- -## **¿Qué es WordArt?** -WordArt o Word Art es una función que te permite aplicar efectos a los textos para hacerlos destacar. Con WordArt, por ejemplo, puedes contornear un texto o rellenarlo con un color (o degradado), añadirle efectos 3D, etc. También puedes inclinar, doblar y estirar la forma de un texto. +## **Acerca de WordArt?** +WordArt o Word Art es una característica que permite aplicar efectos a los textos para que resalten. Con WordArt, por ejemplo, puedes contornear un texto o rellenarlo con un color (o degradado), añadir efectos 3D, etc. También puedes sesgar, doblar y estirar la forma de un texto. {{% alert color="primary" %}} -WordArt te permite tratar un texto como lo harías con un objeto gráfico. WordArt consiste en efectos o modificaciones especiales realizadas a los textos para hacerlos más atractivos o notorios. +WordArt le permite tratar un texto como lo haría con un objeto gráfico. WordArt consiste en efectos o modificaciones especiales aplicadas a los textos para que sean más atractivos o notables. {{% /alert %}} **WordArt en Microsoft PowerPoint** -Para usar WordArt en Microsoft PowerPoint, debes seleccionar una de las plantillas de WordArt predefinidas. Una plantilla de WordArt es un conjunto de efectos que se aplica a un texto o su forma. +Para usar WordArt en Microsoft PowerPoint, debe seleccionar una de las plantillas de WordArt predefinidas. Una plantilla de WordArt es un conjunto de efectos que se aplican a un texto o a su forma. **WordArt en Aspose.Slides** -En Aspose.Slides para Python a través de .NET 20.10, implementamos soporte para WordArt y realizamos mejoras a la función en versiones posteriores de Aspose.Slides para Python a través de .NET. +En Aspose.Slides para Python a través de .NET 20.10, implementamos soporte para WordArt y realizamos mejoras en la funcionalidad en versiones posteriores de Aspose.Slides para Python a través de .NET. -Con Aspose.Slides para Python a través de .NET, puedes crear fácilmente tu propia plantilla de WordArt (un efecto o combinación de efectos) en Python y aplicarla a los textos. +Con Aspose.Slides para Python a través de .NET, puede crear fácilmente su propia plantilla de WordArt (un efecto o combinación de efectos) en Python y aplicarla a los textos. -## Creando una Plantilla de WordArt Sencilla y Aplicándola a un Texto +## Crear una plantilla simple de WordArt y aplicarla a un texto **Usando Aspose.Slides** -Primero, creamos un texto simple usando este código en Python: - +Primero, creamos un texto simple usando este código Python: ```py import aspose.slides as slides @@ -45,21 +58,22 @@ with slides.Presentation() as pres: pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX) ``` -Ahora, establecemos la altura de la fuente del texto a un valor más grande para hacer que el efecto sea más notable a través de este código: +Ahora, establecemos la altura de fuente del texto a un valor mayor para que el efecto sea más visible mediante este código: ```py fontData = slides.FontData("Arial Black") portion.portion_format.latin_font = fontData portion.portion_format.font_height = 36 ``` + **Usando Microsoft PowerPoint** -Ve al menú de efectos de WordArt en Microsoft PowerPoint: +Vaya al menú de efectos de WordArt en Microsoft PowerPoint: ![todo:image_alt_text](image-20200930113926-1.png) -Desde el menú de la derecha, puedes elegir un efecto de WordArt predefinido. Desde el menú de la izquierda, puedes especificar la configuración para un nuevo WordArt. +En el menú de la derecha, puede elegir un efecto de WordArt predefinido. En el menú de la izquierda, puede especificar la configuración para un nuevo WordArt. Estos son algunos de los parámetros u opciones disponibles: @@ -67,8 +81,7 @@ Estos son algunos de los parámetros u opciones disponibles: **Usando Aspose.Slides** -Aquí, aplicamos el color del patrón SmallGrid al texto y añadimos un borde de texto negro de 1 de ancho utilizando este código: - +Aquí, aplicamos el color de patrón SmallGrid al texto y añadimos un contorno de texto negro de ancho 1 mediante este código: ```py portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange @@ -79,24 +92,24 @@ Aquí, aplicamos el color del patrón SmallGrid al texto y añadimos un borde de portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black ``` + El texto resultante: ![todo:image_alt_text](image-20200930114108-4.png) -## Aplicando Otros Efectos de WordArt +## Aplicar otros efectos de WordArt **Usando Microsoft PowerPoint** -Desde la interfaz del programa, puedes aplicar estos efectos a un texto, bloque de texto, forma o elemento similar: +Desde la interfaz del programa, puede aplicar estos efectos a un texto, bloque de texto, forma o elemento similar: ![todo:image_alt_text](image-20200930114129-5.png) -Por ejemplo, se pueden aplicar efectos de Sombra, Reflexión y Resplandor a un texto; efectos de Formato 3D y Rotación 3D a un bloque de texto; la propiedad de Bordes Suaves se puede aplicar a un Objeto de Forma (todavía tiene un efecto cuando no se establece ninguna propiedad de Formato 3D). +Por ejemplo, los efectos de Sombra, Reflexión y Resplandor pueden aplicarse a un texto; los efectos de Formato 3D y Rotación 3D pueden aplicarse a un bloque de texto; la propiedad Bordes suaves puede aplicarse a un objeto Forma (todavía tiene efecto cuando no se establece la propiedad Formato 3D). -### Aplicando Efectos de Sombra - -Aquí, pretendemos establecer las propiedades relacionadas únicamente con un texto. Aplicamos el efecto de sombra a un texto utilizando este código en Python: +### Aplicar efectos de sombra +Aquí, pretendemos establecer únicamente las propiedades relacionadas con un texto. Aplicamos el efecto de sombra a un texto usando este código en Python: ```py portion.portion_format.effect_format.enable_outer_shadow_effect() portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black @@ -110,29 +123,27 @@ Aquí, pretendemos establecer las propiedades relacionadas únicamente con un te portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32) ``` -La API de Aspose.Slides soporta tres tipos de sombras: OuterShadow, InnerShadow y PresetShadow. -Con PresetShadow, puedes aplicar una sombra para un texto (usando valores predefinidos). +La API de Aspose.Slides admite tres tipos de sombras: OuterShadow, InnerShadow y PresetShadow. +Con PresetShadow, puede aplicar una sombra a un texto (usando valores predefinidos). **Usando Microsoft PowerPoint** -En PowerPoint, puedes usar un tipo de sombra. Aquí hay un ejemplo: +En PowerPoint, puede usar un tipo de sombra. Aquí hay un ejemplo: ![todo:image_alt_text](image-20200930114225-6.png) **Usando Aspose.Slides** -Aspose.Slides en realidad te permite aplicar dos tipos de sombras a la vez: InnerShadow y PresetShadow. +Aspose.Slides realmente permite aplicar dos tipos de sombras a la vez: InnerShadow y PresetShadow. **Notas:** +- Cuando OuterShadow y PresetShadow se usan juntos, solo se aplica el efecto OuterShadow. +- Si OuterShadow e InnerShadow se usan simultáneamente, el efecto resultante o aplicado depende de la versión de PowerPoint. Por ejemplo, en PowerPoint 2013, el efecto se duplica. Pero en PowerPoint 2007, se aplica el efecto OuterShadow. -- Cuando se utilizan juntos OuterShadow y PresetShadow, solo se aplica el efecto de OuterShadow. -- Si se utilizan simultáneamente OuterShadow e InnerShadow, el efecto resultante o aplicado depende de la versión de PowerPoint. Por ejemplo, en PowerPoint 2013, el efecto se duplica. Pero en PowerPoint 2007, se aplica el efecto de OuterShadow. - -### Aplicando Efectos de Visualización a Textos - -Añadimos visualización al texto a través de este ejemplo de código en Python: +### Aplicar visualización a textos +Añadimos visualización al texto mediante este ejemplo de código en Python: ```py portion.portion_format.effect_format.enable_reflection_effect() portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5 @@ -147,10 +158,10 @@ Añadimos visualización al texto a través de este ejemplo de código en Python portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT ``` -### Aplicando Efecto de Resplandor a Textos -Aplicamos el efecto de resplandor al texto para hacerlo brillar o destacar utilizando este código: +### Aplicar efecto de resplandor a textos +Aplicamos el efecto de resplandor al texto para que brille o destaque usando este código: ```py portion.portion_format.effect_format.enable_glow_effect() portion.portion_format.effect_format.glow_effect.color.r = 255 @@ -158,23 +169,25 @@ Aplicamos el efecto de resplandor al texto para hacerlo brillar o destacar utili portion.portion_format.effect_format.glow_effect.radius = 7 ``` + El resultado de la operación: ![todo:image_alt_text](image-20200930114621-7.png) {{% alert color="primary" %}} -Puedes cambiar los parámetros para sombra, visualización y resplandor. Las propiedades de los efectos se establecen en cada porción del texto por separado. +Puede cambiar los parámetros de sombra, visualización y resplandor. Las propiedades de los efectos se establecen en cada porción del texto por separado. {{% /alert %}} -### Usando Transformaciones en WordArt +### Usar transformaciones en WordArt -Usamos la propiedad Transform (inherente en todo el bloque de texto) a través de este código: +Usamos la propiedad Transform (inherente a todo el bloque de texto) mediante este código: ```py textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR ``` + El resultado: ![todo:image_alt_text](image-20200930114712-8.png) @@ -187,16 +200,15 @@ Tanto Microsoft PowerPoint como Aspose.Slides para Python a través de .NET prop **Usando PowerPoint** -Para acceder a tipos de transformación predefinidos, ve a: **Formato** -> **Efecto de Texto** -> **Transformar** +Para acceder a los tipos de transformación predefinidos, vaya a: **Formato** -> **Efecto de texto** -> **Transformar** **Usando Aspose.Slides** -Para seleccionar un tipo de transformación, utiliza el enumerado TextShapeType. +Para seleccionar un tipo de transformación, use el enum TextShapeType. -### Aplicando efectos 3D a Textos y Formas - -Establecemos un efecto 3D en una forma de texto usando este código de muestra: +### Aplicar efectos 3D a textos y formas +Establecemos un efecto 3D a una forma de texto usando este código de ejemplo: ```py autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE autoShape.three_d_format.bevel_bottom.height = 10.5 @@ -223,12 +235,12 @@ Establecemos un efecto 3D en una forma de texto usando este código de muestra: autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` + El texto resultante y su forma: ![todo:image_alt_text](image-20200930114816-9.png) -Aplicamos un efecto 3D al texto con este código en Python: - +Aplicamos un efecto 3D al texto con este código Python: ```py textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5 @@ -255,42 +267,42 @@ Aplicamos un efecto 3D al texto con este código en Python: textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` + El resultado de la operación: ![todo:image_alt_text](image-20200930114905-10.png) {{% alert color="primary" %}} -La aplicación de efectos 3D a textos o sus formas e interacciones entre efectos se basa en ciertas reglas. +La aplicación de efectos 3D a textos o sus formas y las interacciones entre efectos se basan en ciertas reglas. -Considera una escena para un texto y la forma que contiene ese texto. El efecto 3D contiene la representación del objeto 3D y la escena en la que se colocó el objeto. +Considere una escena para un texto y la forma que contiene ese texto. El efecto 3D contiene la representación del objeto 3D y la escena en la que se coloca el objeto. -- Cuando la escena está configurada para tanto la figura como el texto, la escena de la figura tiene una mayor prioridad: se ignora la escena del texto. -- Cuando la figura carece de su propia escena pero tiene representación 3D, se utiliza la escena del texto. -- De lo contrario—cuando la forma originalmente no tiene efecto 3D—la forma es plana y el efecto 3D solo se aplica al texto. +- Cuando la escena está definida tanto para la figura como para el texto, la escena de la figura tiene mayor prioridad y la escena del texto se ignora. +- Cuando la figura no tiene su propia escena pero posee representación 3D, se utiliza la escena del texto. +- De lo contrario, cuando la forma originalmente no tiene efecto 3D, la forma es plana y el efecto 3D solo se aplica al texto. -Las descripciones están conectadas a las propiedades [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) y [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). +Las descripciones están vinculadas a las propiedades [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) y [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). {{% /alert %}} -## **Aplicar Efectos de Sombra Exterior a Textos** -Aspose.Slides para Python a través de .NET proporciona las clases [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) y [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) que te permiten aplicar efectos de sombra a un texto llevado por TextFrame. Sigue estos pasos: - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtén la referencia de una diapositiva usando su índice. -3. Añade una AutoShape de tipo Rectángulo a la diapositiva. -4. Accede al TextFrame asociado con la AutoShape. -5. Establece el FillType de la AutoShape a NoFill. -6. Instancia la clase OuterShadow. -7. Establece el BlurRadius de la sombra. -8. Establece la Dirección de la sombra. -9. Establece la Distancia de la sombra. -10. Establece el RectanglelAlign a TopLeft. -11. Establece el PresetColor de la sombra a Negro. -12. Escribe la presentación como un archivo PPTX. - -Este código de muestra en Python—una implementación de los pasos anteriores—te muestra cómo aplicar el efecto de sombra exterior a un texto: - +## **Aplicar efectos de sombra externa a textos** +Aspose.Slides para Python a través de .NET proporciona las clases [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) y [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) que le permiten aplicar efectos de sombra a un texto contenido en TextFrame. Siga estos pasos: + +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenga la referencia de una diapositiva usando su índice. +3. Agregue un AutoShape de tipo Rectángulo a la diapositiva. +4. Acceda al TextFrame asociado con el AutoShape. +5. Establezca el FillType del AutoShape en NoFill. +6. Instancie la clase OuterShadow. +7. Establezca el BlurRadius de la sombra. +8. Establezca la Direction de la sombra. +9. Establezca el Distance de la sombra. +10. Establezca el RectanglelAlign a TopLeft. +11. Establezca el PresetColor de la sombra a Black. +12. Guarde la presentación como un archivo PPTX. + +Este código de ejemplo en Python—una implementación de los pasos anteriores—le muestra cómo aplicar el efecto de sombra externa a un texto: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -300,16 +312,16 @@ with slides.Presentation() as pres: # Obtener referencia de la diapositiva sld = pres.slides[0] - # Añadir una AutoShape de tipo Rectángulo + # Añadir una AutoShape de tipo Rectangle ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50) - # Añadir TextFrame al Rectángulo + # Añadir TextFrame al Rectangle ashp.add_text_frame("Aspose TextBox") - # Desactivar el relleno de la forma en caso de que queramos obtener la sombra del texto + # Desactivar el relleno de forma en caso de que queramos obtener la sombra del texto ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Añadir sombra exterior y establecer todos los parámetros necesarios + # Añadir sombra externa y establecer todos los parámetros necesarios ashp.effect_format.enable_outer_shadow_effect() shadow = ashp.effect_format.outer_shadow_effect shadow.blur_radius = 4.0 @@ -318,25 +330,24 @@ with slides.Presentation() as pres: shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT shadow.shadow_color.preset_color = slides.PresetColor.BLACK - # Escribir la presentación en disco + #Escribir la presentación en disco pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Aplicar Efecto de Sombra Interior a Formas** -Sigue estos pasos: +## **Aplicar efecto de sombra interna a formas** +Siga estos pasos: -1. Crea una instancia de la [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) clase. -2. Obtén una referencia de la diapositiva. -3. Añade una AutoShape de tipo Rectángulo. -4. Habilita InnerShadowEffect. -5. Establece todos los parámetros necesarios. -6. Establece el ColorType como Esquema. -7. Establece el Color del Esquema. -8. Escribe la presentación como un archivo [PPTX](https://docs.fileformat.com/presentation/pptx/). - -Este código de muestra (basado en los pasos anteriores) te muestra cómo añadir un conector entre dos formas en Python: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenga una referencia de la diapositiva. +3. Agregue un AutoShape del tipo Rectángulo. +4. Habilite InnerShadowEffect. +5. Establezca todos los parámetros necesarios. +6. Establezca el ColorType como Scheme. +7. Establezca el Scheme Color. +8. Guarde la presentación como un archivo [PPTX](https://docs.fileformat.com/presentation/pptx/). +Este código de ejemplo (basado en los pasos anteriores) le muestra cómo agregar un conector entre dos formas en Python: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -345,11 +356,11 @@ with slides.Presentation() as presentation: # Obtener referencia de una diapositiva slide = presentation.slides[0] - # Añadir una AutoShape de tipo Rectángulo + # Agregar una AutoShape de tipo Rectangle ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300) ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Añadir TextFrame al Rectángulo + # Agregar TextFrame al Rectangle ashp.add_text_frame("Aspose TextBox") port = ashp.text_frame.paragraphs[0].portions[0] pf = port.portion_format @@ -365,12 +376,31 @@ with slides.Presentation() as presentation: ef.inner_shadow_effect.distance = 6.0 ef.inner_shadow_effect.shadow_color.b = 189 - # Establecer ColorType como Esquema + # Establecer ColorType como Scheme ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME - # Establecer Color del Esquema + # Establecer Scheme Color ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1 - # Guardar Presentación + # Guardar presentación presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo usar efectos de WordArt con diferentes fuentes o scripts (p. ej., árabe, chino)?** + +Sí, Aspose.Slides admite Unicode y funciona con todas las fuentes y scripts principales. Los efectos de WordArt como sombra, relleno y contorno se pueden aplicar sin importar el idioma, aunque la disponibilidad de fuentes y la representación pueden depender de las fuentes del sistema. + +**¿Puedo aplicar efectos de WordArt a elementos del patrón de diapositivas?** + +Sí, puede aplicar efectos de WordArt a las formas en las diapositivas maestras, incluidos los marcadores de posición de título, pies de página o texto de fondo. Los cambios realizados en el diseño maestro se reflejarán en todas las diapositivas asociadas. + +**¿Los efectos de WordArt afectan al tamaño del archivo de la presentación?** + +Levemente. Los efectos de WordArt como sombras, resplandores y rellenos degradados pueden aumentar ligeramente el tamaño del archivo debido a la metadata de formato añadida, pero la diferencia suele ser insignificante. + +**¿Puedo previsualizar el resultado de los efectos de WordArt sin guardar la presentación?** + +Sí, puede renderizar diapositivas que contienen WordArt a imágenes (p. ej., PNG, JPEG) usando el método `get_image` de las clases [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) o [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). Esto le permite previsualizar el resultado en memoria o en pantalla antes de guardar o exportar la presentación completa. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 502a24643c..711ad610d2 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,44 @@ --- -title: Ejes del Gráfico +title: Personalizar ejes de gráficos en presentaciones con Python +linktitle: Eje del gráfico type: docs url: /es/python-net/chart-axis/ -keywords: "Ejes del Gráfico de PowerPoint, Gráficos de Presentación, Python, Manipular Ejes del Gráfico, Datos del gráfico" -description: "Editar los ejes del gráfico de PowerPoint en Python" +keywords: +- eje del gráfico +- eje vertical +- eje horizontal +- personalizar eje +- manipular eje +- gestionar eje +- propiedades del eje +- valor máximo +- valor mínimo +- línea del eje +- formato de fecha +- título del eje +- posición del eje +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Descubra cómo usar Aspose.Slides for Python via .NET para personalizar los ejes de los gráficos en presentaciones de PowerPoint y OpenDocument para informes y visualizaciones." --- +## **Obteniendo los valores máximos en el eje vertical de los gráficos** +Aspose.Slides for Python via .NET permite obtener los valores mínimos y máximos en un eje vertical. Siga estos pasos: -## **Obteniendo los Valores Máximos en el Eje Vertical de los Gráficos** -Aspose.Slides para Python a través de .NET te permite obtener los valores mínimos y máximos en un eje vertical. Sigue estos pasos: - -1. Crea una instancia de la [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) clase. -1. Accede a la primera diapositiva. -1. Agrega un gráfico con datos predeterminados. -1. Obtén el valor máximo real en el eje. -1. Obtén el valor mínimo real en el eje. -1. Obtén la unidad mayor real del eje. -1. Obtén la unidad menor real del eje. -1. Obtén la escala de unidad mayor real del eje. -1. Obtén la escala de unidad menor real del eje. - -Este código de muestra—una implementación de los pasos anteriores—te muestra cómo obtener los valores requeridos en Python: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Acceda a la primera diapositiva. +1. Agregue un gráfico con datos predeterminados. +1. Obtenga el valor máximo real en el eje. +1. Obtenga el valor mínimo real en el eje. +1. Obtenga la unidad mayor real del eje. +1. Obtenga la unidad menor real del eje. +1. Obtenga la escala de unidad mayor real del eje. +1. Obtenga la escala de unidad menor real del eje. +Este código de ejemplo—una implementación de los pasos anteriores—muestra cómo obtener los valores requeridos en Python: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -41,11 +58,10 @@ with slides.Presentation() as pres: ``` -## **Intercambiando los Datos entre los Ejes** -Aspose.Slides te permite intercambiar rápidamente los datos entre los ejes—los datos representados en el eje vertical (eje y) se mueven al eje horizontal (eje x) y viceversa. - -Este código en Python te muestra cómo realizar la tarea de intercambio de datos entre ejes en un gráfico: +## **Intercambiando los datos entre ejes** +Aspose.Slides permite intercambiar rápidamente los datos entre ejes: los datos representados en el eje vertical (eje y) se trasladan al eje horizontal (eje x) y viceversa. +Este código Python muestra cómo realizar la tarea de intercambio de datos entre ejes en un gráfico: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -54,17 +70,17 @@ import aspose.slides as slides with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300) - # Intercambia filas y columnas + #Cambia filas y columnas chart.chart_data.switch_row_column() # Guarda la presentación pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Deshabilitando el Eje Vertical para Gráficos de Líneas** -Este código en Python te muestra cómo ocultar el eje vertical para un gráfico de líneas: +## **Desactivando el eje vertical para gráficos de líneas** +Este código Python muestra cómo ocultar el eje vertical en un gráfico de líneas: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -76,10 +92,10 @@ with slides.Presentation() as pres: pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX) ``` -## **Deshabilitando el Eje Horizontal para Gráficos de Líneas** -Este código te muestra cómo ocultar el eje horizontal para un gráfico de líneas: +## **Desactivando el eje horizontal para gráficos de líneas** +Este código muestra cómo ocultar el eje horizontal en un gráfico de líneas: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -91,10 +107,10 @@ with slides.Presentation() as pres: pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX) ``` -## **Cambiando el Eje de Categoría** -Usando la propiedad **CategoryAxisType**, puedes especificar tu tipo de eje de categoría preferido (**fecha** o **texto**). Este código en Python demuestra la operación: +## **Cambiar el eje de categoría** +Usando la propiedad **CategoryAxisType**, puede especificar el tipo de eje de categoría preferido (**date** o **text**). Este código en Python demuestra la operación: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -108,9 +124,9 @@ with slides.Presentation(path + "ExistingChart.pptx") as presentation: presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Estableciendo el Formato de Fecha para el Valor del Eje de Categoría** -Aspose.Slides para Python a través de .NET te permite establecer el formato de fecha para un valor del eje de categoría. La operación se demuestra en este código de Python: +## **Establecer el formato de fecha para el valor del eje de categoría** +Aspose.Slides for Python via .NET permite establecer el formato de fecha para un valor del eje de categoría. La operación se demuestra en este código Python: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -146,9 +162,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Estableciendo el Ángulo de Rotación para el Título del Eje del Gráfico** -Aspose.Slides para Python a través de .NET te permite establecer el ángulo de rotación para un título del eje del gráfico. Este código en Python demuestra la operación: +## **Establecer el ángulo de rotación para el título del eje del gráfico** +Aspose.Slides for Python via .NET permite establecer el ángulo de rotación para el título de un eje de gráfico. Este código Python demuestra la operación: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -161,9 +177,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Estableciendo el Eje de Posición en un Eje de Categoría o Valor** -Aspose.Slides para Python a través de .NET te permite establecer el eje de posición en un eje de categoría o valor. Este código en Python muestra cómo realizar la tarea: +## **Establecer la posición del eje en un eje de categoría o de valores** +Aspose.Slides for Python via .NET permite establecer la posición del eje en un eje de categoría o de valores. Este código Python muestra cómo realizar la tarea: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -175,9 +191,9 @@ with slides.Presentation() as pres: pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX) ``` -## **Habilitando la Etiqueta de la Unidad de Visualización en el Eje de Valor del Gráfico** -Aspose.Slides para Python a través de .NET te permite configurar un gráfico para mostrar una etiqueta de unidad en su eje de valor del gráfico. Este código en Python demuestra la operación: +## **Habilitar la etiqueta de unidad de visualización en el eje de valores del gráfico** +Aspose.Slides for Python via .NET permite configurar un gráfico para que muestre una etiqueta de unidad en su eje de valores. Este código Python demuestra la operación: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -186,4 +202,15 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300) chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS pres.save("Result.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Cómo establezco el valor en el que un eje cruza al otro (cruce del eje)?** + +Los ejes ofrecen una [configuración de cruce](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/cross_type/): puede elegir cruzar en cero, en la categoría/valor máximo, o en un valor numérico específico. Esto es útil para desplazar el eje X hacia arriba o abajo o para enfatizar una línea base. + +**¿Cómo puedo posicionar las etiquetas de marcas de graduación en relación al eje (junto, fuera, dentro)?** + +Establezca la [posición de la etiqueta](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/major_tick_mark/) a "cross", "outside" o "inside". Esto afecta la legibilidad y ayuda a ahorrar espacio, especialmente en gráficos pequeños. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index 0fe1875986..e377c70761 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,23 +1,34 @@ --- -title: Marcador de Datos de Gráfico +title: Administrar marcadores de datos del gráfico en presentaciones con Python +linktitle: Marcador de datos type: docs url: /es/python-net/chart-data-marker/ -keywords: "Opciones de marcador de gráfico, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Configurar opciones de marcador de gráfico en presentaciones de PowerPoint en Python" +keywords: +- gráfico +- punto de datos +- marcador +- opciones de marcador +- tamaño del marcador +- tipo de relleno +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Aprenda a personalizar los marcadores de datos de los gráficos en Aspose.Slides, mejorando el impacto de las presentaciones en formatos PPT, PPTX y ODP con ejemplos de código claros." --- -## **Configurar Opciones de Marcador de Gráfico** -Los marcadores se pueden establecer en puntos de datos de gráfico dentro de series particulares. Para establecer opciones de marcador de gráfico, siga los pasos a continuación: +## **Establecer opciones de marcador de gráfico** +Los marcadores pueden establecerse en los puntos de datos del gráfico dentro de series específicas. Para establecer opciones de marcador del gráfico, siga los pasos a continuación: - Instanciar la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). - Crear el gráfico predeterminado. - Establecer la imagen. -- Tomar la primera serie de gráfico. +- Obtener la primera serie del gráfico. - Agregar un nuevo punto de datos. - Escribir la presentación en el disco. -En el ejemplo dado a continuación, hemos configurado las opciones de marcador de gráfico a nivel de puntos de datos. - +En el ejemplo que se muestra a continuación, hemos establecido las opciones de marcador del gráfico a nivel de puntos de datos. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -31,17 +42,17 @@ with slides.Presentation() as presentation: # Crear el gráfico predeterminado chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 0, 0, 400, 400) - # Obtener el índice de la hoja de trabajo de datos del gráfico predeterminado + # Obtener el índice de la hoja de datos del gráfico predeterminada defaultWorksheetIndex = 0 - # Obtener la hoja de trabajo de datos del gráfico + # Obtener la hoja de datos del gráfico fact = chart.chart_data.chart_data_workbook # Eliminar la serie de demostración chart.chart_data.series.clear() - # Agregar nuevas series - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Serie 1"), chart.type) + # Añadir nueva serie + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) # Establecer la imagen image1 = draw.Bitmap(path + "aspose-logo.jpg") @@ -51,10 +62,10 @@ with slides.Presentation() as presentation: image2 = draw.Bitmap(path + "Tulips.jpg") imgx2 = presentation.images.add_image(image2) - # Tomar la primera serie de gráfico + # Tomar la primera serie del gráfico series = chart.chart_data.series[0] - # Agregar un nuevo punto (1:3) allí. + # Añadir nuevo punto (1:3) allí. point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx1 @@ -74,6 +85,17 @@ with slides.Presentation() as presentation: # Cambiar el marcador de la serie del gráfico series.marker.size = 15 - # Escribir la presentación en el disco + # Guardar la presentación en disco presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Qué formas de marcador están disponibles de forma predeterminada?** + +Se pueden usar formas estándar (círculo, cuadrado, diamante, triángulo, etc.); la lista está definida por la enumeración [MarkerStyleType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/markerstyletype/). Si necesita una forma no estándar, utilice un marcador con relleno de imagen para emular visuales personalizados. + +**¿Se conservan los marcadores al exportar un gráfico a una imagen o SVG?** + +Sí. Al renderizar gráficos a [formatos raster](/slides/es/python-net/convert-powerpoint-to-png/) o al guardar [formas como SVG](/slides/es/python-net/render-a-slide-as-an-svg-image/), los marcadores conservan su apariencia y configuraciones, incluido el tamaño, el relleno y el contorno. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 3c8f0b4d1a..0987e8c10c 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,100 +1,121 @@ --- -title: Leyenda del Gráfico +title: Personalizar leyendas de gráficos en presentaciones con Python +linktitle: Leyenda del gráfico type: docs url: /es/python-net/chart-legend/ -keywords: "Leyenda del gráfico, tamaño de fuente de la leyenda, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Configurar la posición y el tamaño de fuente de la leyenda del gráfico en presentaciones de PowerPoint en Python" +keywords: +- leyenda del gráfico +- posición de la leyenda +- tamaño de fuente +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Personaliza las leyendas de los gráficos con Aspose.Slides para Python a través de .NET para optimizar presentaciones de PowerPoint y OpenDocument con un formato de leyenda a medida." --- -## **Posicionamiento de la Leyenda** -Para establecer las propiedades de la leyenda. Por favor, siga los pasos a continuación: +## **Descripción general** -- Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Obtener referencia de la diapositiva. -- Agregar un gráfico en la diapositiva. -- Configurar las propiedades de la leyenda. -- Escribir la presentación como un archivo PPTX. +Aspose.Slides for Python ofrece control total sobre las leyendas de los gráficos, lo que permite que las etiquetas de datos sean claras y estén listas para la presentación. Puedes mostrar u ocultar la leyenda, elegir su posición en la diapositiva y ajustar el diseño para evitar superposiciones con el área del gráfico. La API permite estilizar texto y marcadores, afinar el relleno y el fondo, y formatear bordes y rellenos para que coincidan con tu tema. Los desarrolladores también pueden acceder a entradas individuales de la leyenda para renombrarlas o filtrarlas, asegurando que solo se muestren las series más relevantes. Con estas capacidades, tus gráficos permanecen legibles, consistentes y alineados con los estándares de diseño de tu presentación. -En el ejemplo dado a continuación, hemos establecido la posición y el tamaño para la leyenda del gráfico. +## **Posicionamiento de la leyenda** +Con Aspose.Slides, puedes controlar rápidamente dónde aparece la leyenda del gráfico y cómo se adapta al diseño de tu diapositiva. Aprende a colocar la leyenda con precisión. + +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtén una referencia a la diapositiva. +1. Añade un gráfico a la diapositiva. +1. Configura las propiedades de la leyenda. +1. Guarda la presentación como un archivo PPTX. + +En el ejemplo a continuación, establecemos la posición y el tamaño de la leyenda del gráfico: ```py import aspose.slides.charts as charts import aspose.slides as slides -# Crear una instancia de la clase Presentation +# Crear una instancia de la clase Presentation. with slides.Presentation() as presentation: - # Obtener referencia de la diapositiva + # Obtener una referencia a la diapositiva. slide = presentation.slides[0] - # Agregar un gráfico de columnas agrupadas en la diapositiva - chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 500, 500) + # Añadir un gráfico de columnas agrupadas a la diapositiva. + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 300) - # Configurar Propiedades de la Leyenda - chart.legend.x = 50 / chart.width - chart.legend.y = 50 / chart.height + # Establecer las propiedades de la leyenda. + chart.legend.x = 80 / chart.width + chart.legend.y = 20 / chart.height chart.legend.width = 100 / chart.width chart.legend.height = 100 / chart.height - # Escribir la presentación en el disco - presentation.save("Legend_out.pptx", slides.export.SaveFormat.PPTX) + # Guardar la presentación en disco. + presentation.save("legend_positioning.pptx", slides.export.SaveFormat.PPTX) ``` +## **Establecer el tamaño de fuente de la leyenda** -## **Configurar Tamaño de Fuente de la Leyenda** -Aspose.Slides para Python a través de .NET permite a los desarrolladores establecer el tamaño de fuente de la leyenda. Por favor, siga los pasos a continuación: - -- Instanciar la clase `Presentation`. -- Crear el gráfico predeterminado. -- Establecer el Tamaño de Fuente. -- Establecer el valor mínimo del eje. -- Establecer el valor máximo del eje. -- Escribir la presentación en el disco. +La leyenda de un gráfico debe ser tan legible como los datos que explica. Esta sección muestra cómo ajustar el tamaño de fuente de la leyenda para que coincida con la tipografía de tu presentación y mejore la accesibilidad. +1. Instancia la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Crea un gráfico. +1. Establece el tamaño de fuente. +1. Guarda la presentación en disco. ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - chart.legend.text_format.portion_format.font_height = 20 - chart.axes.vertical_axis.is_automatic_min_value = False - chart.axes.vertical_axis.min_value = -5 - chart.axes.vertical_axis.is_automatic_max_value = False - chart.axes.vertical_axis.max_value = 10 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + chart.legend.text_format.portion_format.font_height = 20 - pres.save("output.pptx", slides.export.SaveFormat.PPTX) + presentation.save("font_size.pptx", slides.export.SaveFormat.PPTX) ``` -## **Configurar Tamaño de Fuente de la Leyenda Individual** -Aspose.Slides para Python a través de .NET permite a los desarrolladores establecer el tamaño de fuente de las entradas individuales de la leyenda. Por favor, siga los pasos a continuación: +## **Establecer el tamaño de fuente para una entrada de leyenda** -- Instanciar la clase `Presentation`. -- Crear el gráfico predeterminado. -- Acceder a la entrada de la leyenda. -- Establecer el Tamaño de Fuente. -- Establecer el valor mínimo del eje. -- Establecer el valor máximo del eje. -- Escribir la presentación en el disco. +Aspose.Slides permite afinar la apariencia de las leyendas de los gráficos formateando entradas individuales. El ejemplo a continuación muestra cómo dirigirse a un elemento específico de la leyenda y establecer sus propiedades sin cambiar el resto de la leyenda. +1. Instancia la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Crea un gráfico. +1. Accede a una entrada de la leyenda. +1. Establece las propiedades de la entrada. +1. Guarda la presentación en disco. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw - - -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - tf = chart.legend.entries[1].text_format - - tf.portion_format.font_bold = 1 - tf.portion_format.font_height = 20 - tf.portion_format.font_italic = 1 - tf.portion_format.fill_format.fill_type = slides.FillType.SOLID - tf.portion_format.fill_format.solid_fill_color.color = draw.Color.blue - - pres.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + text_format = chart.legend.entries[1].text_format + + text_format.portion_format.font_bold = slides.NullableBool.TRUE + text_format.portion_format.font_height = 20 + text_format.portion_format.font_italic = slides.NullableBool.TRUE + text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID + text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.blue + + presentation.save("legend_entry.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **Preguntas frecuentes** + +**¿Puedo habilitar la leyenda de modo que el gráfico reserve automáticamente espacio para ella en lugar de superponerse?** + +Sí. Usa el modo sin superposición ([overlay](https://reference.aspose.com/slides/python-net/aspose.slides.charts/legend/overlay/) = `false`); en este caso, el área del gráfico se encogerá para acomodar la leyenda. + +**¿Puedo crear etiquetas de leyenda multilínea?** + +Sí. Las etiquetas largas se ajustan automáticamente cuando el espacio es insuficiente; los saltos de línea forzados se admiten mediante caracteres de nueva línea en el nombre de la serie. + +**¿Cómo hago que la leyenda siga el esquema de colores del tema de la presentación?** + +No establezcas colores/fondos/fuentes explícitos para la leyenda o su texto. Así heredarán del tema y se actualizarán correctamente cuando cambie el diseño. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 3e0ebe18d8..4924d77963 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,33 @@ --- -title: Área del Gráfico +title: Personalizar áreas de trazado de gráficos de presentación en Python +linktitle: Área de trazado type: docs url: /es/python-net/chart-plot-area/ -keywords: "Área del Gráfico Presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Obtener ancho, alto del área del gráfico. Establecer modo de diseño. Presentación de PowerPoint en Python" +keywords: +- gráfico +- área de trazado +- ancho del área de trazado +- alto del área de trazado +- tamaño del área de trazado +- modo de diseño +- PowerPoint +- presentación +- Python +- Aspose.Slides +description: "Descubra cómo personalizar áreas de trazado de gráficos en presentaciones de PowerPoint y OpenDocument con Aspose.Slides para Python a través de .NET. Mejore sus elementos visuales de diapositivas sin esfuerzo." --- -## **Obtener Ancho, Alto del Área del Gráfico** -Aspose.Slides para Python a través de .NET proporciona una API simple para . - -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Acceder a la primera diapositiva. -1. Agregar un gráfico con datos predeterminados. -1. Llamar al método IChart.ValidateChartLayout() antes de obtener los valores actuales. -1. Obtener la ubicación X actual (izquierda) del elemento gráfico en relación con la esquina superior izquierda del gráfico. -1. Obtener la parte superior actual del elemento gráfico en relación con la esquina superior izquierda del gráfico. -1. Obtener el ancho actual del elemento gráfico. -1. Obtener la altura actual del elemento gráfico. +## **Obtener ancho, alto del área de trazado del gráfico** +Aspose.Slides para Python a través de .NET proporciona una API simple para . +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Acceder a la primera diapositiva. +3. Agregar un gráfico con datos predeterminados. +4. Llamar al método IChart.ValidateChartLayout() antes para obtener los valores reales. +5. Obtiene la posición X real (izquierda) del elemento del gráfico relativo a la esquina superior izquierda del gráfico. +6. Obtiene la parte superior real del elemento del gráfico relativo a la esquina superior izquierda del gráfico. +7. Obtiene el ancho real del elemento del gráfico. +8. Obtiene la altura real del elemento del gráfico. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -36,16 +46,13 @@ with slides.Presentation() as pres: ``` +## **Establecer modo de diseño del área de trazado del gráfico** +Aspose.Slides para Python a través de .NET proporciona una API simple para establecer el modo de diseño del área de trazado del gráfico. La propiedad **LayoutTargetType** se ha añadido a las clases **ChartPlotArea** e **IChartPlotArea**. Si el diseño del área de trazado se define manualmente, esta propiedad especifica si el área se diseña por su interior (sin incluir los ejes y sus etiquetas) o por su exterior (incluyendo los ejes y sus etiquetas). Hay dos valores posibles que se definen en el enumerado **LayoutTargetType**. +- **LayoutTargetType.Inner** - especifica que el tamaño del área de trazado determinará el tamaño del área de trazado, sin incluir las marcas de graduación y las etiquetas de los ejes. +- **LayoutTargetType.Outer** - especifica que el tamaño del área de trazado determinará el tamaño del área de trazado, las marcas de graduación y las etiquetas de los ejes. -## **Establecer Modo de Diseño del Área del Gráfico** -Aspose.Slides para Python a través de .NET proporciona una API simple para establecer el modo de diseño del área del gráfico. La propiedad **LayoutTargetType** se ha agregado a las clases **ChartPlotArea** y **IChartPlotArea**. Si el diseño del área de gráfico se define manualmente, esta propiedad especifica si el diseño del área de gráfico debe ser por su interior (sin incluir ejes y etiquetas de ejes) o por fuera (incluyendo ejes y etiquetas de ejes). Hay dos valores posibles que se definen en el enum **LayoutTargetType**. - -- **LayoutTargetType.Inner** - especifica que el tamaño del área de gráfico debe determinar el tamaño del área de gráfico, sin incluir las marcas de los ejes y las etiquetas de los ejes. -- **LayoutTargetType.Outer** - especifica que el tamaño del área de gráfico debe determinar el tamaño del área de gráfico, las marcas de los ejes y las etiquetas de los ejes. - -El código de muestra se da a continuación. - +A continuación se muestra el código de ejemplo. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -60,4 +67,23 @@ with slides.Presentation() as presentation: chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿En qué unidades se devuelven actual_x, actual_y, actual_width y actual_height?** + +En puntos; 1 pulgada = 72 puntos. Estas son unidades de coordenadas de Aspose.Slides. + +**¿En qué se diferencia el Área de trazado del Área del gráfico en cuanto al contenido?** + +El Área de trazado es la región donde se dibujan los datos (series, líneas de cuadrícula, líneas de tendencia, etc.); el Área del gráfico incluye los elementos circundantes (título, leyenda, etc.). En los gráficos 3D, el Área de trazado también incluye las paredes/suelo y los ejes. + +**¿Cómo se interpretan X, Y, Ancho y Alto del Área de trazado cuando el diseño es manual?** + +Son fracciones (0‑1) del tamaño total del gráfico; en este modo, el posicionamiento automático está desactivado y se utilizan las fracciones que se establecen. + +**¿Por qué cambió la posición del Área de trazado después de agregar/mover la leyenda?** + +La leyenda se encuentra en el área del gráfico fuera del Área de trazado, pero afecta el diseño y el espacio disponible, por lo que el Área de trazado puede desplazarse cuando el posicionamiento automático está activo. (Este es el comportamiento estándar de los gráficos de PowerPoint.) \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md index 6166e7f14c..d9d3b82f3d 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md @@ -1,6 +1,6 @@ --- -title: Personalizar Barras de Error en Gráficos de Presentaciones con Python -linktitle: Barra de Error +title: Personalizar barras de error en gráficos de presentaciones con Python +linktitle: Barra de error type: docs url: /es/python-net/error-bar/ keywords: @@ -11,19 +11,18 @@ keywords: - presentación - Python - Aspose.Slides -description: "Aprenda cómo agregar y personalizar barras de error en gráficos con Aspose.Slides for Python via .NET—optimice la visualización de datos en presentaciones de PowerPoint y OpenDocument." +description: "Aprenda cómo agregar y personalizar barras de error en gráficos con Aspose.Slides para Python vía .NET—optimice la visualización de datos en presentaciones de PowerPoint y OpenDocument." --- -## **Agregar Barra de Error** -Aspose.Slides para Python a través de .NET proporciona una API simple para gestionar valores de barra de error. El código de muestra se aplica al usar un tipo de valor personalizado. Para especificar un valor, utiliza la propiedad **ErrorBarCustomValues** de un punto de datos específico en la colección **DataPoints** de la serie: - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Agrega un gráfico de burbujas en la diapositiva deseada. -1. Accede a la primera serie del gráfico y establece el formato de barra de error X. -1. Accede a la primera serie del gráfico y establece el formato de barra de error Y. -1. Establecer los valores y el formato de las barras. -1. Escribe la presentación modificada en un archivo PPTX. +## **Agregar barra de error** +Aspose.Slides for Python via .NET proporciona una API simple para administrar valores de barras de error. El código de ejemplo se aplica al usar un tipo de valor personalizado. Para especificar un valor, use la propiedad **ErrorBarCustomValues** de un punto de datos específico en la colección **DataPoints** de la serie: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Añada un gráfico de burbujas en la diapositiva deseada. +1. Acceda a la primera serie del gráfico y establezca el formato de la barra de error X. +1. Acceda a la primera serie del gráfico y establezca el formato de la barra de error Y. +1. Establezca los valores y el formato de las barras. +1. Guarde la presentación modificada en un archivo PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -33,7 +32,7 @@ with slides.Presentation() as presentation: # Creando un gráfico de burbujas chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # Agregando barras de error y estableciendo su formato + # Añadiendo barras de error y configurando su formato errBarX = chart.chart_data.series[0].error_bars_x_format errBarY = chart.chart_data.series[0].error_bars_y_format errBarX.is_visible = True @@ -46,23 +45,21 @@ with slides.Presentation() as presentation: errBarY.format.line.width = 2 errBarX.has_end_cap = True - # Guardando presentación + # Guardando la presentación presentation.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX) ``` +## **Agregar valor de barra de error personalizado** +Aspose.Slides for Python via .NET proporciona una API simple para administrar valores de barras de error personalizados. El código de ejemplo se aplica cuando la propiedad **IErrorBarsFormat.ValueType** es igual a **Custom**. Para especificar un valor, use la propiedad **ErrorBarCustomValues** de un punto de datos específico en la colección **DataPoints** de la serie: -## **Agregar Valor de Barra de Error Personalizado** -Aspose.Slides para Python a través de .NET proporciona una API simple para gestionar valores de barra de error personalizados. El código de muestra se aplica cuando la propiedad **IErrorBarsFormat.ValueType** es igual a **Custom**. Para especificar un valor, utiliza la propiedad **ErrorBarCustomValues** de un punto de datos específico en la colección **DataPoints** de la serie: - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Agrega un gráfico de burbujas en la diapositiva deseada. -1. Accede a la primera serie del gráfico y establece el formato de barra de error X. -1. Accede a la primera serie del gráfico y establece el formato de barra de error Y. -1. Accede a los puntos de datos individuales de la serie del gráfico y establece los valores de la barra de error para el punto de datos de la serie individual. -1. Establecer los valores y el formato de las barras. -1. Escribe la presentación modificada en un archivo PPTX. - +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Añada un gráfico de burbujas en la diapositiva deseada. +1. Acceda a la primera serie del gráfico y establezca el formato de la barra de error X. +1. Acceda a la primera serie del gráfico y establezca el formato de la barra de error Y. +1. Acceda a los puntos de datos individuales de la serie del gráfico y establezca los valores de la barra de error para cada punto de datos de la serie. +1. Establezca los valores y el formato de las barras. +1. Guarde la presentación modificada en un archivo PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -72,7 +69,7 @@ with slides.Presentation() as presentation: # Creando un gráfico de burbujas chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # Agregando barras de error personalizadas y estableciendo su formato + # Añadiendo barras de error personalizadas y configurando su formato series = chart.chart_data.series[0] errBarX = series.error_bars_x_format errBarY = series.error_bars_y_format @@ -81,20 +78,35 @@ with slides.Presentation() as presentation: errBarX.value_type = charts.ErrorBarValueType.CUSTOM errBarY.value_type = charts.ErrorBarValueType.CUSTOM - # Accediendo a los puntos de datos de la serie del gráfico y estableciendo valores de barras de error para el punto individual + # Accediendo al punto de datos de la serie del gráfico y estableciendo valores de barras de error para el punto individual points = series.data_points points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_minus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_minus_values = charts.DataSourceType.DOUBLE_LITERALS - # Estableciendo barras de error para los puntos de la serie del gráfico + # Configurando barras de error para los puntos de la serie del gráfico for i in range(len(points)): points[i].error_bars_custom_values.x_minus.as_literal_double = i + 1 points[i].error_bars_custom_values.x_plus.as_literal_double = i + 1 points[i].error_bars_custom_values.y_minus.as_literal_double = i + 1 points[i].error_bars_custom_values.y_plus.as_literal_double = i + 1 - # Guardando presentación + # Guardando la presentación presentation.save("ErrorBarsCustomValues_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Qué ocurre con las barras de error al exportar una presentación a PDF o imágenes?** + +Se renderizan como parte del gráfico y se conservan durante la conversión junto con el resto del formato del gráfico, siempre que se utilice una versión o motor compatible. + +**¿Se pueden combinar las barras de error con marcadores y etiquetas de datos?** + +Sí. Las barras de error son un elemento independiente y son compatibles con marcadores y etiquetas de datos; si los elementos se superponen, puede que sea necesario ajustar el formato. + +**¿Dónde puedo encontrar la lista de propiedades y enumeraciones para trabajar con barras de error en la API?** + +En la referencia de la API: la clase [ErrorBarsFormat](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarsformat/) y las enumeraciones relacionadas [ErrorBarType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbartype/) y [ErrorBarValueType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarvaluetype/). \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md index d57aeec498..b5be5910fc 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md @@ -1,90 +1,102 @@ --- -title: Línea de Tendencia +title: Agregar líneas de tendencia a los gráficos de presentación en Python +linktitle: Línea de tendencia type: docs url: /es/python-net/trend-line/ -keywords: "Línea de tendencia, línea personalizada presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Agregar línea de tendencia y línea personalizada a presentaciones de PowerPoint en Python" +keywords: +- gráfico +- línea de tendencia +- línea de tendencia exponencial +- línea de tendencia lineal +- línea de tendencia logarítmica +- línea de tendencia de promedio móvil +- línea de tendencia polinómica +- línea de tendencia de potencia +- línea de tendencia personalizada +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Agregue y personalice rápidamente líneas de tendencia en gráficos de PowerPoint y OpenDocument con Aspose.Slides para Python mediante .NET — una guía práctica y ejemplos de código para mejorar la precisión de pronósticos y captar la atención de su audiencia." --- -## **Agregar Línea de Tendencia** -Aspose.Slides para Python a través de .NET proporciona una API sencilla para gestionar diferentes Líneas de Tendencia en gráficos: - -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtener la referencia de una diapositiva por su índice. -1. Agregar un gráfico con datos predeterminados junto con el tipo deseado (este ejemplo utiliza ChartType.CLUSTERED_COLUMN). -1. Agregar línea de tendencia exponencial para la serie de gráficos 1. -1. Agregar línea de tendencia lineal para la serie de gráficos 1. -1. Agregar línea de tendencia logarítmica para la serie de gráficos 2. -1. Agregar línea de tendencia de media móvil para la serie de gráficos 2. -1. Agregar línea de tendencia polinómica para la serie de gráficos 3. -1. Agregar línea de tendencia de potencia para la serie de gráficos 3. -1. Escribir la presentación modificada en un archivo PPTX. - -El siguiente código se usa para crear un gráfico con Líneas de Tendencia. - +## **Agregar línea de tendencia** +Aspose.Slides for Python via .NET ofrece una API sencilla para gestionar diferentes líneas de tendencia de gráficos: + +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenga la referencia de una diapositiva mediante su índice. +3. Agregue un gráfico con datos predeterminados y cualquiera del tipo deseado (este ejemplo usa ChartType.CLUSTERED_COLUMN). +4. Agregar una línea de tendencia exponencial para la serie 1 del gráfico. +5. Agregar una línea de tendencia lineal para la serie 1 del gráfico. +6. Agregar una línea de tendencia logarítmica para la serie 2 del gráfico. +7. Agregar una línea de tendencia de promedio móvil para la serie 2 del gráfico. +8. Agregar una línea de tendencia polinómica para la serie 3 del gráfico. +9. Agregar una línea de tendencia de potencia para la serie 3 del gráfico. +10. Escriba la presentación modificada en un archivo PPTX. + +El siguiente código se utiliza para crear un gráfico con líneas de tendencia. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Creando presentación vacía +# Creando una presentación vacía with slides.Presentation() as pres: # Creando un gráfico de columnas agrupadas chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) - # Agregando línea de tendencia exponencial para la serie de gráficos 1 + # Añadiendo línea de tendencia exponencial para la serie 1 del gráfico tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) tredLinep.display_equation = False tredLinep.display_r_squared_value = False - # Agregando línea de tendencia lineal para la serie de gráficos 1 + # Añadiendo línea de tendencia lineal para la serie 1 del gráfico tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) tredLineLin.trendline_type = charts.TrendlineType.LINEAR tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red - # Agregando línea de tendencia logarítmica para la serie de gráficos 2 + # Añadiendo línea de tendencia logarítmica para la serie 2 del gráfico tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC - tredLineLog.add_text_frame_for_overriding("Nueva línea de tendencia logarítmica") + tredLineLog.add_text_frame_for_overriding("New log trend line") - # Agregando línea de tendencia de media móvil para la serie de gráficos 2 + # Añadiendo línea de tendencia de promedio móvil para la serie 2 del gráfico tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE tredLineMovAvg.period = 3 - tredLineMovAvg.trendline_name = "Nuevo Nombre de Línea de Tendencia" + tredLineMovAvg.trendline_name = "New TrendLine Name" - # Agregando línea de tendencia polinómica para la serie de gráficos 3 + # Añadiendo línea de tendencia polinómica para la serie 3 del gráfico tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL tredLinePol.forward = 1 tredLinePol.order = 3 - # Agregando línea de tendencia de potencia para la serie de gráficos 3 + # Añadiendo línea de tendencia de potencia para la serie 3 del gráfico tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) tredLinePower.trendline_type = charts.TrendlineType.POWER tredLinePower.backward = 1 - # Guardando presentación + # Guardando la presentación pres.save("Charttrend_lines_out.pptx", slides.export.SaveFormat.PPTX) ``` +## **Agregar línea personalizada** +Aspose.Slides for Python via .NET ofrece una API sencilla para agregar líneas personalizadas en un gráfico. Para agregar una línea simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: -## **Agregar Línea Personalizada** -Aspose.Slides para Python a través de .NET proporciona una API sencilla para agregar líneas personalizadas en un gráfico. Para agregar una línea simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: - -- Crear una instancia de la clase Presentation -- Obtener la referencia de una diapositiva utilizando su índice -- Crear un nuevo gráfico usando el método AddChart expuesto por el objeto Shapes -- Agregar una AutoShape de tipo Línea utilizando el método AddAutoShape expuesto por el objeto Shapes -- Establecer el color de las líneas de la forma. -- Escribir la presentación modificada como un archivo PPTX - -El siguiente código se utiliza para crear un gráfico con Líneas Personalizadas. +- Cree una instancia de la clase Presentation +- Obtenga la referencia de una diapositiva utilizando su Index +- Cree un nuevo gráfico usando el método AddChart expuesto por el objeto Shapes +- Agregue un AutoShape de tipo Línea usando el método AddAutoShape expuesto por el objeto Shapes +- Establezca el Color de las líneas de la forma. +- Escriba la presentación modificada como un archivo PPTX +El siguiente código se utiliza para crear un gráfico con líneas personalizadas. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -96,4 +108,15 @@ with slides.Presentation() as pres: shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red pres.save("AddCustomLines.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Qué significan 'forward' y 'backward' para una línea de tendencia?** + +Son las longitudes de la línea de tendencia proyectadas hacia adelante/atrás: para gráficos de dispersión (XY) — en unidades del eje; para gráficos que no son de dispersión — en número de categorías. Solo se permiten valores no negativos. + +**¿Se conservará la línea de tendencia al exportar la presentación a PDF o SVG, o al renderizar una diapositiva a una imagen?** + +Sí. Aspose.Slides convierte presentaciones a [PDF](/slides/es/python-net/convert-powerpoint-to-pdf/)/[SVG](/slides/es/python-net/render-a-slide-as-an-svg-image/) y renderiza gráficos a imágenes; las líneas de tendencia, como parte del gráfico, se conservan durante estas operaciones. También hay un método disponible para [exportar una imagen del gráfico](/slides/es/python-net/create-shape-thumbnails/) mismo. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md index 8bc50066a6..607fc8391c 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md @@ -1,20 +1,28 @@ --- -title: Gráfico 3D +title: Personalizar gráficos 3D en presentaciones con Python +linktitle: Gráfico 3D type: docs url: /es/python-net/3d-chart/ -keywords: "gráfico 3d, rotationX, rotationY, depthpercent, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Establecer rotationX, rotationY y depthpercents para gráfico 3D en presentación de PowerPoint en Python" +keywords: +- gráfico 3d +- rotación +- profundidad +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Aprenda a crear y personalizar gráficos 3‑D en Aspose.Slides para Python a través de .NET, con soporte para archivos PPT, PPTX y ODP — mejore sus presentaciones hoy." --- -## **Establecer propiedades RotationX, RotationY y DepthPercents del Gráfico 3D** -Aspose.Slides para Python a través de .NET proporciona una API simple para establecer estas propiedades. Este siguiente artículo te ayudará a establecer diferentes propiedades como Rotación X, Y, **DepthPercents**, etc. El código de ejemplo aplica la configuración de las propiedades mencionadas anteriormente. - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Accede a la primera diapositiva. -1. Agrega un gráfico con datos predeterminados. -1. Establece las propiedades de Rotación 3D. -1. Escribe la presentación modificada en un archivo PPTX. +## **Establecer las propiedades RotationX, RotationY y DepthPercents de un gráfico 3D** +Aspose.Slides para Python a través de .NET proporciona una API sencilla para establecer estas propiedades. El siguiente artículo le ayudará a configurar diferentes propiedades como Rotación X,Y, **DepthPercents**, etc. El código de ejemplo aplica la configuración de las propiedades mencionadas. +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Acceda a la primera diapositiva. +1. Añada un gráfico con datos predeterminados. +1. Establezca las propiedades Rotation3D. +1. Escriba la presentación modificada en un archivo PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -36,15 +44,15 @@ with slides.Presentation() as presentation: fact = chart.chart_data.chart_data_workbook # Agregar series - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Serie 1"), chart.type) - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Serie 2"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type) # Agregar categorías - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Categoría 1")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Categoría 2")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Categoría 3")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")) - # Establecer propiedades de Rotación 3D + # Establecer propiedades Rotation3D chart.rotation_3d.right_angle_axes = True chart.rotation_3d.rotation_x = 40 chart.rotation_3d.rotation_y = 270 @@ -53,7 +61,7 @@ with slides.Presentation() as presentation: # Tomar la segunda serie del gráfico series = chart.chart_data.series[1] - # Ahora se están poblándose los datos de la serie + # Ahora poblando datos de la serie series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) @@ -61,9 +69,24 @@ with slides.Presentation() as presentation: series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60)) - # Establecer valor de OverLap + # Establecer valor OverLap series.parent_series_group.overlap = 100 - # Escribir presentación en el disco + # Guardar la presentación en disco presentation.save("Rotation3D_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Qué tipos de gráficos admiten el modo 3D en Aspose.Slides?** + +Aspose.Slides admite variantes 3D de gráficos de columnas, incluidos Column 3D, Clustered Column 3D, Stacked Column 3D y 100% Stacked Column 3D, junto con tipos 3D relacionados expuestos a través de la enumeración [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/). Para obtener una lista exacta y actualizada, consulte los miembros de [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) en la referencia API de la versión instalada. + +**¿Puedo obtener una imagen rasterizada de un gráfico 3D para un informe o la web?** + +Sí. Puede exportar un gráfico a una imagen mediante la [chart API](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) o [renderizar toda la diapositiva](/slides/es/python-net/convert-powerpoint-to-png/) a formatos como PNG o JPEG. Esto es útil cuando necesita una vista previa pixel-perfect o desea incrustar el gráfico en documentos, paneles de control o páginas web sin requerir PowerPoint. + +**¿Qué rendimiento tiene la creación y renderizado de gráficos 3D grandes?** + +El rendimiento depende del volumen de datos y la complejidad visual. Para obtener los mejores resultados, mantenga los efectos 3D al mínimo, evite texturas pesadas en paredes y áreas de trazado, limite la cantidad de puntos de datos por serie cuando sea posible y renderice a una salida de tamaño adecuado (resolución y dimensiones) para que coincida con la pantalla o las necesidades de impresión objetivo. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md index 21a6c7b2ea..d0469bd073 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md @@ -1,28 +1,39 @@ --- -title: Gráfico de Burbuja +title: Personalizar gráficos de burbujas en presentaciones con Python +linktitle: Gráfico de burbujas type: docs url: /es/python-net/bubble-chart/ -keywords: "Gráfico de burbuja, tamaño del gráfico, presentación de PowerPoint, Python, Aspose.Slides for Python via .NET" -description: "Tamaño del gráfico de burbuja en presentaciones de PowerPoint en Python" +keywords: +- gráfico de burbujas +- tamaño de burbuja +- escalado de tamaño +- representación de tamaño +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Cree y personalice poderosos gráficos de burbujas en PowerPoint y OpenDocument con Aspose.Slides para Python a través de .NET para mejorar fácilmente la visualización de sus datos." --- -## **Escalado del Tamaño del Gráfico de Burbuja** -Aspose.Slides for Python via .NET proporciona soporte para el escalado del tamaño del gráfico de burbuja. En Aspose.Slides for Python via .NET se han añadido las propiedades **ChartSeries.bubble_size_scale** y **ChartSeriesGroup.bubble_size_scale**. A continuación se presenta un ejemplo de código. - +## **Escalado de Tamaño de Gráfica de Burbujas** +Aspose.Slides for Python a través de .NET ofrece soporte para el escalado del tamaño de las gráficas de burbujas. En Aspose.Slides for Python a través de .NET se han añadido las propiedades **ChartSeries.bubble_size_scale** y **ChartSeriesGroup.bubble_size_scale**. A continuación se muestra un ejemplo. ```py import aspose.slides.charts as charts import aspose.slides as slides with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 100, 100, 400, 300) - chart.chart_data.series_groups[0].bubble_size_scale = 150 - pres.save("Result.pptx", slides.export.SaveFormat.PPTX) + chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 100, 100, 400, 300) + chart.chart_data.series_groups[0].bubble_size_scale = 150 + pres.save("Result.pptx", slides.export.SaveFormat.PPTX) ``` -## **Representar Datos como Tamaños de Gráfico de Burbuja** -Se ha añadido la propiedad **bubble_size_representation** a las clases ChartSeries y ChartSeriesGroup. **bubble_size_representation** especifica cómo se representan los valores de tamaño de burbuja en el gráfico de burbuja. Los valores posibles son: **BubbleSizeRepresentationType.AREA** y **BubbleSizeRepresentationType.WIDTH**. En consecuencia, se ha añadido el enumerado **BubbleSizeRepresentationType** para especificar las posibles formas de representar datos como tamaños de gráfico de burbuja. A continuación se proporciona un código de muestra. + + +## **Representar Datos como Tamaños de Gráfica de Burbujas** +Se ha añadido la propiedad **bubble_size_representation** a las clases ChartSeries y ChartSeriesGroup. **bubble_size_representation** especifica cómo se representan los valores de tamaño de burbuja en la gráfica de burbujas. Los valores posibles son: **BubbleSizeRepresentationType.AREA** y **BubbleSizeRepresentationType.WIDTH**. En consecuencia, se ha añadido el enumerado **BubbleSizeRepresentationType** para especificar las formas posibles de representar datos como tamaños de gráfica de burbujas. A continuación se muestra el código de ejemplo. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -31,4 +42,19 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True) chart.chart_data.series_groups[0].bubble_size_representation = charts.BubbleSizeRepresentationType.WIDTH pres.save("Presentation_BubbleSizeRepresentation.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas Frecuentes** + +**¿Se admite una "gráfica de burbujas con efecto 3-D" y en qué se diferencia de una normal?** + +Sí. Existe un tipo de gráfica separado, "Bubble with 3-D". Aplica estilo 3-D a las burbujas pero no añade un eje adicional; los datos siguen siendo X‑Y‑S (tamaño). El tipo está disponible en la enumeración [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/). + +**¿Existe un límite en la cantidad de series y puntos en una gráfica de burbujas?** + +No hay un límite estricto a nivel de API; las restricciones dependen del rendimiento y de la versión de PowerPoint de destino. Se recomienda mantener un número razonable de puntos para asegurar la legibilidad y la velocidad de renderizado. + +**¿Cómo afecta la exportación a la apariencia de una gráfica de burbujas (PDF, imágenes)?** + +La exportación a los formatos compatibles preserva la apariencia de la gráfica; el renderizado lo realiza el motor de Aspose.Slides. Para formatos raster/vector, se aplican las reglas generales de renderizado de gráficos de gráficas (resolución, antialiasing), por lo que se debe elegir un DPI suficiente para la impresión. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md index 042a00cea3..15f2e6e35c 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md @@ -1,11 +1,11 @@ --- -title: Personaliza puntos de datos en gráficos Treemap y Sunburst en Python -linktitle: Puntos de datos en gráficos Treemap y Sunburst +title: Personalizar puntos de datos en gráficos de Treemap y Sunburst en Python +linktitle: Puntos de datos en gráficos de Treemap y Sunburst type: docs url: /es/python-net/data-points-of-treemap-and-sunburst-chart/ keywords: -- gráfico de treemap -- gráfico de sunburst +- gráfico treemap +- gráfico sunburst - punto de datos - color de etiqueta - color de rama @@ -14,90 +14,104 @@ keywords: - presentación - Python - Aspose.Slides -description: "Aprende a gestionar los puntos de datos en gráficos treemap y sunburst con Aspose.Slides for Python via .NET, compatible con los formatos de PowerPoint y OpenDocument." +description: "Aprenda cómo administrar puntos de datos en gráficos de treemap y sunburst con Aspose.Slides for Python via .NET, compatible con los formatos PowerPoint y OpenDocument." --- -Entre otros tipos de gráficos de PowerPoint, hay dos tipos "jerárquicos": **Treemap** y **Sunburst** (gráfico también conocido como Gráfico Sunburst, Diagrama Sunburst, Gráfico Radial o Gráfico Circular de Múltiples Niveles). Estos gráficos muestran datos jerárquicos organizados como un árbol - desde las hojas hasta la parte superior de la rama. Las hojas están definidas por los puntos de datos de la serie, y cada nivel de agrupación anidada subsiguiente está definido por la categoría correspondiente. Aspose.Slides para Python a través de .NET permite formatear los puntos de datos de los gráficos Sunburst y Treemap en Python. +## **Introducción** -Aquí hay un gráfico Sunburst, donde los datos en la columna Series1 definen los nodos hoja, mientras que otras columnas definen los puntos de datos jerárquicos: - -![todo:image_alt_text](https://lh6.googleusercontent.com/TSSU5O7SLOi5NZD9JaubhgGU1QU5tYKc23RQX_cal3tlz5TpOvsgUFLV_rHvruwN06ft1XYgsLhbeEDXzVqdAybPIbpfGy-lwoQf_ydxDwcjAeZHWfw61c4koXezAAlEeCA7x6BZ) - -Comencemos añadiendo un nuevo gráfico Sunburst a la presentación: +Entre los demás tipos de gráficos de PowerPoint, hay dos jerárquicos—**Treemap** y **Sunburst** (también conocido como Sunburst Graph, Sunburst Diagram, Radial Chart, Radial Graph o Multi-Level Pie Chart). Estos gráficos muestran datos jerárquicos organizados como un árbol, desde las hojas hasta la parte superior de una rama. Las hojas se definen por los puntos de datos de la serie, y cada nivel de agrupación anidado subsiguiente se define por la categoría correspondiente. Aspose.Slides for Python via .NET le permite dar formato a los puntos de datos de los gráficos Sunburst y Treemap en Python. +Aquí hay un gráfico Sunburst donde los datos en la columna Series1 definen los nodos hoja, mientras que las demás columnas definen los puntos de datos jerárquicos: +![Ejemplo de gráfico Sunburst](sunburst_example.png) +Comencemos agregando un nuevo gráfico Sunburst a la presentación: ```py -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) ``` -{{% alert color="primary" title="Ver también" %}} -- [**Creando Gráfico Sunburst**](/slides/es/python-net/adding-charts/#addingcharts-creatingsunburstchart) -{{% /alert %}} +{{% alert color="primary" title="Ver también" %}} +- [**Crear gráficos Sunburst**](/slides/es/python-net/create-chart/#create-sunburst-charts) +{{% /alert %}} -Si hay necesidad de formatear los puntos de datos del gráfico, debemos usar lo siguiente: +Si necesita dar formato a los puntos de datos del gráfico, use las siguientes API: -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/),  -[IChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) clases  -y [**IChartDataPoint.DataPointLevels**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapoint/) propiedad  -proporcionan acceso para formatear los puntos de datos de los gráficos Treemap y Sunburst.  -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/) -se usa para acceder a categorías de múltiples niveles - representa el contenedor de  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) objetos. -Básicamente, es un envoltorio para  -[**IChartCategoryLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartCategoryLevelsManager/) con -las propiedades añadidas específicas para los puntos de datos.  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) clase tiene -dos propiedades: [**Format**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) y  -[**DataLabel** ](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/)que -proporcionan acceso a los ajustes correspondientes. -## **Mostrar Valor del Punto de Datos** -Mostrar el valor del punto de datos "Hoja 4": +[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/), [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/), y la propiedad [ChartDataPoint.data_point_levels](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapoint/data_point_levels/). Proporcionan acceso al formato de los puntos de datos en gráficos Treemap y Sunburst. [ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/) se usa para acceder a categorías de varios niveles; representa un contenedor de objetos [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/). Es esencialmente un contenedor alrededor de [ChartCategoryLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartcategorylevelsmanager/) con propiedades adicionales específicas para los puntos de datos. El tipo [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/) expone dos propiedades—[format](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/format/) y [label](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/label/)—que proporcionan acceso a la configuración correspondiente. +## **Mostrar valores de los puntos de datos** +Esta sección muestra cómo mostrar el valor para puntos de datos individuales en gráficos Treemap y Sunburst. Verá cómo habilitar etiquetas de valor para puntos seleccionados. +Mostrar el valor del punto de datos "Leaf 4": ```py - dataPoints = chart.chart_data.series[0].data_points - dataPoints[3].data_point_levels[0].label.data_label_format.show_value = True +data_points = chart.chart_data.series[0].data_points +data_points[3].data_point_levels[0].label.data_label_format.show_value = True ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/bKHMf5Bj37ZkMwUE1OfXjw7_CRmDhafhQOUuVWDmitwbtdkwD68ibWluY6Q1HQz_z2Q-BR_SBrBPZ_gID5bGH0PUqI5w37S22RT-ZZal6k7qIDstKntYi5QXS8z-SgpnsI78WGiu) -## **Establecer Etiqueta y Color del Punto de Datos** -Establecer la etiqueta de datos "Rama 1" para mostrar el nombre de la serie ("Series1") en lugar del nombre de la categoría. Luego, establecer el color del texto en amarillo: +![Valor del punto de datos](data_point_value.png) + +## **Establecer etiquetas y colores para los puntos de datos** +Esta sección muestra cómo establecer etiquetas y colores personalizados para puntos de datos individuales en gráficos Treemap y Sunburst. Aprenderá a acceder a un punto de datos específico, asignar una etiqueta y aplicar un relleno sólido para resaltar nodos importantes. +Establezca la etiqueta de datos "Branch 1" para que muestre el nombre de la serie ("Series1") en lugar del nombre de la categoría, y luego establezca el color del texto a amarillo: ```py - branch1Label = dataPoints[0].data_point_levels[2].label - branch1Label.data_label_format.show_category_name = False - branch1Label.data_label_format.show_series_name = True +branch1_label = data_points[0].data_point_levels[2].label +branch1_label.data_label_format.show_category_name = False +branch1_label.data_label_format.show_series_name = True - branch1Label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID - branch1Label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow +branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID +branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/I9g0kewJnxkhUVlfSWRN39Ng-wzjWyRwF3yTbOD9HhLTLBt_sMJiEfDe7vOfqRNx89o9AVZsYTW3Vv_TIuj4EgM4_UEEi7zQ3jdvaO8FoG2JcsOqNRgbiE5HQZNz8xx_q9qdj8JQ) -## **Establecer Color de Rama del Punto de Datos** -Cambiar el color de la rama "Tallo 4": +![Etiqueta y color del punto de datos](data_point_color.png) +## **Establecer colores de rama para los puntos de datos** + +Use colores de rama para controlar cómo se agrupan visualmente los nodos padre e hijo en gráficos Treemap y Sunburst. Esta sección muestra cómo establecer un color de rama personalizado para un punto de datos específico, de modo que pueda resaltar subárboles importantes y mejorar la legibilidad del gráfico. + +Cambiar el color de la rama "Stem 4": ```py -import aspose.slides.charts as charts import aspose.slides as slides +import aspose.slides.charts as charts import aspose.pydrawing as draw -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) - dataPoints = chart.chart_data.series[0].data_points +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) + data_points = chart.chart_data.series[0].data_points - stem4branch = dataPoints[9].data_point_levels[1] + stem4_branch = data_points[9].data_point_levels[1] - stem4branch.format.fill.fill_type = slides.FillType.SOLID - stem4branch.format.fill.solid_fill_color.color = draw.Color.red + stem4_branch.format.fill.fill_type = slides.FillType.SOLID + stem4_branch.format.fill.solid_fill_color.color = draw.Color.red - pres.save("pres.pptx", slides.export.SaveFormat.PPTX) + presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX) ``` -![todo:image_alt_text](https://lh5.googleusercontent.com/Zll4cpQ5tTDdgwmJ4yuupolfGaANR8SWWTU3XaJav_ZVXVstV1pI1z1OFH-gov6FxPoDz1cxmMyrgjsdYGS24PlhaYa2daKzlNuL1a0xYcqEiyyO23AE6JMOLavWpvqA6SzOCA6_) + +![Color de rama](branch_color.png) + +## **Preguntas frecuentes** + +**¿Puedo cambiar el orden (clasificación) de los segmentos en Sunburst/Treemap?** + +No. PowerPoint clasifica los segmentos automáticamente (normalmente por valores descendentes, en sentido horario). Aspose.Slides refleja este comportamiento: no puede cambiar el orden directamente; lo logra preprocesando los datos. + +**¿Cómo afecta el tema de la presentación a los colores de los segmentos y etiquetas?** + +Los colores del gráfico heredan el [tema/paleta](/slides/es/python-net/presentation-theme/) de la presentación a menos que establezca explícitamente rellenos/fuentes. Para obtener resultados consistentes, fije rellenos sólidos y formato de texto en los niveles requeridos. + +**¿La exportación a PDF/PNG conservará los colores de rama personalizados y la configuración de etiquetas?** + +Sí. Al exportar la presentación, la configuración del gráfico (rellenos, etiquetas) se conserva en los formatos de salida porque Aspose.Slides renderiza con el formato del gráfico aplicado. + +**¿Puedo calcular las coordenadas reales de una etiqueta/elemento para colocar una superposición personalizada sobre el gráfico?** + +Sí. Después de validar el diseño del gráfico, `actual_x`/`actual_y` están disponibles para los elementos (por ejemplo, un [DataLabel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/datalabel/)), lo que ayuda con la posición precisa de superposiciones. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md index 319d349a0a..f0a485d23e 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md @@ -1,22 +1,30 @@ --- -title: Gráfico de Dona +title: Personalizar gráficos de rosquilla en presentaciones con Python +linktitle: Gráfico de rosquilla type: docs weight: 30 url: /es/python-net/doughnut-chart/ -keywords: "Gráfico de dona, agujero central, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Especificar el agujero central en un gráfico de dona en una presentación de PowerPoint en Python" +keywords: +- gráfico de rosquilla +- espacio central +- tamaño del agujero +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Descubra cómo crear y personalizar gráficos de rosquilla en Aspose.Slides para Python mediante .NET, compatible con los formatos PowerPoint y OpenDocument para presentaciones dinámicas." --- -## **Especificar el Agujero Central en un Gráfico de Dona** -Para especificar el tamaño del agujero en un gráfico de dona, siga los pasos a continuación: +## **Especificar el espacio central en un gráfico de rosquilla** +Para especificar el tamaño del agujero en un gráfico de rosquilla. Siga los pasos a continuación: - Instanciar la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Agregar un gráfico de dona en la diapositiva. -- Especificar el tamaño del agujero en un gráfico de dona. -- Guardar la presentación en el disco. - -En el ejemplo dado a continuación, hemos establecido el tamaño del agujero en un gráfico de dona. +- Añadir un gráfico de rosquilla a la diapositiva. +- Especificar el tamaño del agujero en un gráfico de rosquilla. +- Guardar la presentación en disco. +En el ejemplo que se muestra a continuación, hemos establecido el tamaño del agujero en un gráfico de rosquilla. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -27,6 +35,21 @@ with slides.Presentation() as presentation: chart = presentation.slides[0].shapes.add_chart(charts.ChartType.DOUGHNUT, 50, 50, 400, 400) chart.chart_data.series_groups[0].doughnut_hole_size = 90 - # Guardar la presentación en el disco + # Guardar la presentación en disco presentation.save("DoughnutHoleSize_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Puedo crear una rosquilla multinivel con varios anillos?** + +Sí. Añada varias series a un solo gráfico de rosquilla—cada serie se convierte en un anillo separado. El orden de los anillos está determinado por el orden de las series en la colección. + +**¿Se admite una rosquilla "explotada" (rebanadas separadas)?** + +Sí. Existe un tipo de gráfico Rosquilla [explotada](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) y una propiedad de explosión en los puntos de datos; puede separar rebanadas individuales. + +**¿Cómo puedo obtener una imagen de un gráfico de rosquilla (PNG/SVG) para un informe?** + +Un gráfico es una forma; puede renderizarlo a una [imagen rasterizada](https://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) o exportar el gráfico a una [imagen SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/). \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md index 596d75d47b..c846a6e0d3 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md @@ -1,21 +1,33 @@ --- -title: Gráfico de Pastel +title: Personalizar gráficos de pastel en presentaciones con Python +linktitle: Gráfico de pastel type: docs url: /es/python-net/pie-chart/ -keywords: "Gráfico de pastel, opciones de gráfico, colores de rebanadas, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Opciones de gráfico de pastel y colores de rebanadas en la presentación de PowerPoint en Python" +keywords: +- gráfico de pastel +- gestionar gráfico +- personalizar gráfico +- opciones de gráfico +- configuración de gráfico +- opciones de trazado +- color de porción +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Aprenda cómo crear y personalizar gráficos de pastel en Python con Aspose.Slides, exportables a PowerPoint y OpenDocument, impulsando su narrativa de datos en segundos." --- -## **Segundas Opciones de Gráfico para Gráfico de Pastel de Pastel y Gráfico de Pastel de Barra** -Aspose.Slides para Python a través de .NET ahora admite segundas opciones de gráfico para el gráfico de Pastel de Pastel o Gráfico de Pastel de Barra. En este tema, veremos con un ejemplo cómo especificar estas opciones utilizando Aspose.Slides. Para especificar las propiedades, siga los pasos a continuación: +## **Opciones de Segunda Serie para Gráficos de Pie de Pie y Barra de Pie** +Aspose.Slides para Python a través de .NET ahora admite las opciones de segunda serie para los gráficos Pie de Pie o Barra de Pie. En este tema, veremos con un ejemplo cómo especificar estas opciones usando Aspose.Slides. Para especificar las propiedades, siga los pasos a continuación: -1. Instancie el objeto de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Agregue un gráfico en la diapositiva. -1. Especifique las segundas opciones de gráfico. -1. Escriba la presentación en el disco. - -En el ejemplo dado a continuación, hemos establecido diferentes propiedades del gráfico de Pastel de Pastel. +1. Instanciar el objeto de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Agregar un gráfico en la diapositiva. +1. Especificar las opciones de segunda serie del gráfico. +1. Guardar la presentación en disco. +En el ejemplo que se muestra a continuación, hemos configurado diferentes propiedades del gráfico Pie de Pie. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -31,71 +43,85 @@ with slides.Presentation() as presentation: chart.chart_data.series[0].parent_series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE chart.chart_data.series[0].parent_series_group.pie_split_position = 53 - # Escribir la presentación en el disco - presentation.save("SegundasOpcionesDeGráfico.pptx", slides.export.SaveFormat.PPTX) + # Guardar la presentación en disco + presentation.save("SecondPlotOptionsforCharts_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Establecer Colores de Rebanadas de Gráfico de Pastel Automáticos** -Aspose.Slides para Python a través de .NET proporciona una API simple para establecer colores de rebanadas de gráfico de pastel automáticos. El código de muestra aplica el establecimiento de las propiedades mencionadas anteriormente. + + + + +## **Establecer Colores Automáticos de Rebanadas del Gráfico de Pie** +Aspose.Slides para Python a través de .NET proporciona una API simple para establecer colores automáticos de las rebanadas del gráfico de pie. El código de ejemplo aplica la configuración de las propiedades mencionadas. 1. Crear una instancia de la clase Presentation. 1. Acceder a la primera diapositiva. -1. Agregar gráfico con datos predeterminados. -1. Establecer el Título del gráfico. -1. Establecer la primera serie para Mostrar Valores. +1. Agregar un gráfico con datos predeterminados. +1. Establecer el título del gráfico. +1. Configurar la primera serie para Mostrar Valores. 1. Establecer el índice de la hoja de datos del gráfico. -1. Obtener la hoja de trabajo de datos del gráfico. -1. Eliminar series y categorías generadas por defecto. +1. Obtener la hoja de cálculo de datos del gráfico. +1. Eliminar las series y categorías generadas por defecto. 1. Agregar nuevas categorías. -1. Agregar nuevas series. - -Escriba la presentación modificada en un archivo PPTX. +1. Agregar una nueva serie. +Guardar la presentación modificada en un archivo PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Instanciar la clase Presentation que representa el archivo PPTX + # Instanciar la clase Presentation que representa un archivo PPTX with slides.Presentation() as presentation: - # Acceder a la primera diapositiva - slide = presentation.slides[0] + # Acceder a la primera diapositiva + slide = presentation.slides[0] - # Agregar gráfico con datos predeterminados - chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) + # Añadir gráfico con datos predeterminados + chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) - # Estableciendo el Título del gráfico - chart.chart_title.add_text_frame_for_overriding("Título de Ejemplo") + # Configurar el título del gráfico + (chart.chart_title.add_text_frame_for_overriding("Sample Title")) chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1 chart.chart_title.height = 20 chart.has_title = True - # Establecer la primera serie para Mostrar Valores - chart.chart_data.series[0].labels.default_data_label_format.show_value = True + # Establecer la primera serie para Mostrar Valores + chart.chart_data.series[0].labels.default_data_label_format.show_value = True + + # Configurar el índice de la hoja de datos del gráfico + defaultWorksheetIndex = 0 - # Estableciendo el índice de la hoja de datos del gráfico - defaultWorksheetIndex = 0 + # Obtener la hoja de cálculo de datos del gráfico + fact = chart.chart_data.chart_data_workbook + + # Eliminar series y categorías generadas por defecto + chart.chart_data.series.clear() + chart.chart_data.categories.clear() + + # Añadir nuevas categorías + chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr")) + + # Añadir nuevas series + series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type) + + # Ahora poblar los datos de la serie + series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) + series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) + series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) + + series.parent_series_group.is_color_varied = True + presentation.save("Pie.pptx", slides.export.SaveFormat.PPTX) +``` - # Obteniendo la hoja de trabajo de datos del gráfico - fact = chart.chart_data.chart_data_workbook - # Eliminar series y categorías generadas por defecto - chart.chart_data.series.clear() - chart.chart_data.categories.clear() +## **FAQ** - # Agregar nuevas categorías - chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "Primer Trimestre")) - chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "Segundo Trimestre")) - chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "Tercer Trimestre")) +**¿Se admiten las variantes 'Pie of Pie' y 'Bar of Pie'?** - # Agregar nuevas series - series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Serie 1"), chart.type) +Sí, la biblioteca [admite](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) una segunda serie para gráficos de pastel, incluidas los tipos 'Pie of Pie' y 'Bar of Pie'. - # Ahora poblando los datos de la serie - series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) - series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) - series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) +**¿Puedo exportar solo el gráfico como una imagen (por ejemplo, PNG)?** - series.parent_series_group.is_color_varied = True - presentation.save("Pastel.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Sí, puede [exportar el propio gráfico como una imagen](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) (por ejemplo PNG) sin toda la presentación. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md index 970bf499e1..4f8a854709 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md @@ -1,14 +1,14 @@ --- -title: Aplicar fórmulas de la hoja de cálculo del gráfico en presentaciones con Python -linktitle: Fórmulas de la hoja de cálculo +title: Aplicar fórmulas de hoja de cálculo de gráfico en presentaciones con Python +linktitle: Fórmulas de hoja de cálculo type: docs weight: 70 url: /es/python-net/chart-worksheet-formulas/ keywords: -- hoja de cálculo de gráficos -- hoja de trabajo del gráfico +- hoja de cálculo de gráfico +- hoja de trabajo de gráfico - fórmula de gráfico -- fórmula de hoja de trabajo +- fórmula de hoja de cálculo - fórmula de hoja de cálculo - fuente de datos - constante lógica @@ -25,29 +25,23 @@ keywords: - presentación - Python - Aspose.Slides -description: "Aplicar fórmulas de estilo Excel en las hojas de cálculo de gráficos de Aspose.Slides for Python via .NET y automatizar informes en archivos PPT, PPTX y ODP." +description: "Aplicar fórmulas al estilo Excel en Aspose.Slides para Python mediante hojas de cálculo de gráfico .NET y automatizar informes en archivos PPT, PPTX y ODP." --- +## **Acerca de la fórmula de hoja de cálculo de gráfico en la presentación** +**Chart spreadsheet** (o hoja de cálculo de gráfico) en una presentación es la fuente de datos del gráfico. La hoja de cálculo del gráfico contiene datos, que se representan en el gráfico de forma gráfica. Cuando crea un gráfico en PowerPoint, la hoja de cálculo asociada a ese gráfico se crea automáticamente. La hoja de cálculo del gráfico se crea para todos los tipos de gráficos: gráfico de líneas, gráfico de barras, gráfico de explosión, gráfico circular, etc. Para ver la hoja de cálculo del gráfico en PowerPoint debe hacer doble clic en el gráfico: -## **Acerca de la Fórmula de Hoja de Cálculo de Gráficos en Presentaciones** -**Hoja de cálculo de gráficos** (o hoja de trabajo de gráficos) en la presentación es la fuente de datos del gráfico. La hoja de cálculo de gráficos contiene datos, que se representan en el gráfico de manera gráfica. Cuando creas un gráfico en PowerPoint, la hoja de trabajo asociada con este gráfico también se crea automáticamente. La hoja de cálculo de gráficos se crea para todos los tipos de gráficos: gráfico de líneas, gráfico de barras, gráfico de sol, gráfico circular, etc. Para ver la hoja de cálculo de gráficos en PowerPoint debes hacer doble clic en el gráfico: - -![todo:texto_alt_imagen](chart-worksheet-formulas_1.png) +![todo:image_alt_text](chart-worksheet-formulas_1.png) -La hoja de cálculo de gráficos contiene los nombres de los elementos del gráfico (Nombre de Categoría: *Categoría1*, Nombre de Serie) y una tabla con datos numéricos apropiados a estas categorías y series. Por defecto, cuando creas un nuevo gráfico, los datos de la hoja de cálculo del gráfico se establecen con los datos predeterminados. Luego puedes cambiar manualmente los datos de la hoja de cálculo en la hoja de trabajo. +La hoja de cálculo del gráfico contiene los nombres de los elementos del gráfico (Nombre de categoría: *Category1*, Nombre de serie) y una tabla con datos numéricos correspondientes a esas categorías y series. Por defecto, cuando crea un gráfico nuevo, los datos de la hoja de cálculo del gráfico se establecen con los datos predeterminados. Luego puede cambiar los datos de la hoja manualmente. -Generalmente, el gráfico representa datos complicados (por ejemplo, analistas financieros, analistas científicos), teniendo celdas que se calculan a partir de los valores en otras celdas o de otros datos dinámicos. Calcular el valor de una celda manualmente y codificarlo de forma rígida en la celda, dificulta cambiarlo en el futuro. Si cambias el valor de una celda determinada, todas las celdas que dependen de ella también deberán actualizarse. Además, los datos de la tabla pueden depender de los datos de otras tablas, creando un esquema de datos de presentación compleja que necesita actualizarse de manera fácil y flexible. +Normalmente, el gráfico representa datos complejos (p. ej., analistas financieros, analistas científicos), con celdas que se calculan a partir de los valores de otras celdas o de otros datos dinámicos. Calcular el valor de una celda manualmente y codificarlo directamente en la celda dificulta su modificación futura. Si cambia el valor de una celda determinada, todas las celdas dependientes de ella también deberán actualizarse. Además, los datos de la tabla pueden depender de datos de otras tablas, creando un esquema de datos de presentación complejo que necesita ser actualizado de forma fácil y flexible. -**Fórmula de hoja de cálculo de gráficos** en la presentación es una expresión para calcular y actualizar automáticamente los datos de la hoja de cálculo de gráficos. La fórmula de la hoja de cálculo define la lógica de cálculo de datos para una celda determinada o un conjunto de celdas. La fórmula de la hoja de cálculo es una fórmula matemática o una fórmula lógica, que utiliza: referencias de celdas, funciones matemáticas, operadores lógicos, operadores aritméticos, funciones de conversión, constantes de cadena, etc. La definición de la fórmula se escribe en una celda, y esta celda no contiene un valor simple. La fórmula de la hoja de cálculo calcula el valor y lo devuelve, luego este valor se asigna a la celda. Las fórmulas de hoja de cálculo de gráficos en presentaciones son en realidad las mismas que fórmulas de Excel, y se admiten las mismas funciones, operadores y constantes predeterminadas para su implementación. +**Chart spreadsheet formula** en la presentación es una expresión para calcular y actualizar automáticamente los datos de la hoja de cálculo del gráfico. La fórmula de hoja de cálculo define la lógica de cálculo de datos para una celda o conjunto de celdas. La fórmula de hoja de cálculo es una fórmula matemática o lógica, que usa: referencias a celdas, funciones matemáticas, operadores lógicos, operadores aritméticos, funciones de conversión, constantes de cadena, etc. La definición de la fórmula se escribe en una celda, y esa celda no contiene un valor simple. La fórmula de hoja de cálculo calcula el valor y lo devuelve, y luego ese valor se asigna a la celda. Las fórmulas de hoja de cálculo de gráficos en presentaciones son en realidad las mismas que las fórmulas de Excel, y se admiten las mismas funciones, operadores y constantes predeterminados para su implementación. -En [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) la hoja de cálculo de gráficos se representa con la propiedad -[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) del tipo -[**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/). -La fórmula de la hoja de cálculo puede ser asignada y cambiada con la propiedad -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/). -La siguiente funcionalidad es compatible para fórmulas en Aspose.Slides: +En [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) la hoja de cálculo del gráfico se representa con la propiedad [**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) del tipo [**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/). La fórmula de hoja de cálculo puede asignarse y modificarse con la propiedad [**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/). La siguiente funcionalidad está soportada para fórmulas en Aspose.Slides: - Constantes lógicas - Constantes numéricas @@ -55,21 +49,15 @@ La siguiente funcionalidad es compatible para fórmulas en Aspose.Slides: - Constantes de error - Operadores aritméticos - Operadores de comparación -- Referencias de celdas estilo A1 -- Referencias de celdas estilo R1C1 +- Referencias a celdas estilo A1 +- Referencias a celdas estilo R1C1 - Funciones predefinidas -Normalmente, las hojas de cálculo almacenan los últimos valores calculados de la fórmula. Si después de cargar la presentación, los datos del gráfico no han cambiado - la propiedad **IChartDataCell.Value** devuelve esos valores al leer. Pero, si los datos de la hoja de cálculo han cambiado, al leer la propiedad **ChartDataCell.Value** lanza la **CellUnsupportedDataException** para las fórmulas no soportadas. Esto se debe a que cuando las fórmulas han sido analizadas con éxito, se determinan las dependencias de las celdas y se verifica la corrección de los últimos valores. Pero, si la fórmula no puede ser analizada, no se puede garantizar la corrección del valor de la celda. -## **Agregar Fórmula de Hoja de Cálculo de Gráficos a la Presentación** -Primero, agrega un gráfico con algunos datos de muestra a la primera diapositiva de una nueva presentación con -[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). -La hoja de trabajo del gráfico se crea automáticamente y se puede acceder con la propiedad -[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) : - - - +Normalmente, las hojas de cálculo almacenan los últimos valores calculados de las fórmulas. Si después de cargar la presentación los datos del gráfico no se cambiaron, la propiedad **IChartDataCell.Value** devuelve esos valores al leer. Pero, si los datos de la hoja se modificaron, al leer la propiedad **ChartDataCell.Value** se lanza la excepción **CellUnsupportedDataException** por las fórmulas no admitidas. Esto ocurre porque, cuando las fórmulas se analizan correctamente, se determinan las dependencias de celdas y la corrección de los últimos valores. Sin embargo, si la fórmula no puede analarse, no se puede garantizar la corrección del valor de la celda. +## **Agregar fórmula de hoja de cálculo de gráfico a la presentación** +Primero, agregue un gráfico con algunos datos de ejemplo a la primera diapositiva de una nueva presentación con [add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). La hoja de cálculo del gráfico se crea automáticamente y puede accederse con la propiedad [**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/): ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -82,12 +70,8 @@ with slides.Presentation() as presentation: -Vamos a escribir algunos valores en celdas con la propiedad -[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) -de tipo **Object**, lo que significa que puedes establecer cualquier valor en la propiedad: - - +Escribamos algunos valores en celdas con la propiedad [**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) del tipo **Object**, lo que significa que puede establecer cualquier valor en la propiedad: ```py workbook.get_cell(0, "F2").value = -2.5 workbook.get_cell(0, "G3").value = 6.3 @@ -96,27 +80,24 @@ de tipo **Object**, lo que significa que puedes establecer cualquier valor en la -Ahora, para escribir una fórmula en la celda, puedes usar la propiedad -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): +Ahora, para escribir una fórmula en la celda, puede usar la propiedad [**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): ```py workbook.get_cell(0, "B2").formula = "F2+G3+H4+1" ``` -*Nota*: la propiedad [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) se utiliza para establecer referencias de celda estilo A1.  +*Nota*: La propiedad [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) se usa para establecer referencias a celdas estilo A1. -Para establecer la referencia de celda [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/), puedes usar la propiedad [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): +Para establecer la referencia de celda [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/), puede usar la propiedad [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): ```py workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]" ``` -Luego, utiliza el método [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) para calcular todas las fórmulas dentro de la hoja de cálculo y actualizar los valores de las celdas correspondientes: - - +Luego use el método [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) para calcular todas las fórmulas dentro del libro y actualizar los valores de las celdas correspondientes: ```py workbook.calculate_formulas() print(workbook.get_cell(0, "B2").value) # 7.8 @@ -124,111 +105,99 @@ Luego, utiliza el método [**calculate_formulas**](https://reference.aspose.com/ ``` -## **Constantes Lógicas** -Puedes usar constantes lógicas como *FALSE* y *TRUE* en fórmulas de celdas: + +## **Constantes lógicas** +Puede usar constantes lógicas como *FALSE* y *TRUE* en las fórmulas de celda: -## **Constantes Numéricas** -Los números pueden ser utilizados en notaciones comunes o científicas para crear fórmula de hoja de cálculo de gráficos: +## **Constantes numéricas** +Los números pueden usarse en notación común o científica para crear fórmulas de hoja de cálculo de gráfico: -## **Constantes de Cadena** -La constante de cadena (o literal) es un valor específico que se utiliza tal cual y no cambia. Las constantes de cadena pueden ser: fechas, textos, números, etc.: +## **Constantes de cadena** +Una constante de cadena (o literal) es un valor específico que se usa tal cual y no cambia. Las constantes de cadena pueden ser: fechas, textos, números, etc.: -## **Constantes de Error** +## **Constantes de error** A veces no es posible calcular el resultado mediante la fórmula. En ese caso, el código de error se muestra en la celda en lugar de su valor. Cada tipo de error tiene un código específico: - #DIV/0! - la fórmula intenta dividir por cero. -- #GETTING_DATA - puede mostrarse en una celda, mientras su valor todavía se está calculando. -- #N/A - la información está faltante o no disponible. Algunas razones pueden ser: las celdas utilizadas en la fórmula están vacías, un carácter de espacio adicional, error de escritura, etc. -- #NAME? - una celda determinada u otros objetos de fórmula no pueden ser encontrados por su nombre. -- #NULL! - puede aparecer cuando hay un error en la fórmula, como: (,) o un carácter de espacio utilizado en lugar de dos puntos (:). -- #NUM! - el numérico en la fórmula puede ser inválido, demasiado largo o demasiado pequeño, etc. -- #REF! - referencia de celda inválida. -- #VALUE! - tipo de valor inesperado. Por ejemplo, valor de cadena establecido en celda numérica. +- #GETTING_DATA - puede mostrarse en una celda mientras su valor todavía se está calculando. +- #N/A - falta información o no está disponible. Algunas razones pueden ser: las celdas usadas en la fórmula están vacías, un carácter de espacio extra, error ortográfico, etc. +- #NAME? - no se puede encontrar una cierta celda u otro objeto de fórmula por su nombre. +- #NULL! - puede aparecer cuando hay un error en la fórmula, como: (,) o un carácter de espacio usado en lugar de dos puntos (:). +- #NUM! - el número en la fórmula puede ser inválido, demasiado largo o demasiado pequeño, etc. +- #REF! - referencia a celda inválida. +- #VALUE! - tipo de valor inesperado. Por ejemplo, valor de cadena asignado a una celda numérica. -## **Operadores Aritméticos** -Puedes usar todos los operadores aritméticos en fórmulas de hoja de cálculo de gráficos: +## **Operadores aritméticos** +Puede usar todos los operadores aritméticos en las fórmulas de la hoja de cálculo del gráfico: - - -|**Operador** |**Significado** |**Ejemplo**| +|**Operador**|**Significado**|**Ejemplo**| | :- | :- | :- | -|+ (signo más) |Suma o más unario|2 + 3| -|- (signo menos) |Resta o negación |2 - 3
    -3| -|* (asterisco)|Multiplicación |2 * 3| -|/ (barra inclinada)|División |2 / 3| -|% (signo de porcentaje) |Porcentaje |30%| -|^ (caret) |Exponentiación |2 ^ 3| - +|+ (signo más)|Suma o signo positivo unario|2 + 3| +|- (signo menos)|Resta o negación|2 - 3
    -3| +|* (asterisco)|Multiplicación|2 * 3| +|/ (barra inclinada)|División|2 / 3| +|% (signo de porcentaje)|Porcentaje|30%| +|^ (acento circunflejo)|Exponenciación|2 ^ 3| -*Nota*: Para cambiar el orden de evaluación, encierra entre paréntesis la parte de la fórmula que debe ser calculada primero. +*Nota*: Para cambiar el orden de evaluación, encierre entre paréntesis la parte de la fórmula que debe calcularse primero. -## **Operadores de Comparación** -Puedes comparar los valores de las celdas con los operadores de comparación. Cuando se comparan dos valores utilizando estos operadores, el resultado es un valor lógico ya sea *TRUE* o *FALSE*: +## **Operadores de comparación** +Puede comparar los valores de las celdas con los operadores de comparación. Cuando se comparan dos valores con estos operadores, el resultado es un valor lógico *TRUE* o FALSE: - - -|**Operador** |**Significado** |**Significado** | +|**Operador**|**Significado**|**Ejemplo**| | :- | :- | :- | -|= (signo igual) |Igual a |A2 = 3| -|<> (signo de no igual) |No igual a|A2 <> 3| -|> (signo de mayor que) |Mayor que|A2 > 3| -|>= (signo de mayor o igual que)|Mayor o igual que|A2 >= 3| -|< (signo de menor que)|Menor que|A2 < 3| -|<= (signo de menor o igual que)|Menor o igual que|A2 <= 3| - -## **Referencias de Celdas Estilo A1** -**Referencias de celdas estilo A1** se utilizan para las hojas de cálculo, donde la columna tiene un identificador de letra (por ejemplo, "*A*") y la fila tiene un identificador numérico (por ejemplo, "*1*"). Las referencias de celdas estilo A1 se pueden usar de la siguiente manera: - - - -|**Referencia de celda**|**Ejemplo**||| -| :- | :- | :- | :- | -||Absoluta |Relativa |Mixta| -|Celda |$A$2 |A2|

    A$2

    $A2

    | -|Fila |$2:$2 |2:2 |-| -|Columna |$A:$A |A:A |-| -|Rango |$A$2:$C$4 |A2:C4|

    $A$2:C4

    A$2:$C4

    | - +|= (signo igual)|Igual a|A2 = 3| +|<> (signo distinto)|Distinto de|A2 <> 3| +|> (signo mayor que)|Mayor que|A2 > 3| +|>= (signo mayor o igual que)|Mayor o igual que|A2 >= 3| +|< (signo menor que)|Menor que|A2 < 3| +|<= (signo menor o igual que)|Menor o igual que|A2 <= 3| -Aquí hay un ejemplo de cómo usar la referencia de celda estilo A1 en la fórmula: +## **Referencias a celdas estilo A1** +**Las referencias a celdas estilo A1** se usan para las hojas donde la columna tiene un identificador de letra (p. ej., "*A*") y la fila tiene un identificador numérico (p. ej., "*1*"). Las referencias estilo A1 pueden usarse de la siguiente manera: +|**Referencia**|**Ejemplo**|**Absoluta**|**Relativa**|**Mixta**| +| :- | :- | :- | :- | :- | +|Celda|$A$2|A2|

    A$2

    $A2

    | +|Fila|$2:$2|2:2|-| +|Columna|$A:$A|A:A|-| +|Rango|$A$2:$C$4|A2:C4|

    $A$2:C4

    A$2:$C4

    | +A continuación se muestra un ejemplo de cómo usar una referencia a celda estilo A1 en una fórmula: -## **Referencias de Celdas Estilo R1C1** -**Referencias de celdas estilo R1C1** se utilizan para las hojas de cálculo, donde tanto una fila como una columna tienen el identificador numérico. Las referencias de celdas estilo R1C1 se pueden usar de la siguiente manera: +## **Referencias a celdas estilo R1C1** +**Las referencias a celdas estilo R1C1** se usan para las hojas donde tanto la fila como la columna tienen identificador numérico. Las referencias estilo R1C1 pueden usarse de la siguiente manera: -|**Referencia de celda**|**Ejemplo**||| -| :- | :- | :- | :- | -||Absoluta |Relativa |Mixta| -|Celda |R2C3|R[2]C[3]|R2C[3]
    R[2]C3| -|Fila |R2|R[2]|-| -|Columna |C3|C[3]|-| -|Rango |R2C3:R5C7|R[2]C[3]:R[5]C[7] |R2C3:R[5]C[7]
    R[2]C3:R5C[7]| +|**Referencia**|**Ejemplo**|**Absoluta**|**Relativa**|**Mixta**| +| :- | :- | :- | :- | :- | +|Celda|R2C3|R[2]C[3]|R2C[3]
    R[2]C3| +|Fila|R2|R[2]|-| +|Columna|C3|C[3]|-| +|Rango|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]
    R[2]C3:R5C[7]| +A continuación se muestra un ejemplo de cómo usar una referencia a celda estilo A1 en una fórmula: -Aquí hay un ejemplo de cómo usar la referencia de celda estilo A1 en la fórmula: - -## **Funciones Predefinidas** -Hay funciones predefinidas que se pueden usar en las fórmulas para simplificar su implementación. Estas funciones encapsulan las operaciones más comúnmente utilizadas, como:  +## **Funciones predefinidas** +Existen funciones predefinidas que pueden usarse en las fórmulas para simplificar su implementación. Estas funciones encapsulan las operaciones más usadas, como: - ABS - AVERAGE @@ -236,14 +205,24 @@ Hay funciones predefinidas que se pueden usar en las fórmulas para simplificar - CHOOSE - CONCAT - CONCATENATE -- DATE (sistema de fecha 1900) +- DATE (sistema de fechas 1900) - DAYS - FIND - FINDB - IF - INDEX (forma de referencia) -- LOOKUP (forma de vector) -- MATCH (forma de vector) +- LOOKUP (forma vectorial) +- MATCH (forma vectorial) - MAX - SUM -- VLOOKUP \ No newline at end of file +- VLOOKUP + +## **Preguntas frecuentes** + +**¿Se admiten archivos Excel externos como fuente de datos para un gráfico con fórmulas?** + +Sí. Aspose.Slides admite libros externos como [fuente de datos de un gráfico](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatasourcetype/), lo que permite usar fórmulas de un XLSX fuera de la presentación. + +**¿Pueden las fórmulas de un gráfico referenciar hojas dentro del mismo libro por nombre de hoja?** + +Sí. Las fórmulas siguen el modelo estándar de referencias de Excel, por lo que puede referenciar otras hojas dentro del mismo libro o un libro externo. Para referencias externas, incluya la ruta y el nombre del libro usando la sintaxis de Excel. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md index 40c4d170d7..165846ae4f 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md @@ -1,5 +1,5 @@ --- -title: Exportar gráficos de presentaciones con Python +title: Exportar gráficos de presentación con Python linktitle: Exportar gráfico type: docs weight: 90 @@ -14,12 +14,11 @@ keywords: - presentación - Python - Aspose.Slides -description: "Aprenda a exportar gráficos de presentaciones con Aspose.Slides for Python via .NET, compatible con los formatos PPT, PPTX y ODP, y agilice la generación de informes en cualquier flujo de trabajo." +description: "Aprenda cómo exportar gráficos de presentación con Aspose.Slides para Python a través de .NET, compatible con los formatos PPT, PPTX y ODP, y agilice la generación de informes en cualquier flujo de trabajo." --- -## **Obtener Imagen del Gráfico** -Aspose.Slides para Python a través de .NET proporciona soporte para extraer la imagen de un gráfico específico. A continuación se presenta un ejemplo de muestra. - +## **Obtener imagen del gráfico** +Aspose.Slides for Python via .NET proporciona soporte para extraer la imagen de un gráfico específico. A continuación se muestra un ejemplo de muestra. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -30,4 +29,27 @@ with slides.Presentation("test.pptx") as presentation: with chart.get_image() as image: image.save("image.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo exportar un gráfico como vector (SVG) en lugar de una imagen rasterizada?** + +Sí. Un gráfico es una forma, y su contenido puede guardarse en SVG mediante el [método de guardado shape-to-SVG](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/write_as_svg/). + +**¿Cómo puedo establecer el tamaño exacto del gráfico exportado en píxeles?** + +Utilice las sobrecargas de renderizado de imagen que le permiten especificar el tamaño o la escala; la biblioteca admite renderizar objetos con dimensiones/escala dadas. + +**¿Qué debo hacer si las fuentes en las etiquetas y la leyenda aparecen incorrectas después de la exportación?** + +[Cargar las fuentes requeridas](/slides/es/python-net/custom-font/) mediante [FontsLoader](https://reference.aspose.com/slides/python-net/aspose.slides/fontsloader/) para que el renderizado del gráfico conserve las métricas y la apariencia del texto. + +**¿La exportación respeta el tema, los estilos y los efectos de PowerPoint?** + +Sí. El renderizador de Aspose.Slides sigue el formato de la presentación (temas, estilos, rellenos, efectos), por lo que se conserva la apariencia del gráfico. + +**¿Dónde puedo encontrar capacidades de renderizado/exportación disponibles más allá de las imágenes de gráficos?** + +Consulte la sección de exportación de la [API](https://reference.aspose.com/slides/python-net/aspose.slides.export/)/[documentación](/slides/es/python-net/convert-powerpoint/) para los destinos de salida ([PDF](/slides/es/python-net/convert-powerpoint-to-pdf/), [SVG](/slides/es/python-net/render-a-slide-as-an-svg-image/), [XPS](/slides/es/python-net/convert-powerpoint-to-xps/), [HTML](/slides/es/python-net/convert-powerpoint-to-html/), etc.) y las opciones de renderizado relacionadas. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md index eb8e191f0e..41e184a224 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md @@ -1,33 +1,44 @@ --- -title: Exportando Ecuaciones Matemáticas +title: Exportar ecuaciones matemáticas de presentaciones en Python +linktitle: Exportar ecuaciones type: docs weight: 30 url: /es/python-net/exporting-math-equations/ -keywords: "Exportar ecuaciones matemáticas, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Exportar ecuaciones matemáticas de PowerPoint en Python" +keywords: +- exportar ecuaciones matemáticas +- MathML +- LaTeX +- PowerPoint +- presentación +- Python +- Aspose.Slides +description: "Desbloquee una exportación fluida de ecuaciones matemáticas de PowerPoint a MathML usando Aspose.Slides para Python a través de .NET, mantenga el formato y mejore la compatibilidad." --- -Aspose.Slides para Python a través de .NET te permite exportar ecuaciones matemáticas de presentaciones. Por ejemplo, puede que necesites extraer las ecuaciones matemáticas de las diapositivas (de una presentación específica) y utilizarlas en otro programa o plataforma. +## **Introducción** -{{% alert color="primary" %}} - -Puedes exportar ecuaciones a MathML, un formato o estándar popular para ecuaciones matemáticas y contenido similar visto en la web y en muchas aplicaciones. +Aspose.Slides for Python via .NET le permite exportar ecuaciones matemáticas desde presentaciones. Por ejemplo, puede necesitar extraer ecuaciones de diapositivas específicas y reutilizarlas en otro programa o plataforma. +{{% alert color="primary" %}} +Puede exportar ecuaciones a MathML, un estándar ampliamente utilizado para representar contenido matemático en la web y en muchas aplicaciones. {{% /alert %}} -Mientras que los humanos escriben fácilmente el código para algunos formatos de ecuaciones como LaTeX, les cuesta escribir el código para MathML porque este último está destinado a ser generado automáticamente por aplicaciones. Los programas leen y analizan MathML fácilmente porque su código está en XML, por lo que MathML se utiliza comúnmente como un formato de salida e impresión en muchos campos. +## **Guardar ecuaciones matemáticas como MathML** -Este código de ejemplo te muestra cómo exportar una ecuación matemática de una presentación a MathML: +Aunque los humanos pueden escribir LaTeX con facilidad, MathML normalmente se genera automáticamente por aplicaciones. Dado que MathML está basado en XML, los programas pueden leerlo y analizarlo de forma fiable, por lo que se usa con frecuencia como formato de salida e impresión en numerosos campos. +El siguiente código de ejemplo muestra cómo exportar una ecuación matemática desde una presentación a MathML: ```py import aspose.slides as slides import aspose.slides.mathtext as math -with slides.Presentation() as pres: - autoShape = pres.slides[0].shapes.add_math_shape(0, 0, 500, 50) - mathParagraph = autoShape.text_frame.paragraphs[0].portions[0].math_paragraph +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50) + math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph - mathParagraph.add( + math_paragraph.add( math.MathematicalText("a"). set_superscript("2"). join("+"). @@ -35,6 +46,29 @@ with slides.Presentation() as pres: join("="). join(math.MathematicalText("c").set_superscript("2"))) - with open("mathml.xml", "wb") as stream: - mathParagraph.write_as_math_ml(stream) -``` \ No newline at end of file + with open("mathml.xml", "wb") as file_stream: + math_paragraph.write_as_math_ml(file_stream) +``` + + +## **Preguntas frecuentes** + +**¿Qué se exporta exactamente a MathML, un párrafo o un bloque de fórmula individual?** + +Puede exportar tanto un párrafo matemático completo ([MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/)) como un bloque individual ([MathBlock](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathblock/)) a MathML. Ambos tipos proporcionan un método para escribir en MathML. + +**¿Cómo puedo saber que un objeto en una diapositiva es una fórmula matemática y no texto regular o una imagen?** + +Una fórmula reside en una [MathPortion](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathportion/) y tiene un [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/). Las imágenes y los fragmentos de texto normales sin un [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) no son fórmulas exportables. + +**¿De dónde proviene el MathML en una presentación, es específico de PowerPoint o es un estándar?** + +La exportación apunta a MathML estándar (XML). Aspose utiliza Presentation MathML, el subconjunto de presentación del estándar, que se usa ampliamente en aplicaciones y en la web. + +**¿Se admite la exportación de fórmulas dentro de tablas, SmartArt, grupos, etc.?** + +Sí, si esos objetos contienen fragmentos de texto con un [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) (es decir, fórmulas genuinas de PowerPoint), se exportan. Si una fórmula está incrustada como una imagen, no lo es. + +**¿La exportación a MathML modifica la presentación original?** + +No. Escribir MathML es una serialización del contenido de la fórmula; no modifica el archivo de la presentación. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md index 7b53fcaa3c..9ec553ae80 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md @@ -1,28 +1,39 @@ --- -title: ActiveX +title: Administrar controles ActiveX en presentaciones con Python +linktitle: ActiveX type: docs weight: 80 url: /es/python-net/activex/ -keywords: "ActiveX, controles ActiveX, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Gestionar controles ActiveX en una presentación de PowerPoint en Python" +keywords: +- ActiveX +- control ActiveX +- administrar ActiveX +- añadir ActiveX +- modificar ActiveX +- reproductor multimedia +- PowerPoint +- presentación +- Python +- Aspose.Slides +description: "Aprenda cómo Aspose.Slides for Python via .NET aprovecha ActiveX para automatizar y mejorar presentaciones de PowerPoint, ofreciendo a los desarrolladores un control potente sobre las diapositivas." --- -Los controles ActiveX se utilizan en presentaciones. Aspose.Slides para Python a través de .NET te permite gestionar controles ActiveX, pero gestionarlos es un poco más complicado y diferente de las formas normales de presentación. A partir de Aspose.Slides para Python a través de .NET 6.9.0, el componente admite la gestión de controles ActiveX. En este momento, puedes acceder a los controles ActiveX que ya se han añadido en tu presentación y modificarlos o eliminarlos usando sus diversas propiedades. Recuerda que los controles ActiveX no son formas y no forman parte de la IShapeCollection de la presentación, sino de la IControlCollection separada. Este artículo muestra cómo trabajar con ellos. -## **Modificar Controles ActiveX** -Para gestionar un control ActiveX simple como un cuadro de texto y un botón de comando simple en una diapositiva: +Los controles ActiveX se utilizan en presentaciones. Aspose.Slides for Python via .NET le permite administrar controles ActiveX, pero su gestión resulta un poco más complicada y diferente de las formas normales de la presentación. A partir de Aspose.Slides for Python via .NET 6.9.0, el componente admite la administración de controles ActiveX. En este momento, puede acceder a los controles ActiveX ya agregados en su presentación y modificarlos o eliminarlos mediante sus distintas propiedades. Recuerde que los controles ActiveX no son formas y no forman parte de la IShapeCollection de la presentación, sino de la IControlCollection independiente. Este artículo muestra cómo trabajar con ellos. -1. Crea una instancia de la clase Presentation y carga la presentación con controles ActiveX en ella. -1. Obtén una referencia a la diapositiva por su índice. -1. Accede a los controles ActiveX en la diapositiva accediendo a la IControlCollection. -1. Accede al control ActiveX TextBox1 usando el objeto ControlEx. -1. Cambia las diferentes propiedades del control ActiveX TextBox1, incluyendo texto, fuente, altura de fuente y posición del marco. -1. Accede al segundo control llamado CommandButton1. -1. Cambia el texto del botón, la fuente y la posición. -1. Cambia la posición de los marcos de los controles ActiveX. -1. Escribe la presentación modificada en un archivo PPTX. +## **Modificar controles ActiveX** +Para administrar un control ActiveX simple, como un cuadro de texto y un botón de comando sencillo en una diapositiva: -El siguiente fragmento de código actualiza los controles ActiveX en las diapositivas de la presentación como se muestra a continuación. +1. Cree una instancia de la clase Presentation y cargue la presentación que contiene controles ActiveX. +1. Obtenga una referencia a la diapositiva mediante su índice. +1. Acceda a los controles ActiveX en la diapositiva obteniendo la IControlCollection. +1. Acceda al control ActiveX TextBox1 mediante el objeto ControlEx. +1. Cambie las distintas propiedades del control ActiveX TextBox1, incluyendo el texto, la fuente, la altura de la fuente y la posición del marco. +1. Acceda al segundo control llamado CommandButton1. +1. Cambie el texto del botón, la fuente y la posición. +1. Desplace la posición de los marcos de los controles ActiveX. +1. Guarde la presentación modificada en un archivo PPTX. +El fragmento de código a continuación actualiza los controles ActiveX en las diapositivas de la presentación como se muestra a continuación. ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -37,18 +48,18 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control = slide.controls[0] if control.name == "TextBox1" and control.properties != None: - newText = "Texto cambiado" + newText = "Changed text" control.properties.remove("Value") control.properties.add("Value", newText) - # cambiando la imagen sustituta. PowerPoint reemplazará esta imagen durante la activación de ActiveX, así que a veces está bien dejar la imagen sin cambios. + # cambiando la imagen sustituta. PowerPoint reemplazará esta imagen durante la activación de ActiveX, por lo que a veces está bien dejar la imagen sin cambios. bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.WINDOW)) as brush: graphics.fill_rectangle(brush, 0, 0, bmp.width, bmp.height) - # fuente = draw.Font(control.properties["FontName"], 14) + # font = draw.Font(control.properties["FontName"], 14) font = draw.Font("Arial", 14) with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.WINDOW_TEXT)) as brush: graphics.draw_string(newText, font, brush, 10, 4) @@ -83,21 +94,21 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # cambiando el texto del Botón + # cambiando la leyenda del botón control = slide.controls[1] if control.name == "CommandButton1" and control.properties != None: - newCaption = "MensajeBox" + newCaption = "MessageBox" control.properties.remove("Caption") control.properties.add("Caption", newCaption) - # cambiando la imagen sustituta + # cambiando la sustituta bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.CONTROL)) as brush: graphics.fill_rectangle(brush, 0, 0, bmp.width, bmp.height) - # fuente = draw.Font(control.properties["FontName"], 14) + #font = draw.Font(control.properties["FontName"], 14) font = draw.Font("Arial", 14) with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.WINDOW_TEXT)) as brush: textSize = graphics.measure_string(newCaption, font, 65535) @@ -148,29 +159,28 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: frame.flip_v, frame.rotation) - # Guardar la presentación con los controles ActiveX editados + # Guardando la presentación con controles ActiveX editados presentation.save("withActiveX-edited_out.pptm", slides.export.SaveFormat.PPTM) - # Ahora eliminando los controles + # Ahora eliminando controles slide.controls.clear() - # Guardando la presentación con los controles ActiveX limpiados + # Guardando la presentación con controles ActiveX eliminados presentation.save("withActiveX.cleared_out.pptm", slides.export.SaveFormat.PPTM) ``` -## **Agregar Control de Reproductor Multimedia ActiveX** -Para agregar un control de Reproductor Multimedia ActiveX, por favor realiza los siguientes pasos: - -1. Crea una instancia de la clase Presentation y carga la presentación de muestra con controles ActiveX de Reproductor Multimedia en ella. -1. Crea una instancia de la clase Presentation de destino y genera una instancia de presentación vacía. -1. Clona la diapositiva con el control ActiveX de Reproductor Multimedia en la presentación de plantilla a la Presentación de destino. -1. Accede a la diapositiva clonada en la Presentación de destino. -1. Accede a los controles ActiveX en la diapositiva accediendo a la IControlCollection. -1. Accede al control ActiveX de Reproductor Multimedia y establece la ruta del video usando sus propiedades. -1. Guarda la presentación en un archivo PPTX. +## **Agregar control ActiveX Media Player** +Para agregar un control ActiveX Media Player, siga los pasos siguientes: +1. Cree una instancia de la clase Presentation y cargue la presentación de ejemplo que contiene controles ActiveX Media Player. +1. Cree una instancia de la clase Presentation de destino y genere una presentación vacía. +1. Clone la diapositiva con el control ActiveX Media Player de la presentación plantilla a la presentación de destino. +1. Acceda a la diapositiva clonada en la presentación de destino. +1. Acceda a los controles ActiveX en la diapositiva mediante la IControlCollection. +1. Acceda al control ActiveX Media Player y establezca la ruta del video usando sus propiedades. +1. Guarde la presentación en un archivo PPTX. ```py import aspose.slides as slides @@ -183,10 +193,10 @@ with slides.Presentation(path + "template.pptx") as presentation: # Eliminar la diapositiva predeterminada newPresentation.slides.remove_at(0) - # Clonar diapositiva con Control ActiveX de Reproductor Multimedia + # Clonar la diapositiva con el control ActiveX Media Player newPresentation.slides.insert_clone(0, presentation.slides[0]) - # Acceder al control ActiveX de Reproductor Multimedia y establecer la ruta del video + # Acceder al control ActiveX Media Player y establecer la ruta del video prop = newPresentation.slides[0].controls[0].properties prop.remove("URL") @@ -194,4 +204,19 @@ with slides.Presentation(path + "template.pptx") as presentation: # Guardar la presentación newPresentation.save("LinkingVideoActiveXControl_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Aspose.Slides conserva los controles ActiveX al leer y volver a guardar si no pueden ejecutarse en el entorno de Python?** + +Sí. Aspose.Slides los trata como parte de la presentación y puede leer/modificar sus propiedades y marcos; no es necesario ejecutar los controles para conservarlos. + +**¿En qué se diferencian los controles ActiveX de los objetos OLE en una presentación?** + +Los controles ActiveX son controles interactivos administrados (botones, cuadros de texto, reproductor multimedia), mientras que [OLE](/slides/es/python-net/manage-ole/) se refiere a objetos de aplicación incrustados (por ejemplo, una hoja de cálculo de Excel). Se almacenan y manejan de forma diferente y poseen modelos de propiedades distintos. + +**¿Los eventos ActiveX y las macros VBA funcionan si el archivo ha sido modificado por Aspose.Slides?** + +Aspose.Slides conserva el marcado y los metadatos existentes; sin embargo, los eventos y las macros solo se ejecutan dentro de PowerPoint en Windows cuando la seguridad lo permite. La biblioteca no ejecuta VBA. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md index 771094a350..99174db5b1 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md @@ -1,80 +1,132 @@ --- -title: Crear miniaturas de formas +title: Crear miniaturas de formas de presentación en Python +linktitle: Miniaturas de formas type: docs weight: 70 url: /es/python-net/create-shape-thumbnails/ -keywords: "Miniatura de forma. Presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Miniatura de forma en presentación de PowerPoint en Python" +keywords: +- miniatura de forma +- imagen de forma +- renderizar forma +- renderizado de forma +- PowerPoint +- presentación +- Python +- Aspose.Slides +description: "Genere miniaturas de forma de alta calidad a partir de diapositivas de PowerPoint y OpenDocument con Aspose.Slides para Python mediante .NET – cree y exporte miniaturas de presentaciones fácilmente." --- -Aspose.Slides para Python a través de .NET se utiliza para crear archivos de presentación donde cada página es una diapositiva. Estas diapositivas se pueden visualizar abriendo los archivos de presentación con Microsoft PowerPoint. Pero a veces, los desarrolladores pueden necesitar ver las imágenes de las formas por separado en un visor de imágenes. En tales casos, Aspose.Slides para Python a través de .NET le ayuda a generar imágenes en miniatura de las formas de la diapositiva. Cómo utilizar esta función se describe en este artículo. -Este artículo explica cómo generar miniaturas de diapositivas de diferentes maneras: +## **Introducción** -- Generando una miniatura de forma dentro de una diapositiva. -- Generando una miniatura de forma para una forma de diapositiva con dimensiones definidas por el usuario. -- Generando una miniatura de forma dentro de los límites de la apariencia de una forma. -- Generando una miniatura de un nodo hijo de SmartArt. -## **Generar miniatura de forma desde una diapositiva** -Para generar una miniatura de forma desde cualquier diapositiva usando Aspose.Slides para Python a través de .NET: +Aspose.Slides for Python via .NET se utiliza para crear archivos de presentación en los que cada página es una diapositiva. Puedes ver estas diapositivas en Microsoft PowerPoint abriendo el archivo de presentación. Sin embargo, a veces los desarrolladores necesitan ver imágenes de las formas por separado en un visor de imágenes. En esos casos, Aspose.Slides puede generar imágenes en miniatura de las formas de las diapositivas. Este artículo explica cómo usar esta función. -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenga la referencia de cualquier diapositiva usando su ID o índice. -1. Obtenga la imagen en miniatura de la forma referenciada de la diapositiva en la escala predeterminada. -1. Guarde la imagen en miniatura en cualquier formato de imagen deseado. +## **Generar miniaturas de forma a partir de diapositivas** -El siguiente ejemplo genera una miniatura de forma. +Cuando necesitas una vista previa de un objeto específico en lugar de toda la diapositiva, puedes renderizar una miniatura para una forma individual. Aspose.Slides te permite exportar cualquier forma a una imagen, facilitando la creación de vistas previas ligeras, íconos o recursos para procesamiento posterior. +Para generar una miniatura a partir de cualquier forma: + +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtener una referencia a una diapositiva por su ID o índice. +1. Obtener una referencia a una forma en esa diapositiva. +1. Renderizar la imagen miniatura de la forma. +1. Guardar la imagen miniatura en el formato deseado. + +El ejemplo a continuación genera una miniatura de forma. ```py import aspose.slides as slides -# Instanciar una clase Presentation que representa el archivo de presentación -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Crear una imagen a escala completa - with presentation.slides[0].shapes[0].get_image() as bitmap: - # Guardar la imagen en el disco en formato PNG - bitmap.save("Shape_thumbnail_out.png", slides.ImageFormat.PNG) +# Instanciar la clase Presentation para abrir el archivo de presentación. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Crear una imagen con la escala predeterminada. + with shape.get_image() as thumbnail: + # Guardar la imagen en disco en formato PNG. + thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG) ``` -## **Generar miniatura de factor de escala definido por el usuario** -Para generar la miniatura de forma de cualquier forma de diapositiva usando Aspose.Slides para Python a través de .NET: +## **Generar miniaturas con un factor de escala personalizado** + +Esta sección muestra cómo generar miniaturas de forma con un factor de escala definido por el usuario en Aspose.Slides. Al controlar la escala, puedes ajustar el tamaño de la miniatura para vistas previas, exportaciones o pantallas de alta DPI. -1. Cree una instancia de la clase `Presentation`. -1. Obtenga la referencia de cualquier diapositiva usando su ID o índice. -1. Obtenga la imagen en miniatura de la diapositiva referenciada con los límites de la forma. -1. Guarde la imagen en miniatura en cualquier formato de imagen deseado. +Para generar una miniatura de cualquier forma en una diapositiva: -El siguiente ejemplo genera una miniatura con un factor de escala definido por el usuario. +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtener una diapositiva por su ID o índice. +1. Obtener la forma objetivo en esa diapositiva. +1. Renderizar la imagen miniatura de la forma con la escala especificada. +1. Guardar la imagen miniatura en el formato deseado. +El ejemplo a continuación genera una miniatura con un factor de escala definido por el usuario. ```py import aspose.slides as slides -# Instanciar una clase Presentation que representa el archivo de presentación -with slides.Presentation(path + "HelloWorld.pptx") as p: - # Crear una imagen a escala completa - with p.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.SHAPE, 1, 1) as bitmap: - # Guardar la imagen en el disco en formato PNG - bitmap.save("Scaling Factor Thumbnail_out.png", slides.ImageFormat.PNG) +scale_x = 2.0 +scale_y = scale_x + +# Instanciar la clase Presentation para abrir el archivo de presentación. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Crear una imagen con la escala definida. + with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail: + # Guardar la imagen en disco en formato PNG. + thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG) ``` -## **Crear miniatura de límites de la apariencia de la forma** -Este método para crear miniaturas de formas permite a los desarrolladores generar una miniatura dentro de los límites de la apariencia de la forma. Tiene en cuenta todos los efectos de la forma. La miniatura de forma generada está restringida por los límites de la diapositiva. Para generar una miniatura de cualquier forma de diapositiva dentro de los límites de su apariencia, use el siguiente código de muestra: +## **Generar miniaturas usando los límites de apariencia de una forma** -1. Cree una instancia de la clase `Presentation`. -1. Obtenga la referencia de cualquier diapositiva usando su ID o índice. -1. Obtenga la imagen en miniatura de la diapositiva referenciada con los límites de la forma como apariencia. -1. Guarde la imagen en miniatura en cualquier formato de imagen deseado. +Esta sección muestra cómo generar una miniatura dentro de los límites de apariencia de una forma. Tiene en cuenta todos los efectos de la forma. La miniatura generada está restringida por los límites de la diapositiva. -El siguiente ejemplo crea una miniatura con un factor de escala definido por el usuario. +Para generar una miniatura de cualquier forma de diapositiva dentro de los límites de su apariencia: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtener una diapositiva por su ID o índice. +1. Obtener la forma objetivo en esa diapositiva. +1. Renderizar la imagen miniatura de la forma con los límites especificados. +1. Guardar la imagen miniatura en el formato de imagen deseado. + +El ejemplo a continuación crea una miniatura con límites definidos por el usuario. ```py import aspose.slides as slides -# Instanciar una clase Presentation que representa el archivo de presentación -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Crear una imagen de forma con límites de apariencia - with presentation.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.APPEARANCE, 1, 1) as bitmap: - # Guardar la imagen en el disco en formato PNG - bitmap.save("Shape_thumbnail_Bound_Shape_out.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +image_bounds = slides.ShapeThumbnailBounds.APPEARANCE + +# Instanciar la clase Presentation para abrir el archivo de presentación. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Crear una imagen de forma con límites de apariencia. + with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail: + # Guardar la imagen en disco en formato PNG. + thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG) +``` + + +## **Preguntas frecuentes** + +**¿Qué formatos de imagen se pueden usar al guardar miniaturas de forma?** + +[PNG, JPEG, BMP, GIF, TIFF](https://reference.aspose.com/slides/python-net/aspose.slides/imageformat/), y otros. Las formas también pueden ser [exportadas como SVG vectorial](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) guardando el contenido de la forma como SVG. + +**¿Cuál es la diferencia entre los límites SHAPE y APPEARANCE al renderizar una miniatura?** + +`SHAPE` usa la geometría de la forma; `APPEARANCE` tiene en cuenta los [efectos visuales](/slides/es/python-net/shape-effect/) (sombras, brillos, etc.). + +**¿Qué ocurre si una forma está marcada como oculta? ¿Se seguirá renderizando como miniatura?** + +Una forma oculta sigue formando parte del modelo y puede ser renderizada; la marca oculta afecta la visualización de la presentación pero no impide generar la imagen de la forma. + +**¿Se admiten formas agrupadas, gráficos, SmartArt y otros objetos complejos?** + +Sí. Cualquier objeto representado como [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) (incluyendo [GroupShape](https://reference.aspose.com/slides/python-net/aspose.slides/groupshape/), [Chart](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), y [SmartArt](https://reference.aspose.com/slides/python-net/aspose.slides.smartart/smartart/)) puede guardarse como miniatura o como SVG. + +**¿Afectan las fuentes instaladas en el sistema la calidad de las miniaturas de formas de texto?** + +Sí. Debes [proporcionar las fuentes requeridas](/slides/es/python-net/custom-font/) (o [configurar sustituciones de fuentes](/slides/es/python-net/font-substitution/)) para evitar sustituciones no deseadas y reflujo del texto. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md index fdeaa949d9..d5fd8dc254 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md @@ -1,46 +1,62 @@ --- -title: Animación de Formas +title: Aplicar animaciones de forma en presentaciones con Python +linktitle: Animación de forma type: docs weight: 60 url: /es/python-net/shape-animation/ -keywords: "animación de PowerPoint, presentación de PowerPoint, Python, Aspose.Slides para Python via .NET" -description: "Crear animación de PowerPoint en Python" +keywords: +- forma +- animación +- efecto +- forma animada +- texto animado +- agregar animación +- obtener animación +- extraer animación +- agregar efecto +- obtener efecto +- extraer efecto +- sonido del efecto +- aplicar animación +- PowerPoint +- presentación +- Python +- Aspose.Slides +description: "Descubra cómo crear y personalizar animaciones de forma en presentaciones de PowerPoint y OpenDocument con Aspose.Slides para Python mediante .NET. ¡Destáquese!" --- -Las animaciones son efectos visuales que se pueden aplicar a textos, imágenes, formas o [gráficos](/slides/es/python-net/animated-charts/). Dan vida a las presentaciones o sus componentes. +Las animaciones son efectos visuales que pueden aplicarse a textos, imágenes, formas o [gráficos](/slides/es/python-net/animated-charts/). Dan vida a las presentaciones o a sus componentes. -### **¿Por Qué Usar Animaciones en Presentaciones?** - -Usando animaciones, puedes +## **¿Por qué usar animaciones en presentaciones?** +Al usar animaciones, puedes * controlar el flujo de información * enfatizar puntos importantes -* aumentar el interés o la participación entre tu audiencia -* facilitar la lectura o asimilación o procesamiento del contenido -* atraer la atención de tus lectores o espectadores a partes importantes de una presentación - -PowerPoint ofrece muchas opciones y herramientas para animaciones y efectos de animación en las categorías de **entrada**, **salida**, **énfasis** y **trayectorias de movimiento**. +* aumentar el interés o la participación de tu audiencia +* hacer que el contenido sea más fácil de leer, asimilar o procesar +* atraer la atención de tus lectores o espectadores a partes importantes en una presentación -### **Animaciones en Aspose.Slides** +PowerPoint ofrece muchas opciones y herramientas para animaciones y efectos de animación en las categorías de **entrada**, **salida**, **énfasis** y **trayectorias de movimiento**. -* Aspose.Slides proporciona las clases y tipos que necesitas para trabajar con animaciones en el espacio de nombres [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/), -* Aspose.Slides proporciona más de **150 efectos de animación** en la enumeración [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). Estos efectos son esencialmente los mismos (o equivalentes) efectos utilizados en PowerPoint. +## **Animaciones en Aspose.Slides** -## **Aplicar Animación a TextBox** +* Aspose.Slides proporciona las clases y tipos que necesitas para trabajar con animaciones bajo el espacio de nombres [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/), +* Aspose.Slides ofrece más de **150 efectos de animación** bajo la enumeración [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). Estos efectos son esencialmente los mismos (o equivalentes) que se usan en PowerPoint. -Aspose.Slides para Python via .NET te permite aplicar animación al texto en una forma. +## **Aplicar animación a TextBox** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtén la referencia de una diapositiva a través de su índice. -3. Agrega un `rectángulo` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. Agrega texto a `IAutoShape.TextFrame`. -5. Obtén una secuencia principal de efectos. -6. Agrega un efecto de animación a [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -7. Establece la propiedad `TextAnimation.BuildType` al valor de la enumeración `BuildType`. -8. Escribe la presentación en disco como un archivo PPTX. +Aspose.Slides para Python a través de .NET te permite aplicar animación al texto en una forma. -Este código Python te muestra cómo aplicar el efecto `Fade` a AutoShape y establecer la animación de texto al valor de *Por 1er Nivel de Párrafos*: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtén la referencia de una diapositiva mediante su índice. +3. Añade un `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +4. Añade texto a `IAutoShape.TextFrame`. +5. Obtén una secuencia principal de efectos. +6. Añade un efecto de animación a [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +7. Establece la propiedad `TextAnimation.BuildType` al valor de la enumeración `BuildType`. +8. Guarda la presentación en disco como un archivo PPTX. +Este código Python muestra cómo aplicar el efecto `Fade` a AutoShape y establecer la animación de texto al valor *By 1st Level Paragraphs*: ```python import aspose.slides as slides @@ -48,11 +64,11 @@ import aspose.slides as slides with slides.Presentation() as pres: sld = pres.slides[0] - # Agrega un nuevo AutoShape con texto + # Agrega una nueva AutoShape con texto autoShape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 100) textFrame = autoShape.text_frame - textFrame.text = "Primer párrafo \nSegundo párrafo \n Tercer párrafo" + textFrame.text = "First paragraph \nSecond paragraph \n Third paragraph" # Obtiene la secuencia principal de la diapositiva. sequence = sld.timeline.main_sequence @@ -60,30 +76,28 @@ with slides.Presentation() as pres: # Agrega el efecto de animación Fade a la forma effect = sequence.add_effect(autoShape, slides.animation.EffectType.FADE, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.ON_CLICK) - # Anima el texto de la forma por párrafos de 1er nivel + # Animar el texto de la forma por párrafos de primer nivel effect.text_animation.build_type = slides.animation.BuildType.BY_LEVEL_PARAGRAPHS1 # Guarda el archivo PPTX en disco pres.save("AnimText_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="primary" %}} - -Además de aplicar animaciones al texto, también puedes aplicar animaciones a un solo [Párrafo](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). Consulta [**Texto Animado**](/slides/es/python-net/animated-text/). +{{% alert color="primary" %}} +Además de aplicar animaciones al texto, también puedes aplicar animaciones a un solo [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). Consulta [**Animated Text**](/slides/es/python-net/animated-text/). {{% /alert %}} -## **Aplicar Animación a PictureFrame** - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtén la referencia de una diapositiva a través de su índice. -3. Agrega o obtiene un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) en la diapositiva. -4. Obtén la secuencia principal de efectos. -5. Agrega un efecto de animación a [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). -6. Escribe la presentación en disco como un archivo PPTX. +## **Aplicar animación a PictureFrame** -Este código Python te muestra cómo aplicar el efecto `Fly` a un marco de imagen: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtén la referencia de una diapositiva mediante su índice. +3. Añade o obtén un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) en la diapositiva. +4. Obtén la secuencia principal de efectos. +5. Añade un efecto de animación a [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). +6. Guarda la presentación en disco como un archivo PPTX. +Este código Python muestra cómo aplicar el efecto `Fly` a un marco de imagen: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -95,13 +109,13 @@ with slides.Presentation() as pres: img = draw.Bitmap("aspose-logo.jpg") image = pres.images.add_image(img) - # Agrega un marco de imagen a la diapositiva + # Añade un marco de imagen a la diapositiva picFrame = pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) # Obtiene la secuencia principal de la diapositiva. sequence = pres.slides[0].timeline.main_sequence - # Agrega el efecto de animación Fly from Left al marco de imagen + # Añade el efecto de animación Volar desde la izquierda al marco de imagen effect = sequence.add_effect(picFrame, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.LEFT, slides.animation.EffectTriggerType.ON_CLICK) @@ -110,32 +124,32 @@ with slides.Presentation() as pres: pres.save("AnimImage_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Aplicar Animación a Shape** -1. Crea una instancia de la [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) clase. -2. Obtén la referencia de una diapositiva a través de su índice. -3. Agrega un `rectángulo` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. Agrega un `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) (cuando este objeto sea clicado, la animación se reproducirá). -5. Crea una secuencia de efectos en la forma bevel. -6. Crea un `UserPath` personalizado. -7. Agrega comandos para mover al `UserPath`. -8. Escribe la presentación en disco como un archivo PPTX. +## **Aplicar animación a Shape** -Este código Python te muestra cómo aplicar el efecto `PathFootball` (camino de fútbol) a una forma: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtén la referencia de una diapositiva mediante su índice. +3. Añade un `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +4. Añade un `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) (cuando se hace clic en este objeto, se reproduce la animación). +5. Crea una secuencia de efectos en la forma bevel. +6. Crea un `UserPath` personalizado. +7. Añade comandos para mover al `UserPath`. +8. Guarda la presentación en disco como un archivo PPTX. +Este código Python muestra cómo aplicar el efecto `PathFootball` (ruta de fútbol) a una forma: ```python import aspose.slides.animation as anim import aspose.slides as slides import aspose.pydrawing as draw -# Instancia una clase de presentación que representa un archivo PPTX +# Instancia una clase Presentation que representa un archivo PPTX with slides.Presentation() as pres: sld = pres.slides[0] - # Crea un efecto PathFootball para una forma existente desde cero. + # Crea el efecto PathFootball para una forma existente desde cero. ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 150, 250, 25) - ashp.add_text_frame("Texto Animado") + ashp.add_text_frame("Animated TextBox") # Agrega el efecto de animación PathFootBall. pres.slides[0].timeline.main_sequence.add_effect(ashp, @@ -149,13 +163,13 @@ with slides.Presentation() as pres: # Crea una secuencia de efectos para el botón. seqInter = pres.slides[0].timeline.interactive_sequences.add(shapeTrigger) - # Crea un camino de usuario personalizado. Nuestro objeto se moverá solo después de que se haga clic en el botón. + # Crea una ruta de usuario personalizada. Nuestro objeto se moverá solo después de que se haga clic en el botón. fxUserPath = seqInter.add_effect(ashp, anim.EffectType.PATH_USER, anim.EffectSubtype.NONE, anim.EffectTriggerType.ON_CLICK) - # Agrega comandos para moverse ya que el camino creado está vacío. + # Agrega comandos para mover ya que la ruta creada está vacía. motionBhv = fxUserPath.behaviors[0] pts = [draw.PointF(0.076, 0.59)] @@ -168,54 +182,106 @@ with slides.Presentation() as pres: pres.save("AnimExample_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Obtener los Efectos de Animación Aplicados a una Forma** -Puedes decidir averiguar todos los efectos de animación aplicados a una sola forma. +## **Obtener los efectos de animación aplicados a Shape** + +Los siguientes ejemplos muestran cómo usar el método `get_effects_by_shape` de la clase [Sequence](https://reference.aspose.com/slides/python-net/aspose.slides.animation/sequence/) para obtener todos los efectos de animación aplicados a una forma. -Este código Python te muestra cómo obtener todos los efectos aplicados a una forma específica: +**Ejemplo 1: Obtener efectos de animación aplicados a una forma en una diapositiva normal** +Anteriormente, aprendiste cómo añadir efectos de animación a formas en presentaciones de PowerPoint. El siguiente código de ejemplo muestra cómo obtener los efectos aplicados a la primera forma en la primera diapositiva normal de la presentación `AnimExample_out.pptx`. ```python import aspose.slides as slides -# Instancia una clase de presentación que representa un archivo de presentación. -with slides.Presentation("AnimExample_out.pptx") as pres: - firstSlide = pres.slides[0] +with slides.Presentation("AnimExample_out.pptx") as presentation: + first_slide = presentation.slides[0] - # Obtiene la secuencia principal de la diapositiva. - sequence = firstSlide.timeline.main_sequence + # Obtiene la secuencia principal de animación de la diapositiva. + sequence = first_slide.timeline.main_sequence + + # Obtiene la primera forma en la primera diapositiva. + shape = first_slide.shapes[0] + + # Obtiene los efectos de animación aplicados a la forma. + shape_effects = sequence.get_effects_by_shape(shape) + + if len(shape_effects) > 0: + print("The shape", shape.name, "has", len(shape_effects), "animation effects.") +``` + + +**Ejemplo 2: Obtener todos los efectos de animación, incluidos los heredados de los marcadores de posición** + +Si una forma en una diapositiva normal tiene marcadores de posición que están en la diapositiva de diseño y/o en la diapositiva maestra, y se han añadido efectos de animación a esos marcadores de posición, entonces todos los efectos de la forma se reproducirán durante la presentación, incluidos los heredados de los marcadores de posición. + +Supongamos que tenemos un archivo de presentación PowerPoint `sample.pptx` con una diapositiva que contiene solo una forma de pie de página con el texto "Made with Aspose.Slides" y al que se le ha aplicado el efecto **Random Bars**. +![Animación de forma de diapositiva](slide-shape-animation.png) + +Supongamos también que el efecto **Split** se aplica al marcador de posición de pie de página en la diapositiva **layout**. +![Animación de forma del diseño](layout-shape-animation.png) + +Y finalmente, el efecto **Fly In** se aplica al marcador de posición de pie de página en la diapositiva **master**. +![Animación de forma maestra](master-shape-animation.png) + +El siguiente código de ejemplo muestra cómo usar el método `get_base_placeholder` de la clase [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) para acceder a los marcadores de posición de la forma y obtener los efectos de animación aplicados a la forma de pie de página, incluidos los heredados de los marcadores de posición ubicados en las diapositivas de diseño y maestra. +```py +import aspose.slides as slides + +def print_effects(effects): + for effect in effects: + print(effect.type.name, effect.subtype.name) +``` - # Obtiene la primera forma en la diapositiva. - shape = firstSlide.shapes[0] +```py +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + + # Obtiene los efectos de animación de la forma en la diapositiva normal. + shape = slide.shapes[0] + shape_effects = slide.timeline.main_sequence.get_effects_by_shape(shape) - # Obtiene todos los efectos de animación aplicados a la forma. - shapeEffects = sequence.get_effects_by_shape(shape) + # Obtiene los efectos de animación del marcador de posición en la diapositiva de diseño. + layout_shape = shape.get_base_placeholder() + layout_shape_effects = slide.layout_slide.timeline.main_sequence.get_effects_by_shape(layout_shape) - if len(shapeEffects) > 0: - print("La forma " + shape.name + " tiene " + str(len(shapeEffects)) + " efectos de animación.") + # Obtiene los efectos de animación del marcador de posición en la diapositiva maestra. + master_shape = layout_shape.get_base_placeholder() + master_shape_effects = slide.layout_slide.master_slide.timeline.main_sequence.get_effects_by_shape(master_shape) + + print("Main sequence of shape effects:") + print_effects(master_shape_effects) + print_effects(layout_shape_effects) + print_effects(shape_effects) ``` -## **Cambiar Propiedades de Tiempo del Efecto de Animación** -Aspose.Slides para Python via .NET te permite cambiar las propiedades de Tiempo de un efecto de animación. +Salida: +```text +Main sequence of shape effects: +FLY BOTTOM +SPLIT VERTICAL_IN +RANDOM_BARS HORIZONTAL +``` -Este es el panel de Tiempo de Animación en Microsoft PowerPoint: -![example1_image](shape-animation.png) +## **Cambiar propiedades de tiempo del efecto de animación** -Estas son las correspondencias entre el Tiempo de PowerPoint y las propiedades `Effect.Timing`: +Aspose.Slides para Python a través de .NET permite cambiar las propiedades de tiempo de un efecto de animación. -- La lista desplegable **Inicio** de PowerPoint coincide con la propiedad [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/). -- **Duración** de PowerPoint coincide con la propiedad `Effect.Timing.Duration`. La duración de una animación (en segundos) es el tiempo total que tarda la animación en completar un ciclo. -- **Retraso** de PowerPoint coincide con la propiedad `Effect.Timing.TriggerDelayTime`. +Este es el panel de tiempo de animación en Microsoft PowerPoint: +![Panel de tiempo de animación](shape-animation.png) -Así es como puedes cambiar las propiedades de Tiempo del Efecto: +Estas son las correspondencias entre el tiempo de PowerPoint y las propiedades `Effect.Timing`: +- La lista desplegable **Start** del tiempo de PowerPoint coincide con la propiedad [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/). +- El **Duration** del tiempo de PowerPoint coincide con la propiedad `Effect.Timing.Duration`. La duración de una animación (en segundos) es el tiempo total que tarda la animación en completar un ciclo. +- El **Delay** del tiempo de PowerPoint coincide con la propiedad `Effect.Timing.TriggerDelayTime`. -1. [Aplica](#apply-animation-to-shape) o obtén el efecto de animación. +Así es como cambias las propiedades de tiempo del efecto: +1. [Apply](#apply-animation-to-shape) o recupera el efecto de animación. 2. Establece nuevos valores para las propiedades `Effect.Timing` que necesites. -3. Guarda el archivo PPTX modificado. +3. Guarda el archivo PPTX modificado. Este código Python demuestra la operación: - ```python import aspose.slides as slides @@ -227,7 +293,7 @@ with slides.Presentation("AnimExample_out.pptx") as pres: # Obtiene el primer efecto de la secuencia principal. effect = sequence[0] - # Cambia el TriggerType del efecto para que comience al hacer clic + # Cambia el TriggerType del efecto para iniciar al hacer clic effect.timing.trigger_type = slides.animation.EffectTriggerType.ON_CLICK # Cambia la duración del efecto @@ -240,22 +306,21 @@ with slides.Presentation("AnimExample_out.pptx") as pres: pres.save("AnimExample_changed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Sonido del Efecto de Animación** -Aspose.Slides proporciona estas propiedades para permitirte trabajar con sonidos en efectos de animación: +## **Sonido del efecto de animación** +Aspose.Slides proporciona estas propiedades para permitir trabajar con sonidos en efectos de animación: - `sound` - `stop_previous_sound` -### **Agregar Sonido al Efecto de Animación** - -Este código Python te muestra cómo agregar un sonido al efecto de animación y detenerlo cuando comience el siguiente efecto: +### **Agregar sonido al efecto de animación** +Este código Python muestra cómo añadir un sonido al efecto de animación y detenerlo cuando comienza el siguiente efecto: ```python import aspose.slides as slides with Presentation("AnimExample_out.pptx") as pres: - # Agrega audio a la colección de audio de la presentación + # Añade audio a la colección de audio de la presentación effect_sound = pres.audios.add_audio(open("sampleaudio.wav", "rb").read()) first_slide = pres.slides[0] @@ -266,30 +331,30 @@ with Presentation("AnimExample_out.pptx") as pres: # Obtiene el primer efecto de la secuencia principal first_effect = sequence[0] - # Verifica el efecto para "Sin Sonido" + # Comprueba si el efecto no tiene sonido if not first_effect.stop_previous_sound and first_effect.sound is None: - # Agrega sonido para el primer efecto + # Añade sonido al primer efecto first_effect.sound = effect_sound # Obtiene la primera secuencia interactiva de la diapositiva. interactive_sequence = first_slide.timeline.interactive_sequences[0] - # Establece la bandera "Detener sonido previo" + # Establece la bandera "Stop previous sound" del efecto interactive_sequence[0].stop_previous_sound = True # Escribe el archivo PPTX en disco pres.save("AnimExample_Sound_out.pptx", slides.export.SaveFormat.PPTX) ``` -### **Extraer Sonido del Efecto de Animación** -1. Crea una instancia de la [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) clase. -2. Obtén la referencia de una diapositiva a través de su índice. +### **Extraer sonido del efecto de animación** + +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtén la referencia de una diapositiva mediante su índice. 3. Obtén la secuencia principal de efectos. 4. Extrae el `sound` incrustado en cada efecto de animación. -Este código Python te muestra cómo extraer el sonido incrustado en un efecto de animación: - +Este código Python muestra cómo extraer el sonido incrustado en un efecto de animación: ```python import aspose.slides as slides @@ -304,29 +369,27 @@ with slides.Presentation("EffectSound.pptx") as presentation: if effect.sound is None: continue - # Extrae el sonido del efecto en un array de bytes + # Extrae el sonido del efecto en una matriz de bytes audio = effect.sound.binary_data ``` -## **Después de la Animación** - -Aspose.Slides para .NET te permite cambiar la propiedad Después de la animación de un efecto de animación. - -Este es el panel del Efecto de Animación y el menú extendido en Microsoft PowerPoint: -![example1_image](shape-after-animation.png) +## **Después de la animación** -La lista desplegable **Después de la animación** de PowerPoint coincide con estas propiedades: +Aspose.Slides para .NET permite cambiar la propiedad After animation de un efecto de animación. -- Propiedad `after_animation_type` que describe el tipo de animación después: - * **Más Colores** de PowerPoint coincide con el tipo [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); - * El elemento **No Dejar de Brillar** de PowerPoint coincide con el tipo [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (tipo de animación después predeterminado); - * El elemento **Ocultar Después de la Animación** de PowerPoint coincide con el tipo [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; - * El elemento **Ocultar en el Siguiente Clic del Ratón** de PowerPoint coincide con el tipo [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); -- Propiedad `after_animation_color` que define un formato de color después de la animación. Esta propiedad funciona en conjunto con el tipo [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). Si cambias el tipo a otro, el color de la animación después se borrará. +Este es el panel de efecto de animación después y el menú ampliado en Microsoft PowerPoint: +![Panel de efecto de animación después](shape-after-animation.png) -Este código Python te muestra cómo cambiar un efecto de animación después: +La lista desplegable **After animation** del efecto PowerPoint coincide con estas propiedades: +- La propiedad `after_animation_type` que describe el tipo de After animation: + * PowerPoint **More Colors** coincide con el tipo [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); + * PowerPoint **Don't Dim** coincide con el tipo [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (tipo predeterminado); + * PowerPoint **Hide After Animation** coincide con el tipo [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); + * PowerPoint **Hide on Next Mouse Click** coincide con el tipo [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); +- La propiedad `after_animation_color` que define un formato de color para la animación posterior. Esta propiedad funciona en conjunto con el tipo [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). Si cambias el tipo a otro, el color de la animación posterior se borrará. +Este código Python muestra cómo cambiar un efecto de animación posterior: ```python import aspose.slides as slides @@ -337,35 +400,33 @@ with slides.Presentation("AnimImage_out.pptx") as pres: # Obtiene el primer efecto de la secuencia principal first_effect = first_slide.timeline.main_sequence[0] - # Cambia el tipo de animación después a Color + # Cambia el tipo de animación posterior a Color first_effect.after_animation_type = AfterAnimationType.COLOR - # Establece el color de atenuación después de la animación + # Establece el color de atenuación de la animación posterior first_effect.after_animation_color.color = Color.alice_blue - # Escribe el archivo PPTX en disco + # Guarda el archivo PPTX en disco pres.save("AnimImage_AfterAnimation.pptx", slides.export.SaveFormat.PPTX) ``` -## **Animar Texto** - -Aspose.Slides proporciona estas propiedades para permitirte trabajar con el bloque de *Animar texto* de un efecto de animación: -- `animate_text_type` que describe un tipo de animación de texto del efecto. El texto de la forma se puede animar: - - Todo a la vez ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) tipo) - - Por palabra ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) tipo) - - Por letra ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) tipo) -- `delay_between_text_parts` establece un retraso entre las partes de texto animadas (palabras o letras). Un valor positivo especifica el porcentaje de duración del efecto. Un valor negativo especifica el retraso en segundos. +## **Animar texto** -Así es como puedes cambiar las propiedades de Efecto Animar texto: +Aspose.Slides proporciona estas propiedades para trabajar con el bloque *Animate text* de un efecto de animación: +- `animate_text_type` que describe el tipo de animación de texto del efecto. El texto de la forma puede animarse: + * Todo a la vez ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) tipo) + * Por palabra ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) tipo) + * Por letra ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) tipo) +- `delay_between_text_parts` establece un retraso entre las partes del texto animado (palabras o letras). Un valor positivo especifica el porcentaje de duración del efecto. Un valor negativo especifica el retraso en segundos. -1. [Aplica](#apply-animation-to-shape) o obtén el efecto de animación. -2. Establece la propiedad `build_type` al valor [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) para desactivar el modo de animación *Por Párrafos*. -3. Establece nuevos valores para las propiedades `animate_text_type` y `delay_between_text_parts`. -4. Guarda el archivo PPTX modificado. +Así es como puedes cambiar las propiedades *Animate text* del efecto: +1. [Apply](#apply-animation-to-shape) o recupera el efecto de animación. +2. Establece la propiedad `build_type` al valor [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) para desactivar el modo de animación *By Paragraphs*. +3. Establece nuevos valores para las propiedades `animate_text_type` y `delay_between_text_parts`. +4. Guarda el archivo PPTX modificado. Este código Python demuestra la operación: - ```python import aspose.slides as slides @@ -375,16 +436,31 @@ with slides.Presentation("AnimTextBox_out.pptx") as pres: # Obtiene el primer efecto de la secuencia principal first_effect = first_slide.timeline.main_sequence[0] - # Cambia el tipo de animación de texto del efecto a "Como Un Solo Objeto" + # Cambia el tipo de animación de texto del efecto a "Como un solo objeto" first_effect.text_animation.build_type = slides.animation.BuildType.AS_ONE_OBJECT - # Cambia el tipo de animación de texto del efecto a "Por palabra" + # Cambia el tipo de animación del texto del efecto a "Por palabra" first_effect.animate_text_type = slides.animation.AnimateTextType.BY_WORD # Establece el retraso entre palabras al 20% de la duración del efecto first_effect.delay_between_text_parts = 20 - # Escribe el archivo PPTX en disco + # Guarda el archivo PPTX en disco pres.save("AnimTextBox_AnimateText.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Cómo puedo asegurar que las animaciones se conserven al publicar la presentación en la web?** + +[Exportar a HTML5](/slides/es/python-net/export-to-html5/) y habilitar las [opciones](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) responsables de las animaciones de [forma](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) y [transición](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/). El HTML plano no reproduce animaciones de diapositivas, mientras que HTML5 sí. + +**¿Cómo afecta cambiar el orden z (orden de capas) de las formas a la animación?** + +El orden de animación y el orden de dibujo son independientes: un efecto controla el momento y el tipo de aparición/desaparición, mientras que el [z-order](https://reference.aspose.com/slides/python-net/aspose.slides/shape/z_order_position/) determina qué cubre a qué. El resultado visible se define por su combinación. (Este es el comportamiento general de PowerPoint; el modelo de efectos y formas de Aspose.Slides sigue la misma lógica.) + +**¿Existen limitaciones al convertir animaciones a video para ciertos efectos?** + +En general, [las animaciones son compatibles](/slides/es/python-net/convert-powerpoint-to-video/), pero en casos raros o con efectos específicos pueden renderizarse de manera diferente. Se recomienda probar con los efectos que uses y con la versión de la biblioteca. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md index 16b5f3d47c..3e7569a712 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md @@ -1,26 +1,37 @@ --- -title: Efecto de Forma +title: Aplicar efectos de forma en presentaciones con Python +linktitle: Efecto de forma type: docs weight: 30 url: /es/python-net/shape-effect -keywords: "Efecto de forma, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Aplicar efecto a la forma de PowerPoint en Python" +keywords: +- efecto de forma +- efecto de sombra +- efecto de reflexión +- efecto de brillo +- efecto de bordes suaves +- formato de efectos +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Transforme sus archivos PPT, PPTX y ODP con efectos de forma avanzados usando Aspose.Slides para Python—crea diapositivas impactantes y profesionales en segundos." --- -Mientras que los efectos en PowerPoint pueden ser utilizados para hacer que una forma resalte, se diferencian de [rellenos](/slides/es/python-net/shape-formatting/#gradient-fill) o contornos. Utilizando efectos de PowerPoint, puedes crear reflexiones convincentes en una forma, difundir el resplandor de una forma, etc. +Mientras que los efectos en PowerPoint pueden usarse para resaltar una forma, difieren de los [rellenos](/slides/es/python-net/shape-formatting/#gradient-fill) o contornos. Con los efectos de PowerPoint, puedes crear reflejos convincentes en una forma, difundir el brillo de una forma, etc. shape-effect -* PowerPoint proporciona seis efectos que se pueden aplicar a las formas. Puedes aplicar uno o más efectos a una forma. +* PowerPoint ofrece seis efectos que se pueden aplicar a las formas. Puedes aplicar uno o más efectos a una forma. -* Algunas combinaciones de efectos se ven mejor que otras. Por esta razón, las opciones de PowerPoint bajo **Preestablecido**. Las opciones de Preestablecido son esencialmente una combinación conocida y atractiva de dos o más efectos. De esta manera, al seleccionar un preestablecido, no tendrás que perder tiempo probando o combinando diferentes efectos para encontrar una buena combinación. +* Algunas combinaciones de efectos se ven mejor que otras. Por esta razón, PowerPoint incluye opciones bajo **Preset**. Las opciones Preset son esencialmente una combinación de dos o más efectos que se ve bien. De este modo, al seleccionar un preset, no tendrás que perder tiempo probando o combinando diferentes efectos para encontrar una buena combinación. -Aspose.Slides proporciona propiedades y métodos bajo la clase [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) que te permiten aplicar los mismos efectos a las formas en presentaciones de PowerPoint. +Aspose.Slides proporciona propiedades y métodos bajo la clase [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) que permiten aplicar los mismos efectos a las formas en presentaciones de PowerPoint. -## **Aplicar Efecto de Sombra** - -Este código en Python te muestra cómo aplicar el efecto de sombra exterior (`outer_shadow_effect`) a un rectángulo: +## **Aplicar efecto de sombra** +Este código Python muestra cómo aplicar el efecto de sombra externa (`outer_shadow_effect`) a un rectángulo: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -36,10 +47,10 @@ with slides.Presentation() as pres: pres.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **Aplicar Efecto de Reflexión** -Este código en Python te muestra cómo aplicar el efecto de reflexión a una forma: +## **Aplicar efecto de reflejo** +Este código Python muestra cómo aplicar el efecto de reflejo a una forma: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -56,10 +67,10 @@ with slides.Presentation() as pres: pres.save("reflection.pptx", slides.export.SaveFormat.PPTX) ``` -## **Aplicar Efecto de Resplandor** -Este código en Python te muestra cómo aplicar el efecto de resplandor a una forma: +## **Aplicar efecto de brillo** +Este código Python muestra cómo aplicar el efecto de brillo a una forma: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -74,10 +85,10 @@ with slides.Presentation() as pres: pres.save("glow.pptx", slides.export.SaveFormat.PPTX) ``` -## **Aplicar Efecto de Bordes Suaves** -Este código en Python te muestra cómo aplicar bordes suaves a una forma: +## **Aplicar efecto de bordes suaves** +Este código Python muestra cómo aplicar bordes suaves a una forma: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -89,4 +100,19 @@ with slides.Presentation() as pres: shape.effect_format.soft_edge_effect.radius = 15 pres.save("softEdges.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Puedo aplicar varios efectos a la misma forma?** + +Sí, puedes combinar diferentes efectos, como sombra, reflejo y brillo, en una sola forma para crear una apariencia más dinámica. + +**¿A qué tipos de formas puedo aplicar efectos?** + +Puedes aplicar efectos a varias formas, incluidas autoshapes, gráficos, tablas, imágenes, objetos SmartArt, objetos OLE y más. + +**¿Puedo aplicar efectos a formas agrupadas?** + +Sí, puedes aplicar efectos a formas agrupadas. El efecto se aplicará a todo el grupo. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md index cceec470ce..01ded510ea 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md @@ -1,5 +1,5 @@ --- -title: Gestiona conectores en presentaciones con Python +title: Administrar conectores en presentaciones con Python linktitle: Conector type: docs weight: 10 @@ -15,358 +15,378 @@ keywords: - presentación - Python - Aspose.Slides -description: "Potencia las aplicaciones de Python para dibujar, conectar y enrutar automáticamente líneas en diapositivas de PowerPoint y OpenDocument—obtén control total sobre conectores rectos, en ángulo y curvos." +description: "Capacite a las aplicaciones Python para dibujar, conectar y enrutar automáticamente líneas en diapositivas de PowerPoint y OpenDocument - obtenga control total sobre conectores rectos, en ángulo y curvos." --- -Un conector de PowerPoint es una línea especial que conecta o enlaza dos formas y permanece adherido a las formas incluso cuando se mueven o se reubican en una diapositiva determinada. +## **Introducción** -Los conectores generalmente están conectados a *puntos de conexión* (puntos verdes), que existen en todas las formas por defecto. Los puntos de conexión aparecen cuando un cursor se acerca a ellos. +Un conector de PowerPoint es una línea especializada que enlaza dos formas y permanece adherida cuando las formas se mueven o se reposicionan en una diapositiva. Los conectores se unen a **puntos de conexión** (puntos verdes) en las formas. Los puntos de conexión aparecen cuando el puntero se acerca a ellos. Los **mangos de ajuste** (puntos amarillos), disponibles en ciertos conectores, le permiten modificar la posición y la forma del conector. -Los *puntos de ajuste* (puntos naranjas), que existen solo en ciertos conectores, se utilizan para modificar las posiciones y formas de los conectores. +## **Tipos de Conector** -## **Tipos de Conectores** +En PowerPoint, puede usar tres tipos de conectores: recto, codo (angular) y curvo. -En PowerPoint, puedes usar conectores rectos, de codo (angulados) y curvados. +Aspose.Slides admite los siguientes tipos de conectores: -Aspose.Slides proporciona estos conectores: +| Tipo de Conector | Imagen | Número de puntos de ajuste | +| ------------------------------- | ---------------------------------------------------------- | -------------------------- | +| `ShapeType.LINE` | ![Conector de línea](shapetype-lineconnector.png) | 0 | +| `ShapeType.STRAIGHT_CONNECTOR1` | ![Conector recto 1](shapetype-straightconnector1.png) | 0 | +| `ShapeType.BENT_CONNECTOR2` | ![Conector doblado 2](shapetype-bent-connector2.png) | 0 | +| `ShapeType.BENT_CONNECTOR3` | ![Conector doblado 3](shapetype-bentconnector3.png) | 1 | +| `ShapeType.BENT_CONNECTOR4` | ![Conector doblado 4](shapetype-bentconnector4.png) | 2 | +| `ShapeType.BENT_CONNECTOR5` | ![Conector doblado 5](shapetype-bentconnector5.png) | 3 | +| `ShapeType.CURVED_CONNECTOR2` | ![Conector curvo 2](shapetype-curvedconnector2.png) | 0 | +| `ShapeType.CURVED_CONNECTOR3` | ![Conector curvo 3](shapetype-curvedconnector3.png) | 1 | +| `ShapeType.CURVED_CONNECTOR4` | ![Conector curvo 4](shapetype-curvedconnector4.png) | 2 | +| `ShapeType.CURVED_CONNECTOR5` | ![Conector curvo 5](shapetype.curvedconnector5.png) | 3 | -| Conector | Imagen | Número de puntos de ajuste | -| ------------------------------ | ------------------------------------------------------------ | --------------------------- | -| `ShapeType.LINE` | ![shapetype-lineconnector](shapetype-lineconnector.png) | 0 | -| `ShapeType.STRAIGHT_CONNECTOR1` | ![shapetype-straightconnector1](shapetype-straightconnector1.png) | 0 | -| `ShapeType.BENT_CONNECTOR2` | ![shapetype-bent-connector2](shapetype-bent-connector2.png) | 0 | -| `ShapeType.BENT_CONNECTOR3` | ![shapetype-bentconnector3](shapetype-bentconnector3.png) | 1 | -| `ShapeType.BENT_CONNECTOR4` | ![shapetype-bentconnector4](shapetype-bentconnector4.png) | 2 | -| `ShapeType.BENT_CONNECTOR5` | ![shapetype-bentconnector5](shapetype-bentconnector5.png) | 3 | -| `ShapeType.CURVED_CONNECTOR2` | ![shapetype-curvedconnector2](shapetype-curvedconnector2.png) | 0 | -| `ShapeType.CURVED_CONNECTOR3` | ![shapetype-curvedconnector3](shapetype-curvedconnector3.png) | 1 | -| `ShapeType.CURVED_CONNECTOR4` | ![shapetype-curvedconnector4](shapetype-curvedconnector4.png) | 2 | -| `ShapeType.CURVED_CONNECTOR5` | ![shapetype.curvedconnector5](shapetype.curvedconnector5.png) | 3 | +## **Conectar Formas con Conectores** -## **Conectar Formas Usando Conectores** +Esta sección muestra cómo enlazar formas con conectores en Aspose.Slides. Añadirá un conector a una diapositiva, adjuntará su inicio y fin a las formas objetivo. Usar sitios de conexión garantiza que el conector permanezca «pegado» a las formas incluso cuando se muevan o cambien de tamaño. -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtén una referencia de la diapositiva a través de su índice. -1. Agrega dos [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) a la diapositiva usando el método `add_auto_shape` expuesto por el objeto `Shapes`. -1. Agrega un conector utilizando el método `add_auto_shape` expuesto por el objeto `Shapes` definiendo el tipo de conector. -1. Conecta las formas usando el conector. -1. Llama al método `reroute` para aplicar la ruta de conexión más corta. -1. Guarda la presentación. - -Este código Python muestra cómo agregar un conector (un conector doblado) entre dos formas (una elipse y un rectángulo): +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenga una referencia a la diapositiva por su índice. +1. Añada dos objetos [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) a la diapositiva mediante el método `add_auto_shape` expuesto por el objeto [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Añada un conector usando el método `add_connector` expuesto por el objeto [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) y especifique el tipo de conector. +1. Conecte las formas con el conector. +1. Llame al método `reroute` para aplicar la ruta de conexión más corta. +1. Guarde la presentación. +El siguiente código Python muestra cómo agregar un conector doblado entre dos formas (una elipse y un rectángulo): ```python import aspose.slides as slides -# Instancia una clase de presentación que representa un archivo PPTX -with slides.Presentation() as input: - # Accede a la colección de formas para una diapositiva específica - shapes = input.slides[0].shapes +# Instanciar la clase Presentation para crear un archivo PPTX. +with slides.Presentation() as presentation: + + # Acceder a la colección de formas de la primera diapositiva. + shapes = presentation.slides[0].shapes - # Agrega una autoforma de elipse - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Añadir una AutoShape de elipse. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Agrega una autoforma de rectángulo - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100) + # Añadir una AutoShape de rectángulo. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Agrega una forma de conector a la colección de formas de la diapositiva + # Añadir un conector a la diapositiva. connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) - # Conecta las formas usando el conector + # Conectar las formas con el conector. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # Llama a reroute que establece la ruta automática más corta entre formas + # Llamar a reroute para establecer la ruta más corta. connector.reroute() - # Guarda la presentación - input.save("Connecting shapes using connectors_out.pptx", slides.export.SaveFormat.PPTX) - + # Guardar la presentación. + presentation.save("connected_shapes.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="NOTA" color="warning" %}} - -El método `connector.reroute` redirige un conector y lo obliga a tomar la ruta más corta posible entre formas. Para lograr su objetivo, el método puede cambiar los índices de los puntos `start_shape_connection_site_index` y `end_shape_connection_site_index`. -{{% /alert %}} +{{% alert title="NOTE" color="warning" %}} +El método `connector.reroute` reencamina un conector, obligándolo a tomar la ruta más corta posible entre las formas. Para ello, el método puede cambiar los valores `start_shape_connection_site_index` y `end_shape_connection_site_index`. +{{% /alert %}} -## **Especificar Punto de Conexión** +## **Especificar Puntos de Conexión** -Si deseas que un conector enlace dos formas usando puntos específicos sobre las formas, debes especificar tus puntos de conexión preferidos de esta manera: +Esta sección explica cómo adjuntar un conector a un punto de conexión específico en una forma en Aspose.Slides. Al apuntar a sitios de conexión precisos, puede controlar el enrutamiento y la disposición del conector, produciendo diagramas limpios y predecibles en sus presentaciones. -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtén una referencia de la diapositiva a través de su índice. -1. Agrega dos [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) a la diapositiva usando el método `add_auto_shape` expuesto por el objeto `Shapes`. -1. Agrega un conector usando el método `add_connector` expuesto por el objeto `Shapes` definiendo el tipo de conector. -1. Conecta las formas usando el conector. -1. Establece tus puntos de conexión preferidos sobre las formas. -1. Guarda la presentación. - -Este código Python demuestra una operación donde se especifica un punto de conexión preferido: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenga una referencia a la diapositiva por su índice. +1. Añada dos objetos [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) a la diapositiva mediante el método `add_auto_shape` expuesto por el objeto [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Añada un conector usando el método `add_connector` en el objeto [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) y especifique el tipo de conector. +1. Conecte las formas con el conector. +1. Establezca sus puntos de conexión preferidos en las formas. +1. Guarde la presentación. +El siguiente código Python muestra cómo especificar un punto de conexión preferido: ```python import aspose.slides as slides -# Instancia una clase de presentación que representa un archivo PPTX +# Instanciar la clase Presentation para crear un archivo PPTX. with slides.Presentation() as presentation: - # Accede a la colección de formas para una diapositiva específica + + # Acceder a la colección de formas de la primera diapositiva. shapes = presentation.slides[0].shapes - # Agrega una forma de conector a la colección de formas de la diapositiva - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) + # Añadir una AutoShape de elipse. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Agrega una autoforma de elipse - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Añadir una AutoShape de rectángulo. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Agrega una autoforma de rectángulo - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 100, 100) + # Añadir un conector a la colección de formas de la diapositiva. + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) - # Conecta las formas usando el conector + # Conectar las formas con el conector. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # Establece el índice del punto de conexión preferido sobre la forma elipse - wantedIndex = 6 - - # Verifica si el índice preferido es menor que el conteo máximo de índices de sitio - if ellipse.connection_site_count > wantedIndex: - # Establece el punto de conexión preferido sobre la autoforma elipse - connector.start_shape_connection_site_index = wantedIndex + # Establecer el índice del sitio de conexión preferido en la elipse. + site_index = 6 - # Guarda la presentación - presentation.save("Connecting_Shape_on_desired_connection_site_out.pptx", slides.export.SaveFormat.PPTX) + # Verificar que el índice preferido está dentro del recuento de sitios disponible. + if ellipse.connection_site_count > site_index: + # Asignar el sitio de conexión preferido en la AutoShape de la elipse. + connector.start_shape_connection_site_index = site_index + # Guardar la presentación. + presentation.save("connection_points.pptx", slides.export.SaveFormat.PPTX) ``` -## **Ajustar Punto del Conector** -Puedes ajustar un conector existente a través de sus puntos de ajuste. Solo los conectores con puntos de ajuste pueden ser alterados de esta manera. Consulta la tabla en **[Tipos de conectores.](/slides/es/python-net/connector/#types-of-connectors)** +## **Ajustar Puntos del Conector** -#### **Caso Simple** +Puede modificar los conectores usando sus puntos de ajuste. Sólo los conectores que exponen puntos de ajuste pueden editarse de esta forma. Para obtener detalles sobre qué conectores admiten ajustes, consulte la tabla bajo [Connector Types](/slides/es/python-net/connector/#connector-types). -Considera un caso donde un conector entre dos formas (A y B) pasa a través de una tercera forma (C): +### **Caso Simple** -![connector-obstruction](connector-obstruction.png) +Considere un caso donde un conector entre dos formas (A y B) intersecta una tercera forma (C): -Código: +![Obstrucción del conector](connector-obstruction.png) +Ejemplo de código: ```python import aspose.slides as slides import aspose.pydrawing as draw -with slides.Presentation() as pres: - sld = pres.slides[0] - shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.black - connector.start_shape_connected_to = shapeFrom - connector.end_shape_connected_to = shapeTo + connector.start_shape_connected_to = shape_from + connector.end_shape_connected_to = shape_to connector.start_shape_connection_site_index = 2 ``` -Para evitar o eludir la tercera forma, podemos ajustar el conector moviendo su línea vertical hacia la izquierda de esta manera: -![connector-obstruction-fixed](connector-obstruction-fixed.png) +Para evitar la tercera forma, ajuste el conector moviendo su segmento vertical hacia la izquierda: +![Obstrucción del conector corregida](connector-obstruction-fixed.png) ```python - adj2 = connector.adjustments[1] - adj2.raw_value += 10000 + adjustment2 = connector.adjustments[1] + adjustment2.raw_value += 10000 ``` -### **Casos Complejos** -Para realizar ajustes más complicados, debes tener en cuenta las siguientes cosas: +### **Casos Complejos** -* Un punto ajustable de un conector está estrechamente relacionado con una fórmula que calcula y determina su posición. Por lo tanto, los cambios en la ubicación del punto pueden alterar la forma del conector. -* Los puntos de ajuste de un conector están definidos en un estricto orden en un arreglo. Los puntos de ajuste están numerados desde el punto de inicio de un conector hasta su fin. -* Los valores de los puntos de ajuste reflejan el porcentaje del ancho/altura de la forma del conector. - * La forma está limitada por los puntos de inicio y fin del conector multiplicados por 1000. - * El primer punto, el segundo punto y el tercer punto definen el porcentaje del ancho, el porcentaje de la altura, y el porcentaje del ancho (nuevamente), respectivamente. -* Para cálculos que determinan las coordenadas de los puntos de ajuste de un conector, debes tener en cuenta la rotación del conector y su reflexión. **Nota** que el ángulo de rotación para todos los conectores mostrados bajo **[Tipos de conectores](/slides/es/python-net/connector/#types-of-connectors)** es 0. +Para ajustes más avanzados, considere lo siguiente: -#### **Caso 1** +- El punto ajustable de un conector está gobernado por una fórmula que determina su posición. Cambiar este punto puede alterar la forma general del conector. +- Los puntos de ajuste de un conector se almacenan en una matriz estrictamente ordenada, numerada desde el inicio del conector hasta su fin. +- Los valores de los puntos de ajuste representan porcentajes del ancho/alto de la forma del conector. -Considera un caso donde dos objetos de marco de texto están enlazados entre sí a través de un conector: + - La forma está limitada por los puntos de inicio y fin del conector y se escala por 1000. -![connector-shape-complex](connector-shape-complex.png) + - El primer, segundo y tercer punto de ajuste representan: porcentaje de ancho, porcentaje de alto y porcentaje de ancho (de nuevo), respectivamente. + +- Al calcular las coordenadas de los puntos de ajuste, tenga en cuenta la rotación y reflexión del conector. **Nota:** Para todos los conectores listados bajo [Connector Types](/slides/es/python-net/connector/#connector-types), el ángulo de rotación es 0. + +#### **Caso 1** -Código: +Considere un caso donde dos objetos de marco de texto están enlazados con un conector: +![Formas enlazadas](connector-shape-complex.png) ```python import aspose.slides as slides import aspose.pydrawing as draw -# Instancia una clase de presentación que representa un archivo PPTX -with slides.Presentation() as pres: - # Obtiene la primera diapositiva en la presentación - sld = pres.slides[0] - # Agrega formas que se unirán a través de un conector - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) - shapeFrom.text_frame.text = "Desde" - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) - shapeTo.text_frame.text = "A" - # Agrega un conector - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) - # Especifica la dirección del conector +# Instanciar la clase Presentation para crear un archivo PPTX. +with slides.Presentation() as presentation: + + # Obtener la primera diapositiva. + slide = presentation.slides[0] + + # Obtener la primera diapositiva. + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) + shape_from.text_frame.text = "From" + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) + shape_to.text_frame.text = "To" + + # Añadir un conector. + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) + # Establecer la dirección del conector. connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE - # Especifica el color del conector + # Establecer el color del conector. connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.crimson - # Especifica el grosor de la línea del conector + # Establecer el grosor de la línea del conector. connector.line_format.width = 3 - # Une las formas con el conector - connector.start_shape_connected_to = shapeFrom + # Vincular las formas con el conector. + connector.start_shape_connected_to = shape_from connector.start_shape_connection_site_index = 3 - connector.end_shape_connected_to = shapeTo + connector.end_shape_connected_to = shape_to connector.end_shape_connection_site_index = 2 - # Obtiene los puntos de ajuste para el conector - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] + # Obtener los puntos de ajuste del conector. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] ``` -**Ajuste** -Podemos cambiar los valores de los puntos de ajuste del conector aumentando el porcentaje correspondiente del ancho y la altura en un 20% y 200%, respectivamente: +**Adjustment** +Cambie los valores de los puntos de ajuste del conector aumentando el porcentaje de ancho en un 20 % y el porcentaje de alto en un 200 %, respectivamente: ```python - # Cambia los valores de los puntos de ajuste - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + # Cambiar los valores de los puntos de ajuste. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` -El resultado: -![connector-adjusted-1](connector-adjusted-1.png) +El resultado: -Para definir un modelo que nos permita determinar las coordenadas y la forma de las partes individuales del conector, vamos a crear una forma que corresponda al componente horizontal del conector en el punto connector.adjustments[0]: +![Ajuste del conector 1](connector-adjusted-1.png) +Para definir un modelo que nos permita determinar las coordenadas y la forma de los segmentos del conector, cree una forma que corresponda al componente vertical del conector en `connector.adjustments[0]`: ```python - # Dibuja el componente vertical del conector - - x = connector.x + connector.width * adjValue_0.raw_value / 100000 + # Dibujar el componente vertical del conector. + x = connector.x + connector.width * adjustment_0.raw_value / 100000 y = connector.y - height = connector.height * adjValue_1.raw_value / 100000 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) + height = connector.height * adjustment_1.raw_value / 100000 + + slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) ``` + El resultado: -![connector-adjusted-2](connector-adjusted-2.png) +![Ajuste del conector 2](connector-adjusted-2.png) #### **Caso 2** -En **Caso 1**, demostramos una operación simple de ajuste de conector usando principios básicos. En situaciones normales, debes tener en cuenta la rotación del conector y su visualización (que están establecidas por connector.rotation, connector.frame.flip_h y connector.frame.flip_v). Ahora vamos a demostrar el proceso. - -Primero, añadamos un nuevo objeto de marco de texto (**A 1**) a la diapositiva (con propósitos de conexión) y creamos un nuevo conector (verde) que lo conecta a los objetos que ya creamos. +En el **Caso 1**, demostramos un ajuste simple del conector usando principios básicos. En escenarios típicos, debe tener en cuenta la rotación del conector y sus configuraciones de visualización (controladas por `connector.rotation`, `connector.frame.flip_h` y `connector.frame.flip_v`). Así es como funciona el proceso. +Primero, añada un nuevo objeto de marco de texto (**To 1**) a la diapositiva (para conexión), y cree un nuevo conector verde que lo enlace a los objetos existentes. ```python - # Crea un nuevo objeto de unión - shapeTo_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) - shapeTo_1.text_frame.text = "A 1" - # Crea un nuevo conector + # Crear un nuevo objeto de destino. + shape_to_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) + shape_to_1.text_frame.text = "To 1" + + # Crear un nuevo conector. connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.medium_aquamarine connector.line_format.width = 3 - # Conecta objetos usando el nuevo conector creado + + # Conectar los objetos mediante el conector recién creado. connector.start_shape_connected_to = shapeFrom connector.start_shape_connection_site_index = 2 - connector.end_shape_connected_to = shapeTo_1 + connector.end_shape_connected_to = shape_to_1 connector.end_shape_connection_site_index = 3 - # Obtiene los puntos de ajuste del conector - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] - # Cambia los valores de los puntos de ajuste - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + + # Obtener los puntos de ajuste del conector. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] + + # Cambiar los valores de los puntos de ajuste. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + El resultado: -![connector-adjusted-3](connector-adjusted-3.png) +![Ajuste del conector 3](connector-adjusted-3.png) -En segundo lugar, crear una forma que corresponderá al componente horizonal del conector que pasa a través del punto de ajuste connector.adjustments[0]. Usaremos los valores de los datos del conector para connector.rotation, connector.frame.flip_h y connector.frame.flip_v y aplicaremos la popular fórmula de conversión de coordenadas para rotación alrededor de un punto dado x0: +Segundo, cree una forma que corresponda al segmento **horizontal** del conector que pasa por el nuevo punto de ajuste del conector, `connector.adjustments[0]`. Utilice los valores de `connector.rotation`, `connector.frame.flip_h` y `connector.frame.flip_v`, y aplique la fórmula estándar de conversión de coordenadas para rotación alrededor de un punto dado `x0`: X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; - Y = (x — x0) * sin(alpha) + (y — y0) * cos(alpha) + y0; -En nuestro caso, el ángulo del objeto es de 90 grados y el conector se muestra verticalmente, así que este es el código correspondiente: - +En nuestro caso, el ángulo de rotación del objeto es 90 grados y el conector se muestra verticalmente, por lo que el código correspondiente es: ```python - # Guarda las coordenadas del conector + # Guardar las coordenadas del conector. x = connector.x y = connector.y - # Corrige las coordenadas del conector en caso de que aparezca + + # Corregir las coordenadas del conector si está invertido. if connector.frame.flip_h == 1: x += connector.width if connector.frame.flip_v == 1: y += connector.height - # Toma el valor del punto de ajuste como coordenada + # Usar el valor del punto de ajuste como coordenada. x += connector.width * adjValue_0.raw_value / 100000 - # Convierte las coordenadas ya que Sin(90) = 1 y Cos(90) = 0 + # Convertir las coordenadas porque sin(90°) = 1 y cos(90°) = 0. xx = connector.frame.center_x - y + connector.frame.center_y yy = x - connector.frame.center_x + connector.frame.center_y - # Determina el ancho del componente horizontal usando el segundo valor del punto de ajuste + # Determinar el ancho del segmento horizontal usando el valor del segundo punto de ajuste. width = connector.height * adjValue_1.raw_value / 100000 shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, xx, yy, width, 0) shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red ``` + El resultado: -![connector-adjusted-4](connector-adjusted-4.png) +![Ajuste del conector 4](connector-adjusted-4.png) -Demostramos cálculos que involucran ajustes simples y puntos de ajuste complicados (puntos de ajuste con ángulos de rotación). Usando el conocimiento adquirido, puedes desarrollar tu propio modelo (o escribir un código) para obtener un objeto `GraphicsPath` o incluso establecer los valores de los puntos de ajuste de un conector en función de coordenadas específicas de la diapositiva. +Demostramos cálculos que involucran ajustes simples y puntos de ajuste más complejos (aquellos que consideran la rotación). Con este conocimiento, puede desarrollar su propio modelo —o escribir código— para obtener un objeto `GraphicsPath` o incluso establecer los valores de los puntos de ajuste de un conector basándose en coordenadas específicas de la diapositiva. -## **Encontrar Ángulo de Líneas de Conector** +## **Encontrar Ángulos de Líneas de Conector** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtén una referencia de la diapositiva a través de su índice. -1. Accede a la forma de línea del conector. -1. Usa la anchura de la línea, altura, altura del marco de la forma y anchura del marco de la forma para calcular el ángulo. +Utilice el ejemplo a continuación para determinar el ángulo de las líneas de conector en una diapositiva con Aspose.Slides. Aprenderá cómo leer los puntos finales de un conector y calcular su orientación para alinear con precisión flechas, etiquetas y otras formas. -Este código Python demuestra una operación en la que calculamos el ángulo para una forma de línea de conector: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenga una referencia a la diapositiva por índice. +1. Acceda a la forma de línea del conector. +1. Utilice el ancho y alto de la línea, y el ancho y alto del marco de la forma, para calcular el ángulo. +El siguiente código Python muestra cómo calcular el ángulo para una forma de línea de conector: ```python import aspose.slides as slides import math -def get_direction(w, h, flipH, flipV): - endLineX = w * (-1 if flipH else 1) - endLineY = h * (-1 if flipV else 1) - endYAxisX = 0 - endYAxisY = h - angle = math.atan2(endYAxisY, endYAxisX) - math.atan2(endLineY, endLineX) +def get_direction(w, h, flip_h, flip_v): + end_line_x = w * (-1 if flip_h else 1) + end_line_y = h * (-1 if flip_v else 1) + end_y_axis_x = 0 + end_y_axis_y = h + angle = math.atan2(end_y_axis_y, end_y_axis_x) - math.atan2(end_line_y, end_line_x) if (angle < 0): angle += 2 * math.pi return angle * 180.0 / math.pi -with slides.Presentation(path + "ConnectorLineAngle.pptx") as pres: - slide = pres.slides[0] - for i in range(len(slide.shapes)): - dir = 0.0 - shape = slide.shapes[i] - if (type(shape) is slides.AutoShape): - if shape.shape_type == slides.ShapeType.LINE: - dir = get_direction(shape.width, shape.Height, shape.frame.flip_h, shape.frame.flip_v) +with slides.Presentation("connector_line_angle.pptx") as presentation: + slide = presentation.slides[0] + for shape_index in range(len(slide.shapes)): + direction = 0.0 + shape = slide.shapes[shape_index] + if type(shape) is slides.AutoShape and shape.shape_type == slides.ShapeType.LINE: + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) elif type(shape) is slides.Connector: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + print(direction) +``` + + +## **FAQ** + +**¿Cómo puedo saber si un conector puede estar «pegado» a una forma específica?** + +Verifique que la forma exponga [puntos de conexión](https://reference.aspose.com/slides/python-net/aspose.slides/shape/connection_site_count/). Si no hay ninguno o el recuento es cero, la función de pegado no está disponible; en ese caso, use puntos finales libres y colóquelos manualmente. Es aconsejable comprobar el recuento de sitios antes de adjuntar. + +**¿Qué ocurre con un conector si elimino una de las formas conectadas?** + +Sus extremos se desacoplarán; el conector permanecerá en la diapositiva como una línea ordinaria con inicio y fin libres. Puede eliminarlo o reasignar las conexiones y, si es necesario, [reroute](https://reference.aspose.com/slides/python-net/aspose.slides/connector/reroute/). - print(dir) +**¿Se conservan los enlaces de los conectores al copiar una diapositiva a otra presentación?** -``` \ No newline at end of file +Generalmente sí, siempre que las formas objetivo también se copien. Si la diapositiva se inserta en otro archivo sin las formas conectadas, los extremos se vuelven libres y deberá volver a adjuntarlos. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md index d7bcd6fed6..5b68a09d58 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md @@ -1,160 +1,204 @@ --- -title: Forma personalizada +title: Personalizar formas en presentaciones con Python +linktitle: Forma personalizada type: docs weight: 20 url: /es/python-net/custom-shape/ -keywords: "forma de PowerPoint, forma personalizada, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Agrega una forma personalizada en una presentación de PowerPoint en Python" +keywords: +- forma personalizada +- agregar forma +- crear forma +- cambiar forma +- geometría de forma +- ruta de geometría +- puntos de ruta +- editar puntos +- agregar punto +- eliminar punto +- operación de edición +- esquina curvada +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Crear y personalizar formas en presentaciones de PowerPoint y OpenDocument con Aspose.Slides para Python mediante .NET: rutas de geometría, esquinas curvadas, formas compuestas." --- -# Cambiar una forma usando puntos de edición +## **Descripción general** -Considera un cuadrado. En PowerPoint, utilizando **puntos de edición**, puedes +Considere un cuadrado. En PowerPoint, usando **Edit Points**, puede: -* mover la esquina del cuadrado hacia adentro o hacia afuera -* especificar la curvatura para una esquina o punto -* agregar nuevos puntos al cuadrado -* manipular puntos en el cuadrado, etc. +* mover la esquina de un cuadrado hacia adentro o hacia afuera, +* ajustar la curvatura de una esquina o punto, +* agregar nuevos puntos al cuadrado, +* manipular sus puntos. -Esencialmente, puedes realizar las tareas descritas en cualquier forma. Usando puntos de edición, puedes cambiar una forma o crear una nueva forma a partir de una forma existente. +Puede aplicar estas operaciones a cualquier forma. Con **Edit Points**, puede modificar una forma o crear una nueva a partir de una forma existente. -## Consejos para la edición de formas +## **Consejos para editar formas** -![overview_image](custom_shape_0.png) +![Comando "Edit Points"](custom_shape_0.png) -Antes de comenzar a editar formas de PowerPoint a través de puntos de edición, quizás quieras considerar estos puntos sobre las formas: +Antes de comenzar a editar formas de PowerPoint usando **Edit Points**, tenga en cuenta estas notas sobre las formas: -* Una forma (o su camino) puede ser cerrada o abierta. -* Cuando una forma está cerrada, no tiene un punto de inicio o fin. Cuando una forma está abierta, tiene un comienzo y un final. -* Todas las formas constan de al menos 2 puntos de anclaje vinculados entre sí por líneas. -* Una línea es recta o curva. Los puntos de anclaje determinan la naturaleza de la línea. -* Los puntos de anclaje existen como puntos de esquina, puntos rectos o puntos suaves: - * Un punto de esquina es un punto donde 2 líneas rectas se unen en un ángulo. - * Un punto suave es un punto donde 2 mangos existen en una línea recta y los segmentos de la línea se unen en una curva suave. En este caso, todos los mangos están separados del punto de anclaje por una distancia igual. - * Un punto recto es un punto donde 2 mangos existen en una línea recta y los segmentos de esa línea se unen en una curva suave. En este caso, los mangos no tienen que estar separados del punto de anclaje por una distancia igual. -* Al mover o editar puntos de anclaje (lo que cambia el ángulo de las líneas), puedes cambiar la forma en que se ve una forma. +* Una forma (o su trayectoria) puede ser **cerrada** o **abierta**. +* Una forma cerrada no tiene punto de inicio ni de fin; una forma abierta tiene un comienzo y un final. +* Cada forma tiene al menos dos puntos de anclaje conectados por segmentos de línea. +* Un segmento es recto o curvo; los puntos de anclaje determinan la naturaleza del segmento. +* Los puntos de anclaje pueden ser **corner**, **smooth** o **straight**: + * Un punto **corner** es donde dos segmentos rectos se encuentran en un ángulo. + * Un punto **smooth** tiene dos manejadores que son colineales, y los segmentos adyacentes forman una curva suave. En este caso, ambos manejadores están a la misma distancia del punto de anclaje. + * Un punto **straight** también tiene dos manejadores colineales, y los segmentos adyacentes forman una curva suave. En este caso, los manejadores no tienen que estar a la misma distancia del punto de anclaje. +* Al mover o editar los puntos de anclaje (cambiando así los ángulos de los segmentos), puede modificar la apariencia de la forma. -Para editar formas de PowerPoint a través de puntos de edición, **Aspose.Slides** proporciona la clase [**GeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) y la interfaz [**IGeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). +Para editar formas de PowerPoint, Aspose.Slides proporciona la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -* Una instancia de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) representa un camino geométrico del objeto [IGeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/). -* Para recuperar el `GeometryPath` de la instancia `IGeometryShape`, puedes usar el método [IGeometryShape.GetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/). -* Para establecer el `GeometryPath` para una forma, puedes usar estos métodos: [IGeometryShape.SetGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) para *formas sólidas* y [IGeometryShape.SetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) para *formas compuestas*. -* Para agregar segmentos, puedes usar los métodos bajo [IGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). -* Usando las propiedades [IGeometryPath.Stroke](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) y [IGeometryPath.FillMode](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/), puedes establecer la apariencia para un camino geométrico. -* Usando la propiedad [IGeometryPath.PathData](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/properties/pathdata), puedes recuperar el camino geométrico de una `GeometryShape` como un array de segmentos de camino. -* Para acceder a opciones adicionales de personalización de geometría de la forma, puedes convertir [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) a [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -* Usa los métodos `GeometryPathToGraphicsPath` y `GraphicsPathToGeometryPath` (de la clase [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/)) para convertir `GeometryPath` a `GraphicsPath` y viceversa. +* Una instancia de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) representa la trayectoria geométrica de un objeto [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +* Para obtener el [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) de una instancia de [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/), use el método [GeometryShape.get_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/get_geometry_paths/). +* Para establecer el [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) de una forma, use [GeometryShape.set_geometry_path](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_path/) para *formas sólidas* y [GeometryShape.set_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_paths/) para *formas compuestas*. +* Para agregar segmentos, use los métodos de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +* Use las propiedades [GeometryPath.stroke](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/stroke/) y [GeometryPath.fill_mode](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/fill_mode/) para controlar la apariencia de una trayectoria geométrica. +* Use la propiedad [GeometryPath.path_data](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/path_data/) para obtener la trayectoria geométrica de una forma como una matriz de segmentos de ruta. ## **Operaciones de edición simples** -Este código en Python te muestra cómo - -**Agregar una línea** al final de un camino: +Los siguientes métodos se utilizan para operaciones de edición simples. +**Agregar una línea** al final de una ruta: ```py line_to(point) line_to(x, y) ``` -**Agregar una línea** a una posición especificada en un camino: + +**Agregar una línea** en una posición especificada en una ruta: ```py line_to(point, index) line_to(x, y, index) ``` -**Agregar una curva de Bezier cúbica** al final de un camino: + +**Agregar una curva Bezier cúbica** al final de una ruta: ```py cubic_bezier_to(point1, point2, point3) cubic_bezier_to(x1, y1, x2, y2, x3, y3) ``` -**Agregar una curva de Bezier cúbica** a la posición especificada en un camino: + +**Agregar una curva Bezier cúbica** en una posición especificada en una ruta: ```py cubic_bezier_to(point1, point2, point3, index) cubic_bezier_to(x1, y1, x2, y2, x3, y3, index) ``` -**Agregar una curva de Bezier cuadrática** al final de un camino: + + +**Agregar una curva Bezier cuadrática** al final de una ruta: ```py quadratic_bezier_to(point1, point2) quadratic_bezier_to(x1, y1, x2, y2) ``` -**Agregar una curva de Bezier cuadrática** a una posición especificada en un camino: + +**Agregar una curva Bezier cuadrática** en una posición especificada en una ruta: ```py quadratic_bezier_to(point1, point2, index) quadratic_bezier_to(x1, y1, x2, y2, index) ``` -**Agregar un arco dado** a un camino: + + +**Agregar un arco** a una ruta: ```py arc_to(width, heigth, startAngle, sweepAngle) ``` -**Cerrar la figura actual** de un camino: + + +**Cerrar la figura actual** en una ruta: ```py close_figure() ``` -**Establecer la posición para el próximo punto**: + + +**Establecer la posición para el siguiente punto**: ```py move_to(point) move_to(x, y) ``` -**Eliminar el segmento del camino** en un índice dado: + +**Eliminar el segmento de la ruta** en un índice dado: ```py remove_at(index) ``` -## Agregar puntos personalizados a la forma -1. Crea una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) y establece el [ShapeType.Rectangle](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). -2. Obtén una instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) del objeto forma. -3. Agrega un nuevo punto entre los dos puntos superiores en el camino. -4. Agrega un nuevo punto entre los dos puntos inferiores en el camino. -6. Aplica el camino a la forma. -Este código en Python te muestra cómo agregar puntos personalizados a una forma: + +## **Agregar puntos personalizados a formas** + +Aprenderá cómo definir una forma libre agregando su propia secuencia de puntos. Al especificar puntos ordenados y tipos de segmento (recto o curvo) y opcionalmente cerrar la ruta, puede dibujar gráficos personalizados precisos—polígonos, íconos, llamadas o logotipos—directamente en sus diapositivas. + +1. Cree una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) y establezca su [ShapeType.RECTANGLE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). +2. Obtenga una instancia de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) de la forma. +3. Inserte un nuevo punto entre los dos puntos superiores de la ruta. +4. Inserte un nuevo punto entre los dos puntos inferiores de la ruta. +5. Aplique la ruta actualizada a la forma. ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath = shape.get_geometry_paths()[0] +with slides.Presentation() as presentation: + slide = presentation.slides[0] - geometryPath.line_to(100, 50, 1) - geometryPath.line_to(100, 50, 4) - shape.set_geometry_path(geometryPath) + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) + + geometry_path = shape.get_geometry_paths()[0] + geometry_path.line_to(100, 50, 1) + geometry_path.line_to(100, 50, 4) + + shape.set_geometry_path(geometry_path) + + presentation.save("custom_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example1_image](custom_shape_1.png) -## Eliminar puntos de una forma +![Puntos personalizados](custom_shape_1.png) -1. Crea una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) y establece el tipo [ShapeType.Heart](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). -2. Obtén una instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) del objeto forma. -3. Elimina el segmento para el camino. -4. Aplica el camino a la forma. +## **Eliminar puntos de formas** -Este código en Python te muestra cómo eliminar puntos de una forma: +A veces una forma personalizada contiene puntos innecesarios que complican su geometría o afectan su renderizado. Esta sección muestra cómo eliminar puntos específicos de la ruta de una forma para simplificar el contorno y obtener resultados más limpios y precisos. + +1. Cree una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) y establezca su tipo [ShapeType.HEART](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). +2. Obtenga una instancia de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) de la forma. +3. Elimine un segmento de la ruta. +4. Aplique la ruta actualizada a la forma. ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) + + path = shape.get_geometry_paths()[0] + path.remove_at(2) + + shape.set_geometry_path(path) - path = shape.get_geometry_paths()[0] - path.remove_at(2) - shape.set_geometry_path(path) + presentation.save("removed_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example2_image](custom_shape_2.png) -## Crear forma personalizada -1. Calcula los puntos para la forma. -2. Crea una instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -3. Llena el camino con los puntos. -4. Crea una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -5. Aplica el camino a la forma. +![Puntos eliminados](custom_shape_2.png) -Este código en Python te muestra cómo crear una forma personalizada: +## **Crear formas personalizadas** + +Cree formas vectoriales a medida definiendo un [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) y componiéndolo a partir de líneas, arcos y curvas Bézier. Esta sección muestra cómo construir una geometría personalizada desde cero y agregar la forma resultante a su diapositiva. + +1. Calcule los puntos para la forma. +2. Cree una instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +3. Rellene la ruta con los puntos. +4. Cree una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +5. Aplique la ruta a la forma. ```py import aspose.slides as slides @@ -178,128 +222,147 @@ for angle in range(-90, 270, step): y = r * math.sin(radians) points.append(draw.PointF(x + R, y + R)) -starPath = slides.GeometryPath() -starPath.move_to(points[0]) +star_path = slides.GeometryPath() +star_path.move_to(points[0]) for i in range(len(points)): - starPath.line_to(points[i]) + star_path.line_to(points[i]) + +star_path.close_figure() -starPath.close_figure() +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) + shape.set_geometry_path(star_path) -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) - shape.set_geometry_path(starPath) + presentation.save("custom_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example3_image](custom_shape_3.png) -## Crear forma personalizada compuesta +![Forma personalizada](custom_shape_3.png) + +## **Crear formas compuestas personalizadas** - 1. Crea una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). - 2. Crea una primera instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). - 3. Crea una segunda instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). - 4. Aplica los caminos a la forma. +Crear una forma compuesta personalizada le permite combinar múltiples trayectorias geométricas en una sola forma reutilizable en una diapositiva. Defina y fusione estas rutas para construir visuales complejos que van más allá del conjunto estándar de formas. -Este código en Python te muestra cómo crear una forma personalizada compuesta: +1. Cree una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +2. Cree la primera instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +3. Cree la segunda instancia de la clase [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +4. Aplique ambas rutas a la forma. ```py import aspose.slides as slides -import aspose.pydrawing as draw -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath0 = slides.GeometryPath() - geometryPath0.move_to(0, 0) - geometryPath0.line_to(shape.width, 0) - geometryPath0.line_to(shape.width, shape.height/3) - geometryPath0.line_to(0, shape.height / 3) - geometryPath0.close_figure() + geometry_path_0 = slides.GeometryPath() + geometry_path_0.move_to(0, 0) + geometry_path_0.line_to(shape.width, 0) + geometry_path_0.line_to(shape.width, shape.height/3) + geometry_path_0.line_to(0, shape.height / 3) + geometry_path_0.close_figure() - geometryPath1 = slides.GeometryPath() - geometryPath1.move_to(0, shape.height/3 * 2) - geometryPath1.line_to(shape.width, shape.height / 3 * 2) - geometryPath1.line_to(shape.width, shape.height) - geometryPath1.line_to(0, shape.height) - geometryPath1.close_figure() + geometry_path_1 = slides.GeometryPath() + geometry_path_1.move_to(0, shape.height/3 * 2) + geometry_path_1.line_to(shape.width, shape.height / 3 * 2) + geometry_path_1.line_to(shape.width, shape.height) + geometry_path_1.line_to(0, shape.height) + geometry_path_1.close_figure() - shape.set_geometry_paths([ geometryPath0, geometryPath1]) + shape.set_geometry_paths([ geometry_path_0, geometry_path_1]) + + presentation.save("composite_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example4_image](custom_shape_4.png) -## **Crear una forma personalizada con esquinas redondeadas** -Este código en Python te muestra cómo crear una forma personalizada con esquinas redondeadas (hacia adentro): +![Forma compuesta](custom_shape_4.png) + +## **Crear formas personalizadas con esquinas curvadas** + +Esta sección muestra cómo dibujar una forma personalizada con esquinas suavemente curvadas usando una trayectoria geométrica. Combinará segmentos rectos y arcos circulares para formar el contorno y agregará la forma terminada a su diapositiva. ```py import aspose.slides as slides import aspose.pydrawing as draw -shapeX = 20 -shapeY = 20 -shapeWidth = 300 -shapeHeight = 200 +shape_x = 20 +shape_y = 20 +shape_width = 300 +shape_height = 200 -leftTopSize = 50 -rightTopSize = 20 -rightBottomSize = 40 -leftBottomSize = 10 +left_top_size = 50 +right_top_size = 20 +right_bottom_size = 40 +left_bottom_size = 10 with slides.Presentation() as presentation: - childShape = presentation.slides[0].shapes.add_auto_shape( - slides.ShapeType.CUSTOM, shapeX, shapeY, shapeWidth, shapeHeight) + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape( + slides.ShapeType.CUSTOM, shape_x, shape_y, shape_width, shape_height) + + point1 = draw.PointF(left_top_size, 0) + point2 = draw.PointF(shape_width - right_top_size, 0) + point3 = draw.PointF(shape_width, shape_height - right_bottom_size) + point4 = draw.PointF(left_bottom_size, shape_height) + point5 = draw.PointF(0, left_top_size) + + geometry_path = slides.GeometryPath() + geometry_path.move_to(point1) + geometry_path.line_to(point2) + geometry_path.arc_to(right_top_size, right_top_size, 180, -90) + geometry_path.line_to(point3) + geometry_path.arc_to(right_bottom_size, right_bottom_size, -90, -90) + geometry_path.line_to(point4) + geometry_path.arc_to(left_bottom_size, left_bottom_size, 0, -90) + geometry_path.line_to(point5) + geometry_path.arc_to(left_top_size, left_top_size, 90, -90) + geometry_path.close_figure() + + shape.set_geometry_path(geometry_path) + + presentation.save("curved_corners.pptx", slides.export.SaveFormat.PPTX) +``` - geometryPath = slides.GeometryPath() - point1 = draw.PointF(leftTopSize, 0) - point2 = draw.PointF(shapeWidth - rightTopSize, 0) - point3 = draw.PointF(shapeWidth, shapeHeight - rightBottomSize) - point4 = draw.PointF(leftBottomSize, shapeHeight) - point5 = draw.PointF(0, leftTopSize) +![Esquinas curvadas](custom_shape_6.png) - geometryPath.move_to(point1) - geometryPath.line_to(point2) - geometryPath.arc_to(rightTopSize, rightTopSize, 180, -90) - geometryPath.line_to(point3) - geometryPath.arc_to(rightBottomSize, rightBottomSize, -90, -90) - geometryPath.line_to(point4) - geometryPath.arc_to(leftBottomSize, leftBottomSize, 0, -90) - geometryPath.line_to(point5) - geometryPath.arc_to(leftTopSize, leftTopSize, 90, -90) +## **Determinar si la geometría de una forma está cerrada** - geometryPath.close_figure() +Una forma cerrada se define como aquella en la que todos sus lados se conectan, formando un único contorno sin huecos. Dicha forma puede ser una forma geométrica sencilla o un contorno personalizado complejo. El siguiente ejemplo de código muestra cómo verificar si la geometría de una forma está cerrada: +```py +def is_geometry_closed(geometry_shape): + is_closed = None - childShape.set_geometry_path(geometryPath) + for geometry_path in geometry_shape.get_geometry_paths(): + data_length = len(geometry_path.path_data) + if data_length == 0: + continue - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` + last_segment = geometry_path.path_data[data_length - 1] + is_closed = last_segment.path_command == PathCommandType.CLOSE -## Conversión de GeometryPath a GraphicsPath (System.Drawing.Drawing2D) + if not is_closed: + return False -1. Crea una instancia de la clase [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -2. Crea una instancia de la clase [GrpahicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) del nombre de espacio [System.Drawing.Drawing2D](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -3. Convierte la instancia de [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) a la instancia de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) usando [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/). -4. Aplica los caminos a la forma. + return is_closed +``` -Este código en Python—una implementación de los pasos anteriores—demuestra el proceso de conversión de **GeometryPath** a **GraphicsPath**: -```py -import aspose.slides as slides -import aspose.pydrawing as draw +## **Preguntas frecuentes** -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 100) +**¿Qué ocurrirá con el relleno y el contorno después de reemplazar la geometría?** - originalPath = shape.get_geometry_paths()[0] - originalPath.fill_mode = slides.PathFillModeType.NONE +El estilo permanece con la forma; solo cambia el contorno. El relleno y el contorno se aplican automáticamente a la nueva geometría. - gPath = draw.drawing2d.GraphicsPath() +**¿Cómo rotar correctamente una forma personalizada junto con su geometría?** - gPath.add_string("Texto en la forma", draw.FontFamily("Arial"), 1, 40, draw.PointF(10, 10), draw.StringFormat.generic_default) +Use la propiedad [rotation](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/rotation/) de la forma; la geometría rota con la forma porque está vinculada al propio sistema de coordenadas de la forma. - textPath = slides.util.ShapeUtil.graphics_path_to_geometry_path(gPath) - textPath.fill_mode = slides.PathFillModeType.NORMAL +**¿Puedo convertir una forma personalizada en una imagen para "bloquear" el resultado?** - shape.set_geometry_paths([originalPath, textPath]) -``` -![example5_image](custom_shape_5.png) \ No newline at end of file +Sí. Exporte el área de la [slide](/slides/es/python-net/convert-powerpoint-to-png/) requerida o la propia [shape](/slides/es/python-net/create-shape-thumbnails/) a un formato raster; esto simplifica el trabajo posterior con geometrías complejas. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md index cdb5e12f98..3e83d1410f 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md @@ -1,5 +1,5 @@ --- -title: Agregar elipses a presentaciones en Python +title: Agregar Elipses a Presentaciones en Python linktitle: Elipse type: docs weight: 30 @@ -16,19 +16,18 @@ keywords: - presentación - Python - Aspose.Slides -description: "Aprenda cómo crear, formatear y manipular formas de elipse en Aspose.Slides for Python via .NET en presentaciones PPT, PPTX y ODP; se incluyen ejemplos de código." +description: "Aprenda a crear, formatear y manipular formas de elipse en Aspose.Slides para Python a través de .NET en presentaciones PPT, PPTX y ODP, con ejemplos de código incluidos." --- ## **Crear Elipse** -En este tema, presentaremos a los desarrolladores cómo agregar formas de elipse a sus diapositivas utilizando Aspose.Slides para Python a través de .NET. Aspose.Slides para Python a través de .NET proporciona un conjunto más fácil de APIs para dibujar diferentes tipos de formas con solo unas pocas líneas de código. Para agregar una elipse simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: +En este tema, presentaremos a los desarrolladores cómo agregar formas de elipse a sus diapositivas usando Aspose.Slides for Python via .NET. Aspose.Slides for Python via .NET ofrece un conjunto de API más sencillo para dibujar diferentes tipos de formas con solo unas pocas líneas de código. Para agregar una elipse simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: -1. Cree una instancia de la clase [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) -1. Obtenga la referencia de una diapositiva utilizando su índice -1. Agregue una AutoShape de tipo Elipse utilizando el método AddAutoShape expuesto por el objeto IShapes -1. Escriba la presentación modificada como un archivo PPTX - -En el ejemplo que se presenta a continuación, hemos agregado una elipse a la primera diapositiva. +1. Crear una instancia de la clase [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. Obtener la referencia de una diapositiva usando su Index +3. Agregar un AutoShape de tipo Ellipse usando el método AddAutoShape expuesto por el objeto IShapes +4. Guardar la presentación modificada como un archivo PPTX +En el ejemplo a continuación, hemos agregado una elipse a la primera diapositiva. ```py import aspose.slides as slides @@ -37,29 +36,27 @@ with slides.Presentation() as pres: # Obtener la primera diapositiva sld = pres.slides[0] - # Agregar AutoShape de tipo elipse + # Agregar una autoforma de tipo elipse sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Escribir el archivo PPTX en el disco + #Guardar el archivo PPTX en disco pres.save("EllipseShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` - ## **Crear Elipse Formateada** Para agregar una elipse mejor formateada a una diapositiva, siga los pasos a continuación: -1. Cree una instancia de la clase [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenga la referencia de una diapositiva utilizando su índice. -1. Agregue una AutoShape de tipo Elipse utilizando el método AddAutoShape expuesto por el objeto IShapes. -1. Establezca el tipo de relleno de la elipse a Sólido. -1. Establezca el color de la elipse utilizando la propiedad SolidFillColor.Color expuesta por el objeto FillFormat asociado al objeto IShape. -1. Establezca el color de las líneas de la elipse. -1. Establezca el ancho de las líneas de la elipse. -1. Escriba la presentación modificada como un archivo PPTX. - -En el ejemplo que se presenta a continuación, hemos agregado una elipse formateada a la primera diapositiva de la presentación. +1. Crear una instancia de la clase [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtener la referencia de una diapositiva usando su Index. +3. Agregar un AutoShape de tipo Ellipse usando el método AddAutoShape expuesto por el objeto IShapes. +4. Establecer el tipo de relleno de la elipse a sólido. +5. Establecer el color de la elipse usando la propiedad SolidFillColor.Color expuesta por el objeto FillFormat asociado al objeto IShape. +6. Establecer el color de las líneas de la elipse. +7. Establecer el ancho de las líneas de la elipse. +8. Guardar la presentación modificada como un archivo PPTX. +En el ejemplo a continuación, hemos agregado una elipse formateada a la primera diapositiva de la presentación. ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -69,18 +66,30 @@ with slides.Presentation() as pres: # Obtener la primera diapositiva sld = pres.slides[0] - # Agregar AutoShape de tipo elipse + # Agregar una autoforma de tipo elipse shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Aplicar un formato a la forma de elipse + # Aplicar algo de formato a la forma de elipse shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Aplicar un formato a la línea de la elipse + # Aplicar algo de formato a la línea de la elipse shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # Escribir el archivo PPTX en el disco + #Guardar el archivo PPTX en disco pres.save("EllipseShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Cómo establezco la posición exacta y el tamaño de una elipse respecto a las unidades de la diapositiva?** +Las coordenadas y tamaños se especifican típicamente **en puntos**. Para obtener resultados predecibles, base sus cálculos en el tamaño de la diapositiva y convierta los milímetros o pulgadas necesarios a puntos antes de asignar los valores. + +**¿Cómo puedo colocar una elipse por encima o por debajo de otros objetos (controlar el orden de apilamiento)?** +Ajuste el orden de dibujo del objeto llevándolo al frente o enviándolo al fondo. Esto permite que la elipse se superponga a otros objetos o revele los que están debajo de ella. + +**¿Cómo animo la aparición o énfasis de una elipse?** +[Apply](/slides/es/python-net/shape-animation/) efectos de entrada, énfasis o salida a la forma, y configure disparadores y temporización para orquestar cuándo y cómo se reproduce la animación. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md index c82cdf9fcf..fa7cf6d9b6 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md @@ -1,79 +1,113 @@ --- -title: Línea +title: Crear formas de línea en presentaciones con Python +linktitle: Línea type: docs weight: 50 url: /es/python-net/line/ -keywords: "Línea, forma de PowerPoint, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Agregar línea en presentación de PowerPoint en Python" +keywords: +- línea +- crear línea +- añadir línea +- línea simple +- configurar línea +- personalizar línea +- estilo de guión +- cabeza de flecha +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Aprenda a manipular el formato de líneas en presentaciones PowerPoint y OpenDocument con Aspose.Slides para Python mediante .NET. Descubra propiedades, métodos y ejemplos." --- -Aspose.Slides para Python a través de .NET admite agregar diferentes tipos de formas a las diapositivas. En este tema, comenzaremos a trabajar con formas agregando líneas a las diapositivas. Usando Aspose.Slides para Python a través de .NET, los desarrolladores no solo pueden crear líneas simples, sino que también se pueden dibujar algunas líneas elegantes en las diapositivas. -## **Crear Línea Simple** -Para agregar una línea simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: +## **Descripción general** -- Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Obtenga la referencia de una diapositiva utilizando su índice. -- Agregue una AutoShape de tipo Línea usando el método [add_auto_shape](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) expuesto por el objeto Shapes. -- Escriba la presentación modificada como un archivo PPTX. +Aspose.Slides para Python mediante .NET admite la incorporación de diferentes tipos de formas a las diapositivas. En este tema, comenzaremos a trabajar con formas añadiendo líneas a las diapositivas. Con Aspose.Slides, los desarrolladores pueden no solo crear líneas simples, sino también dibujar líneas más elaboradas en las diapositivas. -En el ejemplo dado a continuación, hemos agregado una línea a la primera diapositiva de la presentación. +## **Crear líneas simples** +Utilice Aspose.Slides para añadir una línea simple a una diapositiva como separador o conector sencillo. Para añadir una línea simple a una diapositiva seleccionada en una presentación, siga estos pasos: + +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenga una referencia a la diapositiva por índice. +1. Añada un [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) de tipo `LINE` usando el método `add_auto_shape` en el objeto [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Guarde la presentación como un archivo PPTX. + +En el ejemplo siguiente, se añade una línea a la primera diapositiva de la presentación. ```py import aspose.slides as slides -# Instanciar la clase PresentationEx que representa el archivo PPTX -with slides.Presentation() as pres: - # Obtener la primera diapositiva - sld = pres.slides[0] +# Instanciar la clase Presentation. +with slides.Presentation() as presentation: - # Agregar una autoshape de tipo línea - sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + # Obtener la primera diapositiva. + slide = presentation.slides[0] - # Escribir el PPTX en el disco - pres.save("LineShape1_out.pptx", slides.export.SaveFormat.PPTX) + # Añadir una autoforma de tipo LINE. + slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # Guardar la presentación como archivo PPTX. + presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX) ``` -## **Crear Línea con Forma de Flecha** -Aspose.Slides para Python a través de .NET también permite a los desarrolladores configurar algunas propiedades de la línea para hacerla más atractiva. Intentemos configurar algunas propiedades de una línea para que parezca una flecha. Siga los pasos a continuación para hacerlo: +## **Crear líneas en forma de flecha** -- Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Obtenga la referencia de una diapositiva utilizando su índice. -- Agregue una AutoShape de tipo Línea usando el método AddAutoShape expuesto por el objeto Shapes. -- Establezca el estilo de línea en uno de los estilos ofrecidos por Aspose.Slides para Python a través de .NET. -- Establezca el ancho de la línea. -- Establezca el [Estilo de Guion](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) de la línea en uno de los estilos ofrecidos por Aspose.Slides para Python a través de .NET. -- Establezca el [Estilo de Cabeza de Flecha](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) y la longitud del punto de inicio de la línea. -- Establezca el estilo de la cabeza de flecha y la longitud del punto final de la línea. -- Escriba la presentación modificada como un archivo PPTX. +Aspose.Slides le permite configurar las propiedades de la línea para que resulten más atractivas visualmente. A continuación, configuramos algunas propiedades de una línea para que tenga forma de flecha. Siga estos pasos: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenga una referencia a una diapositiva por índice. +1. Añada un [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) de tipo `LINE` usando el método `add_auto_shape` en el objeto [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Establezca el [estilo de línea](https://reference.aspose.com/slides/python-net/aspose.slides/linestyle/). +1. Establezca el ancho de la línea. +1. Establezca el [estilo de guión](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/). +1. Establezca el [estilo de cabeza de flecha](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) y la longitud para el punto de inicio de la línea. +1. Establezca el estilo de cabeza de flecha y la longitud para el punto final de la línea. +1. Guarde la presentación como un archivo PPTX. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instanciar la clase PresentationEx que representa el archivo PPTX -with slides.Presentation() as pres: - # Obtener la primera diapositiva - sld = pres.slides[0] +# Instanciar la clase Presentation que representa el archivo PPTX. +with slides.Presentation() as presentation: + # Obtener la primera diapositiva. + slide = presentation.slides[0] + + # Añadir una autoforma de tipo LINE. + shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # Aplicar formato a la línea. + shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN + shape.line_format.width = 10 + + shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT + + shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT + shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL + + shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG + shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE + + shape.line_format.fill_format.fill_type = slides.FillType.SOLID + shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon + + # Guardar la presentación como archivo PPTX. + presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX) +``` + + - # Agregar una autoshape de tipo línea - shp = sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) +## **Preguntas frecuentes** - # Aplicar algún formato en la línea - shp.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN - shp.line_format.width = 10 +**¿Puedo convertir una línea regular en un conector para que se "ajuste" a las formas?** - shp.line_format.dash_style = slides.LineDashStyle.DASH_DOT +No. Una línea regular (un [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) de tipo [LINE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/)) no se convierte automáticamente en un conector. Para que se ajuste a las formas, utilice el tipo [Connector](https://reference.aspose.com/slides/python-net/aspose.slides/connector/) dedicado y las [APIs correspondientes](/slides/es/python-net/connector/) para conexiones. - shp.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT - shp.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL +**¿Qué debo hacer si las propiedades de una línea se heredan del tema y es difícil determinar los valores finales?** - shp.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG - shp.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE +Lea las [propiedades efectivas](/slides/es/python-net/shape-effective-properties/) a través de las clases [ILineFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilineformateffectivedata/)/[ILineFillFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilinefillformateffectivedata/) —estas ya tienen en cuenta la herencia y los estilos del tema. - shp.line_format.fill_format.fill_type = slides.FillType.SOLID - shp.line_format.fill_format.solid_fill_color.color = draw.Color.maroon +**¿Puedo bloquear una línea contra la edición (movimiento, cambio de tamaño)?** - # Escribir el PPTX en el disco - pres.save("LineShape2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Sí. Las formas proporcionan [objetos de bloqueo](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) que le permiten [denegar operaciones de edición](/slides/es/python-net/applying-protection-to-presentation/). \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md index 70f704dcd3..e48b133fda 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md @@ -1,18 +1,30 @@ --- -title: Párrafo +title: Obtener límites del párrafo de presentaciones en Python +linktitle: Párrafo type: docs weight: 60 url: /es/python-net/paragraph/ -keywords: "Párrafo, porción, coordenadas de párrafo, coordenadas de porción, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Párrafo y porción en la presentación de PowerPoint en Python" +keywords: +- límites del párrafo +- límites de porción de texto +- coordenada del párrafo +- coordenada de porción +- tamaño del párrafo +- tamaño de porción de texto +- marco de texto +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Aprenda cómo recuperar los límites del párrafo y de la porción de texto en Aspose.Slides para Python a través de .NET para optimizar la posición del texto en presentaciones de PowerPoint y OpenDocument." --- -## **Obtener Coordenadas de Párrafo y Porción en TextFrame** -Usando Aspose.Slides para Python a través de .NET, los desarrolladores ahora pueden obtener las coordenadas rectangulares para Párrafos dentro de la colección de párrafos de TextFrame. También permite obtener las coordenadas de la porción dentro de la colección de porciones de un párrafo. En este tema, vamos a demostrar con la ayuda de un ejemplo cómo obtener las coordenadas rectangulares para un párrafo junto con la posición de la porción dentro de un párrafo. - -## **Obtener Coordenadas Rectangulares de Párrafo** -Se ha añadido el nuevo método **GetRect()**. Permite obtener el rectángulo de límites del párrafo. +## **Obtener coordenadas de párrafo y porción en TextFrame** +Con Aspose.Slides for Python a través de .NET, los desarrolladores ahora pueden obtener las coordenadas rectangulares de Paragraph dentro de la colección de párrafos de TextFrame. También permite obtener las coordenadas de una porción dentro de la colección de porciones de un párrafo. En este tema, vamos a demostrar, con la ayuda de un ejemplo, cómo obtener las coordenadas rectangulares de un párrafo junto con la posición de la porción dentro de un párrafo. +## **Obtener coordenadas rectangulares de párrafo** +Se ha añadido el nuevo método **GetRect()**. Permite obtener el rectángulo de los límites del párrafo. ```py import aspose.slides as slides @@ -23,12 +35,11 @@ with slides.Presentation(path + "Shapes.pptx") as presentation: rect = textFrame.paragraphs[0].get_rect() ``` -## **Obtener tamaño de párrafo y porción dentro del marco de texto de la celda de tabla** ## - -Para obtener el tamaño y las coordenadas de [Porción](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) o [Párrafo](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) en el marco de texto de una celda de tabla, puedes usar los métodos [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) y [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). -Este código de muestra demuestra la operación descrita: +## **Obtener tamaño de párrafo y porción dentro del marco de texto de una celda de tabla** ## +Para obtener el tamaño y las coordenadas de la [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) o del [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) en el marco de texto de una celda de tabla, puede usar los métodos [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) y [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). +Este código de ejemplo demuestra la operación descrita: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -38,6 +49,7 @@ with slides.Presentation(path + "source.pptx") as pres: cell = tbl.rows[1][1] + x = tbl.X + tbl.rows[1][1].offset_x y = tbl.Y + tbl.rows[1][1].offset_y @@ -60,4 +72,19 @@ with slides.Presentation(path + "source.pptx") as pres: rect.x + x, rect.y + y, rect.width, rect.height) shape.fill_format.fill_type = slides.FillType.NO_FILL -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿En qué unidades se devuelven las coordenadas de un párrafo y de las porciones de texto?** +En puntos, donde 1 pulgada = 72 puntos. Esto se aplica a todas las coordenadas y dimensiones de la diapositiva. + +**¿El ajuste de línea afecta los límites de un párrafo?** +Sí. Si el [wrapping](https://reference.aspose.com/slides/python-net/aspose.slides/textframeformat/wrap_text/) está habilitado en el [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), el texto se ajusta para quedar dentro del ancho del área, lo que modifica los límites reales del párrafo. + +**¿Se pueden mapear de forma fiable las coordenadas del párrafo a píxeles en la imagen exportada?** +Sí. Convierta puntos a píxeles usando: pixels = points × (DPI / 72). El resultado depende del DPI seleccionado para el renderizado/exportación. + +**¿Cómo obtener los parámetros de formato "effective" del párrafo, teniendo en cuenta la herencia de estilo?** +Utilice la [estructura de datos de formato de párrafo effective](/slides/es/python-net/shape-effective-properties/); devuelve los valores finales consolidados para sangrías, espaciado, ajuste, RTL y más. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md index 7ac460c3ba..2bb55318dc 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md @@ -1,24 +1,53 @@ --- -title: Porción +title: Gestionar porciones de texto en presentaciones con Python +linktitle: Porción de Texto type: docs weight: 70 url: /es/python-net/portion/ -keywords: "Porción, forma de PowerPoint, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Obtener porción en la presentación de PowerPoint en Python" +keywords: +- porción de texto +- parte de texto +- coordenadas de texto +- posición de texto +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Aprenda a gestionar porciones de texto en presentaciones PowerPoint y OpenDocument usando Aspose.Slides para Python mediante .NET, mejorando el rendimiento y la personalización." --- -## **Obtener Coordenadas de la Posición de la Porción** -El método **GetCoordinates()** ha sido añadido a la interfaz IPortion y a la clase Portion, lo que permite recuperar las coordenadas del inicio de la porción: +## **Obtener coordenadas de porciones de texto** +El método [get_coordinates](https://reference.aspose.com/slides/python-net/aspose.slides/portion/get_coordinates/) se ha añadido a la clase [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) que permite obtener las coordenadas de las porciones de texto: ```py import aspose.slides as slides -with slides.Presentation(path + "HelloWorld.pptx") as presentation: +with slides.Presentation("HelloWorld.pptx") as presentation: shape = presentation.slides[0].shapes[0] - textFrame = shape.text_frame + text_frame = shape.text_frame - for paragraph in textFrame.paragraphs: + for paragraph in text_frame.paragraphs: for portion in paragraph.portions: point = portion.get_coordinates() - print("Coordenadas X =" + str(point.x) + " Coordenadas Y =" + str(point.y)) -``` \ No newline at end of file + print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y)) +``` + + +## **Preguntas frecuentes** + +**¿Puedo aplicar un hipervínculo solo a una parte del texto dentro de un mismo párrafo?** + +Sí, puedes [asignar un hipervínculo](/slides/es/python-net/manage-hyperlinks/) a una porción individual; solo ese fragmento será clicable, no todo el párrafo. + +**¿Cómo funciona la herencia de estilos: qué sobrescribe una Porción y qué se toma del Párrafo/TextFrame?** + +Las propiedades a nivel de Porción tienen la precedencia más alta. Si una propiedad no está establecida en la [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/), el motor la toma del [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/); si tampoco está establecida allí, la toma del [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) o del estilo del [theme](https://reference.aspose.com/slides/python-net/aspose.slides.theme/theme/). + +**¿Qué ocurre si la fuente especificada para una Porción no está presente en la máquina/servidor de destino?** + +Se aplican las [Font substitution rules](/slides/es/python-net/font-selection-sequence/). El texto puede volver a fluir: las métricas, la separación de sílabas y el ancho pueden cambiar, lo que importa para una posición precisa. + +**¿Puedo establecer una transparencia de relleno de texto o un degradado específico de Porción independiente del resto del párrafo?** + +Sí, el color del texto, el relleno y la transparencia a nivel de [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) pueden diferir de los fragmentos vecinos. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md index 98db143a9a..08d84f7249 100644 --- a/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md +++ b/es/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md @@ -1,23 +1,32 @@ --- -title: Rectángulo +title: Agregar rectángulos a presentaciones en Python +linktitle: Rectángulo type: docs weight: 80 url: /es/python-net/rectangle/ -keywords: "Crear rectángulo, forma de PowerPoint, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Crear rectángulo en presentación de PowerPoint en Python" +keywords: +- agregar rectángulo +- crear rectángulo +- forma de rectángulo +- rectángulo simple +- rectángulo con formato +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Mejore sus presentaciones PowerPoint y OpenDocument añadiendo rectángulos con Aspose.Slides para Python a través de .NET—diseñe y modifique formas programáticamente." --- +## **Crear rectángulo simple** +Al igual que en los temas anteriores, este también trata sobre agregar una forma y esta vez la forma de la que hablaremos es Rectángulo. En este tema, hemos descrito cómo los desarrolladores pueden agregar rectángulos simples o formateados a sus diapositivas usando Aspose.Slides para Python a través de .NET. Para agregar un rectángulo simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: -## **Crear Rectángulo Simple** -Al igual que en los temas anteriores, este también trata sobre añadir una forma y esta vez la forma que discutiremos es el Rectángulo. En este tema, hemos descrito cómo los desarrolladores pueden añadir rectángulos simples o formateados a sus diapositivas utilizando Aspose.Slides para Python a través de .NET. Para añadir un rectángulo simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: - -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenga la referencia de una diapositiva utilizando su índice. -1. Agregue un IAutoShape de tipo Rectángulo utilizando el método AddAutoShape expuesto por el objeto IShapes. -1. Escriba la presentación modificada como un archivo PPTX. - -En el ejemplo dado a continuación, hemos añadido un rectángulo simple a la primera diapositiva de la presentación. +1. Cree una instancia de la clase [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenga la referencia de una diapositiva usando su índice. +3. Agregue un IAutoShape de tipo Rectangle usando el método AddAutoShape expuesto por el objeto IShapes. +4. Guarde la presentación modificada como un archivo PPTX. +En el ejemplo que se muestra a continuación, hemos agregado un rectángulo simple a la primera diapositiva de la presentación. ```py import aspose.slides as slides @@ -26,27 +35,27 @@ with slides.Presentation() as pres: # Obtener la primera diapositiva sld = pres.slides[0] - # Agregar autoshape de tipo rectángulo + # Añadir una autoshape de tipo rectángulo sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # Escribir el archivo PPTX en el disco + # Escribir el archivo PPTX en disco pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Crear Rectángulo Formateado** -Para añadir un rectángulo formateado a una diapositiva, siga los pasos a continuación: +## **Crear rectángulo formateado** +Para agregar un rectángulo formateado a una diapositiva, siga los pasos a continuación: -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenga la referencia de una diapositiva utilizando su índice. -1. Agregue un IAutoShape de tipo Rectángulo utilizando el método AddAutoShape expuesto por el objeto IShapes. -1. Establezca el tipo de relleno del Rectángulo a Sólido. -1. Establezca el color del Rectángulo utilizando la propiedad SolidFillColor.Color expuesta por el objeto FillFormat asociado con el objeto IShape. -1. Establezca el color de las líneas del Rectángulo. -1. Establezca el ancho de las líneas del Rectángulo. -1. Escriba la presentación modificada como archivo PPTX. - Los pasos anteriores se implementan en el ejemplo dado a continuación. +1. Cree una instancia de la clase [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenga la referencia de una diapositiva usando su índice. +3. Agregue un IAutoShape de tipo Rectangle usando el método AddAutoShape expuesto por el objeto IShapes. +4. Establezca el tipo de relleno del rectángulo a sólido. +5. Establezca el color del rectángulo mediante la propiedad SolidFillColor.Color expuesta por el objeto FillFormat asociado al objeto IShape. +6. Establezca el color de las líneas del rectángulo. +7. Establezca el ancho de las líneas del rectángulo. +8. Guarde la presentación modificada como archivo PPTX. +Los pasos anteriores se implementan en el ejemplo que se muestra a continuación. ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -56,18 +65,42 @@ with slides.Presentation() as pres: # Obtener la primera diapositiva sld = pres.slides[0] - # Agregar autoshape de tipo rectángulo + # Agregar una autoshape de tipo rectángulo shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # Aplicar algún formato a la forma del rectángulo + # Aplicar formato a la forma de rectángulo shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Aplicar algún formato a la línea del rectángulo + # Aplicar formato a la línea del rectángulo shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # Escribir el archivo PPTX en el disco + #Escribir el archivo PPTX en disco pres.save("RectShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Cómo agregar un rectángulo con esquinas redondeadas?** +Utilice el [shape type](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) de esquinas redondeadas y ajuste el radio de la esquina en las propiedades de la forma; el redondeado también puede aplicarse por esquina mediante ajustes geométricos. + +**¿Cómo lleno un rectángulo con una imagen (textura)?** +Seleccione el [fill type](https://reference.aspose.com/slides/python-net/aspose.slides/filltype/) de imagen, proporcione la fuente de la imagen y configure los [modos de estiramiento/segmentación](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillmode/). + +**¿Puede un rectángulo tener sombra y resplandor?** +Sí. [Outer/inner shadow, glow, and soft edges](/slides/es/python-net/shape-effect/) están disponibles con parámetros ajustables. + +**¿Puedo convertir un rectángulo en un botón con un hipervínculo?** +Sí. [Assign a hyperlink](/slides/es/python-net/manage-hyperlinks/) al hacer clic en la forma (ir a una diapositiva, archivo, dirección web o correo electrónico). + +**¿Cómo puedo proteger un rectángulo de movimientos y cambios?** +[Use shape locks](/slides/es/python-net/applying-protection-to-presentation/): puede prohibir mover, redimensionar, seleccionar o editar texto para preservar el diseño. + +**¿Puedo convertir un rectángulo a una imagen raster o SVG?** +Sí. Puede [render the shape](http://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) a una imagen con un tamaño/escala especificado o [export it as SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) para uso vectorial. + +**¿Cómo obtener rápidamente las propiedades reales (efectivas) de un rectángulo considerando el tema y la herencia?** +[Use the shape’s effective properties](/slides/es/python-net/shape-effective-properties/): la API devuelve valores calculados que tienen en cuenta los estilos de tema, el diseño y la configuración local, simplificando el análisis de formato. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md index ee767f6159..cfb0c8713e 100644 --- a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md +++ b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md @@ -9,45 +9,67 @@ keywords: - fuente regular - fuente normal - fuente asiática -- exportar a PDF -- exportar a XPS -- exportar imágenes +- exportación PDF +- exportación XPS +- exportación de imagen - PowerPoint - OpenDocument - presentación - Python - Aspose.Slides -description: "Establezca fuentes predeterminadas en Aspose.Slides for Python para garantizar la correcta conversión de PowerPoint (PPT, PPTX) y OpenDocument (ODP) a PDF, XPS e imágenes." +description: "Establecer fuentes predeterminadas en Aspose.Slides para Python para garantizar una conversión adecuada de PowerPoint (PPT, PPTX) y OpenDocument (ODP) a PDF, XPS e imágenes." --- -## **Uso de Fuentes Predeterminadas para Renderizar Presentaciones** -Aspose.Slides permite establecer la fuente predeterminada para renderizar la presentación a PDF, XPS o miniaturas. Este artículo muestra cómo definir DefaultRegular Font y DefaultAsian Font para su uso como fuentes predeterminadas. Siga los pasos a continuación para cargar fuentes desde directorios externos utilizando Aspose.Slides para Python a través de la API .NET: +## **Uso de fuentes predeterminadas para renderizar presentaciones** +Aspose.Slides le permite establecer la fuente predeterminada para renderizar la presentación a PDF, XPS o miniaturas. Este artículo muestra cómo definir DefaultRegularFont y DefaultAsianFont para usarlas como fuentes predeterminadas. Siga los pasos a continuación para cargar fuentes desde directorios externos usando Aspose.Slides for Python via .NET API: -1. Cree una instancia de LoadOptions. -1. Establezca DefaultRegularFont en su fuente deseada. En el siguiente ejemplo, he utilizado Wingdings. -1. Establezca DefaultAsianFont en su fuente deseada. He utilizado Wingdings en el siguiente ejemplo. -1. Cargue la presentación utilizando Presentation y estableciendo las opciones de carga. +1. Crear una instancia de LoadOptions. +1. Establecer DefaultRegularFont a la fuente deseada. En el ejemplo siguiente, he usado Wingdings. +1. Establecer DefaultAsianFont a la fuente deseada. He usado Wingdings en el siguiente ejemplo. +1. Cargar la presentación usando Presentation y configurando las opciones de carga. 1. Ahora, genere la miniatura de la diapositiva, PDF y XPS para verificar los resultados. -La implementación de lo anterior se da a continuación. - +La implementación anterior se muestra a continuación. ```py import aspose.slides as slides -# Use load options to define the default regualr and asian fonts# Use load options to define the default regualr and asian fonts +# Usar opciones de carga para definir las fuentes predeterminadas regulares y asiáticas# Usar opciones de carga para definir las fuentes predeterminadas regulares y asiáticas loadOptions = slides.LoadOptions(slides.LoadFormat.AUTO) loadOptions.default_regular_font = "Wingdings" loadOptions.default_asian_font = "Wingdings" -# Load the presentation +# Cargar la presentación with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: - # Generate slide thumbnail + # Generar miniatura de diapositiva with pptx.slides[0].get_image(1, 1) as img: img.save("output_out.png", slides.ImageFormat.PNG) - # Generate PDF + # Generar PDF pptx.save("output_out.pdf", slides.export.SaveFormat.PDF) - # Generate XPS + # Generar XPS pptx.save("output_out.xps", slides.export.SaveFormat.XPS) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Qué afecta exactamente default_regular_font y default_asian_font—solo la exportación, o también miniaturas, PDF, XPS, HTML y SVG?** + +Participan en la canalización de renderizado para todas las salidas compatibles. Esto incluye miniaturas de diapositivas, [PDF](/slides/es/python-net/convert-powerpoint-to-pdf/), [XPS](/slides/es/python-net/convert-powerpoint-to-xps/), [imágenes raster](/slides/es/python-net/convert-powerpoint-to-png/), [HTML](/slides/es/python-net/convert-powerpoint-to-html/), y [SVG](/slides/es/python-net/render-a-slide-as-an-svg-image/), porque Aspose.Slides utiliza la misma lógica de diseño y resolución de glifos en estos destinos. + +**¿Se aplican las fuentes predeterminadas al leer y guardar un PPTX sin ningún renderizado?** + +No. Las fuentes predeterminadas solo son relevantes cuando el texto debe medirse y dibujarse. Un simple abrir‑guardar de una presentación no cambia los fragmentos de fuente almacenados ni la estructura del archivo. Las fuentes predeterminadas entran en juego durante operaciones que renderizan o reflujo el texto. + +**Si agrego mis propias carpetas de fuentes o suministro fuentes desde la memoria, ¿se tendrán en cuenta al elegir fuentes predeterminadas?** + +Sí. [Fuentes personalizadas](/slides/es/python-net/custom-font/) amplían el catálogo de familias y glifos disponibles que el motor puede usar. Las fuentes predeterminadas y cualquier [regla de reserva](/slides/es/python-net/fallback-font/) se resolverán contra esas fuentes primero, proporcionando una cobertura más fiable en servidores y contenedores. + +**¿Las fuentes predeterminadas afectan las métricas del texto (kerning, avances) y, por lo tanto, los saltos de línea y el ajuste?** + +Sí. Cambiar la fuente modifica las métricas de los glifos y puede alterar los saltos de línea, el ajuste y la paginación durante el renderizado. Para mantener la estabilidad del diseño, [incorpore las fuentes originales](/slides/es/python-net/embedded-font/) o seleccione familias predeterminadas y de reserva métricamente compatibles. + +**¿Tiene sentido establecer fuentes predeterminadas si todas las fuentes usadas en la presentación están incrustadas?** + +A menudo no es necesario, porque las [fuentes incrustadas](/slides/es/python-net/embedded-font/) ya garantizan una apariencia consistente. Las fuentes predeterminadas siguen sirviendo como red de seguridad para caracteres no cubiertos por el subconjunto incrustado o cuando un archivo combina texto incrustado y no incrustado. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md index 7f5d13ecb3..b8ee55439a 100644 --- a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md +++ b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md @@ -1,19 +1,43 @@ --- -title: Fuente de reserva +title: Gestionar fuentes de reserva para presentaciones en Python +linktitle: Fuente de reserva type: docs weight: 50 url: /es/python-net/fallback-font/ -keywords: "Fuente de reserva, fuente, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Fuente de reserva de PowerPoint en Python" +keywords: +- fuente de reserva +- fuente disponible +- reemplazo de glifos +- especificar fuente +- especificar regla +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Vea cómo Aspose.Slides para Python via .NET usa fuentes de reserva para mantener el texto legible en presentaciones de PowerPoint y OpenDocument cuando las fuentes originales no están disponibles." --- ## **Fuente de reserva** -La fuente de reserva se utiliza cuando la fuente especificada para el texto está disponible en el sistema, pero esta fuente no contiene un glifo necesario. En este caso, es posible utilizar una de las fuentes de reserva especificadas para el reemplazo del glifo. +La fuente de reserva se usa cuando la fuente especificada para el texto está disponible en el sistema, pero esa fuente no contiene un glifo necesario. En este caso, es posible usar una de las fuentes de reserva especificadas para el reemplazo del glifo. -Aspose.Slides permite crear fuentes de reserva, añadirlas a la colección de fuentes de reserva, establecer la colección de fuentes de reserva para una presentación determinada, eliminar fuentes de reserva de la presentación, especificar las reglas para aplicar fuentes de reserva y otros. +Aspose.Slides permite crear fuentes de reserva, agregarlas a la colección de fuentes de reserva, establecer la colección de fuentes de reserva para una presentación determinada, eliminar fuentes de reserva de la presentación, especificar las reglas para aplicar fuentes de reserva y otras acciones. -Para familiarizarse con estas características, utilice los siguientes enlaces: +Para familiarizarse con estas funciones, utilice los siguientes enlaces: - [Crear fuente de reserva](/slides/es/python-net/create-fallback-font) - [Crear colección de fuentes de reserva](/slides/es/python-net/create-fallback-fonts-collection) -- [Renderizar presentación con fuente de reserva](/slides/es/python-net/render-presentation-with-fallback-font) \ No newline at end of file +- [Renderizar presentación con fuente de reserva](/slides/es/python-net/render-presentation-with-fallback-font) + +## **Preguntas frecuentes** +**¿En qué se diferencian las fuentes de reserva de la sustitución de fuentes?** + +La reserva se aplica por carácter o por rango de Unicode cuando la fuente principal carece de glifos específicos; solo rellena los caracteres faltantes. [Sustitución](/slides/es/python-net/font-substitution/) reemplaza una fuente faltante o no disponible para una secuencia completa o una porción de texto con otra fuente. Pueden combinarse, pero su alcance y lógica de selección son diferentes. + +**¿Se guardan las configuraciones de reserva dentro del archivo de la presentación?** + +No. La configuración de reserva vive en tiempo de procesamiento/renderizado en la biblioteca y no se serializa en el PPTX. La presentación no almacena sus reglas de reserva. + +**¿Afecta la reserva a los elementos creados por objetos de PowerPoint (SmartArt, gráficos, WordArt)?** + +Sí. El texto dentro de estos objetos pasa por la misma canal de renderizado, por lo que las mismas reglas de reserva se aplican al mismo que al texto normal. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md index 1ca0935f0c..6d03525b9a 100644 --- a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md +++ b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md @@ -1,14 +1,28 @@ --- -title: Crear Fuente de Respaldo +title: Especificar fuentes de respaldo para presentaciones en Python +linktitle: Fuente de respaldo type: docs weight: 10 url: /es/python-net/create-fallback-font/ -keywords: "Fuentes, fuente de respaldo, presentación de PowerPoint Python, Aspose.Slides para Python a través de .NET" -description: "Fuente de respaldo en PowerPoint en Python" +keywords: +- fuente de respaldo +- regla de respaldo +- aplicar fuente +- reemplazar fuente +- rango Unicode +- glifo faltante +- glifo correcto +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Domina Aspose.Slides para Python mediante .NET para establecer fuentes de respaldo en archivos PPT, PPTX y ODP, garantizando una visualización de texto coherente en cualquier dispositivo o sistema operativo." --- -Aspose.Slides soporta la interfaz [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) y la clase [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) para especificar las reglas para aplicar una fuente de respaldo. La clase [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) representa una asociación entre el rango Unicode especificado, utilizado para buscar glifos perdidos, y una lista de fuentes que pueden contener glifos adecuados: +## **Especificar fuentes de respaldo** +Aspose.Slides admite la interfaz [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) y la clase [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) para especificar las reglas para aplicar una fuente de respaldo. La clase [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) representa una asociación entre el rango Unicode especificado, usado para buscar glifos faltantes, y una lista de fuentes que pueden contener los glifos adecuados: ```py startUnicodeIndex = 0x0B80 endUnicodeIndex = 0x0BFF @@ -16,18 +30,39 @@ endUnicodeIndex = 0x0BFF firstRule = slides.FontFallBackRule(startUnicodeIndex, endUnicodeIndex, "Vijaya") secondRule = slides.FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic") -#Utilizando múltiples formas puedes agregar una lista de fuentes: -fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial"] +#Usando varias formas puedes añadir la lista de fuentes: +fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial" ] thirdRule = slides.FontFallBackRule(0x1F300, 0x1F64F, fontNames) ``` +También es posible [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) la fuente de respaldo o [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) en un objeto [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) existente. -También es posible [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) la fuente de respaldo o [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) en un objeto existente [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/). - -[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) se puede usar para organizar una lista de objetos [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/), cuando hay necesidad de especificar reglas de reemplazo de fuente de respaldo para múltiples rangos Unicode. +[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) puede usarse para organizar una lista de objetos [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) cuando se necesita especificar reglas de sustitución de fuentes de respaldo para múltiples rangos Unicode. {{% alert color="primary" title="Ver también" %}} -- [Crear Colección de Fuentes de Respaldo](/slides/es/python-net/create-fallback-fonts-collection/) -{{% /alert %}} \ No newline at end of file +- [Crear colección de fuentes de respaldo](/slides/es/python-net/create-fallback-fonts-collection/) +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Cuál es la diferencia entre una fuente de respaldo, sustitución de fuentes y incrustación de fuentes?** + +Una fuente de respaldo se usa solo para los caracteres que faltan en la fuente principal. La [sustitución de fuentes](/slides/es/python-net/font-substitution/) reemplaza toda la fuente especificada por otra fuente. La [incrustación de fuentes](/slides/es/python-net/embedded-font/) empaqueta las fuentes dentro del archivo de salida para que los destinatarios puedan ver el texto como se pretende. + +**¿Se aplican las fuentes de respaldo durante exportaciones como PDF, PNG o SVG, o solo en el renderizado en pantalla?** + +Sí. La fuente de respaldo afecta todas las [operaciones de renderizado y exportación](/slides/es/python-net/convert-presentation/) donde los caracteres deben dibujarse pero están ausentes en la fuente origen. + +**¿Configurar la fuente de respaldo modifica el archivo de presentación en sí, y persistirá la configuración en futuras aperturas?** + +No. Las reglas de respaldo son configuraciones de renderizado en tiempo de ejecución en su código; no se almacenan dentro del .pptx y no aparecerán en PowerPoint. + +**¿El sistema operativo (Windows/Linux/macOS) y el conjunto de directorios de fuentes afectan la selección de la fuente de respaldo?** + +Sí. El motor resuelve las fuentes a partir de las carpetas del sistema disponibles y cualquier [ruta adicional](/slides/es/python-net/custom-font/) que proporcione. Si una fuente no está disponible físicamente, una regla que la haga referencia no podrá surtir efecto. + +**¿La fuente de respaldo funciona para WordArt, SmartArt y gráficos?** + +Sí. Cuando estos objetos contienen texto, se aplica el mismo mecanismo de sustitución de glifos para renderizar los caracteres faltantes. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md index 03512ca9fa..164b4a9624 100644 --- a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md +++ b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md @@ -1,31 +1,42 @@ --- -title: Reemplazo de Fuentes +title: Simplificar el reemplazo de fuentes en presentaciones usando Python +linktitle: Reemplazo de fuentes type: docs weight: 60 url: /es/python-net/font-replacement/ -keywords: "Fuente, reemplazar fuente, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Reemplazar fuentes explícitamente en PowerPoint en Python" +keywords: +- fuente +- reemplazar fuente +- reemplazo de fuentes +- cambiar fuente +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Reemplace fuentes sin problemas en Aspose.Slides Python a través de .NET para garantizar una tipografía coherente en presentaciones PowerPoint y OpenDocument." --- -Si cambias de opinión sobre el uso de una fuente, puedes reemplazar esa fuente por otra fuente. Todas las instancias de la fuente antigua serán reemplazadas por la nueva fuente. +## **Reemplazar fuentes** -Aspose.Slides te permite reemplazar una fuente de esta manera: +Si cambias de opinión acerca de usar una fuente, puedes reemplazar esa fuente por otra. Todas las instancias de la fuente antigua serán sustituidas por la nueva. -1. Carga la presentación relevante. -2. Carga la fuente que será reemplazada. -3. Carga la nueva fuente. -4. Reemplaza la fuente. -5. Escribe la presentación modificada como un archivo PPTX. +Aspose.Slides permite reemplazar una fuente de la siguiente manera: -Este código en Python demuestra el reemplazo de fuente: +1. Carga la presentación correspondiente. +2. Carga la fuente que será reemplazada. +3. Carga la nueva fuente. +4. Reemplaza la fuente. +5. Guarda la presentación modificada como un archivo PPTX. +Este código Python muestra la sustitución de fuentes: ```py import aspose.pydrawing as draw import aspose.slides as slides # Carga una presentación with slides.Presentation(path + "Fonts.pptx") as presentation: - # Carga la fuente de origen que será reemplazada + # Carga la fuente origen que será reemplazada sourceFont = slides.FontData("Arial") # Carga la nueva fuente @@ -38,8 +49,43 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: presentation.save("UpdatedFont_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="Nota" color="warning" %}} -Para establecer reglas que determinen lo que sucede en ciertas condiciones (si no se puede acceder a una fuente, por ejemplo), consulta [**Sustitución de Fuentes**](/slides/es/python-net/font-substitution/). +{{% alert title="Note" color="warning" %}} -{{% /alert %}} \ No newline at end of file +Para establecer reglas que determinen qué ocurre en ciertas condiciones (por ejemplo, si no se puede acceder a una fuente), consulta [**Sustitución de fuentes**](/slides/es/python-net/font-substitution/). + +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Cuál es la diferencia entre "reemplazo de fuentes", "sustitución de fuentes" y "fuentes de respaldo"?** + +El reemplazo es un cambio intencional de una familia a otra en todo el documento. La [Sustitución](/slides/es/python-net/font-substitution/) es una regla del tipo "si la fuente no está disponible, usar X". El [Respaldo](/slides/es/python-net/fallback-font/) se aplica de forma puntual para glifos ausentes cuando la fuente base está instalada pero no contiene los caracteres requeridos. + +**¿El reemplazo se aplica a diapositivas maestras, diseños, notas y comentarios?** + +Sí. El reemplazo afecta a todos los objetos de la presentación que utilizan la fuente original, incluidas las diapositivas maestras y las notas; los comentarios también forman parte del documento y son tenidos en cuenta por el motor de fuentes. + +**¿Cambiará la fuente dentro de objetos OLE incrustados (por ejemplo, Excel)?** + +No. El [contenido OLE](/slides/es/python-net/manage-ole/) está controlado por su propia aplicación. El reemplazo en la presentación no reformatea los datos internos de OLE; pueden mostrarse como una imagen o como contenido editable externamente. + +**¿Puedo reemplazar una fuente solo en una parte de la presentación (por diapositivas o regiones)?** + +El reemplazo dirigido es posible si cambias la fuente a nivel de los objetos/rangos necesarios en lugar de aplicar un reemplazo global a todo el documento. La lógica general de selección de fuentes durante el renderizado permanece igual. + +**¿Cómo puedo determinar de antemano qué fuentes usa la presentación?** + +Utiliza el [administrador de fuentes](/slides/es/python-net/aspose.slides/fontsmanager/) de la presentación: proporciona una lista de las [familias en uso](/slides/es/python-net/aspose.slides/fontsmanager/get_fonts/) e información sobre [sustituciones/"fuentes desconocidas"](/slides/es/python-net/aspose.slides/fontsmanager/get_substitutions/), lo que ayuda a planificar el reemplazo. + +**¿Funciona el reemplazo de fuentes al convertir a PDF/imágenes?** + +Sí. Durante la exportación, Aspose.Slides aplica la misma [secuencia de selección/sustitución de fuentes](/slides/es/python-net/font-selection-sequence/), por lo que un reemplazo realizado previamente será respetado durante la conversión. + +**¿Necesito instalar la fuente objetivo en el sistema o puedo adjuntar una carpeta de fuentes?** + +No es necesario instalarla: la biblioteca permite [cargar fuentes externas](/slides/es/python-net/custom-font/) desde carpetas de usuario para usarlas durante el [renderizado y la exportación](/slides/es/python-net/convert-powerpoint/). + +**¿El reemplazo corregirá los “tofu” (cuadrados) en lugar de los caracteres?** + +Solo si la fuente objetivo realmente contiene los glifos requeridos. De lo contrario, [configure el respaldo](/slides/es/python-net/fallback-font/) para cubrir los caracteres ausentes. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md index eef9766233..7ae19cf5b1 100644 --- a/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md +++ b/es/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md @@ -6,10 +6,10 @@ weight: 70 url: /es/python-net/font-substitution/ keywords: - fuente -- fuente de sustitución +- fuente sustituta - sustitución de fuentes - reemplazar fuente -- reemplazo de fuente +- reemplazo de fuentes - regla de sustitución - regla de reemplazo - PowerPoint @@ -17,49 +17,80 @@ keywords: - presentación - Python - Aspose.Slides -description: "Habilite la sustitución óptima de fuentes en Aspose.Slides for Python via .NET al convertir presentaciones de PowerPoint y OpenDocument a otros formatos de archivo." +description: "Habilite la sustitución óptima de fuentes en Aspose.Slides para Python mediante .NET al convertir presentaciones de PowerPoint y OpenDocument a otros formatos de archivo." --- -Aspose.Slides te permite establecer reglas para fuentes que determinan lo que debe hacerse en ciertas condiciones (por ejemplo, cuando no se puede acceder a una fuente) de la siguiente manera: +## **Establecer reglas de sustitución** -1. Carga la presentación relevante. -2. Carga la fuente que será reemplazada. -3. Carga la nueva fuente. -4. Agrega una regla para el reemplazo. -5. Agrega la regla a la colección de reglas de reemplazo de fuentes de la presentación. -6. Genera la imagen de la diapositiva para observar el efecto. +Aspose.Slides le permite establecer reglas para fuentes que determinan qué debe hacerse en determinadas condiciones (por ejemplo, cuando una fuente no se puede acceder) de la siguiente manera: -Este código en Python demuestra el proceso de sustitución de fuentes: +1. Cargue la presentación relevante. +2. Cargue la fuente que será reemplazada. +3. Cargue la nueva fuente. +4. Agregue una regla para el reemplazo. +5. Añada la regla a la colección de reglas de sustitución de fuentes de la presentación. +6. Genere la imagen de la diapositiva para observar el efecto. +Este código Python demuestra el proceso de sustitución de fuentes: ```python import aspose.slides as slides # Carga una presentación with slides.Presentation(path + "Fonts.pptx") as presentation: - # Carga la fuente de origen que será reemplazada + # Carga la fuente origen que será reemplazada sourceFont = slides.FontData("SomeRareFont") # Carga la nueva fuente destFont = slides.FontData("Arial") - # Agrega una regla de fuente para la sustitución de fuentes + # Añade una regla de fuente para el reemplazo de fuentes fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE) - # Agrega la regla a la colección de reglas de sustitución de fuentes + # Añade la regla a la colección de reglas de sustitución de fuentes fontSubstRuleCollection = slides.FontSubstRuleCollection() fontSubstRuleCollection.add(fontSubstRule) - # Agrega la colección de reglas de fuentes a la lista de reglas + # Añade la colección de reglas de fuentes a la lista de reglas presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection # La fuente Arial se usará en lugar de SomeRareFont cuando esta última sea inaccesible with presentation.slides[0].get_image(1, 1) as bmp: - # Guarda la imagen en el disco en formato JPEG + # Guarda la imagen en disco en formato JPEG bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG) ``` + + {{% alert title="NOTA" color="warning" %}} +Es posible que desee ver [**Reemplazo de fuentes**](/slides/es/python-net/font-replacement/). +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Cuál es la diferencia entre el reemplazo de fuentes y la sustitución de fuentes?** + +[Replacement](/slides/es/python-net/font-replacement/) es una sobrescritura forzada de una fuente por otra en toda la presentación. La sustitución es una regla que se activa bajo una condición específica, por ejemplo cuando la fuente original no está disponible, y entonces se utiliza una fuente de respaldo designada. + +**¿Cuándo se aplican exactamente las reglas de sustitución?** + +Las reglas participan en la secuencia estándar de [selección de fuentes](/slides/es/python-net/font-selection-sequence/) que se evalúa durante la carga, el renderizado y la conversión; si la fuente elegida no está disponible, se aplican el reemplazo o la sustitución. + +**¿Cuál es el comportamiento predeterminado si no se configura ni el reemplazo ni la sustitución y la fuente falta en el sistema?** + +La biblioteca intentará seleccionar la fuente del sistema disponible más cercana, similar a cómo se comportaría PowerPoint. + +**¿Puedo adjuntar fuentes externas personalizadas en tiempo de ejecución para evitar la sustitución?** + +Sí. Puede [añadir fuentes externas](/slides/es/python-net/custom-font/) en tiempo de ejecución para que la biblioteca las tenga en cuenta al seleccionar y renderizar, incluyendo conversiones posteriores. + +**¿Aspose distribuye alguna fuente con la biblioteca?** + +No. Aspose no distribuye fuentes de pago ni gratuitas; usted añade y utiliza fuentes bajo su propia discreción y responsabilidad. + +**¿Existen diferencias en el comportamiento de sustitución en Windows, Linux y macOS?** + +Sí. La detección de fuentes comienza en los directorios de fuentes del sistema operativo. El conjunto de fuentes predeterminadas disponibles y las rutas de búsqueda varían entre plataformas, lo que afecta la disponibilidad y la necesidad de sustitución. -Es posible que desees ver [**Reemplazo de Fuentes**](/slides/es/python-net/font-replacement/). +**¿Cómo debo preparar el entorno para minimizar sustituciones inesperadas durante conversiones por lotes?** -{{% /alert %}} \ No newline at end of file +Sincronice el conjunto de fuentes entre máquinas o contenedores, [añada las fuentes externas](/slides/es/python-net/custom-font/) requeridas para los documentos de salida y [incorpore fuentes](/slides/es/python-net/embedded-font/) en las presentaciones cuando sea posible para que las fuentes seleccionadas estén disponibles durante el renderizado. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-notes/_index.md b/es/python-net/developer-guide/presentation-notes/_index.md index b6a35def21..3bf4ef5551 100644 --- a/es/python-net/developer-guide/presentation-notes/_index.md +++ b/es/python-net/developer-guide/presentation-notes/_index.md @@ -1,55 +1,63 @@ --- -title: Notas de Presentación +title: Gestionar notas de la presentación en Python +linktitle: Notas de la presentación type: docs weight: 110 url: /es/python-net/presentation-notes/ -keywords: "Notas, notas de PowerPoint, agregar notas, eliminar notas, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Agregar y eliminar notas en presentaciones de PowerPoint en Python" +keywords: +- notas +- diapositiva de notas +- agregar notas +- eliminar notas +- estilo de notas +- notas maestras +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Personaliza las notas de la presentación con Aspose.Slides para Python a través de .NET. Trabaja sin problemas con notas de PowerPoint y OpenDocument para mejorar tu productividad." --- - - -Aspose.Slides admite la eliminación de diapositivas de notas de una presentación. En este tema, introduciremos esta nueva característica de eliminar notas, así como agregar diapositivas de estilo de notas desde cualquier presentación. Aspose.Slides para Python a través de .NET proporciona la función de eliminar notas de cualquier diapositiva, así como agregar estilo a las notas existentes. Los desarrolladores pueden eliminar notas de las siguientes maneras: +Aspose.Slides admite la eliminación de diapositivas de notas de una presentación. En este tema, presentaremos esta nueva función de eliminación de notas y también la adición de diapositivas con estilo de notas desde cualquier presentación. Aspose.Slides for Python via .NET proporciona la función de eliminar notas de cualquier diapositiva, así como de añadir estilo a las notas existentes. Los desarrolladores pueden eliminar notas de las siguientes maneras: - Eliminar notas de una diapositiva específica de una presentación. - Eliminar notas de todas las diapositivas de una presentación. -## **Eliminar notas de la diapositiva** -Las notas de una diapositiva específica se pueden eliminar, como se muestra en el ejemplo a continuación: +## **Eliminar notas de la diapositiva** +Las notas de una diapositiva específica pueden eliminarse como se muestra en el ejemplo a continuación: ```py import aspose.slides as slides # Instanciar un objeto Presentation que representa un archivo de presentación with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Eliminando notas de la primera diapositiva + # Eliminar notas de la primera diapositiva mgr = presentation.slides[0].notes_slide_manager mgr.remove_notes_slide() - # guardar la presentación en el disco + # Guardar la presentación en disco presentation.save("RemoveNotesAtSpecificSlide_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **Eliminar notas de todas las diapositivas** -Las notas de todas las diapositivas de una presentación se pueden eliminar, como se muestra en el ejemplo a continuación: - +Las notas de todas las diapositivas de una presentación pueden eliminarse como se muestra en el ejemplo a continuación: ```py import aspose.slides as slides # Instanciar un objeto Presentation que representa un archivo de presentación with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Eliminando notas de todas las diapositivas + # Eliminar notas de todas las diapositivas for i in range(len(presentation.slides)): mgr = presentation.slides[i].notes_slide_manager mgr.remove_notes_slide() - # guardar la presentación en el disco + # Guardar la presentación en disco presentation.save("RemoveNotesFromAllSlides_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Agregar estilo de notas** -La propiedad NotesStyle se ha agregado a [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) y a la clase [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) respectivamente. Esta propiedad especifica el estilo de un texto de notas. La implementación se demuestra en el ejemplo a continuación. - +## **Agregar NotesStyle** +La propiedad NotesStyle se ha añadido a la interfaz [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) y a la clase [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) respectivamente. Esta propiedad especifica el estilo del texto de notas. La implementación se muestra en el ejemplo a continuación. ```py import aspose.slides as slides @@ -60,10 +68,21 @@ with slides.Presentation(path + "AccessSlides.pptx") as presentation: # Obtener el estilo de texto de MasterNotesSlide notesStyle = notesMaster.notes_style - # Establecer símbolo de viñeta para los párrafos de primer nivel + #Establecer viñeta de símbolo para los párrafos de primer nivel paragraphFormat = notesStyle.get_level(0) paragraphFormat.bullet.type = slides.BulletType.SYMBOL - # guardar el archivo PPTX en el disco + # Guardar el archivo PPTX en el disco presentation.save("AddNotesSlideWithNotesStyle_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Qué entidad de la API brinda acceso a las notas de una diapositiva específica?** + +Las notas se acceden a través del gestor de notas de la diapositiva: la diapositiva tiene un [NotesSlideManager](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/) y una [propiedad](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/notes_slide/) que devuelve el objeto de notas, o `None` si no hay notas. + +**¿Existen diferencias en la compatibilidad de notas entre las versiones de PowerPoint con las que funciona la biblioteca?** + +La biblioteca está dirigida a una amplia gama de formatos de Microsoft PowerPoint (97–newer) y ODP; las notas son compatibles en estos formatos sin depender de una copia instalada de PowerPoint. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-properties/_index.md b/es/python-net/developer-guide/presentation-properties/_index.md index ae5547ad5b..f16dd4ddd1 100644 --- a/es/python-net/developer-guide/presentation-properties/_index.md +++ b/es/python-net/developer-guide/presentation-properties/_index.md @@ -1,156 +1,156 @@ --- -title: Propiedades de Presentación +title: Administrar propiedades de la presentación con Python +linktitle: Propiedades de la presentación type: docs weight: 70 url: /es/python-net/presentation-properties/ -keywords: "propiedades de PowerPoint, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Propiedades de presentación de PowerPoint en Python" +keywords: +- Propiedades de PowerPoint +- Propiedades de la presentación +- Propiedades del documento +- Propiedades integradas +- Propiedades personalizadas +- Propiedades avanzadas +- Administrar propiedades +- Modificar propiedades +- Metadatos del documento +- Editar metadatos +- Idioma de revisión +- Idioma predeterminado +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Domina las propiedades de la presentación en Aspose.Slides para Python a través de .NET y optimiza la búsqueda, la marca y el flujo de trabajo en tus archivos de PowerPoint." --- +## **Acerca de las propiedades de la presentación** -## **Ejemplo en Vivo** -Prueba [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) la aplicación en línea para ver cómo trabajar con propiedades de documentos a través de la API de Aspose.Slides: - -[](https://products.aspose.app/slides/metadata) - -[![todo:image_alt_text](slides-metadata.png)](https://products.aspose.app/slides/metadata) - - -## **Acerca de las Propiedades de Presentación** -Como hemos descrito anteriormente, Aspose.Slides para Python a través de .NET admite dos tipos de propiedades de documentos, que son propiedades **Integradas** y **Personalizadas**. Por lo tanto, los desarrolladores pueden acceder a ambos tipos de propiedades utilizando la API de Aspose.Slides para Python a través de .NET. Aspose.Slides para Python a través de .NET proporciona una clase [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) que representa las propiedades del documento asociadas con un archivo de presentación a través de la propiedad [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/). Los desarrolladores pueden usar la propiedad [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) expuesta por el objeto **Presentation** para acceder a las propiedades del documento de los archivos de presentación, como se describe a continuación: - - +Como ya describimos, Aspose.Slides para Python a través de .NET admite dos tipos de propiedades de documento, que son **Integradas** y **Personalizadas**. Por lo tanto, los desarrolladores pueden acceder a ambos tipos de propiedades mediante la API de Aspose.Slides para Python a través de .NET. Aspose.Slides para Python a través de .NET proporciona la clase [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) que representa las propiedades del documento asociadas a un archivo de presentación a través de la propiedad [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/). Los desarrolladores pueden usar la propiedad [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) expuesta por el objeto **Presentation** para acceder a las propiedades del documento de los archivos de presentación como se describe a continuación: {{% alert color="primary" %}} -Tenga en cuenta que no puede establecer valores en los campos **Aplicación** y **Productor**, porque Aspose Ltd. y Aspose.Slides para Python a través de .NET x.x.x se mostrarán en estos campos. +Tenga en cuenta que no puede establecer valores en los campos **Application** y **Producer**, porque Aspose Ltd. y Aspose.Slides para Python a través de .NET x.x.x se mostrarán en esos campos. {{% /alert %}} +## **Administrar propiedades de la presentación** -## **Gestionar Propiedades de Presentación** -Microsoft PowerPoint proporciona una función para agregar algunas propiedades a los archivos de presentación. Estas propiedades de documentos permiten almacenar información útil junto con los documentos (archivos de presentación). Hay dos tipos de propiedades de documentos como sigue +Microsoft PowerPoint ofrece una función para agregar algunas propiedades a los archivos de presentación. Estas propiedades de documento permiten almacenar información útil junto con los documentos (archivos de presentación). Existen dos tipos de propiedades de documento: -- Propiedades Definidas por el Sistema (Integradas) -- Propiedades Definidas por el Usuario (Personalizadas) +- Propiedades definidas por el sistema (Integradas) +- Propiedades definidas por el usuario (Personalizadas) -Las propiedades **Integradas** contienen información general sobre el documento, como el título del documento, el nombre del autor, las estadísticas del documento, etc. Las propiedades **Personalizadas** son aquellas que son definidas por los usuarios como pares **Nombre/Valor**, donde tanto el nombre como el valor son definidos por el usuario. Usando Aspose.Slides para Python a través de .NET, los desarrolladores pueden acceder y modificar los valores de las propiedades integradas así como de las propiedades personalizadas. Microsoft PowerPoint 2007 permite gestionar las propiedades de documentos de los archivos de presentación. Todo lo que tiene que hacer es hacer clic en el ícono de Office y luego en el menú **Preparar | Propiedades | Propiedades Avanzadas** de Microsoft PowerPoint 2007. Después de seleccionar el elemento del menú **Propiedades Avanzadas**, aparecerá un diálogo que le permitirá gestionar las propiedades de documentos del archivo de PowerPoint. En el **Diálogo de Propiedades**, puede ver que hay muchas pestañas como **General, Resumen, Estadísticas, Contenidos y Personalizado**. Todas estas pestañas permiten configurar diferentes tipos de información relacionada con los archivos de PowerPoint. La pestaña **Personalizado** se utiliza para gestionar las propiedades personalizadas de los archivos de PowerPoint. -## **Acceder a Propiedades Integradas** -Estas propiedades, tal como las expone el objeto **IDocumentProperties**, incluyen: **Creador (Autor)**, **Descripción**, **Palabras Clave**, **Creado** (Fecha de Creación), **Modificado** (Fecha de Modificación), **Impreso** (Última Fecha de Impresión), **ÚltimoModificadoPor**, **Palabras Clave**, **SharedDoc** (¿Está compartido entre diferentes productores?), **FormatoDePresentación**, **Asunto** y **Título** +Las propiedades **Integradas** contienen información general sobre el documento, como el título, el nombre del autor, estadísticas del documento, etc. Las propiedades **Personalizadas** son aquellas definidas por los usuarios como pares **Nombre/Valor**, donde tanto el nombre como el valor son definidos por el usuario. Con Aspose.Slides para Python a través de .NET, los desarrolladores pueden acceder y modificar los valores de las propiedades integradas así como de las personalizadas. Microsoft PowerPoint 2007 permite administrar las propiedades del documento de los archivos de presentación. Todo lo que debe hacer es hacer clic en el ícono de Office y luego en el menú **Prepare | Properties | Advanced Properties** de Microsoft PowerPoint 2007. Después de seleccionar **Advanced Properties**, aparecerá un cuadro de diálogo que le permitirá administrar las propiedades del documento del archivo PowerPoint. En el **Properties Dialog**, verá varias pestañas como **General, Summary, Statistics, Contents y Custom**. Todas estas pestañas permiten configurar diferentes tipos de información relacionada con los archivos PowerPoint. La pestaña **Custom** se utiliza para administrar las propiedades personalizadas de los archivos PowerPoint. + +## **Acceder a propiedades integradas** +Estas propiedades expuestas por el objeto **IDocumentProperties** incluyen: **Creator(Author)**, **Description**, **Keywords**, **Created** (fecha de creación), **Modified** (fecha de modificación), **Printed** (fecha de última impresión), **LastModifiedBy**, **SharedDoc** (¿se comparte entre diferentes productores?), **PresentationFormat**, **Subject** y **Title**. ```py import aspose.slides as slides -# Instanciar la clase Presentación que representa la presentación +# Instanciar la clase Presentation que representa la presentación with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: - # Crear una referencia al objeto asociado con Presentación + # Crear una referencia al objeto asociado con Presentation documentProperties = pres.document_properties # Mostrar las propiedades integradas - print("categoría : " + documentProperties.category) - print("Estado Actual : " + documentProperties.content_status) - print("Fecha de Creación : " + str(documentProperties.created_time)) - print("Autor : " + documentProperties.author) - print("Descripción : " + documentProperties.comments) - print("Palabras Clave : " + documentProperties.keywords) - print("Último Modificado Por : " + documentProperties.last_saved_by) + print("category : " + documentProperties.category) + print("Current Status : " + documentProperties.content_status) + print("Creation Date : " + str(documentProperties.created_time)) + print("Author : " + documentProperties.author) + print("Description : " + documentProperties.comments) + print("KeyWords : " + documentProperties.keywords) + print("Last Modified By : " + documentProperties.last_saved_by) print("Supervisor : " + documentProperties.manager) - print("Fecha de Modificación : " + str(documentProperties.last_saved_time)) - print("Formato de Presentación : " + documentProperties.presentation_format) - print("Última Fecha de Impresión : " + str(documentProperties.last_printed)) - print("¿Está Compartido entre productores? : " + str(documentProperties.shared_doc)) - print("Asunto : " + documentProperties.subject) - print("Título : " + documentProperties.title) + print("Modified Date : " + str(documentProperties.last_saved_time)) + print("Presentation Format : " + documentProperties.presentation_format) + print("Last Print Date : " + str(documentProperties.last_printed)) + print("Is Shared between producers : " + str(documentProperties.shared_doc)) + print("Subject : " + documentProperties.subject) + print("Title : " + documentProperties.title) ``` -## **Modificar Propiedades Integradas** -Modificar las propiedades integradas de los archivos de presentación es tan fácil como acceder a ellas. Simplemente puede asignar un valor de cadena a cualquier propiedad deseada y el valor de la propiedad se modificará. En el ejemplo que se da a continuación, hemos demostrado cómo podemos modificar las propiedades del documento integradas del archivo de presentación. + +## **Modificar propiedades integradas** + +Modificar las propiedades integradas de los archivos de presentación es tan sencillo como acceder a ellas. Simplemente asigne un valor de cadena a cualquier propiedad deseada y el valor de la propiedad se modificará. En el ejemplo a continuación, demostramos cómo modificar las propiedades integradas del documento de la presentación. ```py import aspose.slides as slides -# Instanciar la clase Presentación que representa la Presentación +# Instanciar la clase Presentation que representa la Presentación with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation: - # Crear una referencia al objeto asociado con Presentación + # Crear una referencia al objeto asociado con Presentation documentProperties = presentation.document_properties # Establecer las propiedades integradas - documentProperties.author = "Aspose.Slides para .NET" - documentProperties.title = "Modificando Propiedades de Presentación" - documentProperties.subject = "Asunto de Aspose" - documentProperties.comments = "Descripción de Aspose" - documentProperties.manager = "Gerente de Aspose" + documentProperties.author = "Aspose.Slides for .NET" + documentProperties.title = "Modifying Presentation Properties" + documentProperties.subject = "Aspose Subject" + documentProperties.comments = "Aspose Description" + documentProperties.manager = "Aspose Manager" - # guardar su presentación en un archivo + # Guardar la presentación en un archivo presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Agregar Propiedades Personalizadas de Presentación** -Aspose.Slides para Python a través de .NET también permite a los desarrolladores agregar los valores personalizados para las propiedades de documentos de presentación. Se da un ejemplo a continuación que muestra cómo establecer las propiedades personalizadas para una presentación. +## **Agregar propiedades personalizadas a la presentación** + +Aspose.Slides para Python a través de .NET también permite a los desarrolladores agregar valores personalizados para las propiedades del documento de la presentación. A continuación se muestra un ejemplo que indica cómo establecer las propiedades personalizadas para una presentación. ```py import aspose.slides as slides -# Instanciar la clase Presentación +# Instanciar la clase Presentation with slides.Presentation() as presentation: - # Obtener Propiedades del Documento + # Obtener propiedades del documento documentProperties = presentation.document_properties - # Agregar propiedades personalizadas - documentProperties.set_custom_property_value("Nueva Personalizada", 12) - documentProperties.set_custom_property_value("Mi Nombre", "Mudassir") - documentProperties.set_custom_property_value("Personalizada", 124) + # Añadiendo propiedades personalizadas + documentProperties.set_custom_property_value("New Custom", 12) + documentProperties.set_custom_property_value("My Nam", "Mudassir") + documentProperties.set_custom_property_value("Custom", 124) # Obtener el nombre de la propiedad en un índice particular getPropertyName = documentProperties.get_custom_property_name(2) - # Eliminar la propiedad seleccionada + # Eliminando la propiedad seleccionada documentProperties.remove_custom_property(getPropertyName) - # Guardar presentación + # Guardando la presentación presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Acceder y Modificar Propiedades Personalizadas** -Aspose.Slides para Python a través de .NET también permite a los desarrolladores acceder a los valores de las propiedades personalizadas. A continuación se da un ejemplo que muestra cómo puede acceder y modificar todas estas propiedades personalizadas para una presentación. +## **Acceder y modificar propiedades personalizadas** + +Aspose.Slides para Python a través de .NET también permite a los desarrolladores acceder a los valores de las propiedades personalizadas. A continuación se muestra un ejemplo que indica cómo puede acceder y modificar todas estas propiedades personalizadas para una presentación. ```py import aspose.slides as slides -# Instanciar la clase Presentación que representa el PPTX +# Instanciar la clase Presentation que representa el PPTX with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentation: - # Crear una referencia al objeto document_properties asociado con Presentación + # Crear una referencia al objeto document_properties asociado con la Presentación documentProperties = presentation.document_properties - # Acceder y modificar las propiedades personalizadas + # Acceder y modificar propiedades personalizadas for i in range(documentProperties.count_of_custom_properties): - # Mostrar nombres y valores de propiedades personalizadas - print("Nombre de Propiedad Personalizada : " + documentProperties.get_custom_property_name(i)) - print("Valor de Propiedad Personalizada : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) + # Mostrar nombres y valores de las propiedades personalizadas + print("Custom Property Name : " + documentProperties.get_custom_property_name(i)) + print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) - # Modificar valores de propiedades personalizadas - documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "Nuevo Valor " + str(i + 1)) - # guardar su presentación en un archivo + # Modificar valores de las propiedades personalizadas + documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1)) + # Guardar la presentación en un archivo presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Verificar si la Presentación ha sido Modificada o Creada** -Aspose.Slides para Python a través de .NET proporciona una función para verificar si una presentación ha sido modificada o creada. A continuación se presenta un ejemplo que muestra cómo verificar si la presentación ha sido creada o modificada. - -```py -import aspose.slides as slides - -info =slides.PresentationFactory.instance.get_presentation_info(path + "AccessModifyingProperties.pptx") -props = info.read_document_properties() - -print(props.name_of_application) -print(props.app_version) -``` - -## **Establecer el Idioma de Revisión** -Aspose.Slides proporciona la propiedad `Language_Id` (expuesta por la clase [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)) para permitirte establecer el idioma de revisión para un documento de PowerPoint. El idioma de revisión es el idioma en el que se revisan las ortografías y la gramática en el PowerPoint. +## **Establecer idioma de revisión** -Este código de Python te muestra cómo establecer el idioma de revisión para un PowerPoint: +Aspose.Slides proporciona la propiedad `Language_Id` (expuesta por la clase [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)) para permitir establecer el idioma de revisión de un documento PowerPoint. El idioma de revisión es el idioma para el cual se verifican la ortografía y la gramática en PowerPoint. +Este código Python muestra cómo establecer el idioma de revisión para un PowerPoint: ```python import aspose.slides as slides @@ -166,17 +166,17 @@ with slides.Presentation(path + "SetProofingLanguage.pptx") as pres: portion_format.east_asian_font = font portion_format.latin_font = font - # establecer el Id de un idioma de revisión + # set the Id of a proofing language portion_format.language_id = "zh-CN" new_portion.text = "1。" paragraph.portions.add(new_portion) ``` -## **Establecer Idioma Predeterminado** -Este código de Python te muestra cómo establecer el idioma predeterminado para una presentación de PowerPoint completa: +## **Establecer idioma predeterminado** +Este código Python muestra cómo establecer el idioma predeterminado para toda una presentación PowerPoint: ```python import aspose.slides as slides @@ -186,7 +186,28 @@ load_options.default_text_language = "en_US" with slides.Presentation(load_options) as pres: shp = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 150) text_frame = shp.text_frame - text_frame.text = "Nuevo Texto" + text_frame.text = "New Text" print(text_frame.paragraphs[0].portions[0].portion_format.language_id) -``` \ No newline at end of file +``` + + +## **Ejemplo en vivo** + +Pruebe la aplicación en línea [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) para ver cómo trabajar con las propiedades del documento a través de la API de Aspose.Slides: + +[![View & Edit PowerPoint Metadata](slides-metadata.png)](https://products.aspose.app/slides/metadata) + +## **Preguntas frecuentes** + +**¿Cómo puedo eliminar una propiedad integrada de una presentación?** + +Las propiedades integradas son una parte integral de la presentación y no pueden eliminarse por completo. Sin embargo, puede cambiar sus valores o establecerlas en vacío si la propiedad específica lo permite. + +**¿Qué ocurre si agrego una propiedad personalizada que ya existe?** + +Si agrega una propiedad personalizada que ya existe, su valor actual será sobrescrito con el nuevo. No necesita eliminar o verificar la propiedad de antemano, ya que Aspose.Slides actualiza automáticamente el valor de la propiedad. + +**¿Puedo acceder a las propiedades de la presentación sin cargar completamente la presentación?** + +Sí, puede acceder a las propiedades de la presentación sin cargarla completamente mediante el método [get_presentation_info](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/get_presentation_info/) de la clase [PresentationFactory](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/). Luego, utilice el método [read_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/read_document_properties/) proporcionado por la clase [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) para leer las propiedades de forma eficiente, ahorrando memoria y mejorando el rendimiento. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md b/es/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md index d4b75d0d64..8460a748c6 100644 --- a/es/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md +++ b/es/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md @@ -7,40 +7,33 @@ url: /es/python-net/digital-signature-in-powerpoint/ keywords: - firma digital - certificado digital -- autoridad de certificación +- autoridad certificadora - certificado PFX - PowerPoint - OpenDocument - presentación - Python - Aspose.Slides -description: "Aprende cómo firmar digitalmente archivos de PowerPoint y OpenDocument con Aspose.Slides for Python via .NET. Asegura tus diapositivas en segundos con claros ejemplos de código." +description: "Aprenda cómo firmar digitalmente archivos PowerPoint y OpenDocument con Aspose.Slides para Python mediante .NET. Proteja sus diapositivas en segundos con ejemplos de código claros." --- - -**Certificado digital** se utiliza para crear una presentación de PowerPoint protegida por contraseña, marcada como creada por una organización o persona en particular. El certificado digital se puede obtener contactando a una organización autorizada - una autoridad de certificación. Después de instalar el certificado digital en el sistema, se puede utilizar para agregar una firma digital a la presentación a través de Archivo -> Información -> Proteger presentación: +**Certificado digital** se utiliza para crear una presentación de PowerPoint protegida con contraseña, marcada como creada por una organización o persona específica. El certificado digital puede obtenerse contactando a una organización autorizada, una autoridad certificadora. Después de instalar el certificado digital en el sistema, se puede usar para agregar una firma digital a la presentación mediante Archivo -> Información -> Proteger presentación: ![todo:image_alt_text](https://lh5.googleusercontent.com/OPGhgHMb_L54PGJztP5oIO9zhxGXzhtnbcrC-z7yLUrc_NkRX1obBfwffXhPV1NWBiqhidiupCphixNGl25LkfQhliG6MCM6E-x16ZuQgMyLABC9bQ446ohMluZr6-ThgQLXCOyy) - - -La presentación puede contener más de una firma digital. Después de que se agrega la firma digital a la presentación, aparecerá un mensaje especial en PowerPoint: +La presentación puede contener más de una firma digital. Después de que se agregue la firma digital a la presentación, aparecerá un mensaje especial en PowerPoint: ![todo:image_alt_text](https://lh3.googleusercontent.com/7ZfH7wElhwcvgJ_btF3C32zasBRbT1yA4tFOpnNnUm0q57ayBKJr0Pb43Oi4RgeCoOmwhyxxz_g8kw3H3Qw8Iqeaka5Xipip9cqvwbadY4E40D_NhXnUnbtdXSHFX6fjNm_UBvLJ) +Para firmar la presentación o comprobar la autenticidad de las firmas de la presentación, **Aspose.Slides API** proporciona la interfaz [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/), la interfaz [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) y la propiedad [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/). Actualmente, las firmas digitales son compatibles solo con el formato PPTX. +## **Agregar firma digital desde un certificado PFX** +El siguiente ejemplo de código muestra cómo agregar una firma digital desde un certificado PFX: - -Para firmar la presentación o verificar la autenticidad de las firmas de la presentación, **Aspose.Slides API** proporciona la interfaz [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/), la interfaz [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) y la propiedad [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/). Actualmente, las firmas digitales son compatibles solo con el formato PPTX. - -## **Agregar firma digital desde certificado PFX** -El siguiente ejemplo de código demuestra cómo agregar una firma digital desde un certificado PFX: - -1. Abrir archivo PFX y pasar la contraseña PFX al objeto [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/). -1. Agregar la firma creada al objeto de presentación. - +1. Abra el archivo PFX y pase la contraseña del PFX al objeto [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/). +1. Agregue la firma creada al objeto de presentación. ```py -#[TODO:Exception] RuntimeError: Error de proxy(FileNotFoundException): No se pudo cargar el archivo o ensamblado 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Archivo no encontrado. +#[TODO:Exception] RuntimeError: Error de proxy (FileNotFoundException): No se pudo cargar el archivo o ensamblado 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. El archivo no fue encontrado. import aspose.slides as slides @@ -48,8 +41,8 @@ with slides.Presentation() as pres: # Crear objeto DigitalSignature con archivo PFX y contraseña PFX signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1") - # Comentar nueva firma digital - signature.comments = "Prueba de firma digital de Aspose.Slides." + # Comentario de la nueva firma digital + signature.comments = "Aspose.Slides digital signing test." # Agregar firma digital a la presentación pres.digital_signatures.add(signature) @@ -59,27 +52,38 @@ with slides.Presentation() as pres: ``` - -Ahora es posible verificar si la presentación fue firmada digitalmente y no ha sido modificada: - - - +Ahora es posible comprobar si la presentación fue firmada digitalmente y no ha sido modificada: ```py # Abrir presentación with slides.Presentation("SomePresentationSigned.pptx") as pres: if len(pres.digital_signatures) > 0: allSignaturesAreValid = True - print("Firmas utilizadas para firmar la presentación: ") + print("Signatures used to sign the presentation: ") # Verificar si todas las firmas digitales son válidas for signature in pres.digital_signatures : print(signature.certificate.subject_name.name + ", " - + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VÁLIDO" if signature.is_valid else "INVALIDO") + + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID") allSignaturesAreValid = allSignaturesAreValid and signature.is_valid if allSignaturesAreValid: - print("La presentación es genuina, todas las firmas son válidas.") + print("Presentation is genuine, all signatures are valid.") else: - print("La presentación ha sido modificada desde la firma.") -``` \ No newline at end of file + print("Presentation has been modified since signing.") +``` + + +## **FAQ** + +**¿Puedo eliminar las firmas existentes de un archivo?** + +Sí. La colección de firmas digitales admite [eliminar elementos individuales](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/remove_at/) y [borrarla por completo](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/clear/); después de guardar el archivo, la presentación no tendrá firmas. + +**¿El archivo queda "solo lectura" después de firmarlo?** + +No. Una firma preserva la integridad y la autoría, pero no impide las ediciones. Para restringir la edición, combínela con ["Solo lectura" o una contraseña](/slides/es/python-net/password-protected-presentation/). + +**¿La firma se mostrará correctamente en diferentes versiones de PowerPoint?** + +La firma se crea para el contenedor OOXML (PPTX). Las versiones modernas de PowerPoint que admiten firmas OOXML muestran correctamente el estado de dichas firmas. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md b/es/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md index 8dd2180f3f..e3dedaabcb 100644 --- a/es/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md +++ b/es/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md @@ -1,86 +1,109 @@ --- -title: Presentación Protegida por Contraseña +title: Presentaciones seguras con contraseñas usando Python +linktitle: Protección con contraseña type: docs weight: 20 url: /es/python-net/password-protected-presentation/ -keywords: "Bloquear PowerPoint, desbloquear PowerPoint, proteger PowerPoint, establecer contraseña, agregar contraseña, cifrar PowerPoint, descifrar PowerPoint, Protección de escritura, seguridad de PowerPoint, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Protección por contraseña de PowerPoint, cifrado y seguridad en Python" - +keywords: +- bloquear PowerPoint +- bloquear presentación +- desbloquear PowerPoint +- desbloquear presentación +- proteger PowerPoint +- proteger presentación +- establecer contraseña +- añadir contraseña +- cifrar PowerPoint +- cifrar presentación +- descifrar PowerPoint +- descifrar presentación +- protección de escritura +- seguridad de PowerPoint +- seguridad de la presentación +- eliminar contraseña +- eliminar protección +- eliminar cifrado +- desactivar contraseña +- desactivar protección +- eliminar protección de escritura +- presentación de PowerPoint +- Python +- Aspose.Slides +description: "Aprenda a bloquear y desbloquear de manera sencilla presentaciones de PowerPoint y OpenDocument protegidas con contraseña usando Aspose.Slides para Python a través de .NET. Aumente su productividad y proteja sus presentaciones con nuestra guía paso a paso." --- -## **Acerca de la Protección por Contraseña** -### **¿Cómo funciona la protección por contraseña para presentaciones?** -Cuando proteges una presentación con contraseña, significa que estás estableciendo una contraseña que impone ciertas restricciones en la presentación. Para eliminar las restricciones, se debe ingresar la contraseña. Una presentación protegida por contraseña se considera una presentación bloqueada. +## **Acerca de la protección con contraseña** +### **¿Cómo funciona la protección con contraseña para una presentación?** +Cuando protege una presentación con una contraseña, está estableciendo una contraseña que impone ciertas restricciones en la presentación. Para eliminar las restricciones, se debe introducir la contraseña. Una presentación protegida con contraseña se considera una presentación bloqueada. -Típicamente, puedes establecer una contraseña para hacer cumplir estas restricciones en una presentación: +Normalmente, puede establecer una contraseña para aplicar estas restricciones a una presentación: - **Modificación** - Si deseas que solo ciertos usuarios modifiquen tu presentación, puedes establecer una restricción de modificación. La restricción aquí impide que las personas modifiquen, cambien o copien cosas en tu presentación (a menos que proporcionen la contraseña). + Si desea que solo ciertos usuarios puedan modificar su presentación, puede establecer una restricción de modificación. Esta restricción impide que las personas modifiquen, cambien o copien elementos de su presentación (a menos que proporcionen la contraseña). - Sin embargo, en este caso, incluso sin la contraseña, un usuario podrá acceder a tu documento y abrirlo. En este modo de solo lectura, el usuario puede ver el contenido o cosas—hipervínculos, animaciones, efectos y otros—dentro de tu presentación, pero no pueden copiar elementos ni guardar la presentación. + Sin embargo, en este caso, incluso sin la contraseña, un usuario podrá acceder a su documento y abrirlo. En este modo de solo lectura, el usuario puede ver el contenido o elementos —hipervínculos, animaciones, efectos y otros— dentro de su presentación, pero no puede copiar elementos ni guardar la presentación. - **Apertura** - Si deseas que solo ciertos usuarios abran tu presentación, puedes establecer una restricción de apertura. La restricción aquí impide que las personas incluso vean el contenido de tu presentación (a menos que proporcionen la contraseña). + Si desea que solo ciertos usuarios puedan abrir su presentación, puede establecer una restricción de apertura. Esta restricción impide que las personas incluso vean el contenido de su presentación (a menos que proporcionen la contraseña). - Técnicamente, la restricción de apertura también previene que los usuarios modifiquen tus presentaciones: cuando las personas no pueden abrir una presentación, no pueden modificarla ni hacer cambios. + Técnicamente, la restricción de apertura también evita que los usuarios modifiquen sus presentaciones: cuando las personas no pueden abrir una presentación, no pueden modificarla ni hacer cambios en ella. - **Nota** que cuando proteges una presentación con contraseña para prevenir su apertura, el archivo de la presentación se convierte en un archivo cifrado. +**Nota** que cuando protege una presentación con contraseña para impedir su apertura, el archivo de la presentación se cifra. -## Cómo Proteger una Presentación con Contraseña en Línea +## Cómo proteger una presentación con contraseña en línea -1. Ve a nuestra página de [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). +1. Visite nuestra página [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). ![todo:image_alt_text](slides-lock.png) -2. Haz clic en **Suelta o carga tus archivos**. +2. Haga clic en **Arrastre o cargue sus archivos**. -3. Selecciona el archivo que deseas proteger con contraseña en tu computadora. +3. Seleccione el archivo que desea proteger con contraseña en su computadora. -4. Ingresa tu contraseña preferida para la protección de edición; Ingresa tu contraseña preferida para la protección de vista. +4. Introduzca la contraseña que prefiera para la protección de edición; introduzca la contraseña que prefiera para la protección de visualización. -5. Si deseas que los usuarios vean tu presentación como una copia final, marca la casilla **Marcar como final**. +5. Si desea que los usuarios vean su presentación como la copia final, marque la casilla de verificación **Mark as final**. -6. Haz clic en **PROTEGER AHORA.** +6. Haga clic en **PROTECT NOW.** -7. Haz clic en **DESCARGAR AHORA.** +7. Haga clic en **DOWNLOAD NOW.** -## **Protección por Contraseña para Presentaciones en Aspose.Slides** -**Formatos Admitidos** +## **Protección con contraseña para presentaciones en Aspose.Slides** +**Formatos compatibles** -Aspose.Slides admite la protección por contraseña, cifrado y operaciones similares para presentaciones en estos formatos: +Aspose.Slides admite la protección con contraseña, cifrado y operaciones similares para presentaciones en los siguientes formatos: -- PPTX y PPT - Presentación de Microsoft PowerPoint -- ODP - Presentación de OpenDocument -- OTP - Plantilla de Presentación de OpenDocument +- PPTX y PPT - Presentación de Microsoft PowerPoint +- ODP - Presentación OpenDocument +- OTP - Plantilla de presentación OpenDocument -**Operaciones Admitidas** +**Operaciones compatibles** -Aspose.Slides te permite usar la protección por contraseña en presentaciones para prevenir modificaciones de estas maneras: +Aspose.Slides le permite usar la protección con contraseña en presentaciones para impedir modificaciones de las siguientes maneras: -- Cifrando una presentación -- Estableciendo una protección de escritura a una presentación +- Cifrar una presentación +- Establecer protección de escritura en una presentación **Otras operaciones** -Aspose.Slides te permite realizar otras tareas que implican la protección por contraseña y el cifrado de estas maneras: - -- Descifrando una presentación; abriendo una presentación cifrada -- Eliminando el cifrado; deshabilitando la protección por contraseña -- Eliminando la protección de escritura de una presentación -- Obteniendo las propiedades de una presentación cifrada -- Verificando si una presentación está cifrada -- Verificando si una presentación está protegida por contraseña. +Aspose.Slides le permite realizar otras tareas relacionadas con la protección con contraseña y el cifrado de las siguientes formas: -## **Cifrando una Presentación** +- Descifrar una presentación; abrir una presentación cifrada +- Eliminar el cifrado; desactivar la protección con contraseña +- Eliminar la protección de escritura de una presentación +- Obtener las propiedades de una presentación cifrada +- Comprobar si una presentación está cifrada +- Comprobar si una presentación está protegida con contraseña. -Puedes cifrar una presentación estableciendo una contraseña. Luego, para modificar la presentación bloqueada, un usuario debe proporcionar la contraseña. +## **Cifrado de una presentación** -Para cifrar o proteger con contraseña una presentación, debes usar el método encrypt (de [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)) para establecer una contraseña para la presentación. Pasas la contraseña al método encrypt y usas el método save para guardar la presentación ahora cifrada. +Puede cifrar una presentación estableciendo una contraseña. Luego, para modificar la presentación bloqueada, el usuario debe proporcionar la contraseña. -Este código de muestra te muestra cómo cifrar una presentación: +Para cifrar o proteger con contraseña una presentación, debe usar el método encrypt (de [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)) para establecer una contraseña para la presentación. Pasa la contraseña al método encrypt y usa el método save para guardar la presentación ya cifrada. +Este fragmento de código muestra cómo cifrar una presentación: ```py import aspose.slides as slides @@ -89,14 +112,14 @@ with slides.Presentation() as pres: pres.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Estableciendo Protección de Escritura a una Presentación** -Puedes agregar una marca que indique “No modificar” a una presentación. De esta manera, informas a los usuarios que no deseas que hagan cambios en la presentación. +## **Establecer protección de escritura en una presentación** -**Nota** que el proceso de protección de escritura no cifra la presentación. Por lo tanto, los usuarios—si realmente lo desean—pueden modificar la presentación, pero para guardar los cambios, tendrán que crear una presentación con un nombre diferente. +Puede añadir una marca que indique “No modificar” a una presentación. De este modo, indica a los usuarios que no desea que realicen cambios en la presentación. -Para establecer una protección de escritura, debes usar el método setWriteProtection. Este código de muestra te muestra cómo establecer una protección de escritura a una presentación: +**Nota** que el proceso de protección de escritura no cifra la presentación. Por lo tanto, los usuarios —si realmente lo desean— pueden modificar la presentación, pero para guardar los cambios, deberán crear una presentación con un nombre diferente. +Para establecer una protección de escritura, debe usar el método setWriteProtection. Este fragmento de código muestra cómo establecer una protección de escritura en una presentación: ```py import aspose.slides as slides @@ -105,12 +128,12 @@ with slides.Presentation() as pres: pres.save("write-protected-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Descifrando una Presentación; Abriendo una Presentación Cifrada** -Aspose.Slides te permite cargar un archivo cifrado pasando su contraseña. Para descifrar una presentación, debes llamar al método [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) sin parámetros. Luego tendrás que ingresar la contraseña correcta para cargar la presentación. +## **Descifrado de una presentación; apertura de una presentación cifrada** -Este código de muestra te muestra cómo descifrar una presentación: +Aspose.Slides le permite cargar un archivo cifrado pasando su contraseña. Para descifrar una presentación, debe llamar al método [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) sin parámetros. Luego deberá introducir la contraseña correcta para cargar la presentación. +Este fragmento de código muestra cómo descifrar una presentación: ```py import aspose.slides as slides @@ -120,12 +143,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: print(pres.document_properties.author) ``` -## **Eliminando el Cifrado; Deshabilitando la Protección por Contraseña** -Puedes eliminar el cifrado o la protección por contraseña de una presentación. De esta manera, los usuarios pueden acceder o modificar la presentación sin restricciones. +## **Eliminación del cifrado; desactivación de la protección con contraseña** -Para eliminar el cifrado o la protección por contraseña, debes llamar al método [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Este código de muestra te muestra cómo eliminar el cifrado de una presentación: +Puede eliminar el cifrado o la protección con contraseña de una presentación. De este modo, los usuarios pueden acceder o modificar la presentación sin restricciones. +Para eliminar el cifrado o la protección con contraseña, debe llamar al método [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) . Este fragmento de código muestra cómo eliminar el cifrado de una presentación: ```py import aspose.slides as slides @@ -136,12 +159,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: pres.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Eliminando la Protección de Escritura de una Presentación** -Puedes usar Aspose.Slides para eliminar la protección de escritura utilizada en un archivo de presentación. De esta manera, los usuarios pueden modificar a su gusto—y no recibirán advertencias cuando realicen tales tareas. +## **Eliminar la protección de escritura de una presentación** -Puedes eliminar la protección de escritura de una presentación utilizando el método [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Este código de muestra te muestra cómo eliminar la protección de escritura de una presentación: +Puede utilizar Aspose.Slides para eliminar la protección de escritura de un archivo de presentación. De este modo, los usuarios pueden modificar a su gusto —y no reciben advertencias al realizar esas tareas. +Puede eliminar la protección de escritura de una presentación utilizando el método [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) . Este fragmento de código muestra cómo eliminar la protección de escritura de una presentación: ```py import aspose.slides as slides @@ -150,14 +173,14 @@ with slides.Presentation("write-protected-pres.pptx") as pres: pres.save("write-protection-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Obteniendo las Propiedades de una Presentación Cifrada** -Típicamente, los usuarios luchan por obtener las propiedades del documento de una presentación cifrada o protegida por contraseña. Sin embargo, Aspose.Slides ofrece un mecanismo que te permite proteger con contraseña una presentación mientras retiene los medios para que los usuarios accedan a las propiedades de esa presentación. +## **Obtener las propiedades de una presentación cifrada** -**Nota** que cuando Aspose.Slides cifra una presentación, las propiedades del documento de la presentación también quedan protegidas por contraseña por defecto. Pero si necesitas hacer que las propiedades de la presentación sean accesibles (incluso después de que la presentación sea cifrada), Aspose.Slides permite hacer precisamente eso. +Normalmente, los usuarios tienen dificultades para obtener las propiedades del documento de una presentación cifrada o protegida con contraseña. Sin embargo, Aspose.Slides ofrece un mecanismo que permite proteger una presentación con contraseña y, al mismo tiempo, permite a los usuarios acceder a las propiedades de esa presentación. -Si deseas que los usuarios mantengan la capacidad de acceder a las propiedades de una presentación que cifraste, puedes establecer la propiedad [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) en `True`. Este código de muestra te muestra cómo cifrar una presentación mientras proporcionas los medios para que los usuarios accedan a sus propiedades del documento: +**Nota** que cuando Aspose.Slides cifra una presentación, las propiedades del documento de la presentación también quedan protegidas con contraseña por defecto. Pero si necesita que las propiedades de la presentación sean accesibles (incluso después de que la presentación se cifre), Aspose.Slides permite hacer precisamente eso. +Si desea que los usuarios mantengan la capacidad de acceder a las propiedades de una presentación que usted ha cifrado, puede establecer la propiedad [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) a `True`. Este fragmento de código muestra cómo cifrar una presentación y al mismo tiempo ofrecer a los usuarios la posibilidad de acceder a sus propiedades del documento: ```py import aspose.slides as slides @@ -166,25 +189,25 @@ with slides.Presentation() as pres: pres.protection_manager.encrypt("123123") ``` -## **Verificando si una Presentación está Protegida por Contraseña Antes de Cargarla** -Antes de cargar una presentación, es posible que desees verificar y confirmar que la presentación no ha sido protegida con una contraseña. De esta manera, evitas errores y problemas similares, que surgen cuando se carga una presentación protegida por contraseña sin su contraseña. +## **Comprobación de si una presentación está protegida con contraseña antes de cargarla** -Este código Python te muestra cómo examinar una presentación para ver si está protegida por contraseña (sin cargar la presentación misma): +Antes de cargar una presentación, puede que desee comprobar y confirmar que la presentación no está protegida con una contraseña. De este modo, evita errores y problemas similares que aparecen cuando se intenta cargar una presentación protegida con contraseña sin la contraseña. +Este código Python muestra cómo examinar una presentación para ver si está protegida con contraseña (sin cargar la propia presentación): ```python import aspose.slides as slides presentationInfo = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -print("La presentación está protegida por contraseña: " + str(presentationInfo.is_password_protected)) +print("The presentation is password protected: " + str(presentationInfo.is_password_protected)) ``` -## **Verificando si una Presentación está Cifrada** -Aspose.Slides te permite verificar si una presentación está cifrada. Para realizar esta tarea, puedes usar la propiedad [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) que devuelve `True` si la presentación está cifrada o `False` si la presentación no está cifrada. +## **Comprobación de si una presentación está cifrada** -Este código de muestra te muestra cómo verificar si una presentación está cifrada: +Aspose.Slides permite comprobar si una presentación está cifrada. Para realizar esta tarea, puede usar la propiedad [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) , que devuelve `True` si la presentación está cifrada o `False` si no lo está. +Este fragmento de código muestra cómo comprobar si una presentación está cifrada: ```py import aspose.slides as slides @@ -192,12 +215,12 @@ with slides.Presentation() as pres: print(str(pres.protection_manager.is_encrypted)) ``` -## **Verificando si una Presentación está Protegida contra Escritura** -Aspose.Slides te permite verificar si una presentación está protegida contra escritura. Para realizar esta tarea, puedes usar la propiedad [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) que devuelve `True` si la presentación está protegida y `False` si la presentación no está protegida. +## **Comprobación de si una presentación está protegida contra escritura** -Este código de muestra te muestra cómo verificar si una presentación está protegida contra escritura: +Aspose.Slides permite comprobar si una presentación está protegida contra escritura. Para realizar esta tarea, puede usar la propiedad [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) , que devuelve `True` si la presentación está protegida contra escritura o `False` si no lo está. +Este fragmento de código muestra cómo comprobar si una presentación está protegida contra escritura: ```py import aspose.slides as slides @@ -205,23 +228,38 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(pres.protection_manager.is_write_protected)) ``` -## **Validando o Confirmando que una Contraseña Específica se Ha Utilizado para Proteger una Presentación** -Es posible que desees verificar y confirmar que se ha utilizado una contraseña específica para proteger un documento de presentación. Aspose.Slides proporciona los medios para que valides una contraseña. +## **Validación o confirmación de que se ha usado una contraseña específica para proteger una presentación** -Este código de muestra te muestra cómo validar una contraseña: +Puede que desee comprobar y confirmar que se ha usado una contraseña específica para proteger un documento de presentación. Aspose.Slides proporciona los medios para validar una contraseña. +Este fragmento de código muestra cómo validar una contraseña: ```py import aspose.slides as slides with slides.Presentation("write-protected-pres.pptx") as pres: - # verificar si "pass" coincide con + # comprobar si "pass" coincide con matched = pres.protection_manager.check_write_protection("my_password") print(str(matched)) ``` -Devuelve `True` si la presentación ha sido cifrada con la contraseña especificada. De lo contrario, devuelve `False`. + +Devuelve `True` si la presentación ha sido cifrada con la contraseña especificada. En caso contrario, devuelve `False`. {{% alert color="primary" title="Ver también" %}} -- [Firma Digital en PowerPoint](/slides/es/python-net/digital-signature-in-powerpoint/) -{{% /alert %}} \ No newline at end of file +- [Digital Signature in PowerPoint](/slides/es/python-net/digital-signature-in-powerpoint/) +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Qué métodos de cifrado son compatibles con Aspose.Slides?** + +Aspose.Slides admite métodos de cifrado modernos, incluidos algoritmos basados en AES, garantizando un alto nivel de seguridad de datos para sus presentaciones. + +**¿Qué ocurre si se introduce una contraseña incorrecta al intentar abrir una presentación?** + +Se lanza una excepción si se utiliza una contraseña incorrecta, avisándole de que el acceso a la presentación está denegado. Esto ayuda a evitar accesos no autorizados y protege el contenido de la presentación. + +**¿Existen implicaciones de rendimiento al trabajar con presentaciones protegidas con contraseña?** + +El proceso de cifrado y descifrado puede introducir una ligera sobrecarga durante las operaciones de apertura y guardado. En la mayoría de los casos, este impacto en el rendimiento es mínimo y no afecta significativamente el tiempo total de procesamiento de sus tareas de presentación. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md b/es/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md index 74e86593f1..6e9400b118 100644 --- a/es/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md +++ b/es/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md @@ -1,25 +1,34 @@ --- -title: Presentación de Solo Lectura +title: Guardar presentaciones en modo solo lectura usando Python +linktitle: Presentación de solo lectura type: docs weight: 30 url: /es/python-net/read-only-presentation/ -keywords: "Configuración de solo lectura, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Presentación de PowerPoint de solo lectura en Python" +keywords: +- solo lectura +- proteger presentación +- evitar edición +- PowerPoint +- presentación +- Python +- Aspose.Slides +description: "Cargar y guardar archivos PowerPoint (PPT, PPTX) en modo solo lectura con Aspose.Slides para Python a través de .NET, ofreciendo vistas previas de diapositivas precisas sin alterar sus presentaciones." --- -En PowerPoint 2019, Microsoft introdujo la configuración de **Siempre Abrir en Solo Lectura** como una de las opciones que los usuarios pueden utilizar para proteger sus presentaciones. Puede que desee utilizar esta configuración de Solo Lectura para proteger una presentación cuando +## **Aplicar modo Read-Only** -- Desea prevenir ediciones accidentales y mantener el contenido de su presentación a salvo. -- Desea alertar a las personas de que la presentación que proporcionó es la versión final. +En PowerPoint 2019, Microsoft introdujo la configuración **Always Open Read-Only** como una de las opciones que los usuarios pueden usar para proteger sus presentaciones. Es posible que desee usar esta configuración de Read-Only para proteger una presentación cuando -Después de seleccionar la opción de **Siempre Abrir en Solo Lectura** para una presentación, cuando los usuarios abren la presentación, ven la recomendación de **Solo Lectura** y pueden ver un mensaje en esta forma: *Para prevenir cambios accidentales, el autor ha configurado este archivo para abrirse como solo lectura.* +- Quiere evitar ediciones accidentales y mantener el contenido de su presentación seguro. +- Quiere avisar a la gente que la presentación que proporcionó es la versión final. -La recomendación de Solo Lectura es un disuasivo simple pero efectivo que desanima la edición porque los usuarios deben realizar una tarea para eliminarla antes de que se les permita editar una presentación. Si no desea que los usuarios realicen cambios en una presentación y desea informarles sobre esto de manera educada, entonces la recomendación de Solo Lectura puede ser una buena opción para usted. +Después de seleccionar la opción **Always Open Read-Only** para una presentación, cuando los usuarios abren la presentación, ven la recomendación **Read-Only** y pueden ver un mensaje como el siguiente: *Para evitar cambios accidentales, el autor ha configurado este archivo para abrirse en modo solo lectura.* -> Si una presentación con la protección de **Solo Lectura** se abre en una aplicación anterior de Microsoft PowerPoint—que no soporta la función introducida recientemente—la recomendación de **Solo Lectura** se ignora (la presentación se abre normalmente). +La recomendación **Read-Only** es un disuasivo simple pero eficaz que desalienta la edición porque los usuarios deben realizar una acción para eliminarla antes de que se les permita editar una presentación. Si no desea que los usuarios realicen cambios en una presentación y quiere comunicarlo de manera educada, la recomendación **Read-Only** puede ser una buena opción para usted. -Aspose.Slides para Python a través de .NET le permite configurar una presentación como **Solo Lectura**, lo que significa que los usuarios (después de abrir la presentación) ven la recomendación de **Solo Lectura**. Este código de muestra le muestra cómo configurar una presentación como **Solo Lectura** en Python utilizando Aspose.Slides: +> Si una presentación con la protección **Read-Only** se abre en una versión anterior de Microsoft PowerPoint—que no admite la función introducida recientemente—la recomendación **Read-Only** se ignora (la presentación se abre normalmente). +Aspose.Slides for Python via .NET le permite establecer una presentación como **Read-Only**, lo que significa que los usuarios (después de abrir la presentación) ven la recomendación **Read-Only**. Este código de ejemplo muestra cómo establecer una presentación como **Read-Only** en Python usando Aspose.Slides: ```py import aspose.slides as slides @@ -28,8 +37,27 @@ with slides.Presentation() as pres: pres.save("ReadOnlyPresentation.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -**Nota**: La recomendación de **Solo Lectura** está simplemente destinada a desincentivar la edición o a evitar que los usuarios realicen cambios accidentales en una presentación de PowerPoint. Si una persona motivada—que sabe lo que está haciendo—decide editar su presentación, puede eliminar fácilmente la configuración de Solo Lectura. Si realmente necesita prevenir ediciones no autorizadas, es mejor usar [protecciones más estrictas que impliquen encriptaciones y contraseñas](https://docs.aspose.com/slides/python-net/password-protected-presentation/). +**Nota**: La recomendación **Read-Only** está simplemente destinada a desalentar la edición o impedir que los usuarios realicen cambios accidentales en una presentación de PowerPoint. Si una persona motivada—que sabe lo que hace—decide editar su presentación, puede eliminar fácilmente la configuración Read-Only. Si realmente necesita evitar la edición no autorizada, es mejor utilizar [protecciones más estrictas que implican cifrados y contraseñas](https://docs.aspose.com/slides/python-net/password-protected-presentation/). + +{{% /alert %}} + +## **FAQ** + +**¿En qué se diferencia 'Read-Only recommended' de la protección completa con contraseña?** + +'Read-Only recommended' solo muestra una sugerencia para abrir el archivo en modo solo lectura y es fácil de evitar. [Password protection](/slides/es/python-net/password-protected-presentation/) realmente restringe la apertura o edición y es apropiada cuando necesita controles de seguridad reales. + +**¿Se puede combinar 'Read-Only recommended' con marcas de agua para desalentar aún más las ediciones?** + +Sí. La recomendación puede combinarse con [watermarks](/slides/es/python-net/watermark/) como un disuasivo visual; son mecanismos separados y funcionan bien juntos. + +**¿Puede una macro o herramienta externa seguir modificando el archivo cuando la recomendación está habilitada?** + +Sí. La recomendación no bloquea los cambios programáticos. Para evitar ediciones automatizadas, use [passwords and encryption](/slides/es/python-net/password-protected-presentation/). + +**¿Cómo se relaciona 'Read-Only recommended' con las banderas 'is_encrypted' y 'is_write_protected'?** -{{% /alert %}} \ No newline at end of file +Son señales diferentes. 'Read-Only recommended' es un aviso suave y opcional; [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_write_protected/) y [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_encrypted/) indican restricciones reales de escritura o lectura que dependen de contraseñas o cifrado. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-security/watermark/_index.md b/es/python-net/developer-guide/presentation-security/watermark/_index.md index 68690f3b24..82b7b6f227 100644 --- a/es/python-net/developer-guide/presentation-security/watermark/_index.md +++ b/es/python-net/developer-guide/presentation-security/watermark/_index.md @@ -9,48 +9,47 @@ keywords: - marca de agua de texto - marca de agua de imagen - agregar marca de agua -- cambiar la marca de agua -- quitar la marca de agua -- eliminar la marca de agua +- cambiar marca de agua +- eliminar marca de agua +- borrar marca de agua - agregar marca de agua a PPT - agregar marca de agua a PPTX - agregar marca de agua a ODP -- quitar la marca de agua de PPT -- quitar la marca de agua de PPTX -- quitar la marca de agua de ODP -- eliminar la marca de agua de PPT -- eliminar la marca de agua de PPTX -- eliminar la marca de agua de ODP +- eliminar marca de agua de PPT +- eliminar marca de agua de PPTX +- eliminar marca de agua de ODP +- borrar marca de agua de PPT +- borrar marca de agua de PPTX +- borrar marca de agua de ODP - PowerPoint - OpenDocument - presentación - Python - Aspose.Slides -description: "Aprende a gestionar marcas de agua de texto e imagen en presentaciones de PowerPoint y OpenDocument en Python para indicar borrador, información confidencial, derechos de autor y más." +description: "Aprenda cómo administrar marcas de agua de texto e imagen en presentaciones PowerPoint y OpenDocument con Python para indicar un borrador, información confidencial, derechos de autor y más." --- -## **Acerca de las Marcas de Agua** +## **Acerca de las marcas de agua** -**Una marca de agua** en una presentación es un sello de texto o imagen utilizado en una diapositiva o en todas las diapositivas de la presentación. Generalmente, una marca de agua se utiliza para indicar que la presentación es un borrador (por ejemplo, una marca de agua de "Borrador"), que contiene información confidencial (por ejemplo, una marca de agua de "Confidencial"), para especificar a qué empresa pertenece (por ejemplo, una marca de agua de "Nombre de la Empresa"), para identificar al autor de la presentación, etc. Una marca de agua ayuda a prevenir violaciones de derechos de autor al indicar que la presentación no debe ser copiada. Las marcas de agua se utilizan en los formatos de presentación de PowerPoint y OpenOffice. En Aspose.Slides, puedes agregar una marca de agua a los formatos de archivo PowerPoint PPT, PPTX y OpenOffice ODP. +**Una marca de agua** en una presentación es un sello de texto o imagen que se utiliza en una diapositiva o en todas las diapositivas de la presentación. Normalmente, una marca de agua se usa para indicar que la presentación es un borrador (p. ej., una marca de agua “Borrador”), que contiene información confidencial (p. ej., una marca de agua “Confidencial”), para especificar a qué empresa pertenece (p. ej., una marca de agua “Nombre de la empresa”), para identificar al autor de la presentación, etc. Una marca de agua ayuda a prevenir violaciones de derechos de autor al indicar que la presentación no debe ser copiada. Las marcas de agua se usan tanto en formatos de presentación PowerPoint como OpenOffice. En Aspose.Slides, puedes añadir una marca de agua a los formatos de archivo PowerPoint PPT, PPTX y OpenOffice ODP. -En [**Aspose.Slides**](https://products.aspose.com/slides/python-net/), hay varias maneras de crear marcas de agua en documentos de PowerPoint o OpenOffice y modificar su diseño y comportamiento. El aspecto común es que para agregar marcas de agua de texto, debes usar la clase [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), y para agregar marcas de agua de imagen, utiliza la clase [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) o llena una forma de marca de agua con una imagen. `PictureFrame` implementa la clase [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), lo que te permite usar todas las configuraciones flexibles del objeto forma. Dado que `TextFrame` no es una forma y sus configuraciones son limitadas, se envuelve dentro de un objeto [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). +En [**Aspose.Slides**](https://products.aspose.com/slides/python-net/), existen varias formas de crear marcas de agua en documentos PowerPoint o OpenOffice y modificar su diseño y comportamiento. El aspecto común es que, para añadir marcas de agua de texto, debes usar la clase [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), y para añadir marcas de agua de imagen, usar la clase [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) o rellenar una forma de marca de agua con una imagen. `PictureFrame` implementa la clase [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), lo que permite usar todas las configuraciones flexibles del objeto forma. Como `TextFrame` no es una forma y sus configuraciones son limitadas, se envuelve en un objeto [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). -Hay dos maneras en las que se puede aplicar una marca de agua: a una sola diapositiva o a todas las diapositivas de la presentación. La Diapositiva Maestro se utiliza para aplicar una marca de agua a todas las diapositivas de la presentación: la marca de agua se añade al Diapositiva Maestro, se diseña completamente allí y se aplica a todas las diapositivas sin afectar la autorización para modificar la marca de agua en diapositivas individuales. +Hay dos formas de aplicar una marca de agua: a una única diapositiva o a todas las diapositivas de la presentación. El patrón de diapositivas (Slide Master) se usa para aplicar una marca de agua a todas las diapositivas: la marca de agua se agrega al Slide Master, se diseña allí completamente y se aplica a todas las diapositivas sin afectar el permiso para modificar la marca de agua en diapositivas individuales. -Se considera que una marca de agua generalmente no está disponible para ser editada por otros usuarios. Para evitar que la marca de agua (o más bien la forma principal de la marca de agua) sea editada, Aspose.Slides proporciona funcionalidad de bloqueo de formas. Una forma específica puede ser bloqueada en una diapositiva normal o en una Diapositiva Maestro. Cuando la forma de marca de agua está bloqueada en la Diapositiva Maestro, estará bloqueada en todas las diapositivas de la presentación. +Una marca de agua suele considerarse no disponible para edición por otros usuarios. Para evitar que la marca de agua (o mejor dicho, la forma padre de la marca de agua) sea editada, Aspose.Slides proporciona funcionalidad de bloqueo de formas. Se puede bloquear una forma específica en una diapositiva normal o en un Slide Master. Cuando la forma de la marca de agua está bloqueada en el Slide Master, estará bloqueada en todas las diapositivas de la presentación. -Puedes establecer un nombre para la marca de agua de modo que en el futuro, si deseas eliminarla, puedas encontrarla en las formas de la diapositiva por su nombre. +Puedes asignar un nombre a la marca de agua para que, en el futuro, si deseas eliminarla, puedas encontrarla en las formas de la diapositiva por nombre. -Puedes diseñar la marca de agua de cualquier manera; sin embargo, generalmente hay características comunes en las marcas de agua, como la alineación al centro, la rotación, la posición al frente, etc. Consideraremos cómo usar estas características en los ejemplos a continuación. +Puedes diseñar la marca de agua de cualquier manera; sin embargo, suelen existir características comunes en las marcas de agua, como alineación centrada, rotación, posición al frente, etc. Consideraremos cómo usar estas características en los ejemplos a continuación. -## **Marca de Agua de Texto** +## **Marca de agua de texto** -### **Agregar una Marca de Agua de Texto a una Diapositiva** - -Para agregar una marca de agua de texto en PPT, PPTX o ODP, primero puedes agregar una forma a la diapositiva, luego agregar un marco de texto a esta forma. El marco de texto está representado por la clase [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). Este tipo no se hereda de [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), que tiene un amplio conjunto de propiedades para posicionar la marca de agua de manera flexible. Por lo tanto, el objeto [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) se envuelve en un objeto [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). Para agregar texto de marca de agua a la forma, usa el método [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) como se muestra a continuación. +### **Agregar una marca de agua de texto a una diapositiva** +Para agregar una marca de agua de texto en PPT, PPTX o ODP, puedes primero añadir una forma a la diapositiva y luego agregar un marco de texto a esa forma. El marco de texto está representado por la clase [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). Este tipo no hereda de [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), que tiene un amplio conjunto de propiedades para posicionar la marca de agua de forma flexible. Por lo tanto, el objeto [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) se envuelve en un objeto [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). Para agregar texto de marca de agua a la forma, utiliza el método [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) como se muestra a continuación. ```py -watermark_text = "CONFIDENCIAL" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: slide = presentation.slides[0] @@ -59,16 +58,16 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` + {{% alert color="primary" title="Ver también" %}} - [Cómo usar la clase TextFrame](/slides/es/python-net/text-formatting/) {{% /alert %}} -### **Agregar una Marca de Agua de Texto a una Presentación** - -Si deseas agregar una marca de agua de texto a toda la presentación (es decir, a todas las diapositivas a la vez), agrégala a la [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). El resto de la lógica es la misma que al agregar una marca de agua a una sola diapositiva: crea un objeto [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) y luego agrega la marca de agua utilizando el método [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str). +### **Agregar una marca de agua de texto a una presentación** +Si deseas agregar una marca de agua de texto a toda la presentación (es decir, a todas las diapositivas a la vez), añádela al [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). El resto de la lógica es igual que al agregar una marca de agua a una única diapositiva: crea un objeto [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) y luego agrega la marca de agua usando el método [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str). ```py -watermark_text = "CONFIDENCIAL" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: master_slide = presentation.masters[0] @@ -77,33 +76,33 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` + {{% alert color="primary" title="Ver también" %}} -- [Cómo usar la Diapositiva Maestro](/slides/es/python-net/slide-master/) +- [Cómo usar el Slide Master](/slides/es/python-net/slide-master/) {{% /alert %}} -### **Establecer la Transparencia de la Forma de Marca de Agua** - -Por defecto, la forma rectangular está estilizada con colores de relleno y de línea. Las siguientes líneas de código hacen que la forma sea transparente. +### **Establecer la transparencia de la forma de la marca de agua** +De forma predeterminada, la forma rectangular tiene estilos de colores de relleno y línea. Las siguientes líneas de código hacen que la forma sea transparente. ```py watermark_shape.fill_format.fill_type = FillType.NO_FILL watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL ``` -### **Establecer la Fuente para una Marca de Agua de Texto** -Puedes cambiar la fuente de la marca de agua de texto como se muestra a continuación. +### **Establecer la fuente para una marca de agua de texto** +Puedes cambiar la fuente de la marca de agua de texto como se muestra a continuación. ```py text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format text_format.latin_font = FontData("Arial") text_format.font_height = 50 ``` -### **Establecer el Color del Texto de la Marca de Agua** -Para establecer el color del texto de la marca de agua, utiliza este código: +### **Establecer el color del texto de la marca de agua** +Para establecer el color del texto de la marca de agua, usa este código: ```py alpha = 150 red = 200 @@ -115,10 +114,10 @@ fill_format.fill_type = FillType.SOLID fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue) ``` -### **Centrar una Marca de Agua de Texto** -Es posible centrar la marca de agua en una diapositiva, y para eso, puedes hacer lo siguiente: +### **Centrar una marca de agua de texto** +Es posible centrar la marca de agua en una diapositiva; para ello, puedes hacer lo siguiente: ```py slide_size = presentation.slide_size.size @@ -133,16 +132,16 @@ watermark_shape = slide.shapes.add_auto_shape( watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -La imagen a continuación muestra el resultado final. -![La marca de agua de texto](text_watermark.png) +La imagen a continuación muestra el resultado final. -## **Marca de Agua de Imagen** +![The text watermark](text_watermark.png) -### **Agregar una Marca de Agua de Imagen a una Presentación** +## **Marca de agua de imagen** -Para agregar una marca de agua de imagen a una diapositiva de presentación, puedes hacer lo siguiente: +### **Agregar una marca de agua de imagen a una presentación** +Para agregar una marca de agua de imagen a una diapositiva de la presentación, puedes hacer lo siguiente: ```py with open("watermark.png", "rb") as image_stream: image = presentation.images.add_image(image_stream.read()) @@ -152,12 +151,12 @@ with open("watermark.png", "rb") as image_stream: watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH ``` -## **Bloquear una Marca de Agua para Editar** -Si es necesario prevenir que una marca de agua sea editada, utiliza la propiedad [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) en la forma. Con esta propiedad, puedes proteger la forma de ser seleccionada, redimensionada, reposicionada, agrupada con otros elementos, bloquear su texto de la edición, y mucho más: +## **Bloquear una marca de agua para que no se edite** +Si es necesario evitar que una marca de agua se edite, usa la propiedad [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) en la forma. Con esta propiedad, puedes proteger la forma contra la selección, el cambio de tamaño, el reposicionamiento, la agrupación con otros elementos, bloquear su texto para edición y mucho más: ```py -# Bloquear la forma de la marca de agua para modificar +# Bloquear la forma de la marca de agua para que no se modifique watermark_shape.auto_shape_lock.select_locked = True watermark_shape.auto_shape_lock.size_locked = True watermark_shape.auto_shape_lock.text_locked = True @@ -165,37 +164,37 @@ watermark_shape.auto_shape_lock.position_locked = True watermark_shape.auto_shape_lock.grouping_locked = True ``` -## **Traer una Marca de Agua al Frente** -En Aspose.Slides, el orden Z de las formas se puede establecer a través del método [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape). Para hacer esto, debes llamar a este método desde la lista de diapositivas de la presentación y pasar la referencia de la forma y su número de orden al método. De esta manera, es posible llevar una forma al frente o enviarla a la parte posterior de la diapositiva. Esta característica es especialmente útil si necesitas colocar una marca de agua frente a la presentación: +## **Traer una marca de agua al frente** +En Aspose.Slides, el orden Z de las formas se puede establecer mediante el método [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape). Para hacerlo, debes llamar a este método desde la lista de diapositivas de la presentación y pasar la referencia de la forma y su número de orden al método. De esta manera, es posible llevar una forma al frente o enviarla al fondo de la diapositiva. Esta característica es especialmente útil si necesitas colocar una marca de agua delante de la presentación: ```py shape_count = len(slide.shapes) slide.shapes.reorder(shape_count - 1, watermark_shape) ``` -## **Establecer la Rotación de la Marca de Agua** -Aquí tienes un ejemplo de código sobre cómo ajustar la rotación de la marca de agua para que esté posicionada diagonalmente a través de la diapositiva: +## **Establecer la rotación de la marca de agua** +A continuación se muestra un ejemplo de código de cómo ajustar la rotación de la marca de agua para que quede posicionada diagonalmente a lo largo de la diapositiva: ```py diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi watermark_shape.rotation = float(diagonal_angle) ``` -## **Establecer un Nombre para una Marca de Agua** -Aspose.Slides te permite establecer el nombre de una forma. Usando el nombre de la forma, puedes acceder a ella en el futuro para modificarla o eliminarla. Para establecer el nombre de la forma de la marca de agua, asígnale a la propiedad [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) el siguiente valor: +## **Asignar un nombre a una marca de agua** +Aspose.Slides permite asignar un nombre a una forma. Mediante el nombre de la forma, puedes acceder a ella en el futuro para modificarla o eliminarla. Para establecer el nombre de la forma de la marca de agua, asígnalo a la propiedad [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/): ```py watermark_shape.name = "watermark" ``` -## **Eliminar una Marca de Agua** -Para eliminar la forma de la marca de agua, utiliza el método [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) para encontrarla en las formas de la diapositiva. Luego, pasa la forma de la marca de agua al método [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape): +## **Eliminar una marca de agua** +Para eliminar la forma de la marca de agua, usa el método [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) para encontrarla en las formas de la diapositiva. Luego, pasa la forma de la marca de agua al método [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape): ```py slide_shapes = list(slide.shapes) for shape in slide_shapes: @@ -203,8 +202,35 @@ for shape in slide_shapes: slide.shapes.remove(watermark_shape) ``` -## **Un Ejemplo en Vivo** -Tal vez quieras consultar las herramientas en línea **Aspose.Slides gratis** [Agregar Marca de Agua](https://products.aspose.app/slides/watermark) y [Eliminar Marca de Agua](https://products.aspose.app/slides/watermark/remove-watermark). +## **Un ejemplo en vivo** + +Es posible que desees probar las herramientas en línea **Aspose.Slides free** [Add Watermark](https://products.aspose.app/slides/watermark) y [Remove Watermark](https://products.aspose.app/slides/watermark/remove-watermark). + +![Online tools to add and remove watermarks](online_tools.png) + +## **Preguntas frecuentes** + +**¿Qué es una marca de agua y por qué debería usarla?** + +Una marca de agua es una superposición de texto o imagen aplicada a las diapositivas que ayuda a proteger la propiedad intelectual, mejorar el reconocimiento de la marca o prevenir el uso no autorizado de presentaciones. + +**¿Puedo agregar una marca de agua a todas las diapositivas de una presentación?** + +Sí, Aspose.Slides permite agregar una marca de agua a cada diapositiva de una presentación. Puedes iterar por todas las diapositivas y aplicar la configuración de la marca de agua individualmente. + +**¿Cómo puedo ajustar la transparencia de la marca de agua?** + +Puedes ajustar la transparencia de la marca de agua modificando la configuración de relleno ([FillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/fillformat/)) de la forma. Esto garantiza que la marca de agua sea sutil y no distraiga del contenido de la diapositiva. + +**¿Qué formatos de imagen son compatibles para las marcas de agua?** + +Aspose.Slides admite varios formatos de imagen como PNG, JPEG, GIF, BMP, SVG y más. + +**¿Puedo personalizar la fuente y el estilo de una marca de agua de texto?** + +Sí, puedes elegir cualquier fuente, tamaño y estilo para que coincidan con el diseño de tu presentación y mantengan la consistencia de la marca. + +**¿Cómo cambio la posición o la orientación de una marca de agua?** -![Herramientas en línea para agregar y eliminar marcas de agua](online_tools.png) \ No newline at end of file +Puedes ajustar la posición y orientación de la marca de agua modificando las coordenadas, el tamaño y las propiedades de rotación de la [shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md b/es/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md index 0ad45d6680..fc3ecc437c 100644 --- a/es/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md +++ b/es/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md @@ -1,97 +1,111 @@ --- -title: Acceder a la Diapositiva en la Presentación +title: Acceder a diapositivas en presentaciones con Python +linktitle: Acceder a diapositiva type: docs weight: 20 url: /es/python-net/access-slide-in-presentation/ -keywords: "Acceder a la Presentación de PowerPoint, Acceder a diapositiva, Editar propiedades de la diapositiva, Cambiar posición de la diapositiva, Establecer número de diapositiva, índice, ID, posición Python, Aspose.Slides" -description: "Acceder a la diapositiva de PowerPoint por índice, ID o posición en Python. Editar propiedades de la diapositiva" +keywords: +- acceder a diapositiva +- índice de diapositiva +- id de diapositiva +- posición de diapositiva +- cambiar posición +- propiedades de diapositiva +- número de diapositiva +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Aprenda cómo acceder y administrar diapositivas en presentaciones PowerPoint y OpenDocument con Aspose.Slides para Python a través de .NET. Aumente la productividad con ejemplos de código." --- -Aspose.Slides te permite acceder a las diapositivas de dos maneras: por índice y por ID. +## **Visión general** -## **Acceder a la Diapositiva por Índice** +Este artículo explica cómo acceder a diapositivas específicas en una presentación de PowerPoint usando Aspose.Slides para Python. Muestra cómo abrir una presentación, referenciar diapositivas por índice o por ID único, y leer información básica de la diapositiva necesaria para la navegación dentro del archivo. Con estas técnicas, puede localizar de forma fiable la diapositiva exacta que desea inspeccionar o procesar. -Todas las diapositivas en una presentación están organizadas numéricamente según la posición de la diapositiva comenzando desde 0. La primera diapositiva se puede acceder a través del índice 0; la segunda diapositiva se accede a través del índice 1; etc. +## **Acceder a una diapositiva por índice** -La clase Presentation, que representa un archivo de presentación, expone todas las diapositivas como una colección [ISlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/islidecollection/) (colección de objetos [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/)). Este código Python te muestra cómo acceder a una diapositiva a través de su índice: +Las diapositivas en una presentación se indexan por posición comenzando en 0. La primera diapositiva tiene índice 0, la segunda diapositiva tiene índice 1, y así sucesivamente. +La clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) (que representa un archivo de presentación) expone las diapositivas a través de una [SlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) de objetos [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). + +El siguiente código Python muestra cómo acceder a una diapositiva por su índice: ```python import aspose.slides as slides -# Instancia un objeto Presentation que representa un archivo de presentación -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Obtiene la referencia de una diapositiva a través de su índice +# Crear una Presentación que representa un archivo de presentación. +with slides.Presentation("sample.pptx") as presentation: + # Obtener una diapositiva por su índice. slide = presentation.slides[0] ``` -## **Acceder a la Diapositiva por ID** -Cada diapositiva en una presentación tiene un ID único asociado a ella. Puedes usar el método `get_slide_by_id(id)` (expuesto por la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) para apuntar a ese ID. Este código Python te muestra cómo proporcionar un ID de diapositiva válido y acceder a esa diapositiva a través del método `get_slide_by_id(id)`: +## **Acceder a una diapositiva por ID** + +Cada diapositiva en una presentación tiene un ID único asociado. Puede usar el método [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) (expuesto por la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) para dirigirse a ese ID. +El siguiente código Python muestra cómo proporcionar un ID de diapositiva válido y acceder a esa diapositiva mediante el método [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/): ```python import aspose.slides as slides -# Instancia un objeto Presentation que representa un archivo de presentación -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Obtiene un ID de Diapositiva +# Crear una Presentación que representa un archivo de presentación. +with slides.Presentation("sample.pptx") as presentation: + # Obtener el ID de la diapositiva. id = presentation.slides[0].slide_id - # Accede a la diapositiva a través de su ID + # Acceder a la diapositiva por su ID. slide = presentation.get_slide_by_id(id) ``` -## **Cambiar la Posición de la Diapositiva** -Aspose.Slides te permite cambiar la posición de una diapositiva. Por ejemplo, puedes especificar que la primera diapositiva debe convertirse en la segunda diapositiva. +## **Cambiar la posición de una diapositiva** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtén la referencia de la diapositiva (cuyo posición deseas cambiar) a través de su índice. -1. Establece una nueva posición para la diapositiva a través de la propiedad `slide_number`. -1. Guarda la presentación modificada. +Aspose.Slides le permite cambiar la posición de una diapositiva. Por ejemplo, puede hacer que la primera diapositiva pase a ser la segunda. -Este código Python demuestra una operación en la que la diapositiva en la posición 1 se mueve a la posición 2: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtener una referencia a la diapositiva cuya posición desea cambiar mediante su índice. +3. Establecer una nueva posición para la diapositiva a través de la propiedad [slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/slide/slide_number/). +4. Guardar la presentación modificada. +El siguiente código Python mueve la diapositiva en la posición 1 a la posición 2: ```python import aspose.slides as slides -# Instancia un objeto Presentation que representa un archivo de presentación -with slides.Presentation(path + "ChangePosition.pptx") as pres: - # Obtiene la diapositiva cuya posición será cambiada - sld = pres.slides[0] - # Establece la nueva posición para la diapositiva - sld.slide_number = 2 - # Guarda la presentación modificada - pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX) +# Instanciar un objeto Presentation que representa un archivo de presentación. +with slides.Presentation("sample.pptx") as presentation: + # Obtener la diapositiva cuya posición será cambiada. + slide = presentation.slides[0] + # Establecer la nueva posición para la diapositiva. + slide.slide_number = 2 + # Guardar la presentación modificada. + presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -La primera diapositiva se convirtió en la segunda; la segunda diapositiva se convirtió en la primera. Cuando cambias la posición de una diapositiva, otras diapositivas se ajustan automáticamente. - -## **Establecer Número de Diapositiva** +La primera diapositiva pasa a ser la segunda; la segunda diapositiva pasa a ser la primera. Cuando cambia la posición de una diapositiva, las demás diapositivas se ajustan automáticamente. -Usando la propiedad `first_slide_number` (expuesta por la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)), puedes especificar un nuevo número para la primera diapositiva en una presentación. Esta operación hace que los números de las otras diapositivas se recalculen. +## **Establecer el número de diapositiva** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtén el número de la diapositiva. -1. Establece el número de la diapositiva. -1. Guarda la presentación modificada. +Usando la propiedad [first_slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) (expuesta por la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)), puede especificar un nuevo número para la primera diapositiva de una presentación. Esta operación hace que los números de las demás diapositivas se recalculen. -Este código Python demuestra una operación donde se establece el número de la primera diapositiva en 10: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Establecer el número de diapositiva. +3. Guardar la presentación modificada. +El siguiente código Python demuestra una operación donde el número de la primera diapositiva se establece en 10: ```python import aspose.slides as slides -# Instancia un objeto Presentation que representa un archivo de presentación -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Obtiene el número de la diapositiva - firstSlideNumber = presentation.first_slide_number - # Establece el número de la diapositiva +# Instanciar un objeto Presentation que representa un archivo de presentación. +with slides.Presentation("sample.pptx") as presentation: + # Establecer el número de la diapositiva. presentation.first_slide_number = 10 - # Guarda la presentación modificada - presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX) + # Guardar la presentación modificada. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -Si prefieres omitir la primera diapositiva, puedes comenzar la numeración desde la segunda diapositiva (y ocultar la numeración de la primera diapositiva) de esta manera: +Si prefiere omitir la primera diapositiva, puede comenzar la numeración desde la segunda diapositiva (y ocultar el número en la primera diapositiva) así: ```python import aspose.slides as slides @@ -101,15 +115,30 @@ with slides.Presentation() as presentation: presentation.slides.add_empty_slide(layout_slide) presentation.slides.add_empty_slide(layout_slide) - # Establece el número para la primera diapositiva de la presentación + # Establecer el número para la primera diapositiva de la presentación. presentation.first_slide_number = 0 - # Muestra los números de diaposa para todas las diapositivas + # Mostrar los números de diapositiva en todas las diapositivas. presentation.header_footer_manager.set_all_slide_numbers_visibility(True) - # Oculta el número de la diapositiva para la primera diapositiva + # Ocultar el número de diapositiva en la primera diapositiva. presentation.slides[0].header_footer_manager.set_slide_number_visibility(False) - # Guarda la presentación modificada - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + # Guardar la presentación modificada. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**¿El número de diapositiva que ve el usuario coincide con el índice basado en cero de la colección?** + +La numeración mostrada en una diapositiva puede comenzar desde un valor arbitrario (por ejemplo, 10) y no tiene que coincidir con el índice; la relación está controlada por la configuración de [first slide number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) de la presentación. + +**¿Las diapositivas ocultas afectan la indexación?** + +Sí. Una diapositiva oculta permanece en la colección y se cuenta en la indexación; "oculta" se refiere a la visualización, no a su posición en la colección. + +**¿Cambia el índice de una diapositiva cuando se añaden o eliminan otras diapositivas?** + +Sí. Los índices siempre reflejan el orden actual de las diapositivas y se recalculan al insertar, eliminar y mover diapositivas. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-slide/compare-slides/_index.md b/es/python-net/developer-guide/presentation-slide/compare-slides/_index.md index 2d20766a99..486c74efbd 100644 --- a/es/python-net/developer-guide/presentation-slide/compare-slides/_index.md +++ b/es/python-net/developer-guide/presentation-slide/compare-slides/_index.md @@ -1,17 +1,24 @@ --- -title: Comparar Diapositivas +title: Comparar diapositivas de presentación en Python +linktitle: Comparar diapositivas type: docs weight: 50 url: /es/python-net/compare-slides/ -keywords: "Comparar diapositivas de PowerPoint, Comparar dos diapositivas, Presentación, Python, Aspose.Slides" -description: "Comparar diapositivas de presentaciones de PowerPoint en Python" +keywords: +- comparar diapositivas +- comparación de diapositivas +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Compare presentaciones de PowerPoint y OpenDocument de forma programática con Aspose.Slides para Python mediante .NET. Identifique rápidamente las diferencias de diapositivas en el código." --- -## **Comparar Dos Diapositivas** -El método Equals ha sido añadido a la interfaz [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) y a la clase [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). Devuelve verdadero para las diapositivas/layout y las diapositivas/master que son idénticas en su estructura y contenido estático. - -Dos diapositivas son iguales si todas las formas, estilos, textos, animaciones y otros ajustes, etc. La comparación no tiene en cuenta los valores de identificadores únicos, por ejemplo, SlideId y contenido dinámico, por ejemplo, el valor de la fecha actual en el marcador de posición de fecha. +## **Comparar dos diapositivas** +Se ha añadido el método Equals a la interfaz [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) y a la clase [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). Devuelve true para las diapositivas/disposición y diapositivas maestras que son idénticas por su estructura y contenido estático. +Dos diapositivas son iguales si todas las formas, estilos, textos, animaciones y otras configuraciones, etc., coinciden. La comparación no tiene en cuenta los valores de identificadores únicos, por ejemplo SlideId, ni el contenido dinámico, como el valor de la fecha actual en el marcador de posición de fecha. ```py import aspose.slides as slides @@ -20,5 +27,20 @@ with slides.Presentation(path + "AccessSlides.pptx") as p1: for i in range(len(p1.masters)): for j in range(len(p2.masters)): if p1.masters[i] == p2.masters[j]: - print("La MasterSlide#{0} de Presentación1 es igual a la MasterSlide#{1} de Presentación2".format(i,j)) -``` \ No newline at end of file + print("Presentation1 MasterSlide#{0} is equal to Presentation2 MasterSlide#{1}".format(i,j)) +``` + + +## **Preguntas frecuentes** + +**¿El hecho de que una diapositiva esté oculta afecta la comparación de las propias diapositivas?** + +El [estado oculto](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) es una propiedad a nivel de presentación/reproducción, no contenido visual. La igualdad de dos diapositivas específicas se determina por su estructura y contenido estático; el mero hecho de que una diapositiva esté oculta no hace que las diapositivas sean diferentes. + +**¿Se tienen en cuenta los hipervínculos y sus parámetros?** + +Sí. Los enlaces forman parte del contenido estático de una diapositiva. Si la URL o la acción del hipervínculo difieren, normalmente se considera una diferencia en el contenido estático. + +**Si un gráfico hace referencia a un archivo Excel externo, ¿se tendrá en cuenta el contenido de ese archivo?** + +No. La comparación se realiza basándose en las propias diapositivas. Las fuentes de datos externas generalmente no se leen al comparar; solo se considera lo que está presente en la estructura y el estado estático de la diapositiva. \ No newline at end of file diff --git a/es/python-net/developer-guide/presentation-via-vba/_index.md b/es/python-net/developer-guide/presentation-via-vba/_index.md index b30cdca11f..74010f727c 100644 --- a/es/python-net/developer-guide/presentation-via-vba/_index.md +++ b/es/python-net/developer-guide/presentation-via-vba/_index.md @@ -1,110 +1,179 @@ --- -title: Presentación a través de VBA +title: Gestionar proyectos VBA en presentaciones con Python +linktitle: Presentación vía VBA type: docs weight: 250 url: /es/python-net/presentation-via-vba/ -keywords: "Macro, macros, VBA, macro VBA, agregar macro, eliminar macro, agregar VBA, eliminar VBA, extraer macro, extraer VBA, macro de PowerPoint, presentación de PowerPoint, Python, Aspose.Slides para Python a través de .NET" -description: "Agregar, eliminar y extraer macros VBA en presentaciones de PowerPoint en Python" +keywords: +- macro +- VBA +- macro VBA +- agregar macro +- eliminar macro +- extraer macro +- agregar VBA +- eliminar VBA +- extraer VBA +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Descubra cómo generar y manipular presentaciones PowerPoint y OpenDocument mediante VBA con Aspose.Slides para Python mediante .NET para optimizar su flujo de trabajo." --- -El espacio de nombres [Aspose.Slides.Vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) contiene clases e interfaces para trabajar con macros y código VBA. +## **Descripción general** -{{% alert title="Nota" color="warning" %}} +Este artículo examina las capacidades clave de Aspose.Slides for Python mediante .NET para trabajar con macros en presentaciones de PowerPoint. La biblioteca brinda herramientas convenientes para agregar, eliminar y extraer macros, lo que le permite automatizar la creación y modificación de presentaciones. -Cuando conviertes una presentación que contiene macros a un formato de archivo diferente (PDF, HTML, etc.), Aspose.Slides ignora todas las macros (las macros no se transfieren al archivo resultante). +Con Aspose.Slides, usted puede: -Cuando agregas macros a una presentación o vuelves a guardar una presentación que contiene macros, Aspose.Slides simplemente escribe los bytes para las macros. +- Acelerar el desarrollo de presentaciones: la automatización de tareas rutinarias reduce el tiempo necesario para preparar el material. +- Garantizar flexibilidad: la capacidad de gestionar macros le permite adaptar las presentaciones a tareas y escenarios específicos. +- Integrar datos: la integración sencilla con fuentes de datos externas ayuda a mantener el contenido de las diapositivas actualizado. +- Simplificar el mantenimiento: la gestión centralizada de macros facilita la aplicación de cambios y la actualización de presentaciones. -Aspose.Slides **nunca** ejecuta las macros en una presentación. +El artículo continúa presentando ejemplos prácticos de cómo usar Aspose.Slides para trabajar eficazmente con macros en PowerPoint. -{{% /alert %}} +El espacio de nombres [aspose.slides.vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) proporciona clases para trabajar con macros y código VBA. + +{{% alert title="Note" color="warning" %}} +Al convertir una presentación que contiene macros a otro formato (PDF, HTML, etc.), Aspose.Slides ignora las macros; no se transfieren al archivo de salida. -## **Agregar Macros VBA** +Al agregar macros a una presentación o volver a guardar una presentación que contiene macros, Aspose.Slides escribe los bytes de la macro tal como están. + +Aspose.Slides ** nunca** ejecuta macros en una presentación. +{{% /alert %}} -Aspose.Slides proporciona la clase [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) para permitirte crear proyectos VBA (y referencias de proyecto) y editar módulos existentes. Puedes usar la interfaz [IVbaProject](https://reference.aspose.com/slides/net/aspose.slides.vba/ivbaproject/) para gestionar VBA incrustado en una presentación. +## **Agregar macros VBA** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Usa el constructor de [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) para agregar un nuevo proyecto VBA. -1. Agrega un módulo al VbaProject. -1. Establece el código fuente del módulo. -1. Agrega referencias a . -1. Agrega referencias a **Microsoft Office**. -1. Asocia las referencias con el proyecto VBA. -1. Guarda la presentación. +Aspose.Slides proporciona la clase [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) para crear proyectos VBA (y referencias de proyecto) y editar módulos existentes. -Este código Python te muestra cómo agregar una macro VBA desde cero a una presentación: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Utilice el constructor [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) para agregar un nuevo proyecto VBA. +1. Añada un módulo al proyecto VBA. +1. Establezca el código fuente del módulo. +1. Agregue una referencia a ``. +1. Agregue una referencia a **Microsoft Office**. +1. Asocie las referencias con el proyecto VBA. +1. Guarde la presentación. +El siguiente código Python muestra cómo agregar una macro VBA desde cero a una presentación: ```python import aspose.slides as slides -# Crea una instancia de la clase presentación +# Crear una instancia de la clase Presentation. with slides.Presentation() as presentation: - # Crea un nuevo proyecto VBA + + # Crear un nuevo proyecto VBA. presentation.vba_project = slides.vba.VbaProject() - # Agrega un módulo vacío al proyecto VBA + # Agregar un módulo vacío al proyecto VBA. module = presentation.vba_project.modules.add_empty_module("Module") - - # Establece el código fuente del módulo - module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub" - - # Crea una referencia a - stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - # Crea una referencia a Office - officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") + # Establecer el código fuente del módulo. + module.source_code = """ + Sub Test(oShape As Shape) + MsgBox "Hello, world!" + End Sub + """ - # Agrega referencias al proyecto VBA - presentation.vba_project.references.add(stdoleReference) - presentation.vba_project.references.add(officeReference) + # Crear una referencia a . + stdole_reference = slides.vba.VbaReferenceOleTypeLib("stdole", + "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - - # Guarda la Presentación - presentation.save("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) -``` + # Crear una referencia a Microsoft Office. + office_reference = slides.vba.VbaReferenceOleTypeLib("Office", + "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") -{{% alert color="primary" %}} + # Agregar las referencias al proyecto VBA. + presentation.vba_project.references.add(stdole_reference) + presentation.vba_project.references.add(office_reference) -Puede que quieras probar **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros), que es una aplicación web gratuita utilizada para eliminar macros de documentos de PowerPoint, Excel y Word. + # Guardar la presentación. + presentation.save("macros.pptm", slides.export.SaveFormat.PPTM) +``` -{{% /alert %}} -## **Eliminar Macros VBA** +{{% alert color="primary" %}} +Puede probar el **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros), una aplicación web gratuita para eliminar macros de documentos PowerPoint, Excel y Word. +{{% /alert %}} -Usando la propiedad [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/#properties) bajo la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), puedes eliminar una macro VBA. +## **Eliminar macros VBA** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) y carga la presentación que contiene la macro. -1. Accede al módulo de la macro y elimínalo. -1. Guarda la presentación modificada. +Usando la propiedad [vba_project](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/vba_project/) de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), puede eliminar una macro VBA. -Este código Python te muestra cómo eliminar una macro VBA: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) y cargue la presentación que contiene la macro. +1. Acceda al módulo de la macro y elimínelo. +1. Guarde la presentación modificada. +El siguiente código Python muestra cómo eliminar una macro VBA: ```python import aspose.slides as slides -# Carga la presentación que contiene la macro -with slides.Presentation(path + "VBA.pptm") as presentation: - # Accede al módulo Vba y lo elimina - presentation.vba_project.modules.remove(presentation.vba_project.modules[0]) +# Cargar la presentación que contiene la macro. +with slides.Presentation("VBA.pptm") as presentation: + + # Acceder al módulo VBA. + vba_module = presentation.vba_project.modules[0] - # guarda la Presentación - presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) + # Eliminar el módulo VBA. + presentation.vba_project.modules.remove(vba_module) + + # Guardar la presentación. + presentation.save("removed_macro.pptm", slides.export.SaveFormat.PPTM) ``` -## **Extraer Macros VBA** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) y carga la presentación que contiene la macro. -2. Comprueba si la presentación contiene un proyecto VBA. -3. Recorre todos los módulos contenidos en el proyecto VBA para ver las macros. +## **Extraer macros VBA** + +Usando la propiedad `modules` en la clase [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/), puede acceder a todos los módulos de un proyecto VBA. La clase [VbaModule](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbamodule/) puede usarse para extraer propiedades del módulo, como el nombre y el código. -Este código Python te muestra cómo extraer macros VBA de una presentación que contiene macros: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) y cargue la presentación que contiene la macro. +1. Verifique si la presentación contiene un proyecto VBA. +1. Recorra todos los módulos del proyecto VBA para ver las macros. +El siguiente código Python muestra cómo extraer macros VBA de una presentación: ```python import aspose.slides as slides -with slides.Presentation(path + "VBA.pptm") as pres: - if pres.vba_project is not None: # Comprueba si la Presentación contiene un proyecto VBA - for module in pres.vba_project.modules: +with slides.Presentation("VBA.pptm") as presentation: + # Verificar si la presentación contiene un proyecto VBA. + if presentation.vba_project is not None: + for module in presentation.vba_project.modules: print(module.name) print(module.source_code) -``` \ No newline at end of file +``` + + +## **Comprobar si un proyecto VBA está protegido con contraseña** + +Usando la propiedad [VbaProject.is_password_protected](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/is_password_protected/), puede determinar si las propiedades de un proyecto están protegidas con contraseña. + +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) y cargue una presentación que contiene una macro. +1. Verifique si la presentación contiene un [VBA project](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/). +1. Compruebe si el proyecto VBA está protegido con contraseña para visualizar sus propiedades. +```py +import aspose.slides as slides + +with slides.Presentation("VBA.pptm") as presentation: + # Verificar si la presentación contiene un proyecto VBA. + if presentation.vba_project is not None: + if presentation.vba_project.is_password_protected: + print(f"The VBA Project '{presentation.vba_project.name}' is protected by password to view project properties.") +``` + + +## **Preguntas frecuentes** + +**¿Qué ocurre con las macros si guardo la presentación como PPTX?** + +Las macros se eliminarán porque PPTX no admite VBA. Para mantener las macros, elija PPTM, PPSM o POTM. + +**¿Puede Aspose.Slides ejecutar macros dentro de una presentación para, por ejemplo, actualizar datos?** + +No. La biblioteca nunca ejecuta código VBA; la ejecución solo es posible dentro de PowerPoint con la configuración de seguridad adecuada. + +**¿Se admite trabajar con controles ActiveX vinculados a código VBA?** + +Sí, puede acceder a los [controles ActiveX](/slides/es/python-net/activex/) existentes, modificar sus propiedades y eliminarlos. Esto es útil cuando las macros interactúan con ActiveX. \ No newline at end of file diff --git a/es/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md b/es/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md index a8a8886da2..3a115dcfe0 100644 --- a/es/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md +++ b/es/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md @@ -1,145 +1,135 @@ --- -title: Aplicando Protección a la Presentación +title: Prevenir Ediciones de Presentación con Bloqueos de Forma en Python +linktitle: Prevenir Ediciones de Presentación type: docs weight: 70 url: /es/python-net/applying-protection-to-presentation/ +keywords: +- evitar ediciones +- proteger contra la edición +- bloquear forma +- bloquear posición +- bloquear selección +- bloquear tamaño +- bloquear agrupación +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Descubra cómo Aspose.Slides para Python a través de .NET bloquea o desbloquea formas en archivos PPT, PPTX y ODP, asegurando presentaciones mientras permite ediciones controladas y una entrega más rápida." --- -{{% alert color="primary" %}} +## **Antecedentes** -Un uso común de Aspose.Slides es crear, actualizar y guardar presentaciones de Microsoft PowerPoint 2007 (PPTX) como parte de un flujo de trabajo automatizado. Los usuarios de la aplicación que utiliza Aspose.Slides de esta manera acceden a las presentaciones generadas. Protegerlas de la edición es una preocupación común. Es importante que las presentaciones autogeneradas mantengan su formato y contenido originales. +Un uso frecuente de Aspose.Slides es crear, actualizar y guardar presentaciones de Microsoft PowerPoint (PPTX) como parte de un flujo de trabajo automatizado. Los usuarios de aplicaciones que emplean Aspose.Slides de esta manera tienen acceso a las presentaciones generadas, por lo que protegerlas contra la edición es una preocupación común. Es importante que las presentaciones generadas automáticamente mantengan su formato y contenido original. -Este artículo explica cómo [se construyen las presentaciones y las diapositivas](/slides/es/python-net/applying-protection-to-presentation/) y cómo Aspose.Slides para Python a través de .NET puede [aplicar protección a](/slides/es/python-net/applying-protection-to-presentation/), y luego [eliminarla de](/slides/es/python-net/applying-protection-to-presentation/) una presentación. Esta función es única de Aspose.Slides y, en el momento de escribir esto, no está disponible en Microsoft PowerPoint. Proporciona a los desarrolladores una forma de controlar cómo se utilizan las presentaciones que sus aplicaciones crean. +Este artículo explica cómo están estructuradas las presentaciones y las diapositivas y cómo Aspose.Slides for Python puede aplicar protección a una presentación y eliminarla posteriormente. Proporciona a los desarrolladores una forma de controlar el uso de las presentaciones que sus aplicaciones generan. -{{% /alert %}} -## **Composición de una Diapositiva** -Una diapositiva PPTX está compuesta por varios componentes como formas automáticas, tablas, objetos OLE, formas agrupadas, marcos de imagen, marcos de video, conectores y los diversos otros elementos disponibles para construir una presentación. +## **Composición de una diapositiva** -En Aspose.Slides para Python a través de .NET, cada elemento de una diapositiva se convierte en un objeto Shape. En otras palabras, cada elemento en la diapositiva es un objeto Shape o un objeto derivado del objeto Shape. +Una diapositiva de presentación está compuesta por componentes como autoshapes, tablas, objetos OLE, shapes agrupados, marcos de imagen, marcos de video, conectores y otros elementos usados para crear una presentación. En Aspose.Slides for Python, cada elemento en una diapositiva está representado por un objeto que hereda de la clase [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). -La estructura de PPTX es compleja, por lo que a diferencia de PPT, donde se puede utilizar un bloqueo genérico para todo tipo de formas, hay diferentes tipos de bloqueos para diferentes tipos de formas. La clase BaseShapeLock es la clase de bloqueo genérica de PPTX. Los siguientes tipos de bloqueos son compatibles en Aspose.Slides para Python a través de .NET para PPTX. +La estructura de PPTX es compleja, por lo que, a diferencia de PPT, donde se puede usar un bloqueo genérico para todos los tipos de shapes, diferentes tipos de shapes requieren bloqueos diferentes. La clase [BaseShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/baseshapelock/) es la clase de bloqueo genérica para PPTX. Los siguientes tipos de bloqueos son compatibles en Aspose.Slides for Python para PPTX: -- AutoShapeLock bloquea formas automáticas. -- ConnectorLock bloquea formas conectores. -- GraphicalObjectLock bloquea objetos gráficos. -- GroupshapeLock bloquea formas de grupo. -- PictureFrameLock bloquea marcos de imagen. +- [AutoShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshapelock/) bloquea autoshapes. +- [ConnectorLock](https://reference.aspose.com/slides/python-net/aspose.slides/connectorlock/) bloquea shapes de conectores. +- [GraphicalObjectLock](https://reference.aspose.com/slides/python-net/aspose.slides/graphicalobjectlock/) bloquea objetos gráficos. +- [GroupShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/groupshapelock/) bloquea shapes de grupo. +- [PictureFrameLock](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/) bloquea marcos de imagen. -Cualquier acción realizada en todos los objetos Shape en un objeto Presentation se aplica a toda la presentación. -## **Aplicando y Eliminando Protección** -Aplicar protección garantiza que una presentación no pueda ser editada. Es una técnica útil para proteger el contenido de una presentación. -### **Aplicando Protección a Formas PPTX** -Aspose.Slides para Python a través de .NET proporciona la clase Shape para manejar una forma en la diapositiva. +Cualquier acción realizada sobre todos los objetos shape en un objeto [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) se aplica a toda la presentación. -Como se mencionó anteriormente, cada clase de forma tiene una clase de bloqueo de forma asociada para protección. Este artículo se centra en los bloqueos NoSelect, NoMove y NoResize. Estos bloqueos aseguran que las formas no puedan ser seleccionadas (a través de clics del ratón u otros métodos de selección) y no se puedan mover o redimensionar. +## **Aplicar y eliminar protección** -Los fragmentos de código que siguen aplican protección a todos los tipos de formas en una presentación. +Aplicar protección garantiza que una presentación no pueda ser editada. Es una técnica útil para proteger el contenido de la presentación. +### **Aplicar protección a shapes PPTX** + +Aspose.Slides for Python proporciona la clase [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) para trabajar con shapes en una diapositiva. + +Como se mencionó anteriormente, cada clase de shape tiene una clase de bloqueo de shape asociada para la protección. Este artículo se centra en los bloqueos NoSelect, NoMove y NoResize. Estos bloqueos aseguran que los shapes no puedan ser seleccionados (mediante clics del mouse u otros métodos de selección) y que no puedan moverse ni cambiar de tamaño. + +El ejemplo de código que sigue aplica protección a todos los tipos de shape en una presentación. ```py import aspose.slides as slides -#Instanciar la clase Presentation que representa un archivo PPTX -with slides.Presentation(path + "RectPicFrame.pptx") as pres: - #ISlide objeto para acceder a las diapositivas en la presentación - slide = pres.slides[0] - - #Recorriendo todas las diapositivas en la presentación - for slide in pres.slides: +# Instanciar la clase Presentation que representa un archivo PPTX. +with slides.Presentation("Sample.pptx") as presentation: + # Recorriendo todas las diapositivas de la presentación. + for slide in presentation.slides: + # Recorriendo todas las formas de la diapositiva. for shape in slide.shapes: - #si la forma es automática if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - auto_shape_lock.position_locked = True - auto_shape_lock.select_locked = True - auto_shape_lock.size_locked = True - - #si la forma es un grupo + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - group_shape_lock.grouping_locked = True - group_shape_lock.position_locked = True - group_shape_lock.select_locked = True - group_shape_lock.size_locked = True - - #si la forma es un conector + shape.shape_lock.grouping_locked = True + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - connector_lock.position_move = True - connector_lock.select_locked = True - connector_lock.size_locked = True - #si la forma es un marco de imagen + shape.shape_lock.position_move = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.PictureFrame: - #Casting al marco de imagen y obteniendo el bloqueo del marco de imagen - picture_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - picture_lock.position_locked = True - picture_lock.select_locked = True - picture_lock.size_locked = True - - #Guardar el archivo de presentación - pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True + # Guardando el archivo de la presentación. + presentation.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) ``` -### **Eliminando Protección** -La protección aplicada usando Aspose.Slides para Python a través de .NET solo se puede eliminar con Aspose.Slides para Python a través de .NET. Para desbloquear una forma, establezca el valor del bloqueo aplicado en falso. El fragmento de código que sigue muestra cómo desbloquear formas en una presentación bloqueada. +### **Eliminar protección** +Para desbloquear un shape, establezca el valor del bloqueo aplicado en `False`. El siguiente ejemplo de código muestra cómo desbloquear shapes en una presentación bloqueada. ```py import aspose.slides as slides -#Abrir la presentación deseada -with slides.Presentation("ProtectedSample.pptx") as pres: - for slide in pres.slides: +# Instanciar la clase Presentation que representa un archivo PPTX. +with slides.Presentation("ProtectedSample.pptx") as presentation: + # Recorrer todas las diapositivas de la presentación. + for slide in presentation.slides: + # Recorrer todas las formas de la diapositiva. for shape in slide.shapes: - - if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - auto_shape_lock.position_locked = False - auto_shape_lock.select_locked = False - auto_shape_lock.size_locked = False - - elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - group_shape_lock.grouping_locked = False - group_shape_lock.position_locked = False - group_shape_lock.select_locked = False - group_shape_lock.size_locked = False + if type(shape) is slides.AutoShape: + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + elif type(shape) is slides.GroupShape: + shape.shape_lock.grouping_locked = False + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - connector_lock.position_move = False - connector_lock.select_locked = False - connector_lock.size_locked = False + shape.shape_lock.position_move = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.PictureFrame: - picture_lock = shape.shape_lock - - #Aplicando bloqueos a las formas - picture_lock.position_locked = False - picture_lock.select_locked = False - picture_lock.size_locked = False - #Guardar el archivo de presentación - pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + # Guardar el archivo de la presentación. + presentation.save("RemovedProtectionSample.pptx", slides.export.SaveFormat.PPTX) ``` +### **Conclusión** + +Aspose.Slides ofrece varias opciones para proteger shapes en una presentación. Puede bloquear un shape individual o iterar sobre todos los shapes de una presentación y bloquear cada uno para asegurar eficazmente todo el archivo. Puede eliminar la protección estableciendo el valor del bloqueo en `False`. + +## **Preguntas frecuentes** + +**¿Puedo combinar bloqueos de shape y protección con contraseña en la misma presentación?** + +Sí. Los bloqueos limitan la edición de objetos dentro del archivo, mientras que la [password protection](/slides/es/python-net/password-protected-presentation/) controla el acceso para abrir y/o guardar cambios. Estos mecanismos se complementan y funcionan juntos. -### **Resumen** -{{% alert color="primary" %}} +**¿Puedo restringir la edición en diapositivas específicas sin afectar a las demás?** -Aspose.Slides proporciona una serie de opciones para aplicar protección a las formas en una presentación. Es posible bloquear una forma particular, o recorrer todas las formas en una presentación y bloquear todas ellas para efectivamente bloquear la presentación. +Sí. Aplique bloqueos a los shapes de las diapositivas seleccionadas; las diapositivas restantes seguirán siendo editables. -Solo Aspose.Slides para Python a través de .NET puede eliminar la protección de una presentación que ha protegido previamente. Elimine la protección estableciendo el valor de un bloqueo en falso. +**¿Los bloqueos de shape se aplican a objetos agrupados y conectores?** -{{% /alert %}} \ No newline at end of file +Sí. Se admiten tipos de bloqueo dedicados para grupos, conectores, objetos gráficos y otros tipos de shape. \ No newline at end of file diff --git a/es/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md b/es/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md index 30c1810919..42c0037faf 100644 --- a/es/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md +++ b/es/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md @@ -1,22 +1,32 @@ --- -title: Extracción de imágenes de formas de presentación +title: Extraer imágenes de formas de presentación en Python +linktitle: Imagen de forma type: docs weight: 90 url: /es/python-net/extracting-images-from-presentation-shapes/ -keywords: "Extraer imagen, PowerPoint, PPT, PPTX, presentación de PowerPoint, Python, Aspose.Slides para Python" -description: "Extraer imágenes de presentaciones de PowerPoint en Python" +keywords: +- extraer imagen +- recuperar imagen +- fondo de diapositiva +- fondo de forma +- PowerPoint +- presentación +- Python +- Aspose.Slides +description: "Extrae imágenes de formas en presentaciones de PowerPoint y OpenDocument con Aspose.Slides para Python a través de .NET — solución rápida y fácil de usar." --- +## **Extraer imágenes de formas** + {{% alert color="primary" %}} -Las imágenes a menudo se agregan a las formas y también se utilizan frecuentemente como fondos de diapositivas. Los objetos de imagen se agregan a través de [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/), que es una colección de objetos [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). +Las imágenes a menudo se añaden a las formas y también se usan frecuentemente como fondos de diapositivas. Los objetos de imagen se añaden a través de [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/), que es una colección de objetos [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). -Este artículo explica cómo puedes extraer las imágenes añadidas a las presentaciones. +Este artículo explica cómo extraer las imágenes añadidas a las presentaciones. {{% /alert %}} -Para extraer una imagen de una presentación, primero debes localizar la imagen revisando cada diapositiva y luego revisando cada forma. Una vez que la imagen se encuentre o se identifique, puedes extraerla y guardarla como un nuevo archivo. XXX - +Para extraer una imagen de una presentación, debe localizar la imagen primero recorriendo cada diapositiva y luego cada forma. Una vez que la imagen se encuentre o identifique, puede extraerla y guardarla como un nuevo archivo. XXX ```py import aspose.slides as slides @@ -78,4 +88,23 @@ with slides.Presentation("pres.pptx") as pres: shape_image.image.save( file_name.format("shape_"+str(i)+"_", slideIndex, image_type), image_format) -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo extraer la imagen original sin recortes, efectos o transformaciones de la forma?** + +Sí. Cuando accede a la imagen de una forma, obtiene el objeto de imagen de la [image collection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de la presentación, lo que significa los píxeles originales sin recortes ni efectos de estilo. El flujo de trabajo recorre la colección de imágenes de la presentación y los objetos [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/), que almacenan los datos sin procesar. + +**¿Existe el riesgo de duplicar archivos idénticos al guardar muchas imágenes a la vez?** + +Sí, si guarda todo indiscriminadamente. La [image collection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de una presentación puede contener datos binarios idénticos referenciados por diferentes formas o diapositivas. Para evitar duplicados, compare los hash, tamaños o contenidos de los datos extraídos antes de escribir. + +**¿Cómo puedo determinar qué formas están vinculadas a una imagen específica de la colección de la presentación?** + +Aspose.Slides no almacena enlaces inversos de [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) a las formas. Construya un mapeo manualmente durante la recorrido: cada vez que encuentre una referencia a un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/), registre qué formas lo utilizan. + +**¿Puedo extraer imágenes incrustadas dentro de objetos OLE, como documentos adjuntos?** + +No directamente, porque un objeto OLE es un contenedor. Necesita extraer el paquete OLE y luego analizar su contenido usando herramientas separadas. Las formas de imagen de la presentación funcionan a través de [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/); OLE es un tipo de objeto diferente. \ No newline at end of file diff --git a/es/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md b/es/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md index cb3ee07643..e244ff229c 100644 --- a/es/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md +++ b/es/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md @@ -1,34 +1,41 @@ --- -title: Obtener el Fondo Completo de la Diapositiva de Presentación como una Imagen +title: Obtener todo el fondo de la diapositiva de una presentación como una imagen +linktitle: Fondo completo de la diapositiva type: docs weight: 95 url: /es/python-net/get-the-entire-presentation-slide-background-as-an-image/ keywords: - diapositiva - fondo -- fondo de diapositiva -- fondo a una imagen +- fondo de la diapositiva +- fondo final +- fondo a imagen - PowerPoint +- OpenDocument +- presentación - PPT - PPTX -- presentación de PowerPoint +- ODP - Python -- Aspose.Slides para Python +- Aspose.Slides +description: "Extrae fondos completos de diapositivas como imágenes de presentaciones PowerPoint y OpenDocument usando Aspose.Slides para Python vía .NET, optimizando flujos de trabajo visuales." --- -En las presentaciones de PowerPoint, el fondo de la diapositiva puede consistir en muchos elementos. Además de la imagen establecida como el [fondo de la diapositiva](/slides/es/python-net/presentation-background/), el fondo final puede ser influenciado por el tema de presentación, el esquema de colores y las formas colocadas en la diapositiva maestra y en la diapositiva de diseño. +## **Obtener todo el fondo de la diapositiva** -Aspose.Slides para Python no proporciona un método simple para extraer el fondo completo de la diapositiva de presentación como una imagen, pero puedes seguir los pasos a continuación para hacerlo: -1. Cargar la presentación utilizando la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtener el tamaño de la diapositiva de la presentación. -1. Seleccionar una diapositiva. -1. Crear una presentación temporal. -1. Establecer el mismo tamaño de diapositiva en la presentación temporal. -1. Clonar la diapositiva seleccionada en la presentación temporal. -1. Eliminar las formas de la diapositiva clonada. -1. Convertir la diapositiva clonada en una imagen. +En presentaciones de PowerPoint, el fondo de la diapositiva puede constar de muchos elementos. Además de la imagen establecida como [slide background](/slides/es/python-net/presentation-background/), el fondo final puede verse influenciado por el tema de la presentación, el esquema de colores y las formas colocadas en la diapositiva maestra y en la diapositiva de diseño. -El siguiente ejemplo de código extrae el fondo completo de la diapositiva de presentación como una imagen. +Aspose.Slides para Python no proporciona un método sencillo para extraer todo el fondo de una diapositiva de la presentación como una imagen, pero puedes seguir los pasos a continuación para hacerlo: +1. Carga la presentación usando la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtén el tamaño de la diapositiva de la presentación. +1. Selecciona una diapositiva. +1. Crea una presentación temporal. +1. Establece el mismo tamaño de diapositiva en la presentación temporal. +1. Clona la diapositiva seleccionada en la presentación temporal. +1. Elimina las formas de la diapositiva clonada. +1. Convierte la diapositiva clonada a una imagen. + +El siguiente ejemplo de código extrae todo el fondo de la diapositiva de la presentación como una imagen. ```py slide_index = 0 image_scale = 1 @@ -46,4 +53,23 @@ with slides.Presentation("sample.pptx") as presentation: with cloned_slide.get_image(image_scale, image_scale) as background: background.save("output.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Se conservarán los degradados complejos, texturas o rellenos de imagen de una diapositiva maestra en la imagen de fondo resultante?** + +Sí. Aspose.Slides renderiza degradados, imágenes y texturas definidos en la diapositiva, el diseño o la maestra. Si necesitas aislar el aspecto de maestras heredadas, [set an own background](/slides/es/python-net/presentation-background/) en la diapositiva actual antes de exportar. + +**¿Puedo añadir una marca de agua a la imagen de fondo resultante antes de guardarla?** + +Sí. Puedes [add a watermark](/slides/es/python-net/watermark/) como forma o imagen en una [copy of the slide](/slides/es/python-net/clone-slides/) de trabajo (colocada detrás del resto del contenido) y luego exportar. Esto te permite generar una imagen de fondo con la marca de agua incorporada. + +**¿Puedo obtener el fondo de un diseño o maestra específica sin asociarlo a una diapositiva existente?** + +Sí. Accede a la maestra o diseño deseado, aplícalo a una [temporary slide](/slides/es/python-net/clone-slides/) con el tamaño requerido y exporta esa diapositiva para obtener el fondo derivado de ese diseño o maestra. + +**¿Existen limitaciones de licencia que afecten la exportación de imágenes?** + +Las funciones de renderizado están completamente disponibles con una [valid license](/slides/es/python-net/licensing/). En modo de evaluación, la salida puede incluir limitaciones como una marca de agua. Activa la licencia una vez por proceso antes de ejecutar exportaciones por lotes. \ No newline at end of file diff --git a/es/python-net/developer-guide/technical-articles/multithreading/_index.md b/es/python-net/developer-guide/technical-articles/multithreading/_index.md index b8c231cc29..dadd450265 100644 --- a/es/python-net/developer-guide/technical-articles/multithreading/_index.md +++ b/es/python-net/developer-guide/technical-articles/multithreading/_index.md @@ -1,31 +1,34 @@ --- -title: Multihilo en Aspose.Slides +title: Multihilos en Aspose.Slides para Python +linktitle: Multihilos type: docs weight: 200 url: /es/python-net/multithreading/ keywords: -- PowerPoint -- presentación -- multihilo -- trabajo paralelo +- multihilos +- múltiples hilos +- trabajo en paralelo - convertir diapositivas - diapositivas a imágenes +- PowerPoint +- OpenDocument +- presentación - Python -- Aspose.Slides para Python +- Aspose.Slides +description: "Aspose.Slides para Python mediante multihilos .NET mejora el procesamiento de PowerPoint y OpenDocument. Descubra las mejores prácticas para flujos de trabajo de presentaciones eficientes." --- ## **Introducción** -Si bien el trabajo paralelo con presentaciones es posible (además de analizar/cargar/clonar) y todo va bien (la mayoría de las veces), hay una pequeña posibilidad de que obtengas resultados incorrectos cuando utilizas la biblioteca en múltiples hilos. +Aunque el trabajo paralelo con presentaciones es posible (además de analizar/cargar/clonar) y todo funciona bien (la mayoría de las veces), existe una pequeña probabilidad de obtener resultados incorrectos al usar la biblioteca en varios hilos. -Recomendamos encarecidamente que **no** utilices una única [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) en un entorno de multihilo, ya que puede resultar en errores o fallos impredecibles que no son fácilmente detectables. +Recomendamos encarecidamente que **no** use una única instancia de [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) en un entorno de multitarea porque podría resultar en errores o fallas impredecibles que no se detectan fácilmente. -No es **seguro** cargar, guardar y/o clonar una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) en múltiples hilos. Tales operaciones **no** están soportadas. Si necesitas realizar tales tareas, debes paralelizar las operaciones utilizando varios procesos de un solo hilo, y cada uno de estos procesos debería usar su propia instancia de presentación. +No es **seguro** cargar, guardar y/o clonar una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) en varios hilos. Tales operaciones **no** están soportadas. Si necesita realizar esas tareas, debe paralelizar las operaciones usando varios procesos monohilo, y cada uno de esos procesos debe usar su propia instancia de presentación. -## **Convertir Diapositivas de Presentación a Imágenes en Paralelo** - -Supongamos que queremos convertir todas las diapositivas de una presentación de PowerPoint a imágenes PNG en paralelo. Dado que no es seguro usar una única instancia de `Presentation` en múltiples hilos, dividimos las diapositivas de la presentación en presentaciones separadas y convertimos las diapositivas a imágenes en paralelo, utilizando cada presentación en un hilo separado. El siguiente ejemplo de código muestra cómo hacerlo. +## **Convertir diapositivas de presentación a imágenes en paralelo** +Supongamos que queremos convertir todas las diapositivas de una presentación de PowerPoint a imágenes PNG en paralelo. Dado que no es seguro usar una única instancia de `Presentation` en varios hilos, dividimos las diapositivas de la presentación en presentaciones separadas y convertimos las diapositivas a imágenes en paralelo, usando cada presentación en un hilo distinto. El siguiente ejemplo de código muestra cómo hacerlo. ```py input_file_path = "sample.pptx" output_file_path_template = "slide_{0}.png" @@ -49,7 +52,7 @@ def convert_slide(slide_index): slide_number = slide_index + 1 slide = slide_presentation.slides[0] - # Convertir la diapositiva en una imagen. + # Convertir la diapositiva a una imagen. with slide.get_image(image_scale, image_scale) as image: image_file_path = output_file_path_template.format(slide_number) image.save(image_file_path, ImageFormat.PNG) @@ -64,4 +67,23 @@ for task in conversion_tasks: task.result() del presentation -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Necesito llamar a la configuración de licencia en cada hilo?** + +No. Basta con hacerlo una vez por proceso o dominio de aplicación antes de que inicien los hilos. Si la [configuración de licencia](/slides/es/python-net/licensing/) pudiera invocarse concurrentemente (por ejemplo, durante una inicialización perezosa), sincronice esa llamada porque el método de configuración de licencia en sí no es seguro para hilos. + +**¿Puedo pasar objetos `Presentation` o `Slide` entre hilos?** + +No se recomienda pasar objetos de presentación "activos" entre hilos: use instancias independientes por hilo o precree presentaciones/contendores de diapositivas separados para cada hilo. Este enfoque sigue la recomendación general de no compartir una única instancia de presentación entre hilos. + +**¿Es seguro paralelizar la exportación a diferentes formatos (PDF, HTML, imágenes) siempre que cada hilo tenga su propia instancia de `Presentation`?** + +Sí. Con instancias independientes y rutas de salida separadas, esas tareas normalmente se paralelizan correctamente; evite cualquier objeto de presentación compartido y streams de E/S compartidos. + +**¿Qué debo hacer con la configuración global de fuentes (carpetas, sustituciones) en multitarea?** + +Inicialice toda la configuración global de fuentes antes de iniciar los hilos y no la modifique durante el trabajo paralelo. Esto elimina las condiciones de carrera al acceder a recursos de fuentes compartidos. \ No newline at end of file diff --git a/es/python-net/getting-started/features-overview/_index.md b/es/python-net/getting-started/features-overview/_index.md index d560ddfcaf..35bd7627a2 100644 --- a/es/python-net/getting-started/features-overview/_index.md +++ b/es/python-net/getting-started/features-overview/_index.md @@ -4,90 +4,117 @@ type: docs weight: 20 url: /es/python-net/features-overview/ keywords: -- características +- funcionalidades - plataformas compatibles - formato de archivo - conversión - renderizado - impresión -- formato +- formateo - PowerPoint - OpenDocument - presentación - Python - Aspose.Slides -description: "Descubre Aspose.Slides for Python via .NET: una potente API para crear, editar, automatizar y convertir presentaciones de PowerPoint y OpenDocument de forma eficiente." +description: "Descubra Aspose.Slides for Python via .NET: una API potente para crear, editar, automatizar y convertir presentaciones de PowerPoint y OpenDocument de manera eficiente." --- -## **Plataformas soportadas** -Las plataformas Aspose.Slides para Python a través de .NET se pueden utilizar en Windows x64 o x86 y una amplia variedad de distribuciones de Linux con Python 3.5 o posterior instalado. Hay requisitos adicionales para la plataforma Linux de destino: -- Bibliotecas de tiempo de ejecución GCC-6 (o posterior) -- Dependencias de .NET Core Runtime. No es necesario instalar .NET Core Runtime en sí -- Para Python 3.5-3.7: Se necesita la construcción `pymalloc` de Python. La opción de construcción de Python `--with-pymalloc` está habilitada por defecto. Típicamente, la construcción `pymalloc` de Python está marcada con el sufijo `m` en el nombre del archivo. -- Biblioteca compartida de Python `libpython`. La opción de construcción de Python `--enable-shared` está deshabilitada por defecto, algunas distribuciones de Python no contienen la biblioteca compartida `libpython`. Para algunas plataformas de Linux, la biblioteca compartida `libpython` se puede instalar utilizando el gestor de paquetes, por ejemplo: `sudo apt-get install libpython3.7`. El problema común es que la biblioteca `libpython` está instalada en una ubicación diferente de la ubicación estándar del sistema para bibliotecas compartidas. El problema se puede solucionar utilizando las opciones de construcción de Python para establecer rutas de biblioteca alternativas al compilar Python, o solucionándose creando un enlace simbólico al archivo de la biblioteca `libpython` en la ubicación estándar del sistema para bibliotecas compartidas. Típicamente, el nombre del archivo de la biblioteca compartida `libpython` es `libpythonX.Ym.so.1.0` para Python 3.5-3.7, o `libpythonX.Y.so.1.0` para Python 3.8 o posterior (por ejemplo: `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). +## **Plataformas admitidas** +Las plataformas en las que Aspose.Slides for Python via .NET se puede usar son Windows x64 o x86 y una amplia gama de distribuciones Linux con Python 3.5 o posterior instalado. Hay requisitos adicionales para la plataforma Linux de destino: +- Bibliotecas de tiempo de ejecución GCC‑6 (o posteriores) +- Dependencias del .NET Core Runtime. La instalación del .NET Core Runtime **no** es necesaria +- Para Python 3.5‑3.7: se necesita la compilación `pymalloc` de Python. La opción de compilación `--with-pymalloc` está habilitada por defecto. Normalmente, la compilación `pymalloc` de Python lleva el sufijo `m` en el nombre del archivo. +- Biblioteca compartida `libpython`. La opción de compilación `--enable-shared` está deshabilitada por defecto; algunas distribuciones de Python no incluyen la biblioteca `libpython` compartida. En algunas plataformas Linux, la biblioteca `libpython` puede instalarse mediante el gestor de paquetes, por ejemplo: `sudo apt-get install libpython3.7`. El problema habitual es que la biblioteca `libpython` se instala en una ubicación distinta a la ubicación estándar del sistema para bibliotecas compartidas. El problema puede resolverse usando las opciones de compilación de Python para establecer rutas de biblioteca alternativas al compilar Python, o creando un enlace simbólico al archivo de la biblioteca `libpython` en la ubicación estándar del sistema para bibliotecas compartidas. Normalmente, el nombre del archivo de la biblioteca `libpython` compartida es `libpythonX.Ym.so.1.0` para Python 3.5‑3.7, o `libpythonX.Y.so.1.0` para Python 3.8 o posterior (por ejemplo: `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). + +Si necesita compatibilidad con más plataformas, busque los productos “hermanos gemelos” Aspose.Slides for .NET o Aspose.Slides for Java. -Si necesitas soporte para más plataformas, busca los productos "hermanos gemelos" Aspose.Slides para .NET o Aspose.Slides para Java. ## **Formatos de archivo y conversiones** -Aspose.Slides para Python a través de .NET soporta la mayoría de los formatos de documentos de PowerPoint. También te permite exportarlos a los formatos populares que las organizaciones utilizan e intercambian entre sí. Consulta estos detalles: +Aspose.Slides for Python via .NET admite la mayoría de los formatos de documentos PowerPoint. También le permite exportarlos a los formatos populares que las organizaciones utilizan e intercambian ampliamente. Revise estos detalles: -|**Característica**|**Descripción**| +|**Funcionalidad**|**Descripción**| | :- | :- | -|[Microsoft PowerPoint (PPT)](/slides/es/python-net/ppt-vs-pptx/)|Aspose.Slides para Python a través de .NET proporciona el procesamiento más rápido para este formato de documento de presentación.| -|[Conversión de PPT a PPTX](/slides/es/python-net/convert-ppt-to-pptx/)|Aspose.Slides para Python a través de .NET soporta la conversión de PPT a PPTX.| -|[Formato de documento portátil (PDF)](/slides/es/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Puedes exportar todos los formatos de archivo soportados a documentos en Formato de Documento Portátil de Adobe (PDF) con un solo método.| -|[Especificación del Analizador XML (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|Puedes exportar todos los formatos de archivo soportados a documentos en Especificación del Analizador XML (XPS) con un solo método.| -|[Formato de archivo de imagen etiquetada (TIFF)](/slides/es/python-net/convert-powerpoint-to-tiff/)|Puedes exportar todos los formatos de archivo de presentación soportados a Formato de Archivo de Imagen Etiquetada (TIFF).| -|[Conversión de PPTX a HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides para Python a través de .NET soporta la conversión de PresentationEx a formato HTML.| +|[Microsoft PowerPoint (PPT)](/slides/es/python-net/ppt-vs-pptx/)|Aspose.Slides for Python via .NET ofrece el procesamiento más rápido para este formato de documento de presentación.| +|[Conversión de PPT a PPTX](/slides/es/python-net/convert-ppt-to-pptx/)|Aspose.Slides for Python via .NET admite la conversión de PPT a PPTX.| +|[Formato de documento portátil (PDF)](/slides/es/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Puede exportar todos los formatos de archivo admitidos a documentos Adobe Portable Document Format (PDF) con un solo método.| +|[Especificación de analizador XML (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|Puede exportar todos los formatos de archivo admitidos a documentos XML Parser Specification (XPS) con un solo método.| +|[Formato de archivo de imagen etiquetado (TIFF)](/slides/es/python-net/convert-powerpoint-to-tiff/)|Puede exportar todos los formatos de archivo de presentación admitidos a Tagged Image File Format (TIFF).| +|[Conversión de PPTX a HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides for Python via .NET admite la conversión de PresentationEx a formato HTML.| -## **Renderización e impresión** -Aspose.Slides para Python a través de .NET soporta la renderización de alta fidelidad de diapositivas en los documentos de presentación a varios formatos gráficos. Consulta estos detalles: +## **Renderizado e impresión** +Aspose.Slides for Python via .NET admite el renderizado de alta fidelidad de diapositivas en los documentos de presentación a varios formatos gráficos. Revise estos detalles: -|**Característica**|**Descripción**| +|**Funcionalidad**|**Descripción**| | :- | :- | -|Formatos de imagen soportados por .NET|Con Aspose.Slides para Python a través de .NET, puedes renderizar diapositivas de presentación e imágenes en las diapositivas a todos los formatos gráficos soportados por .NET, como TIFF, PNG, BMP, JPEG, GIF y metafiles.| -|Formato SVG|Aspose.Slides para Python a través de .NET también proporciona métodos integrados que te permiten exportar diapositivas de presentación a formatos de Gráficos Vectoriales Escalables (SVG).| -|Impresión de Presentaciones|Las versiones más recientes de Aspose.Slides para Python a través de .NET proporcionan métodos de impresión integrados con diferentes opciones.| +|Formatos de imagen compatibles con .NET|Con Aspose.Slides for Python via .NET, puede renderizar diapositivas de presentación e imágenes en diapositivas a todos los formatos gráficos compatibles con .NET, como TIFF, PNG, BMP, JPEG, GIF y metafiles.| +|Formato SVG|Aspose.Slides for Python via .NET también proporciona métodos incorporados que le permiten exportar diapositivas de presentación a formatos Scalable Vector Graphics (SVG).| +|Impresión de presentaciones|Las versiones más recientes de Aspose.Slides for Python via .NET proporcionan métodos de impresión incorporados con diferentes opciones.| -## **Características del contenido** -Aspose.Slides para Python a través de .NET te permite acceder, modificar o crear casi todos los elementos o contenidos de los documentos de presentación. Consulta estos detalles: +## **Características de contenido** +Aspose.Slides for Python via .NET le permite acceder, modificar o crear casi todos los elementos o contenidos de los documentos de presentación. Revise estos detalles: -|**Característica**|**Descripción**| +|**Funcionalidad**|**Descripción**| | :- | :- | -|Diapositivas maestras|Las diapositivas maestras definen el diseño de las diapositivas normales. Aspose.Slides para Python a través de .NET te permite acceder y modificar las Diapositivas Maestras de los documentos de presentación.| -|Diapositivas normales|Con Aspose.Slides para Python a través de .NET, puedes crear nuevas diapositivas de diferentes tipos; también puedes acceder y modificar diapositivas existentes en las presentaciones.| -|Clonación / Copiado de Diapositivas|Hay métodos integrados proporcionados por Aspose.Slides para Python a través de .NET que te permiten clonar o copiar diapositivas existentes dentro de una presentación. También puedes usar diapositivas copiadas y clonadas de una presentación a otra. Dado que una diapositiva hereda su diseño de la diapositiva maestra, los métodos integrados de clonación copian automáticamente la maestra al clonar.| -|Gestión de secciones de Diapositivas|Métodos para organizar diapositivas en diferentes secciones dentro de una presentación.| -|Marcadores de posición y Contenedores de texto|Puedes acceder a los marcadores de posición y los contenedores de texto en una diapositiva. Además, puedes crear una diapositiva con contenedores de texto desde cero utilizando el método apropiado.| -|Encabezados y pies de página|Aspose.Slides para Python a través de .NET facilita el manejo de encabezados/pies de página en las diapositivas.| -|Notas en Diapositivas|Con Aspose.Slides para Python a través de .NET, puedes acceder y modificar notas asociadas con una diapositiva y también agregar nuevas notas.| -|Encontrar una Forma|También puedes encontrar una forma particular de una diapositiva usando el texto alternativo asociado con la forma.| -|Fondos|Aspose.Slides para Python a través de .NET te permite trabajar con fondos asociados con una diapositiva maestra o normal en una presentación.| -|Cuadros de texto|Los cuadros de texto pueden ser creados desde cero. Puedes acceder a cuadros de texto existentes. También puedes modificar sus textos sin perder el formato de texto original.| -|Formas Rectangulares|Puedes crear o modificar formas rectangulares con Aspose.Slides para Python a través de .NET.| -|Formas de Polilinea|Puedes crear o modificar formas de polilinea con Aspose.Slides para Python a través de .NET.| -|Formas Elípticas|Puedes crear o modificar formas elípticas con Aspose.Slides para Python a través de .NET.| -|Formas Agrupadas|Aspose.Slides para Python a través de .NET soporta formas agrupadas.| -|Formas Automáticas|Aspose.Slides para Python a través de .NET soporta formas automáticas.| -|SmartArt|Aspose.Slides para Python a través de .NET proporciona soporte para formas SmartArt en MS PowerPoint.| -|Gráficos|Aspose.Slides para Python a través de .NET proporciona soporte para gráficos MSO en PowerPoint.| -|Serialización de Formas|Aspose.Slides para Python a través de .NET soporta un gran número de formas. Cuando Aspose.Slides para Python a través de .NET no tenga soporte para una forma, puedes usar un método de serialización a través del cual puedes serializar esa forma desde una diapositiva existente. De esta manera, puedes usar la forma posteriormente según tus requisitos.| -|Marcos de Imagen|Puedes gestionar imágenes en marcos de imagen con Aspose.Slides para Python a través de .NET.| -|Marcos de Audio|Puedes vincular o incrustar archivos de audio en marcos de audio en las diapositivas con Aspose.Slides para Python a través de .NET.| -|Marcos de Video|Puedes manejar archivos de video en marcos de video. Aspose.Slides para Python a través de .NET también proporciona soporte para videos vinculados e incrustados.| -|Marco OLE|Puedes gestionar objetos OLE en marcos OLE con Aspose.Slides para Python a través de .NET.| -|Tablas|Aspose.Slides para Python a través de .NET soporta tablas en las diapositivas.| +|Diapositivas maestro|Las diapositivas maestro definen el diseño de las diapositivas normales. Aspose.Slides for Python via .NET le permite acceder y modificar las diapositivas maestro de los documentos de presentación.| +|Diapositivas normales|Con Aspose.Slides for Python via .NET, puede crear nuevas diapositivas de diferentes tipos; también puede acceder y modificar las diapositivas existentes en las presentaciones.| +|Clonado / Copia de diapositivas|Hay métodos incorporados proporcionados por Aspose.Slides for Python via .NET que le permiten clonar o copiar diapositivas existentes dentro de una presentación. También puede usar diapositivas copiadas y clonadas de una presentación a otra. Dado que una diapositiva hereda su diseño de la diapositiva maestro, los métodos de clonación incorporados copian automáticamente la maestro al clonar.| +|Gestión de secciones de diapositivas|Métodos para organizar diapositivas en diferentes secciones dentro de una presentación.| +|Marcadores de posición y marcadores de texto|Puede acceder a los marcadores de posición y marcadores de texto en una diapositiva. Además, puede crear una diapositiva con marcadores de texto desde cero usando el método apropiado.| +|Encabezados y pies de página|Aspose.Slides for Python via .NET facilita la gestión de encabezados/pies de página en las diapositivas.| +|Notas en diapositivas|Con Aspose.Slides for Python via .NET, puede acceder y modificar notas asociadas a una diapositiva y también agregar nuevas notas.| +|Búsqueda de una forma|También puede buscar una forma concreta en una diapositiva usando el texto alternativo asociado a la forma.| +|Fondos|Aspose.Slides for Python via .NET le permite trabajar con fondos asociados a una diapositiva maestro o normal en una presentación.| +|Cuadros de texto|Los cuadros de texto pueden crearse desde cero. Puede acceder a cuadros de texto existentes. También puede modificar su contenido sin perder el formato original del texto.| +|Formas rectangulares|Puede crear o modificar formas rectangulares con Aspose.Slides for Python via .NET.| +|Formas de polilínea|Puede crear o modificar formas de polilínea con Aspose.Slides for Python via .NET.| +|Formas elípticas|Puede crear o modificar formas elípticas con Aspose.Slides for Python via .NET.| +|Formas agrupadas|Aspose.Slides for Python via .NET admite formas agrupadas.| +|Formas automáticas|Aspose.Slides for Python via .NET admite formas automáticas.| +|SmartArt|Aspose.Slides for Python via .NET proporciona soporte para formas SmartArt en MS PowerPoint.| +|Gráficos|Aspose.Slides for Python via .NET proporciona soporte para gráficos MSO en PowerPoint.| +|Serialización de formas|Aspose.Slides for Python via .NET admite una gran cantidad de formas. Cuando Aspose.Slides for Python via .NET no admite una forma, puede usar un método de serialización mediante el cual serializa esa forma a partir de una diapositiva existente. De este modo, puede reutilizar la forma según sus requisitos.| +|Marcos de imagen|Puede gestionar imágenes en marcos de imagen con Aspose.Slides for Python via .NET.| +|Marcos de audio|Puede enlazar o incrustar archivos de audio en marcos de audio en las diapositivas con Aspose.Slides for Python via .NET.| +|Marcos de video|Puede manejar archivos de video en marcos de video. Aspose.Slides for Python via .NET también proporciona soporte para videos enlazados e incrustados.| +|Marco OLE|Puede gestionar objetos OLE en marcos OLE con Aspose.Slides for Python via .NET.| +|Tablas|Aspose.Slides for Python via .NET admite tablas en diapositivas.| |Controles ActiveX|Soporte para controles ActiveX.| -|Macros VBA|Soporte para gestionar macros VBA dentro de las presentaciones.| -|Cuadro de Texto|Puedes acceder al texto con cualquier forma a través del cuadro de texto asociado a esa forma.| -|Escaneo de Texto|Puedes escanear texto en una presentación a nivel de presentación o de diapositiva a través de métodos de escaneo integrados.| -|Animaciones|Puedes aplicar animaciones a las formas.| -|Presentaciones Diapositivas|Aspose.Slides para Python a través de .NET soporta presentaciones de diapositivas y transiciones de diapositivas.| +|Macros VBA|Soporte para gestionar macros VBA dentro de presentaciones.| +|Marco de texto|Puede acceder al texto de cualquier forma mediante el marco de texto asociado a esa forma.| +|Escaneo de texto|Puede escanear texto en una presentación a nivel de presentación o diapositiva mediante métodos de escaneo incorporados.| +|Animaciones|Puede aplicar animaciones a las formas.| +|Presentaciones de diapositivas|Aspose.Slides for Python via .NET admite presentaciones de diapositivas y transiciones entre ellas.| -## **Características de formateo** -Con Aspose.Slides para Python a través de .NET, puedes formatear textos y formas en las diapositivas de presentaciones. Consulta estos detalles: +## **Características de formato** +Con Aspose.Slides for Python via .NET, puede dar formato a textos y formas en las diapositivas de las presentaciones. Revise estos detalles: -|**Característica**|**Descripción**| +|**Funcionalidad**|**Descripción**| | :- | :- | -|Formateo de Texto|

    En Aspose.Slides para Python a través de .NET, puedes gestionar textos a través de los cuadros de texto asociados con las formas. Por lo tanto, puedes formatear textos usando los párrafos y porciones asociadas con los cuadros de texto. Estos elementos de texto se pueden formatear a través de Aspose.Slides para Python a través de .NET.

    - Tipo de Fuente

    - Tamaño de Fuente

    - Color de Fuente

    - Sombras de Fuente

    - Alineación de Párrafo

    - Viñetas de Párrafo

    - Orientación de Párrafo

    | -|Formateo de Forma|

    En Aspose.Slides para Python a través de .NET, el elemento básico de una diapositiva es una forma. Puedes formatear estos elementos de forma con Aspose.Slides para Python a través de .NET:

    - Posición

    - Tamaño

    - Línea

    - Relleno (incluyendo Patrón, Gradiente, Sólido)

    - Texto

    - Imagen

    | \ No newline at end of file +|Formato de texto|

    En Aspose.Slides for Python via .NET, puede gestionar textos mediante los marcos de texto asociados a las formas. Por lo tanto, puede dar formato a los textos usando los párrafos y porciones asociados a los marcos de texto. Estos elementos de texto pueden formatearse a través de Aspose.Slides for Python via .NET.

    - Tipo de fuente

    - Tamaño de fuente

    - Color de fuente

    - Tonos de fuente

    - Alineación de párrafo

    - Viñetas de párrafo

    - Orientación de párrafo

    | +|Formato de forma|

    En Aspose.Slides for Python via .NET, el elemento básico de una diapositiva es una forma. Puede dar formato a estos elementos de forma con Aspose.Slides for Python via .NET:

    - Posición

    - Tamaño

    - Línea

    - Relleno (incluyendo Patrón, Degradado, Sólido)

    - Texto

    - Imagen

    | + +## **Preguntas frecuentes** + +**¿Necesito instalar Microsoft PowerPoint en el servidor/PC para que la biblioteca funcione?** + +No. PowerPoint no es necesario; Aspose.Slides es un motor independiente para crear, editar, convertir y renderizar presentaciones. + +**¿Cómo funciona el multihilo? ¿Se puede paralelizar el procesamiento?** + +Es seguro procesar diferentes documentos en hilos distintos; el mismo [presentation](/slides/es/python-net/multithreading/) no debe ser usado por [multiple threads](/slides/es/python-net/multithreading/) al mismo tiempo. + +**¿Se admiten contraseñas y cifrado de archivos?** + +Sí. [Puede](/slides/es/python-net/password-protected-presentation/) abrir presentaciones cifradas, establecer o eliminar una contraseña de apertura y escritura, y comprobar el estado de protección. + +**¿Debo preocuparme por los paquetes de fuentes en contenedores Linux?** + +Sí. Se recomienda instalar paquetes de fuentes comunes y/o especificar explícitamente [directorios de fuentes](/slides/es/python-net/custom-font/) en su aplicación para evitar sustituciones inesperadas. + +**¿Existen limitaciones en la versión de evaluación?** + +En el [modo de evaluación](/slides/es/python-net/licensing/), se añade una marca de agua a la salida y se aplican ciertas limitaciones; una [licencia temporal de 30 días](https://purchase.aspose.com/temporary-license/) está disponible para pruebas con todas las funciones. + +**¿Se admite la importación de formatos externos a una presentación (PDF/HTML → PPTX)?** + +Sí. Puede agregar [páginas PDF y contenido HTML](/slides/es/python-net/import-presentation/) a una presentación, convirtiéndolos en diapositivas. \ No newline at end of file diff --git a/es/python-net/getting-started/metered-licensing/_index.md b/es/python-net/getting-started/metered-licensing/_index.md index 0976008428..a9d7df3b71 100644 --- a/es/python-net/getting-started/metered-licensing/_index.md +++ b/es/python-net/getting-started/metered-licensing/_index.md @@ -3,54 +3,86 @@ title: Licenciamiento Medido type: docs weight: 90 url: /es/python-net/metered-licensing/ +keywords: +- licencia +- licencia medida +- claves de licencia +- clave pública +- clave privada +- cantidad de consumo +- Python +- Aspose.Slides +description: "Aprenda cómo el licenciamiento medido de Aspose.Slides para Python a través de .NET le permite procesar archivos PowerPoint y OpenDocument de forma flexible, pagando solo por lo que usa." --- +## **Aplicar claves medidoras** + {{% alert color="primary" %}} -El licenciamiento medido es un nuevo mecanismo de licenciamiento que puede ser utilizado junto con los métodos de licenciamiento existentes. Si deseas ser facturado en función de tu uso de las características de la API Aspose.Slides, elige el licenciamiento medido. +La licencia con medición es un nuevo mecanismo de licenciamiento que puede usarse junto a los métodos de licenciamiento existentes. Si desea que se le facture según su uso de las funciones de la API Aspose.Slides, elija la licencia con medición. -Cuando compras una licencia medida, obtienes claves (y no un archivo de licencia). Esta clave medida puede aplicarse utilizando la clase [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) que Aspose proporcionó para operaciones de medición. Para más detalles, consulta [Preguntas Frecuentes sobre Licenciamiento Medido](https://purchase.aspose.com/faqs/licensing/metered). +Al comprar una licencia con medición, recibe claves (y no un archivo de licencia). Esta clave medidora puede aplicarse usando la clase [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) que Aspose proporciona para operaciones de medición. Para más detalles, vea las [Metered Licensing FAQ](https://purchase.aspose.com/faqs/licensing/metered). {{% /alert %}} -1. Crea una instancia de la clase [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). -1. Pasa tus claves públicas y privadas al método `set_metered_key`. -1. Realiza algunos procesos (ejecuta tareas). -1. Llama al método `get_consumption_quantity()` de la clase Metered. - - Deberías ver la cantidad/total de solicitudes de API que has consumido hasta ahora. +1. Crear una instancia de la clase [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). +1. Pasar sus claves pública y privada al método [set_metered_key](https://reference.aspose.com/slides/python-net/aspose.slides/metered/set_metered_key/#str-str). +1. Realizar algún procesamiento (ejecutar tareas). +1. Llamar al método [get_consumption_quantity](https://reference.aspose.com/slides/python-net/aspose.slides/metered/get_consumption_quantity/#) de la clase `Metered`. -Este código Python te muestra cómo establecer claves públicas y privadas medidas: +Debería ver la cantidad de solicitudes API que ha consumido hasta el momento. +Este código de ejemplo le muestra cómo usar la licencia con medición: ```python import aspose.slides as slides -# Crea una instancia de la clase CAD Metered +# Crea una instancia de la clase Metered metered = slides.Metered() -# Accede a la propiedad set_metered_key y pasa las claves públicas y privadas como parámetros -metered.set_metered_key("*****", "*****") - -# Obtiene la cantidad de datos medidos antes de llamar a la API -amountbefore = slides.metered.get_consumption_quantity() -# Muestra la información -print("Cantidad Consumida Antes: " + str(amountbefore)) - -# Carga el documento desde el disco. -with slides.Presentation("Presentation.pptx") as pres: - # Obtiene la cantidad de páginas del documento - print(len(pres.slides)) - # Guarda como PDF - pres.save("out_pdf.pdf", slides.export.SaveFormat.PDF) - -# Obtiene la cantidad de datos medidos después de llamar a la API -amountafter = slides.metered.get_consumption_quantity() -# Muestra la información -print("Cantidad Consumida Después: " + str(amountafter)) +# Pasa las claves pública y privada al objeto Metered +metered.set_metered_key("", "") + +# Obtiene el valor de cantidad consumida antes de las llamadas a la API +amount_before = slides.Metered.get_consumption_quantity() +print("Amount consumed before:", amount_before) + +# Haz algo con la API de Aspose.Slides aquí +# ... + +# Obtiene el valor de cantidad consumida después de las llamadas a la API +amount_after = slides.Metered.get_consumption_quantity() +print("Amount consumed after:", amount_after) ``` -{{% alert color="warning" title="NOTA" %}} -Para usar el licenciamiento medido, necesitas una conexión a internet estable porque el mecanismo de licenciamiento utiliza internet para interactuar constantemente con nuestros servicios y realizar cálculos. +{{% alert color="warning" title="NOTE" %}} + +Para usar la licencia con medición, necesita una conexión a Internet estable porque el mecanismo de licenciamiento usa Internet para interactuar constantemente con nuestros servicios y realizar cálculos. + +{{% /alert %}} + +## **FAQ** + +**¿Puedo usar una licencia con medición junto con una licencia regular (perpetua o temporal) en la misma aplicación?** + +Sí. La licencia con medición es un mecanismo adicional que puede usarse junto a los [métodos de licenciamiento](/slides/es/python-net/licensing/) existentes. Usted elige qué mecanismo aplicar cuando la aplicación inicia. + +**¿Qué se cuenta exactamente como consumo bajo una licencia con medición: ¿operaciones o archivos?** + +Se contabiliza el uso de la API, es decir, el número de solicitudes u operaciones. Puede obtener el consumo actual mediante los [consumption-tracking methods](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). + +**¿Es la licencia con medición adecuada para microservicios y entornos serverless donde las instancias se reinician con frecuencia?** + +Sí. Como la contabilización se realiza a nivel de llamada a la API, los escenarios con arranques en frío frecuentes son compatibles, siempre que haya acceso de red estable para los cálculos de medición. + +**¿La funcionalidad de la biblioteca difiere al usar una licencia con medición comparada con una licencia perpetua?** + +No. Esto solo afecta al mecanismo de licenciamiento y facturación; las capacidades del producto son las mismas. + +**¿Cómo se relaciona la licencia con medición con la versión de prueba y la licencia temporal?** + +La versión de prueba tiene limitaciones y marcas de agua, la [temporary license](https://purchase.aspose.com/temporary-license/) elimina las limitaciones durante 30 días, y la licencia con medición elimina las limitaciones y cobra según el uso real. + +**¿Puedo controlar el presupuesto reaccionando automáticamente cuando se supera un umbral de consumo?** -{{% /alert %}} \ No newline at end of file +Sí. Una práctica común es leer periódicamente el consumo actual mediante los [tracking methods](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) e implementar sus propios límites o alertas a nivel de aplicación o monitoreo. \ No newline at end of file diff --git a/es/python-net/getting-started/system-requirements/_index.md b/es/python-net/getting-started/system-requirements/_index.md index dc924f9c61..ed1b257f0c 100644 --- a/es/python-net/getting-started/system-requirements/_index.md +++ b/es/python-net/getting-started/system-requirements/_index.md @@ -1,18 +1,35 @@ --- -title: Requisitos del Sistema +title: Requisitos del sistema type: docs weight: 60 url: /es/python-net/system-requirements/ +keywords: +- requisitos del sistema +- sistema operativo +- instalación +- dependencias +- Windows +- Linux +- macOS +- PowerPoint +- OpenDocument +- presentación +- Python +- Aspose.Slides +description: "Descubra los requisitos del sistema de Aspose.Slides for Python via .NET. Garantice soporte sin problemas de PowerPoint y OpenDocument en Windows, Linux y macOS." --- -Aspose.Slides para Python a través de .NET no requiere la instalación de ningún producto de terceros como Microsoft PowerPoint. Aspose.Slides en sí mismo es un motor para crear, modificar, convertir y renderizar documentos en varios formatos, incluidos los formatos de presentación de Microsoft PowerPoint. -## Sistemas Operativos Soportados +## **Introducción** -Aspose.Slides para Python a través de .NET es compatible con sistemas operativos Windows de 64 bits y 32 bits, macOS y Linux de 64 bits donde Python 3.5 o posterior está instalado. +Aspose.Slides for Python via .NET no requiere que se instalen productos de terceros, como Microsoft PowerPoint. Aspose.Slides es un motor para crear, modificar, convertir y renderizar documentos en varios formatos, incluidos los formatos de presentación de Microsoft PowerPoint. + +## **Sistemas operativos compatibles** + +Aspose.Slides for Python es compatible con Windows (32 bits y 64 bits), macOS y Linux de 64 bits en sistemas con Python 3.5 o posterior instalado. - + @@ -41,7 +58,7 @@ Aspose.Slides para Python a través de .NET es compatible con sistemas operativo
  • Ubuntu
  • OpenSUSE
  • CentOS
  • -
  • y otros
  • +
  • and others
  • @@ -55,10 +72,24 @@ Aspose.Slides para Python a través de .NET es compatible con sistemas operativo
    Sistema OperativoSistema operativo Versiones
    -## Requisitos del Sistema para Plataformas Linux y macOS Objetivo +## **Requisitos del sistema para plataformas Linux y macOS de destino** + +- Bibliotecas de tiempo de ejecución GCC 6 (o posteriores). +- [libgdiplus](https://github.com/mono/libgdiplus), una implementación de código abierto de la API GDI+. +- Dependencias del .NET Core Runtime. Instalar el propio .NET Core Runtime NO es necesario. +- Para Python 3.5–3.7: se requiere la compilación `pymalloc` de Python. La opción de compilación `--with-pymalloc` está habilitada por defecto. Normalmente, la compilación `pymalloc` de Python se marca con el sufijo `m` en el nombre del archivo. +- La biblioteca compartida `libpython`. La opción de compilación de Python `--enable-shared` está deshabilitada por defecto, y algunas distribuciones de Python no incluyen la biblioteca compartida `libpython`. En algunas plataformas Linux, puedes instalar la biblioteca compartida `libpython` usando el gestor de paquetes (por ejemplo, `sudo apt-get install libpython3.7`). Un problema frecuente es que la biblioteca `libpython` se instala en una ubicación no estándar para bibliotecas compartidas. Puedes solucionarlo usando opciones de compilación de Python para establecer rutas alternativas de biblioteca al compilar Python, o creando un enlace simbólico al archivo de la biblioteca `libpython` en la ubicación estándar de bibliotecas compartidas del sistema. Normalmente, el nombre del archivo de la biblioteca compartida `libpython` es `libpythonX.Ym.so.1.0` para Python 3.5–3.7 o `libpythonX.Y.so.1.0` para Python 3.8 o posterior (por ejemplo, `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). + +## **Preguntas frecuentes** + +**¿Necesito Microsoft PowerPoint instalado para conversiones y renderizado?** + +No, PowerPoint no es necesario; Aspose.Slides es un motor independiente para [crear](/slides/es/python-net/create-presentation/), modificar, [convertir](/slides/es/python-net/convert-presentation/), y [renderizar](/slides/es/python-net/convert-powerpoint-to-png/) presentaciones. + +**¿Se requiere una versión específica de .NET (Core/5+/6+) en la máquina?** + +Instalar el propio .NET Runtime no es necesario, pero sus dependencias deben estar presentes en Linux/macOS. Esto significa que el sistema debe contener los paquetes que normalmente se instalan como dependencias de .NET, sin instalar el runtime completo. + +**¿Qué fuentes se necesitan para un renderizado correcto?** -- Bibliotecas de tiempo de ejecución GCC-6 (o posteriores). -- [`libgdiplus`](https://github.com/mono/libgdiplus): una implementación de código abierto de la API GDI+. -- Dependencias de .NET Core Runtime. No se requiere la instalación de .NET Core Runtime en sí. -- Para Python 3.5-3.7: Se necesita la construcción de Python `pymalloc`. La opción de construcción de Python `--with-pymalloc` está habilitada por defecto. Típicamente, la construcción `pymalloc` de Python está marcada con el sufijo `m` en el nombre del archivo. -- Biblioteca compartida Python `libpython`. La opción de construcción de Python `--enable-shared` está deshabilitada por defecto, algunas distribuciones de Python no contienen la biblioteca compartida `libpython`. Para algunas plataformas de linux, la biblioteca compartida `libpython` se puede instalar utilizando el administrador de paquetes, por ejemplo: `sudo apt-get install libpython3.7`. El problema común es que la biblioteca `libpython` está instalada en una ubicación diferente de la ubicación estándar del sistema para bibliotecas compartidas. El problema se puede solucionar utilizando las opciones de construcción de Python para establecer rutas de biblioteca alternativas al compilar Python, o se puede solucionar creando un enlace simbólico al archivo de la biblioteca `libpython` en la ubicación estándar del sistema para bibliotecas compartidas. Típicamente, el nombre del archivo de la biblioteca compartida `libpython` es `libpythonX.Ym.so.1.0` para Python 3.5-3.7, o `libpythonX.Y.so.1.0` para Python 3.8 o posterior (por ejemplo: libpython3.7m.so.1.0, libpython3.9.so.1.0). +En la práctica, las fuentes usadas en la presentación o los [sustitutos](/slides/es/python-net/font-substitution/) adecuados deben estar disponibles. Para garantizar un renderizado coherente en Linux/macOS, se recomienda instalar paquetes de fuentes comunes. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/_index.md index ecc7ff898d..5827050812 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,43 +1,112 @@ --- -title: Convertir Présentation +title: Convertir les présentations en plusieurs formats avec Python +linktitle: Convertir les présentations type: docs weight: 70 url: /fr/python-net/convert-presentation/ +keywords: +- conversion présentation +- exportation présentation +- PPT vers PPTX +- PPT vers PDF +- PPTX vers PDF +- PPT vers XPS +- PPTX vers XPS +- PPT vers TIFF +- PPTX vers TIFF +- PowerPoint +- OpenDocument +- Python +- Aspose.Slides +description: "Convertissez les présentations PowerPoint et OpenDocument en PPTX, PDF, XPS, TIFF et plus avec Aspose.Slides pour Python via .NET. Conversion simple et de haute qualité." --- +## **Introduction** + +Cette page fournit un aperçu de la conversion de présentations avec Aspose.Slides for Python via .NET. Elle résume les scénarios pris en charge et pointe vers des guides ciblés qui montrent le code exact pour exporter des présentations et des diapositives vers des formats tels que PDF, XPS, TIFF, ainsi que la conversion entre PPT et PPTX. Le cas échéant, les articles liés mettent en évidence les options spécifiques au format — par exemple, le rendu des notes ou l’ajustement de la qualité d’image — et les limitations connues telles que la prise en charge partielle des chemins PPT→PPTX. Utilisez cette page pour choisir un format cible, puis suivez la recette liée. + ## **Conversion PPT vers PPTX** -### **À propos de la conversion PPT vers PPTX** -Aspose.Slides prend désormais en charge la conversion de PPT en PPTX. -### **Convertir PPT en PPTX avec Aspose.Slides** -Aspose.Slides pour Python via .NET offre un support partiel pour la conversion de présentations au format de fichier PPT vers des présentations au format de fichier PPTX. Étant donné que le support de cette fonctionnalité de conversion de présentation vient d'être introduit dans Aspose.Slides pour Python via .NET, il a donc, à l'heure actuelle, une capacité limitée et fonctionne uniquement pour les formes simples de présentations. Le principal avantage qu'offre la bibliothèque API Aspose.Slides pour Python via .NET pour la conversion de présentations PPT au format PPTX est la facilité d'utilisation de l'API pour atteindre l'objectif souhaité. Veuillez vous rendre à ce [lien](/slides/fr/python-net/convert-presentation/) pour la section des extraits de code pour plus de détails. La section suivante illustre clairement quelles fonctionnalités sont prises en charge et non prises en charge lors de la conversion de présentations au format PPT en présentations au format PPTX. -{{% alert color="primary" %}} -Lire la suite [**Comment convertir PPT en PPTX**](/slides/fr/python-net/convert-ppt-to-pptx/). + +### **À propos de PPT/PPTX** + +PPT est l’ancien format binaire PowerPoint (97–2003), tandis que PPTX est le format Open XML empaqueté en ZIP introduit dans PowerPoint 2007. Comparé à PPT, PPTX produit généralement des fichiers plus petits, prend en charge les fonctionnalités modernes, fonctionne bien avec l’automatisation de documents, et est recommandé pour le stockage à long terme et les flux de travail multiplateformes. + +### **Convertir PPT en PPTX** + +Aspose.Slides prend en charge la conversion des présentations PPT au format PPTX. L’avantage principal d’utiliser l’API Aspose.Slides pour cette tâche est la simplicité du flux de travail nécessaire pour obtenir le résultat souhaité. En pratique, vous pouvez effectuer la conversion avec un code minimal tout en conservant une haute fidélité des diapositives, des mises en page et des médias. + +{{% alert color="primary" %}} +En savoir plus:[Convertir PPT en PPTX en Python](/slides/fr/python-net/convert-ppt-to-pptx/). {{% /alert %}} -## **Conversion Présentation vers PDF** + +## **Conversion de présentation en PDF** + ### **À propos du PDF** -Le [Portable Document Format](https://en.wikipedia.org/wiki/PDF) est un format de fichier créé par Adobe System pour l'échange de documents entre différentes organisations. L'objectif de ce format était de permettre que le contenu des documents soit représenté de manière à ce que leur apparence visuelle ne dépende pas de la plateforme sur laquelle il est consulté. -### **PDF dans Aspose.Slides pour Python via .NET** -[PDF](https://docs.fileformat.com/pdf/) est un format de fichier créé par Adobe System pour l'échange de documents entre différentes organisations. L'objectif de ce format était de faire en sorte que l'apparence visuelle du contenu du document ne dépende pas de la plateforme sur laquelle il est visualisé. -Tout document de présentation pouvant être chargé dans Aspose.Slides pour Python via .NET peut être converti en document PDF. Vous pouvez exporter directement les documents de présentation en PDF en utilisant uniquement le composant Aspose.Slides pour Python via .NET. Vous n'avez pas besoin d'autres bibliothèques tierces ou du composant Aspose.PDF pour cela. +Le format Portable Document Format (PDF) est un format de fichier créé par Adobe Systems pour l’échange de documents entre organisations. Son objectif est de garantir que le contenu d’un document s’affiche avec le même aspect visuel, quel que soit le plateforme sur laquelle le document est consulté. + +### **Convertir les présentations en PDF** -{{% alert color="primary" %}} -Lire la suite [**Comment convertir une présentation en PDF**](/slides/fr/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/). +Toute présentation pouvant être chargée dans Aspose.Slides peut être convertie en document PDF. Vous pouvez exporter des présentations au format PDF directement avec le composant Aspose.Slides ; aucune bibliothèque tierce ni le composant Aspose.PDF ne sont nécessaires. + +{{% alert color="primary" %}} +En savoir plus:[Convertir PPT et PPTX en PDF en Python](/slides/fr/python-net/convert-powerpoint-to-pdf/). {{% /alert %}} -## **Conversion Présentation vers XPS** +## **Conversion de présentation en XPS** + ### **À propos du XPS** -La [XML Parser Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) est un langage de description de page et un format de document fixe développé à l'origine par Microsoft. Comme le PDF, le XPS est un format de document à mise en page fixe conçu pour préserver la fidélité des documents et fournir une apparence de document indépendante du dispositif. -### **Convertir une présentation en XPS avec Aspose.Slides** -Tout document de présentation pouvant être chargé par Aspose.Slides pour Python via .NET peut être converti en format XPS. Aspose.Slides pour Python via .NET utilise le moteur de mise en page et de rendu de haute fidélité pour produire une sortie au format de document XPS à mise en page fixe. Il convient de mentionner qu'Aspose.Slides pour Python via .NET génère directement des XPS sans dépendre des classes Windows Presentation Foundation (WPF) qui sont empaquetées avec le .NET Framework 3.5, permettant ainsi à Aspose.Slides pour Python via .NET de produire des documents XPS sur des machines exécutant des versions du .NET Framework antérieures à la version 3.5. Vous pouvez en savoir plus sur l'exportation des documents de présentation vers des documents XPS grâce à Aspose.Slides pour Python via .NET dans [cet article](/slides/fr/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). -{{% alert color="primary" %}} -Lire la suite [**Comment convertir une présentation en XPS**](/slides/fr/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) + +La spécification XML Paper (XPS) est un langage de description de pages et un format de document fixe développé à l’origine par Microsoft. Comme le PDF, le XPS est un format de document à mise en page fixe conçu pour préserver la fidélité du document et offrir un rendu indépendant du dispositif. + +### **Convertir les présentations en XPS** + +Toute présentation pouvant être chargée par Aspose.Slides peut être convertie au format XPS. Aspose.Slides utilise un moteur de mise en page et de rendu haute fidélité pour produire une sortie au format XPS à mise en page fixe. Notamment, Aspose.Slides génère le XPS directement sans dépendre de Windows Presentation Foundation (WPF). + +{{% alert color="primary" %}} +En savoir plus:[Convertir les présentations PowerPoint en XPS en Python](/slides/fr/python-net/convert-powerpoint-to-xps/). {{% /alert %}} -## **Conversion Présentation vers TIFF** + +## **Conversion de présentation en TIFF** + ### **À propos du TIFF** -Le [Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) qui est connu pour stocker plusieurs images dans un seul document a été créé à l'origine par Aldus. Ce format est largement pris en charge par les applications de numérisation, de fax et d'autres applications de manipulation d'images. -### **Convertir une présentation en TIFF avec Aspose.Slides** -Tout document pouvant être chargé dans Aspose.Slides pour .NET peut également être converti directement en document TIFF par Aspose.Slides pour Python via .NET, éliminant ainsi le besoin de tout composant tiers. De plus, vous pouvez éventuellement définir la taille des images dans le document TIFF résultant. Vous pouvez trouver des informations sur l'exportation des documents de présentation vers des documents TIFF grâce à Aspose.Slides pour Python via .NET dans [cet article](/slides/fr/python-net/convert-powerpoint-ppt-and-pptx-to-tiff/). -{{% alert color="primary" %}} -Lire la suite [**Comment convertir une présentation en TIFF**](/slides/fr/python-net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file + +Le Tagged Image File Format (TIFF) est un format d’image raster connu pour stocker plusieurs images (pages) dans un seul fichier. Développé à l’origine par Aldus, il est largement pris en charge par les applications de numérisation, de fax et d’autres traitements d’image. + +### **Convertir les présentations en TIFF** + +Tout document pouvant être chargé dans Aspose.Slides peut également être converti directement en fichier TIFF sans aucun composant tiers. Vous pouvez également, de manière optionnelle, spécifier la taille de l’image pour les pages du TIFF résultant. + +{{% alert color="primary" %}} +En savoir plus:[Convertir les présentations PowerPoint en TIFF en Python](/slides/fr/python-net/convert-powerpoint-to-tiff/). +{{% /alert %}} + +## **FAQ** + +**Puis‑je inclure les diapositives masquées lors de l’exportation en PDF/XPS ?** + +Oui. L’exportation prend en charge l’inclusion des diapositives masquées via l’option correspondante dans les paramètres [PDF](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/show_hidden_slides/)/[XPS](https://reference.aspose.com/slides/python-net/aspose.slides.export/xpsoptions/show_hidden_slides/) . + +**La sauvegarde au format PDF/A (pour l’archivage) est‑elle prise en charge ?** + +Oui, les niveaux de conformité PDF/A sont disponibles (y compris A‑2a/A‑2b/A‑2u et A‑3a/A‑3b) lors de l’exportation. + +**Que se passe‑t‑il avec les polices lors de la conversion : sont‑elles incorporées ou substituées ?** + +Il existe des options flexibles : vous pouvez [incorporer tous les glyphes ou uniquement les sous‑ensembles utilisés](/slides/fr/python-net/embedded-font/), spécifier une [police de secours](/slides/fr/python-net/fallback-font/), et [contrôler le comportement](/slides/fr/python-net/font-substitution/) lorsqu’une police ne possède pas certains styles. + +**Comment contrôler la qualité et la taille du PDF résultant ?** + +Des options sont disponibles pour la [qualité JPEG](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/jpeg_quality/), la [compression du texte](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/text_compression/), et un seuil de [résolution suffisante](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/sufficient_resolution/) pour les images, ainsi qu’un mode qui sélectionne la [meilleure compression pour les images](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/best_images_compression_ratio/) . + +**Puis‑je exporter uniquement une plage de diapositives (par exemple, 5–12) ?** + +Oui, l’exportation prend en charge la sélection d’un sous‑ensemble de diapositives. + +**Le traitement multi‑cœur de plusieurs fichiers simultanément est‑il supporté ?** + +Il est possible de traiter différentes présentations en parallèle dans des processus distincts. Important : le même objet [présentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) ne doit pas être chargé ou enregistré depuis [plusieurs threads](/slides/fr/python-net/multithreading/) . + +**Existe‑t‑il des risques lors de l’application de la licence depuis différents threads ?** + +Oui, les appels de [configuration de licence](/slides/fr/python-net/licensing/) ne sont pas thread‑safe et nécessitent une synchronisation. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index c20722d616..e6c9ebde7d 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,35 @@ --- -title: Convertir PowerPoint en GIF animé +title: Convertir des présentations en GIF animés avec Python +linktitle: Présentation en GIF type: docs weight: 65 url: /fr/python-net/convert-powerpoint-to-animated-gif/ -keywords: "Convertir PowerPoint, PPT, PPTX, GIF animé, PPT en GIF animé, PPTX en GIF animé, Python, paramètres par défaut, paramètres personnalisés " -description: "Convertir une présentation PowerPoint en GIF animé : PPT en GIF, PPTX en GIF en Python" +keywords: +- GIF animé +- convertir PowerPoint +- convertir OpenDocument +- convertir présentation +- convertir diapositive +- convertir PPT +- convertir PPTX +- convertir ODP +- PowerPoint en GIF +- OpenDocument en GIF +- présentation en GIF +- diapositive en GIF +- PPT en GIF +- PPTX en GIF +- ODP en GIF +- paramètres par défaut +- paramètres personnalisés +- Python +- Aspose.Slides +description: "Convertissez facilement les présentations PowerPoint (PPT, PPTX) et les fichiers OpenDocument (ODP) en GIF animés avec Aspose.Slides pour Python. Rapide, résultats de haute qualité." --- -## Conversion de présentations en GIF animé en utilisant les paramètres par défaut ## - -Ce code exemple en Python montre comment convertir une présentation en GIF animé en utilisant des paramètres standard : +## **Convertir des présentations en GIF animé avec les paramètres par défaut** +Ce code d'exemple en Python montre comment convertir une présentation en GIF animé en utilisant les paramètres standard: ```py import aspose.slides as slides @@ -18,17 +37,18 @@ pres = slides.Presentation(path + "pres.pptx") pres.save("pres.gif", slides.export.SaveFormat.GIF) ``` -Le GIF animé sera créé avec des paramètres par défaut. -{{% alert title="CONSEIL" color="primary" %}} +Le GIF animé sera créé avec les paramètres par défaut. + +{{% alert title="TIP" color="primary" %}} -Si vous préférez personnaliser les paramètres pour le GIF, vous pouvez utiliser la classe [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/). Voir le code exemple ci-dessous. +Si vous préférez personnaliser les paramètres du GIF, vous pouvez utiliser la classe [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/). Voir le code d'exemple ci-dessous. {{% /alert %}} -## Conversion de présentations en GIF animé en utilisant des paramètres personnalisés ## -Ce code exemple montre comment convertir une présentation en GIF animé en utilisant des paramètres personnalisés en Python : +## **Convertir des présentations en GIF animé avec des paramètres personnalisés** +Ce code d'exemple montre comment convertir une présentation en GIF animé avec des paramètres personnalisés en Python: ```py import aspose.slides as slides import aspose.pydrawing as drawing @@ -37,14 +57,25 @@ pres = slides.Presentation(path + "pres.pptx") options = slides.export.GifOptions() options.frame_size = drawing.Size(960, 720) # la taille du GIF résultant -options.default_delay = 2000 # la durée d'affichage de chaque diapositive avant de passer à la suivante -options.transition_fps = 35 # augmenter les FPS pour une meilleure qualité d'animation de transition +options.default_delay = 2000 # durée d'affichage de chaque diapositive avant de passer à la suivante +options.transition_fps = 35 # augmenter le FPS pour une meilleure qualité d'animation de transition pres.save("pres.gif", slides.export.SaveFormat.GIF, options) ``` + {{% alert title="Info" color="info" %}} -Vous voudrez peut-être jeter un œil à un convertisseur GRATUIT [Texte en GIF](https://products.aspose.app/slides/text-to-gif) développé par Aspose. +Vous pourriez vouloir essayer un convertisseur GRATUIT [Text to GIF](https://products.aspose.app/slides/text-to-gif) développé par Aspose. + +{{% /alert %}} + +## **FAQ** + +**Que faire si les polices utilisées dans la présentation ne sont pas installées sur le système?** + +Installez les polices manquantes ou [configure fallback fonts](/slides/fr/python-net/powerpoint-fonts/). Aspose.Slides les remplacera, mais l'apparence peut différer. Pour la marque, assurez-vous toujours que les polices requises sont explicitement disponibles. + +**Puis-je superposer un filigrane sur les images du GIF?** -{{% /alert %}} \ No newline at end of file +Oui. [Ajoutez un objet/logo semi-transparent](/slides/fr/python-net/watermark/) à la diapositive maitre ou aux diapositives individuelles avant l'exportation - le filigrane apparaitra sur chaque image. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 1031574524..c3d8db7dad 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,26 +1,84 @@ --- -title: Convertir PowerPoint en TIFF avec Notes +title: Convertir des présentations PowerPoint en TIFF avec notes en Python +linktitle: PowerPoint vers TIFF avec notes type: docs weight: 100 url: /fr/python-net/convert-powerpoint-to-tiff-with-notes/ -keywords: "Convertir PowerPoint en TIFF avec notes" -description: "Convertir PowerPoint en TIFF avec notes dans Aspose.Slides." +keywords: +- convertir PowerPoint +- convertir présentation +- convertir diapositive +- convertir PPT +- convertir PPTX +- PowerPoint vers TIFF +- présentation vers TIFF +- diapositive vers TIFF +- PPT vers TIFF +- PPTX vers TIFF +- PowerPoint avec notes +- présentation avec notes +- diapositive avec notes +- PPT avec notes +- PPTX avec notes +- TIFF avec notes +- Python +- Aspose.Slides +description: "Convertir des présentations PowerPoint en TIFF avec notes en utilisant Aspose.Slides pour Python via .NET. Apprenez comment exporter des diapositives avec les notes du présentateur efficacement." --- -{{% alert title="Astuce" color="primary" %}} +## **Vue d'ensemble** -Vous voudrez peut-être jeter un œil à Aspose [convertisseur GRATUIT de PowerPoint en Poster](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +Aspose.Slides for Python via .NET fournit une solution simple pour convertir les présentations PowerPoint et OpenDocument (PPT, PPTX et ODP) avec notes au format TIFF. Ce format est largement utilisé pour le stockage d'images haute qualité, l’impression et l’archivage de documents. Avec Aspose.Slides, vous pouvez non seulement exporter des présentations complètes avec les notes du présentateur, mais aussi générer des miniatures de diapositives dans la vue Note de la diapositive. Le processus de conversion est simple et efficace, utilisant la méthode `save` de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) pour transformer l’ensemble de la présentation en une série d’images TIFF tout en conservant les notes et la mise en page. -{{% /alert %}} +## **Convertir une présentation en TIFF avec notes** + +Enregistrer une présentation PowerPoint ou OpenDocument en TIFF avec notes à l’aide d’Aspose.Slides for Python via .NET implique les étapes suivantes : + +1. Instancier la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) : charger un fichier PowerPoint ou OpenDocument. +2. Configurer les options de mise en page de sortie : utiliser la classe [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/notescommentslayoutingoptions/) pour spécifier comment les notes et les commentaires doivent être affichés. +3. Enregistrer la présentation en TIFF : passer les options configurées à la méthode [save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/save/#str-asposeslidesexportsaveformat-asposeslidesexportisaveoptions). + +Imaginons que nous disposions d’un fichier "speaker_notes.pptx" contenant la diapositive suivante : -TIFF est l'un des nombreux formats d'image largement utilisés que Aspose.Slides pour Python via .NET prend en charge pour convertir des présentations PowerPoint PPT et PPTX avec des notes en images. Vous pouvez également générer des miniatures de diapositives dans la vue de Diapositive de Notes. La méthode [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) exposée par la classe Presentation peut être utilisée pour convertir l'intégralité de la présentation en vue de Diapositive de Notes en TIFF. Enregistrer une présentation Microsoft PowerPoint en TIFF avec des notes avec Aspose.Slides pour Python via .NET est un processus en deux lignes. Vous ouvrez simplement la présentation et l'enregistrez en tant que TIFF avec des notes. Vous pouvez également générer une miniature de diapositive en vue de Diapositive de Notes pour des diapositives individuelles. Les extraits de code ci-dessous mettent à jour la présentation d'exemple en images TIFF dans la vue de Diapositive de Notes, comme indiqué ci-dessous : +![Diapositive de présentation avec notes du présentateur](slide_with_notes.png) +L’extrait de code ci‑dessous montre comment convertir la présentation en image TIFF dans la vue Note de la diapositive en utilisant la propriété [slides_layout_options](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) . ```py -import aspose.slides as slides +# Instanciez la classe Presentation qui représente un fichier de présentation. +with slides.Presentation("speaker_notes.pptx") as presentation: + + notes_options = slides.export.NotesCommentsLayoutingOptions() + notes_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL # Affiche les notes sous la diapositive. + + # Configurez les options TIFF avec la mise en forme des notes. + tiff_options = slides.export.TiffOptions() + tiff_options.dpi_x = 300 + tiff_options.dpi_y = 300 + tiff_options.slides_layout_options = notes_options + + # Enregistrez la présentation au format TIFF avec les notes du présentateur. + presentation.save("TIFF_with_notes.tiff", slides.export.SaveFormat.TIFF, tiff_options) +``` + + +Résultat : + +![Image TIFF avec notes du présentateur](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +Découvrez l’[outil gratuit de conversion PowerPoint vers affiche d’Aspose](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +{{% /alert %}} + +## **FAQ** + +**Puis‑je contrôler la position de la zone des notes dans le TIFF résultant ?** + +Oui. Utilisez les [paramètres de mise en page des notes](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) pour choisir parmi les options telles que `NONE`, `BOTTOM_TRUNCATED` ou `BOTTOM_FULL`, qui masquent respectivement les notes, les ajustent sur une seule page ou les laissent s’étendre sur des pages supplémentaires. + +**Comment réduire la taille d’un fichier TIFF avec notes sans perte visible de qualité ?** + +Choisissez une [compression efficace](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/compression_type/) (par ex., `LZW` ou `RLE`), définissez un DPI raisonnable et, si cela convient, utilisez un [format de pixel](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/pixel_format/) inférieur (comme 8 bpp ou 1 bpp pour le monochrome). Réduire légèrement les [dimensions de l’image](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/image_size/) peut également aider sans altérer nettement la lisibilité. -# Instancier un objet Presentation qui représente un fichier de présentation -presentation = slides.Presentation("pres.pptx") +**La police des notes influence‑t‑elle le résultat si les polices d’origine sont absentes du système ?** -# Enregistrer la présentation en TIFF avec des notes -presentation.save("Notes_In_Tiff_out.tiff", slides.export.SaveFormat.TIFF) -``` \ No newline at end of file +Oui. L’absence de polices déclenche une [substitution](/slides/fr/python-net/font-selection-sequence/), ce qui peut modifier les métriques et l’apparence du texte. Pour éviter cela, [fournissez les polices requises](/slides/fr/python-net/custom-font/) ou définissez une [police de secours par défaut](/slides/fr/python-net/fallback-font/) afin que les polices prévues soient utilisées. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index e99745a0ca..a25092c2f3 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,42 +1,39 @@ --- -title: "Comprendre la différence: PPT vs PPTX" -linktitle: PPT vs PPTX +title: "Comprendre la différence : PPT vs PPTX" +linktitle: "PPT vs PPTX" type: docs weight: 10 url: /fr/python-net/ppt-vs-pptx/ keywords: -- PPT vs PPTX -- PPT ou PPTX -- format hérité -- format moderne -- format binaire -- standard moderne -- PowerPoint -- présentation -- Python -- Aspose.Slides -description: "Comparez PPT et PPTX pour PowerPoint avec Aspose.Slides for Python via .NET, en explorant les différences de format, les avantages, la compatibilité et des conseils de conversion." +- "PPT vs PPTX" +- "PPT ou PPTX" +- "format hérité" +- "format moderne" +- "format binaire" +- "norme moderne" +- "PowerPoint" +- "présentation" +- "Python" +- "Aspose.Slides" +description: "Comparez PPT vs PPTX pour PowerPoint avec Aspose.Slides Python via .NET, en explorant les différences de format, les avantages, la compatibilité et les conseils de conversion." --- +## **Qu'est-ce que PPT?** +[**PPT**](https://docs.fileformat.com/presentation/ppt/) est un format de fichier binaire, c'est-a-dire qu'il est impossible de visualiser son contenu sans outils spéciaux. Les premières versions de PowerPoint 97-2003 utilisaient le format de fichier PPT, cependant son extensibilité est limitée. -## **Qu'est-ce que PPT ?** -[**PPT**](https://docs.fileformat.com/presentation/ppt/) est un format de fichier binaire, c'est-à-dire qu'il est impossible de visualiser son contenu sans outils spéciaux. Les premières versions de PowerPoint 97-2003 fonctionnaient avec le format de fichier PPT, cependant son extensibilité est limitée.  -## **Qu'est-ce que PPTX ?** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/) est un nouveau format de fichier de présentation, basé sur la norme Office Open XML (ISO 29500:2008-2016, ECMA-376). PPTX est un ensemble archivé de fichiers XML et de fichiers multimédia. Le format PPTX est facilement extensible. Par exemple, il est facile d'ajouter un support pour un nouveau type de graphique ou un type de forme, sans changer le format PPTX à chaque nouvelle version de PowerPoint. Le format PPTX est utilisé à partir de PowerPoint 2007. +## **Qu'est-ce que PPTX?** +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) est un nouveau format de présentation, basé sur la norme Office Open XML (ISO 29500:2008-2016, ECMA-376). PPTX est un ensemble archive de fichiers XML et multimédia. Le format PPTX est facilement extensible. Par exemple, il est simple d'ajouter la prise en charge d'un nouveau type de graphique ou de forme, sans modifier le format PPTX dans chaque nouvelle version de PowerPoint. Le format PPTX est utilisé à partir de PowerPoint 2007. ## **PPT vs PPTX** -Bien que PPTX offre une fonctionnalié beaucoup plus large, PPT reste assez populaire. La nécessité de convertir de PPT à PPTX et vice versa est fortement demandée. +Bien que le PPTX offre une fonctionnalité beaucoup plus large, le PPT reste très populaire. La nécessité de convertir de PPT en PPTX et inversement est très demandée. -Cependant, la conversion entre le vieux format PPT et le nouveau format PPTX est le défi le plus compliqué parmi les autres formats de Microsoft Office. Bien que la spécification du format PPT soit ouverte, il est difficile de travailler avec. PowerPoint peut créer des parties spéciales (MetroBlob) dans les fichiers PPT pour stocker des informations à partir de PPTX qui ne sont pas prises en charge par le format PPT et ne peuvent pas être affichées dans les anciennes versions de PowerPoint. Ces informations peuvent être restaurées lorsque un fichier PPT est chargé dans une version moderne de PowerPoint ou converti en format PPTX. +Cependant, la conversion entre l'ancien format PPT et le nouveau format PPTX est le défi le plus complexe parmi les autres formats Microsoft Office. Bien que la spécification du format PPT soit ouverte, il est difficile de travailler avec. PowerPoint peut créer des parties spéciales (MetroBlob) dans les fichiers PPT pour stocker des informations provenant du PPTX qui ne sont pas prises en charge par le format PPT et ne peuvent pas être affichées dans les anciennes versions de PowerPoint. Ces informations peuvent être restaurées lorsqu'un fichier PPT est chargé dans une version moderne de PowerPoint ou converti au format PPTX. -Aspose.Slides fournit une interface commune pour travailler avec tous les formats de présentation. Il permet de convertir de PPT à PPTX et de PPTX à PPT de manière très simple. Aspose.Slides prend complètement en charge la conversion de PPT à PPTX et prend également en charge la conversion de PPTX à PPT avec certaines restrictions. Nous recommandons d'utiliser le format PPTX autant que possible. +Aspose.Slides fournit une interface commune pour travailler avec tous les formats de présentation. Elle permet de convertir de PPT en PPTX et de PPTX en PPT de manière très simple. Aspose.Slides prend en charge la conversion de PPT vers PPTX et prend également en charge la conversion de PPTX vers PPT avec certaines restrictions. Nous recommandons d'utiliser le format PPTX autant que possible. {{% alert color="primary" %}} - -Vérifiez la qualité des conversions de PPT à PPTX et de PPTX à PPT avec l'application de conversion en ligne [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). - +Vérifiez la qualité des conversions PPT vers PPTX et PPTX vers PPT avec l'[**application de conversion Aspose.Slides**](https://products.aspose.app/slides/conversion/). {{% /alert %}} - ```py import aspose.slides as slides @@ -47,6 +44,25 @@ pres = slides.Presentation("PPTtoPPTX.ppt") pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -Lisez plus sur [**Comment convertir des présentations PPT en PPTX**.](/slides/fr/python-net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +En savoir plus [**Comment convertir les présentations PPT en PPTX**.](/slides/fr/python-net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **FAQ** + +**Y a-t-il un intérêt à conserver les anciennes présentations au format PPT si elles s'ouvrent sans erreur?** + +Si une présentation s'ouvre de manière fiable et n'a pas besoin de collaboration ou de fonctionnalités plus récentes, vous pouvez la conserver au format PPT. Mais pour la compatibilité et l'extensibilité futures, il vaut mieux [convertir en PPTX](/slides/fr/python-net/convert-ppt-to-pptx/): le format repose sur la norme OOXML ouverte et est plus facilement pris en charge par les outils modernes. + +**Comment décider quels fichiers sont prioritaires pour la conversion en PPTX?** + +Convertissez d'abord les présentations qui : sont éditées par plusieurs personnes ; contiennent des [graphiques](/slides/fr/python-net/create-chart/)/[formes](/slides/fr/python-net/shape-manipulations/) complexes ; sont utilisées dans des communications externes ; ou génèrent des avertissements lors de leur [ouverture](/slides/fr/python-net/open-presentation/). + +**La protection par mot de passe sera-t-elle conservée lors de la conversion de PPT en PPTX et inversement?** + +La présence d'un mot de passe est conservée uniquement avec une conversion correcte et le support du chiffrement dans l'outil utilisé. Il est plus fiable de [supprimer la protection](/slides/fr/python-net/password-protected-presentation/), [convertir](/slides/fr/python-net/convert-ppt-to-pptx/), puis réappliquer la protection selon votre politique de sécurité. + +**Pourquoi certains effets disparaissent-ils ou sont-ils simplifiés lors de la conversion du PPTX vers PPT?** + +Parce que le PPT ne prend pas en charge certains objets/propriétés plus récents. PowerPoint et les outils peuvent stocker des «traces» de ces informations dans des blocs spéciaux pour une restauration ultérieure, mais les anciennes versions de PowerPoint ne les afficheront pas. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 036a92332f..505cc38aec 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,38 +1,56 @@ --- -title: Rendre une diapositive en tant qu'image SVG +title: Rendu des diapositives de présentation en images SVG en Python +linktitle: Diapositive en SVG type: docs weight: 50 url: /fr/python-net/render-a-slide-as-an-svg-image/ +keywords: +- diapositive en SVG +- présentation en SVG +- PowerPoint en SVG +- OpenDocument en SVG +- PPT en SVG +- PPTX en SVG +- ODP en SVG +- rendre diapositive +- convertir diapositive +- exporter diapositive +- image vectorielle +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Apprenez à rendre les diapositives PowerPoint et OpenDocument en images SVG en utilisant Aspose.Slides pour Python via .NET. Des visuels de haute qualité avec des exemples de code simples." --- -SVG—un acronyme pour Scalable Vector Graphics—est un type ou format graphique standard utilisé pour rendre des images bidimensionnelles. SVG stocke les images sous forme de vecteurs en XML avec des détails qui définissent leur comportement ou apparence. +## **Convertir les diapositives en SVG** -SVG est l'un des rares formats d'images qui répond à de très hauts standards en termes : de scalabilité, d'interactivité, de performance, d'accessibilité, de programmabilité, et d'autres. Pour ces raisons, il est couramment utilisé dans le développement web. +SVG — un acronyme pour Scalable Vector Graphics — est un type ou format graphique standard utilisé pour restituer des images bidimensionnelles. SVG stocke les images sous forme de vecteurs dans du XML avec des détails qui définissent leur comportement ou leur apparence. -Vous pourriez vouloir utiliser des fichiers SVG lorsque vous devez +SVG est l'un des rares formats d'images qui répond à des exigences très élevées dans ces domaines : évolutivité, interactivité, performances, accessibilité, programmabilité, etc. Pour ces raisons, il est couramment utilisé dans le développement web. -- **imprimer votre présentation en un *très grand format*.** Les images SVG peuvent être mises à l'échelle à n'importe quelle résolution ou niveau. Vous pouvez redimensionner les images SVG autant de fois que nécessaire sans sacrifier la qualité. -- **utiliser des graphiques et des diagrammes de vos diapositives sur *différents supports ou plateformes*.** La plupart des lecteurs peuvent interpréter les fichiers SVG. -- **utiliser les *tailles d'images les plus petites possibles***. Les fichiers SVG sont généralement plus petits que leurs équivalents haute résolution dans d'autres formats, en particulier ceux basés sur des bitmap (JPEG ou PNG). +Vous pouvez souhaiter utiliser des fichiers SVG lorsque vous devez -Aspose.Slides pour Python via .NET vous permet d'exporter des diapositives de vos présentations en tant qu'images SVG. Suivez ces étapes pour générer des images SVG : +- **imprimer votre présentation dans un *format très grand*.** Les images SVG peuvent être agrandies à n'importe quelle résolution ou niveau. Vous pouvez redimensionner les images SVG autant de fois que nécessaire sans sacrifier la qualité. +- **utiliser les graphiques et diagrammes de vos diapositives sur *différents supports ou plateformes*.** La plupart des lecteurs peuvent interpréter les fichiers SVG. +- **utiliser les *tailles les plus petites possibles d'images***. Les fichiers SVG sont généralement plus petits que leurs équivalents haute résolution dans d'autres formats, en particulier les formats basés sur le bitmap (JPEG ou PNG). -1. Créez une instance de la classe Presentation. -2. Parcourez toutes les diapositives de la présentation. -3. Écrivez chaque diapositive dans son propre fichier SVG via FileStream. +Aspose.Slides for Python via .NET vous permet d'exporter les diapositives de vos présentations sous forme d'images SVG. Suivez ces étapes pour générer des images SVG : -{{% alert color="primary" %}} - -Vous pourriez vouloir essayer notre [application web gratuite](https://products.aspose.app/slides/conversion/ppt-to-svg) dans laquelle nous avons implémenté la fonction de conversion PPT en SVG d'Aspose.Slides pour Python via .NET. +1. Créez une instance de la classe Presentation. +2. Parcourez toutes les diapositives de la présentation. +3. Écrivez chaque diapositive dans son propre fichier SVG via FileStream. +{{% alert color="primary" %}} +Vous pouvez essayer notre [application web gratuite](https://products.aspose.app/slides/conversion/ppt-to-svg) dans laquelle nous avons implémenté la fonction de conversion PPT en SVG d'Aspose.Slides for Python via .NET. {{% /alert %}} -Ce code d'exemple en Python vous montre comment convertir PPT en SVG à l'aide d'Aspose.Slides : - +Ce code d'exemple en Python montre comment convertir un PPT en SVG en utilisant Aspose.Slides : ```py import aspose.slides as slides -# Instancier un objet Presentation qui représente un fichier de présentation +# Instancie un objet Presentation qui représente un fichier de présentation pres = slides.Presentation("pres.pptx") for index in range(pres.slides.length): @@ -40,4 +58,16 @@ for index in range(pres.slides.length): with open("slide-{index}.svg".format(index = index), "wb") as file: slide.write_as_svg(file) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Pourquoi le SVG résultant peut-il apparaître différemment selon les navigateurs ?** +La prise en charge de certaines fonctionnalités SVG est implémentée différemment selon les moteurs de navigateur. Les paramètres [SVGOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/svgoptions/) permettent d'atténuer les incompatibilités. + +**Est-il possible d'exporter non seulement les diapositives mais aussi des formes individuelles au format SVG ?** +Oui. Toute [forme peut être enregistrée comme un SVG séparé](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/), ce qui est pratique pour les icônes, pictogrammes et la réutilisation de graphiques. + +**Peut-on combiner plusieurs diapositives en un seul SVG (bande/document) ?** +Le scénario standard est une diapositive → un SVG. Combiner plusieurs diapositives en un seul canevas SVG est une étape de post‑traitement effectuée au niveau de l'application. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index 326bfa9850..c35ece74a8 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,33 +1,43 @@ --- -title: Exporter vers HTML5 +title: Convertir des présentations en HTML5 avec Python +linktitle: Exporter en HTML5 type: docs weight: 40 url: /fr/python-net/export-to-html5/ keywords: -- PowerPoint vers HTML -- diapositives vers HTML -- HTML5 -- exportation HTML -- exportation de présentation -- conversion de présentation -- conversion de diapositives -- Java -- Aspose.Slides pour Python via .NET -description: "Exporter PowerPoint vers HTML5 en Python" +- PowerPoint en HTML5 +- OpenDocument en HTML5 +- présentation en HTML5 +- diapositive en HTML5 +- PPT en HTML5 +- PPTX en HTML5 +- ODP en HTML5 +- convertir PowerPoint +- convertir OpenDocument +- convertir présentation +- convertir diapositive +- export HTML5 +- exporter présentation +- exporter diapositive +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Exportez les présentations PowerPoint et OpenDocument vers du HTML5 réactif avec Aspose.Slides pour Python via .NET. Conservez la mise en forme, les animations et l'interactivité." --- {{% alert title="Info" color="info" %}} -Dans **Aspose.Slides 21.9**, nous avons implémenté le support pour l'exportation HTML5. Cependant, si vous préférez exporter votre PowerPoint vers HTML en utilisant les WebExtensions, consultez [cet article](/slides/fr/net/web-extensions/) à la place. +Dans **Aspose.Slides 21.9**, nous avons implémenté la prise en charge de l'exportation HTML5. Cependant, si vous préférez exporter votre PowerPoint en HTML en utilisant les WebExtensions, consultez [cet article](/slides/fr/net/web-extensions/) à la place. {{% /alert %}} -Le processus d'exportation vers HTML5 ici vous permet de convertir PowerPoint en HTML sans WebExtensions ni dépendances. De cette manière, en utilisant vos propres modèles, vous pouvez appliquer des options très flexibles qui définissent le processus d'exportation et le HTML résultant, CSS, JavaScript et les attributs d'animation. +Le processus d'exportation vers HTML5 permet de convertir PowerPoint en HTML sans extensions Web ni dépendances. Ainsi, en utilisant vos propres modèles, vous pouvez appliquer des options très flexibles qui définissent le processus d'exportation et le HTML, CSS, JavaScript et les attributs d'animation résultants. -## **Exporter PowerPoint vers HTML5** - -Ce code Python montre comment exporter une présentation vers HTML5 sans WebExtensions ni dépendances : +## **Exporter PowerPoint en HTML5** +Ce code Python montre comment exporter une présentation en HTML5 sans extensions Web ni dépendances : ```py import aspose.slides as slides @@ -35,14 +45,14 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5) ``` + {{% alert color="primary" %}} -Dans ce cas, vous obtenez un HTML propre. +Dans ce cas, vous obtenez du HTML propre. {{% /alert %}} -Vous voudrez peut-être spécifier les paramètres pour les animations de formes et les transitions de diapositives de cette manière : - +Vous pouvez spécifier les paramètres pour les animations de formes et les transitions de diapositives de cette façon : ```py import aspose.slides as slides @@ -54,10 +64,10 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5, options) ``` -#### **Exporter PowerPoint vers HTML** -Ce code Python illustre le processus standard d'exportation de PowerPoint vers HTML : +## **Exporter PowerPoint en HTML** +Ce code Python démontre le processus standard d'exportation de PowerPoint en HTML : ```py import aspose.slides as slides @@ -65,54 +75,55 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML) ``` -Dans ce cas, le contenu de la présentation est rendu via SVG sous une forme comme celle-ci : +Dans ce cas, le contenu de la présentation est rendu via SVG sous une forme comme celle-ci : ```html
    - LE CONTENU DE LA DIAPOSITIVE VA ICI + THE SLIDE CONTENT GOES HERE
    ``` + {{% alert title="Note" color="warning" %}} -Lorsque vous utilisez cette méthode pour exporter PowerPoint vers HTML, en raison du rendu SVG, vous ne pourrez pas appliquer de styles ni animer des éléments spécifiques. +Lorsque vous utilisez cette méthode pour exporter PowerPoint en HTML, en raison du rendu SVG, vous ne pourrez pas appliquer de styles ni animer d'éléments spécifiques. {{% /alert %}} -## **Exporter PowerPoint vers HTML5 en mode Diaporama** +## **Exporter PowerPoint en Vue Diapositive HTML5** -**Aspose.Slides** vous permet de convertir une présentation PowerPoint en un document HTML5 dans lequel les diapositives sont présentées en mode diaporama. Dans ce cas, lorsque vous ouvrez le fichier HTML5 résultant dans un navigateur, vous voyez la présentation en mode diaporama sur une page web. - -Ce code Python montre le processus d'exportation PowerPoint vers HTML5 en mode Diaporama : +**Aspose.Slides** vous permet de convertir une présentation PowerPoint en document HTML5 dans lequel les diapositives sont présentées en mode vue diapositive. Dans ce cas, lorsque vous ouvrez le fichier HTML5 résultant dans un navigateur, vous voyez la présentation en mode vue diapositive sur une page Web. +Ce code Python montre le processus d'exportation de PowerPoint vers la vue diapositive HTML5 : ```python import aspose.slides as slides with slides.Presentation("pres.pptx") as pres: - # Exporter une présentation contenant des transitions de diapositives, des animations et des animations de formes vers HTML5 + # Exporter une présentation contenant des transitions de diapositives, des animations et des animations de formes en HTML5 options = slides.export.Html5Options() options.animate_shapes = True options.animate_transitions = True - # Sauvegarder la présentation + # Enregistrer la présentation pres.save("HTML5-slide-view.html", slides.export.SaveFormat.HTML5, options) ``` -## Convertir une présentation en document HTML5 avec commentaires -Les commentaires dans PowerPoint sont un outil qui permet aux utilisateurs de laisser des notes ou des retours sur les diapositives de présentation. Ils sont particulièrement utiles dans les projets collaboratifs, où plusieurs personnes peuvent ajouter leurs suggestions ou remarques à des éléments de diapositives spécifiques sans modifier le contenu principal. Chaque commentaire affiche le nom de l'auteur, ce qui facilite le suivi de qui a laissé la remarque. +## **Convertir une présentation en document HTML5 avec commentaires** + +Les commentaires dans PowerPoint sont un outil qui permet aux utilisateurs de laisser des notes ou des retours sur les diapositives de la présentation. Ils sont particulièrement utiles dans les projets collaboratifs, où plusieurs personnes peuvent ajouter leurs suggestions ou remarques à des éléments spécifiques des diapositives sans modifier le contenu principal. Chaque commentaire affiche le nom de l'auteur, ce qui facilite le suivi de la personne ayant laissé la remarque. -Disons que nous avons la présentation PowerPoint suivante enregistrée dans le fichier "sample.pptx". +Supposons que nous ayons la présentation PowerPoint suivante enregistrée dans le fichier "sample.pptx". -![Deux commentaires sur la diapositive de présentation](two_comments_pptx.png) +![Deux commentaires sur la diapositive de la présentation](two_comments_pptx.png) -Lorsque vous convertissez une présentation PowerPoint en document HTML5, vous pouvez facilement spécifier si vous souhaitez inclure les commentaires de la présentation dans le document de sortie. Pour ce faire, vous devez spécifier les paramètres d'affichage des commentaires dans la propriété `notes_comments_layouting` de la classe [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/). +Lorsque vous convertissez une présentation PowerPoint en document HTML5, vous pouvez facilement indiquer s'il faut inclure les commentaires de la présentation dans le document de sortie. Pour ce faire, vous devez spécifier les paramètres d'affichage des commentaires dans la propriété `notes_comments_layouting` de la classe [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/). -L'exemple de code suivant convertit une présentation en document HTML5 avec des commentaires affichés à droite des diapositives. +L'exemple de code suivant convertit une présentation en document HTML5 avec les commentaires affichés à droite des diapositives. ```py html5_options = Html5Options() html5_options.notes_comments_layouting.comments_position = CommentsPositions.RIGHT @@ -121,6 +132,21 @@ with Presentation("sample.pptx") as presentation: presentation.save("output.html", SaveFormat.HTML5, html5_options) ``` -Le document "output.html" est montré dans l'image ci-dessous. -![Les commentaires dans le document HTML5 de sortie](two_comments_html5.png) \ No newline at end of file +Le document "output.html" est affiché dans l'image ci‑dessous. + +![Les commentaires dans le document HTML5 de sortie](two_comments_html5.png) + +## **FAQ** + +**Puis-je contrôler si les animations d'objets et les transitions de diapositives seront jouées en HTML5 ?** + +Oui, HTML5 offre des options séparées pour activer ou désactiver les [animations de formes](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) et les [transitions de diapositives](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/). + +**La sortie des commentaires est‑elle prise en charge, et où peuvent‑ils être placés par rapport à la diapositive ?** + +Oui, les commentaires peuvent être ajoutés en HTML5 et positionnés (par exemple, à droite de la diapositive) via les [paramètres de mise en page](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/notes_comments_layouting/) pour les notes et les commentaires. + +**Puis‑je ignorer les liens qui invoquent JavaScript pour des raisons de sécurité ou de CSP ?** + +Oui, il existe un [paramètre](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/skip_java_script_links/) qui permet d'ignorer les hyperliens avec des appels JavaScript lors de l'enregistrement. Cela aide à se conformer à des politiques de sécurité strictes. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 428ec61160..e8554fb42d 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,45 +1,42 @@ --- -title: Exporter des présentations au format XAML avec Python -linktitle: Exporter en XAML +title: Exporter des présentations vers XAML avec Python +linktitle: Exporter vers XAML type: docs weight: 30 url: /fr/python-net/export-to-xaml/ keywords: - exporter PowerPoint - exporter OpenDocument -- exporter une présentation +- exporter présentation - convertir PowerPoint - convertir OpenDocument -- convertir une présentation -- PowerPoint en XAML -- OpenDocument en XAML -- présentation en XAML -- PPT en XAML -- PPTX en XAML -- ODP en XAML +- convertir présentation +- PowerPoint vers XAML +- OpenDocument vers XAML +- présentation vers XAML +- PPT vers XAML +- PPTX vers XAML +- ODP vers XAML - Python - Aspose.Slides -description: "Convertissez des diapositives PowerPoint et OpenDocument au format XAML en Python avec Aspose.Slides — une solution rapide, sans Office, qui préserve votre mise en page." +description: "Convertissez les diapositives PowerPoint et OpenDocument en XAML avec Python et Aspose.Slides — solution rapide, sans Office, qui conserve votre mise en page intacte." --- -# Exportation de présentations vers XAML +## **Vue d'ensemble** {{% alert title="Info" color="info" %}} -Dans [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/), nous avons mis en œuvre le support de l'exportation XAML. Vous pouvez désormais exporter vos présentations en XAML. +Dans [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/), nous avons implémenté la prise en charge de l'exportation XAML. Vous pouvez désormais exporter vos présentations vers XAML. {{% /alert %}} -# À propos de XAML - XAML est un langage de programmation descriptif qui vous permet de créer ou d'écrire des interfaces utilisateur pour des applications, en particulier celles qui utilisent WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) et Xamarin Forms. -XAML, qui est un langage basé sur XML, est la variante de Microsoft pour décrire une interface graphique. Vous êtes susceptible d'utiliser un designer pour travailler sur des fichiers XAML la plupart du temps, mais vous pouvez toujours écrire et éditer votre interface graphique. - -## Exportation de présentations vers XAML avec les options par défaut +XAML, qui est un langage basé sur XML, est la variante Microsoft pour décrire une interface graphique. Vous utiliserez probablement un concepteur pour travailler sur les fichiers XAML la plupart du temps, mais vous pouvez toujours écrire et modifier votre interface graphique. -Ce code Python vous montre comment exporter une présentation en XAML avec les paramètres par défaut : +## **Exporter des présentations vers XAML avec les options par défaut** +Ce code Python vous montre comment exporter une présentation vers XAML avec les paramètres par défaut : ```py import aspose.slides as slides @@ -47,12 +44,12 @@ pres = slides.Presentation("pres.pptx") pres.save(slides.export.xaml.XamlOptions()) ``` -## Exportation de présentations vers XAML avec des options personnalisées -Vous pouvez sélectionner des options depuis l'interface [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) qui contrôlent le processus d'exportation et déterminent comment Aspose.Slides exporte votre présentation en XAML. +## **Exporter des présentations vers XAML avec des options personnalisées** -Par exemple, si vous souhaitez qu'Aspose.Slides ajoute des diapositives cachées de votre présentation lors de son exportation en XAML, vous pouvez définir la propriété [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) sur true. Voici un exemple de code Python : +Vous pouvez choisir des options depuis l'interface [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) qui contrôlent le processus d'exportation et déterminent comment Aspose.Slides exporte votre présentation vers XAML. +Par exemple, si vous souhaitez qu'Aspose.Slides ajoute les diapositives masquées de votre présentation lors de l'exportation vers XAML, vous pouvez définir la propriété [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) sur true. Voir cet exemple de code Python : ```py import aspose.slides as slides @@ -62,4 +59,19 @@ opt = slides.export.xaml.XamlOptions() opt.export_hidden_slides = True pres.save(opt) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment garantir des polices prévisibles si la police d'origine n'est pas disponible sur la machine ?** + +Définissez [default_regular_font](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/default_regular_font/) dans [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — elle est utilisée comme police de secours lorsque la police d'origine est absente. Cela aide à éviter les substitutions inattendues. + +**Le XAML exporté est‑il destiné uniquement à WPF, ou peut‑il être utilisé dans d'autres piles XAML également ?** + +XAML est un langage de balisage UI général utilisé dans WPF, UWP et Xamarin.Forms. L'exportation vise la compatibilité avec les piles XAML de Microsoft ; le comportement exact et la prise en charge de constructions spécifiques dépendent de la plateforme cible. Testez le balisage dans votre environnement. + +**Les diapositives masquées sont‑elles prises en charge, et comment les empêcher d'être exportées par défaut ?** + +Par défaut, les diapositives masquées ne sont pas incluses. Vous pouvez contrôler ce comportement via [export_hidden_slides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/export_hidden_slides/) dans [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — maintenez‑le désactivé si vous n'avez pas besoin de les exporter. \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/examine-presentation/_index.md b/fr/python-net/developer-guide/manage-presentation/examine-presentation/_index.md index fd554b6f30..e9cf6fb2c0 100644 --- a/fr/python-net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,38 +1,42 @@ --- -title: Examiner la présentation +title: Récupérer et mettre à jour les informations de présentation en Python +linktitle: Informations de présentation type: docs weight: 30 url: /fr/python-net/examine-presentation/ keywords: -- PowerPoint -- présentation - format de présentation -- propriétés de présentation +- propriétés de la présentation - propriétés du document -- obtenir des propriétés -- lire des propriétés -- changer des propriétés -- modifier des propriétés -- PPTX -- PPT +- obtenir les propriétés +- lire les propriétés +- modifier les propriétés +- modifier les propriétés +- mettre à jour les propriétés +- examiner PPTX +- examiner PPT +- examiner ODP +- PowerPoint +- OpenDocument +- présentation - Python -description: "Lire et modifier les propriétés de la présentation PowerPoint en Python" +- Aspose.Slides +description: "Explorez les diapositives, la structure et les métadonnées des présentations PowerPoint et OpenDocument à l'aide de Python pour des analyses plus rapides et des audits de contenu plus intelligents." --- -Aspose.Slides pour Python via .NET vous permet d'examiner une présentation pour découvrir ses propriétés et comprendre son comportement. +Aspose.Slides pour Python via .NET vous permet d'examiner une présentation afin d'en connaître les propriétés et de comprendre son comportement. {{% alert title="Info" color="info" %}} -Les classes [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) et [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) contiennent les propriétés et méthodes utilisées dans les opérations ici. +Les classes [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) et [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) contiennent les propriétés et les méthodes utilisées dans les opérations présentées ici. {{% /alert %}} ## **Vérifier le format d'une présentation** -Avant de travailler sur une présentation, vous voudrez peut-être savoir dans quel format (PPT, PPTX, ODP, et autres) se trouve actuellement la présentation. - -Vous pouvez vérifier le format d'une présentation sans charger la présentation. Voir ce code Python : +Avant de travailler sur une présentation, vous pouvez vouloir savoir dans quel format (PPT, PPTX, ODP, etc.) elle se trouve actuellement. +Vous pouvez vérifier le format d'une présentation sans la charger. Voir ce code Python : ```py import aspose.slides as slides @@ -46,10 +50,10 @@ info3 = slides.PresentationFactory.instance.get_presentation_info("pres.ppt") print(info3.load_format, info3.load_format == slides.LoadFormat.PPT) ``` + ## **Obtenir les propriétés de la présentation** Ce code Python vous montre comment obtenir les propriétés de la présentation (informations sur la présentation) : - ```py import aspose.slides as slides @@ -60,40 +64,63 @@ print(props.subject) print(props.title) ``` -Vous voudrez peut-être voir les [propriétés sous la classe DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties). -## **Mettre à jour les propriétés de la présentation** +Vous pouvez également consulter les [propriétés de la classe DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties). -Aspose.Slides fournit la méthode [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) qui vous permet de modifier les propriétés de la présentation. +## **Mettre à jour les propriétés de la présentation** -Disons que nous avons une présentation PowerPoint avec les propriétés du document montrées ci-dessous. +Aspose.Slides fournit la méthode [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) qui permet de modifier les propriétés d'une présentation. -![Propriétés du document originales de la présentation PowerPoint](input_properties.png) +Imaginons que nous ayons une présentation PowerPoint avec les propriétés de document illustrées ci‑dessous. -Cet exemple de code vous montre comment modifier certaines propriétés de la présentation : +![Original document properties of the PowerPoint presentation](input_properties.png) +Cet exemple de code montre comment modifier certaines propriétés de la présentation : ```py file_name = "sample.pptx" info = PresentationFactory.instance.get_presentation_info(file_name) properties = info.read_document_properties() -properties.title = "Mon titre" +properties.title = "My title" properties.last_saved_time = datetime.now() info.update_document_properties(properties) info.write_binded_presentation(file_name) ``` -Les résultats des modifications des propriétés du document sont montrés ci-dessous. -![Propriétés du document modifiées de la présentation PowerPoint](output_properties.png) +Les résultats de la modification des propriétés de document sont présentés ci‑dessous. + +![Changed document properties of the PowerPoint presentation](output_properties.png) ## **Liens utiles** -Pour obtenir plus d'informations sur une présentation et ses attributs de sécurité, vous trouverez ces liens utiles : +Pour obtenir davantage d'informations sur une présentation et ses attributs de sécurité, ces liens peuvent vous être utiles : - [Vérifier si une présentation est chiffrée](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) - [Vérifier si une présentation est protégée en écriture (lecture seule)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [Vérifier si une présentation est protégée par un mot de passe avant de la charger](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [Confirmer le mot de passe utilisé pour protéger une présentation](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +- [Vérifier si une présentation est protégée par mot de passe avant son chargement](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [Confirmer le mot de passe utilisé pour protéger une présentation](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **FAQ** + +**Comment vérifier si les polices sont incorporées et lesquelles ?** + +Recherchez les [informations sur les polices incorporées](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_embedded_fonts/) au niveau de la présentation, puis comparez ces entrées avec l’ensemble des [polices réellement utilisées dans le contenu](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) pour identifier les polices essentielles au rendu. + +**Comment savoir rapidement si le fichier contient des diapositives masquées et combien ?** + +Parcourez la [collection de diapositives](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) et inspectez le [drapeau de visibilité](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) de chaque diapositive. + +**Puis‑je détecter si une taille ou une orientation de diapositive personnalisée est utilisée, et si elle diffère des paramètres par défaut ?** + +Oui. Comparez la [taille de diapositive actuelle](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/slide_size/) et son orientation avec les préréglages standards ; cela permet d’anticiper le comportement lors de l’impression ou de l’exportation. + +**Existe‑t‑il un moyen rapide de voir si des graphiques font référence à des sources de données externes ?** + +Oui. Parcourez tous les [graphiques](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), vérifiez leur [source de données](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdata/data_source_type/) et notez si les données sont internes ou liées, y compris les liens cassés. + +**Comment évaluer les diapositives « lourdes » qui peuvent ralentir le rendu ou l’exportation PDF ?** + +Pour chaque diapositive, comptez les objets et repérez les images volumineuses, les transparences, les ombres, les animations et les contenus multimédias ; attribuez un score de complexité approximatif afin d’identifier les points de performance potentiels. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/manage-blob/_index.md b/fr/python-net/developer-guide/presentation-content/manage-blob/_index.md index 439be43c0f..ac0c1f57bd 100644 --- a/fr/python-net/developer-guide/presentation-content/manage-blob/_index.md +++ b/fr/python-net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,26 +1,41 @@ --- -title: Gérer BLOB +title: Gérer les BLOBs dans les présentations avec Python pour une utilisation efficace de la mémoire +linktitle: Gérer BLOB type: docs weight: 10 url: /fr/python-net/manage-blob/ -keywords: "Ajouter un blob, Exporter un blob, Ajouter une image en tant que blob, Présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Ajouter un blob à une présentation PowerPoint en Python. Exporter un blob. Ajouter une image en tant que blob" +keywords: +- gros objet +- gros élément +- gros fichier +- ajouter BLOB +- exporter BLOB +- ajouter image en tant que BLOB +- réduire la mémoire +- consommation de mémoire +- grande présentation +- fichier temporaire +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Gérez les données BLOB dans Aspose.Slides pour Python via .NET afin de simplifier les opérations de fichiers PowerPoint et OpenDocument pour une manipulation efficace des présentations." --- -### **À propos de BLOB** +## **À propos de BLOB** -**BLOB** (**Binary Large Object**) est généralement un élément volumineux (photo, présentation, document ou média) enregistré en formats binaires. +**BLOB** (**Binary Large Object**) est généralement un élément volumineux (photo, présentation, document ou média) enregistré dans des formats binaires. -Aspose.Slides pour Python via .NET vous permet d'utiliser des BLOBs pour des objets de manière à réduire la consommation de mémoire lorsque des fichiers volumineux sont impliqués. +Aspose.Slides for Python via .NET vous permet d'utiliser des BLOBs pour les objets de manière à réduire la consommation de mémoire lorsque des fichiers volumineux sont impliqués. -# **Utiliser BLOB pour réduire la consommation de mémoire** +## **Utiliser BLOB pour réduire la consommation de mémoire** ### **Ajouter un fichier volumineux via BLOB à une présentation** -[Aspose.Slides](/slides/fr/python-net/) pour .NET vous permet d'ajouter des fichiers volumineux (dans ce cas, un grand fichier vidéo) à travers un processus impliquant des BLOBs pour réduire la consommation de mémoire. - -Ce code Python vous montre comment ajouter un grand fichier vidéo via le processus BLOB à une présentation : +[Aspose.Slides](/slides/fr/python-net/) for .NET vous permet d'ajouter des fichiers volumineux (dans ce cas, un fichier vidéo volumineux) via un processus impliquant des BLOBs afin de réduire la consommation de mémoire. +Ce code Python vous montre comment ajouter un fichier vidéo volumineux via le processus BLOB à une présentation : ```py import aspose.slides as slides @@ -29,22 +44,21 @@ pathToVeryLargeVideo = "veryLargeVideo.avi" # Crée une nouvelle présentation à laquelle la vidéo sera ajoutée with slides.Presentation() as pres: with open(pathToVeryLargeVideo, "br") as fileStream: - # Ajoutons la vidéo à la présentation - nous avons choisi le comportement KeepLocked parce que nous ne - # avons pas l'intention d'accéder au fichier "veryLargeVideo.avi". + # Ajoutons la vidéo à la présentation - nous avons choisi le comportement KeepLocked parce que nous + # n'avons pas l'intention d'accéder au fichier "veryLargeVideo.avi". video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) pres.slides[0].shapes.add_video_frame(0, 0, 480, 270, video) - # Sauvegarde la présentation. Bien qu'une grande présentation soit produite, la consommation de mémoire - # reste faible pendant le cycle de vie de l'objet pres + # Enregistre la présentation. Lorsqu'une grande présentation est générée, la consommation de mémoire + # reste basse pendant le cycle de vie de l'objet pres pres.save("presentationWithLargeVideo.pptx", slides.export.SaveFormat.PPTX) ``` -### **Exporter un fichier volumineux via BLOB depuis la présentation** -Aspose.Slides pour Python via .NET vous permet d'exporter des fichiers volumineux (dans ce cas, un fichier audio ou vidéo) à travers un processus impliquant des BLOBs depuis des présentations. Par exemple, vous pouvez avoir besoin d'extraire un grand fichier multimédia d'une présentation mais ne voulez pas que le fichier soit chargé dans la mémoire de votre ordinateur. En exportant le fichier via le processus BLOB, vous pouvez maintenir la consommation de mémoire à un niveau bas. - -Ce code en Python illustre l'opération décrite : +### **Exporter un fichier volumineux via BLOB depuis une présentation** +Aspose.Slides for Python via .NET vous permet d'exporter des fichiers volumineux (dans ce cas, un fichier audio ou vidéo) via un processus impliquant des BLOBs depuis des présentations. Par exemple, vous pouvez avoir besoin d'extraire un gros fichier multimédia d'une présentation sans le charger dans la mémoire de votre ordinateur. En exportant le fichier via le processus BLOB, vous maintenez la consommation de mémoire basse. +Ce code en Python démontre l'opération décrite : ```py import aspose.slides as slides @@ -54,19 +68,19 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation(path + "Video.pptx", loadOptions) as pres: - # Enregistrons chaque vidéo dans un fichier. Pour prévenir une forte consommation de mémoire, nous avons besoin d'un tampon qui sera utilisé - # pour transférer les données du flux vidéo de la présentation à un flux pour un nouveau fichier vidéo créé. + # Enregistrez chaque vidéo dans un fichier. Pour éviter une utilisation élevée de la mémoire, nous avons besoin d'un tampon qui sera utilisé + # pour transférer les données du flux vidéo de la présentation vers un flux d'un fichier vidéo nouvellement créé. # byte[] buffer = new byte[8 * 1024]; bufferSize = 8 * 1024 - # Itère à travers les vidéos + # Parcourt les vidéos index = 0 - # Si nécessaire, vous pouvez appliquer les mêmes étapes pour des fichiers audio. + # Si nécessaire, vous pouvez appliquer les mêmes étapes aux fichiers audio. for video in pres.videos: # Ouvre le flux vidéo de la présentation. Veuillez noter que nous avons intentionnellement évité d'accéder aux propriétés - # comme video.BinaryData - car cette propriété renvoie un tableau d'octets contenant une vidéo complète, ce qui - # entraîne le chargement des octets dans la mémoire. Nous utilisons video.GetStream, qui renverra un Stream - et ne nécessite PAS - # de charger la vidéo entière dans la mémoire. + # comme video.BinaryData - car cette propriété renvoie un tableau d'octets contenant la vidéo complète, ce qui + # entraîne le chargement des octets en mémoire. Nous utilisons video.GetStream, qui renvoie un Stream - et NE + # requiert pas de charger la vidéo entière en mémoire. with video.get_stream() as presVideoStream: with open("video{index}.avi".format(index = index), "wb") as outputFileStream: buffer = presVideoStream.read(8 * 1024) @@ -79,11 +93,11 @@ with slides.Presentation(path + "Video.pptx", loadOptions) as pres: index += 1 ``` -### **Ajouter une image en tant que BLOB dans la présentation** -Avec les méthodes de l'interface [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) et de la classe [**ImageCollection** ](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/), vous pouvez ajouter une grande image en tant que flux pour qu'elle soit traitée comme un BLOB. -Ce code Python vous montre comment ajouter une grande image via le processus BLOB : +### **Ajouter une image en tant que BLOB dans une présentation** +Avec les méthodes de l'interface [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) et de la classe [**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) vous pouvez ajouter une grande image sous forme de flux afin qu'elle soit traitée comme un BLOB. +Ce code Python vous montre comment ajouter une grande image via le processus BLOB : ```py import aspose.slides as slides @@ -95,12 +109,12 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeImage.pptx", slides.export.SaveFormat.PPTX) ``` -## **Mémoire et grandes présentations** -Typiquement, pour charger une grande présentation, les ordinateurs nécessitent beaucoup de mémoire temporaire. Tout le contenu de la présentation est chargé dans la mémoire et le fichier (à partir duquel la présentation a été chargée) cesse d'être utilisé. +## **Mémoire et présentations volumineuses** -Considérez une grande présentation PowerPoint (large.pptx) qui contient un fichier vidéo de 1,5 Go. La méthode standard pour charger la présentation est décrite dans ce code Python : +Typiquement, pour charger une présentation volumineuse, les ordinateurs ont besoin de beaucoup de mémoire temporaire. Tout le contenu de la présentation est chargé en mémoire et le fichier (à partir duquel la présentation a été chargée) cesse d'être utilisé. +Considérez une grande présentation PowerPoint (large.pptx) contenant un fichier vidéo de 1,5 Go. La méthode standard pour charger la présentation est décrite dans ce code Python : ```py import aspose.slides as slides @@ -108,12 +122,12 @@ with slides.Presentation("large.pptx") as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -Mais cette méthode consomme environ 1,6 Go de mémoire temporaire. -### **Charger une grande présentation en tant que BLOB** +Mais cette méthode consomme environ 1,6 Go de mémoire temporaire. -À travers le processus impliquant un BLOB, vous pouvez charger une grande présentation tout en utilisant peu de mémoire. Ce code Python décrit l'implémentation où le processus BLOB est utilisé pour charger un grand fichier de présentation (large.pptx) : +### **Charger une présentation volumineuse en tant que BLOB** +Grâce au processus impliquant un BLOB, vous pouvez charger une grande présentation tout en utilisant peu de mémoire. Ce code Python décrit l'implémentation où le processus BLOB est utilisé pour charger un fichier de présentation volumineux (large.pptx) : ```py import aspose.slides as slides @@ -126,10 +140,10 @@ with slides.Presentation("large.pptx", loadOptions) as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -#### **Changer le dossier pour les fichiers temporaires** -Lorsque le processus BLOB est utilisé, votre ordinateur crée des fichiers temporaires dans le dossier par défaut pour les fichiers temporaires. Si vous souhaitez que les fichiers temporaires soient conservés dans un autre dossier, vous pouvez modifier les paramètres de stockage en utilisant `temp_files_root_path` : +### **Modifier le dossier des fichiers temporaires** +Lorsque le processus BLOB est utilisé, votre ordinateur crée des fichiers temporaires dans le dossier par défaut des fichiers temporaires. Si vous souhaitez que les fichiers temporaires soient conservés dans un autre dossier, vous pouvez changer les paramètres de stockage en utilisant `temp_files_root_path` : ```py import aspose.slides as slides @@ -140,8 +154,29 @@ loadOptions.blob_management_options.is_temporary_files_allowed = True loadOptions.blob_management_options.temp_files_root_path = "temp" ``` + {{% alert title="Info" color="info" %}} +Lorsque vous utilisez `temp_files_root_path`, Aspose.Slides ne crée pas automatiquement de dossier pour stocker les fichiers temporaires. Vous devez créer le dossier manuellement. +{{% /alert %}} + +## **FAQ** + +**Quelles données d'une présentation Aspose.Slides sont traitées comme BLOB et contrôlées par les options BLOB ?** + +Les objets binaires volumineux tels que les images, l’audio et la vidéo sont traités comme BLOB. L’ensemble du fichier de présentation implique également la gestion des BLOB lors du chargement ou de l’enregistrement. Ces objets sont régis par des politiques BLOB qui vous permettent de gérer l’utilisation de la mémoire et de déverser les données vers des fichiers temporaires si nécessaire. + +**Où configurer les règles de gestion des BLOB lors du chargement d'une présentation ?** + +Utilisez [LoadOptions](https://reference.aspose.com/slides/python-net/aspose.slides/loadoptions/) avec [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/). Vous y définissez la limite en mémoire pour les BLOB, autorisez ou interdisez les fichiers temporaires, choisissez le chemin racine des fichiers temporaires et sélectionnez le comportement de verrouillage de la source. + +**Les paramètres BLOB affectent-ils les performances, et comment équilibrer vitesse et mémoire ?** + +Oui. Conserver les BLOB en mémoire maximise la vitesse mais augmente la consommation de RAM ; réduire la limite mémoire décale davantage de travail vers les fichiers temporaires, diminuant la RAM au prix d’un I/O supplémentaire. Ajustez le seuil [max_blobs_bytes_in_memory](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/max_blobs_bytes_in_memory/) pour atteindre le bon équilibre selon votre charge de travail et votre environnement. + +**Les options BLOB aident-elles lors de l'ouverture de présentations extrêmement volumineuses (par ex., gigaoctets) ?** + +Oui. [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) sont conçues pour ces scénarios : activer les fichiers temporaires et utiliser le verrouillage de source peut réduire considérablement l’utilisation maximale de RAM et stabiliser le traitement de présentations très larges. -Lorsque vous utilisez `temp_files_root_path`, Aspose.Slides ne crée pas automatiquement un dossier pour stocker les fichiers temporaires. Vous devez créer le dossier manuellement. +**Puis‑je utiliser les politiques BLOB lors du chargement depuis des flux au lieu de fichiers disques ?** -{{% /alert %}} \ No newline at end of file +Oui. Les mêmes règles s’appliquent aux flux : l’instance de présentation peut posséder et verrouiller le flux d’entrée (selon le mode de verrouillage choisi), et les fichiers temporaires sont utilisés lorsqu’ils sont autorisés, ce qui maintient l’utilisation de la mémoire prévisible pendant le traitement. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/fr/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 750964885c..279ffc8b87 100644 --- a/fr/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/fr/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,13 +1,13 @@ --- -title: Ajouter des cadres photo aux présentations avec Python -linktitle: Cadre Photo +title: Ajouter des cadres d'image aux présentations avec Python +linktitle: Cadre d'image type: docs weight: 10 url: /fr/python-net/picture-frame/ keywords: -- cadre photo -- ajouter un cadre photo -- créer un cadre photo +- cadre d'image +- ajouter un cadre d'image +- créer un cadre d'image - ajouter une image - créer une image - extraire une image @@ -16,9 +16,9 @@ keywords: - recadrer une image - zone recadrée - propriété StretchOff -- mise en forme du cadre photo -- propriétés du cadre photo -- échelle relative +- mise en forme du cadre d'image +- propriétés du cadre d'image +- mise à l'échelle relative - effet d'image - rapport d'aspect - transparence de l'image @@ -27,99 +27,86 @@ keywords: - présentation - Python - Aspose.Slides -description: "Ajouter des cadres photo aux présentations PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET. Rationalisez votre flux de travail et améliorez la conception des diapositives." +description: "Ajoutez des cadres d'image aux présentations PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET. Simplifiez votre flux de travail et améliorez la conception des diapositives." --- -Un cadre photo est une forme qui contient une image—c'est comme une image dans un cadre. +## **Vue d'ensemble** -Vous pouvez ajouter une image à une diapositive via un cadre photo. De cette manière, vous pouvez formater l'image en formatant le cadre photo. +Les cadres d’image dans Aspose.Slides pour Python vous permettent de placer et de gérer des images raster et vectorielles comme des formes natives de diapositives. Vous pouvez insérer des images à partir de fichiers ou de flux, les positionner et les redimensionner avec des coordonnées précises, appliquer une rotation, définir la transparence et contrôler l’ordre Z aux côtés d’autres formes. L’API prend également en charge le recadrage, le maintien des rapports d’aspect, la définition des bordures et des effets, ainsi que le remplacement de l’image sous‑jacent sans reconstruire la mise en page. Comme les cadres d’image se comportent comme des formes ordinaires, vous pouvez ajouter des animations, des hyperliens et du texte alternatif, ce qui simplifie la création de présentations visuellement riches et accessibles. -{{% alert title="Astuce" color="primary" %}} +## **Créer des cadres d’image** -Aspose propose des convertisseurs gratuits—[JPEG vers PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) et [PNG vers PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—qui permettent aux gens de créer rapidement des présentations à partir d'images. - -{{% /alert %}} - -## **Créer un Cadre Photo** +Cette section montre comment insérer une image dans une diapositive en créant un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) avec Aspose.Slides pour Python. Vous apprendrez à charger l’image, la placer précisément sur la diapositive et à contrôler sa taille et son formatage. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez la référence d'une diapositive par son index. -3. Créez un objet [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) en ajoutant une image à la [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) associée à l'objet de présentation qui sera utilisé pour remplir la forme. -4. Spécifiez la largeur et la hauteur de l'image. -5. Créez un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) basé sur la largeur et la hauteur de l'image via la méthode `AddPictureFrame` exposée par l'objet de forme associé à la diapositive référencée. -6. Ajoutez un cadre photo (contenant l'image) à la diapositive. -7. Écrivez la présentation modifiée en tant que fichier PPTX. - -Ce code Python vous montre comment créer un cadre photo : +2. Obtenez une diapositive par son indice. +3. Créez un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) en ajoutant l’image à la [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de la présentation. Cette image sera utilisée pour remplir la forme. +4. Spécifiez la largeur et la hauteur du cadre. +5. Créez un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) de cette taille en utilisant la méthode [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/). +6. Enregistrez la présentation au format PPTX. ```py import aspose.slides as slides -import aspose.pydrawing as draw - -# Instanciation de la classe Presentation qui représente un fichier PPTX -with slides.Presentation() as pres: - # Obtient la première diapositive - sld = pres.slides[0] - # Instanciation de la classe ImageEx - with open("img.jpeg", "rb") as in_file: - image = pres.images.add_image(in_file) +# Instancier la classe Presentation pour représenter un fichier PPTX. +with slides.Presentation() as presentation: + # Obtenir la première diapositive. + slide = presentation.slides[0] - # Ajoute un cadre avec la hauteur et la largeur équivalentes de l'image - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, image.width, image.height, image) + # Ajouter l'image à la présentation. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Applique quelques mises en forme à PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Ajouter un cadre d'image aux dimensions de l'image. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Écrit le fichier PPTX sur le disque - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Enregistrer la présentation au format PPTX. + presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="warning" %}} - -Les cadres photo vous permettent de créer rapidement des diapositives de présentation basées sur des images. Lorsque vous combinez le cadre photo avec les options d'enregistrement d'Aspose.Slides, vous pouvez manipuler les opérations d'entrée/sortie pour convertir des images d'un format à un autre. Vous voudrez peut-être consulter ces pages : convertir [image en JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/) ; convertir [JPG en image](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/) ; convertir [JPG en PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/), convertir [PNG en JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/) ; convertir [PNG en SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/), convertir [SVG en PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). +{{% alert color="warning" %}} +Les cadres d’image vous permettent de créer rapidement des diapositives de présentation à partir d’images. Lorsque vous combinez les cadres d’image avec les options d’enregistrement d’Aspose.Slides, vous pouvez contrôler les opérations d’E/S pour convertir les images d’un format à un autre. Vous pourriez consulter ces pages : convertir [image en JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); convertir [JPG en image](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); convertir [JPG en PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/); convertir [PNG en JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); convertir [PNG en SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/); convertir [SVG en PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). {{% /alert %}} -## **Créer un Cadre Photo avec Échelle Relative** +## **Créer des cadres d’image avec mise à l’échelle relative** -En modifiant l'échelle relative d'une image, vous pouvez créer un cadre photo plus complexe. +Cette section montre comment placer une image à une taille fixe, puis appliquer un redimensionnement basé sur des pourcentages de manière indépendante sur sa largeur et sa hauteur. Comme les pourcentages peuvent différer, le rapport d’aspect peut changer. Le redimensionnement est effectué par rapport aux dimensions originales de l’image. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez la référence d'une diapositive par son index. -3. Ajoutez une image à la collection d'images de la présentation. -4. Créez un objet [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) en ajoutant une image à la [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) associée à l'objet de présentation qui sera utilisé pour remplir la forme. -5. Spécifiez la largeur et la hauteur relatives de l'image dans le cadre photo. -6. Écrivez la présentation modifiée en tant que fichier PPTX. - -Ce code Python vous montre comment créer un cadre photo avec une échelle relative : +2. Obtenez une diapositive par son indice. +3. Créez un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) en ajoutant l’image à la [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/). +4. Ajoutez un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) à la diapositive. +5. Définissez la largeur et la hauteur relatives du cadre d’image. +6. Enregistrez la présentation au format PPTX. ```py import aspose.slides as slides -# Instanciation de la classe Presentation qui représente un fichier PPTX +# Instancier la classe Presentation pour représenter un fichier PPTX. with slides.Presentation() as presentation: - # Charge l'image qui sera ajoutée à la collection d'images de la présentation - with open("img.jpeg", "rb") as in_file: - image = presentation.images.add_image(in_file) + # Obtenir la première diapositive. + slide = presentation.slides[0] + + # Ajouter l'image à la collection d'images de la présentation. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Ajoute un cadre photo à la diapositive - pf = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) + # Ajouter un cadre d'image à la diapositive. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # Définit la hauteur et la largeur d'échelle relative - pf.relative_scale_height = 0.8 - pf.relative_scale_width = 1.35 + # Définir la largeur et la hauteur de l'échelle relative. + picture_frame.relative_scale_height = 0.8 + picture_frame.relative_scale_width = 1.35 - # Enregistre la présentation - presentation.save("Adding Picture Frame with Relative Scale_out.pptx", slides.export.SaveFormat.PPTX) + # Enregistrer la présentation. + presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX) ``` -## **Extraire une Image d'un Cadre Photo** -Vous pouvez extraire des images d'objets [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) et les enregistrer en PNG, JPG et autres formats. L'exemple de code ci-dessous démontre comment extraire une image du document "sample.pptx" et l'enregistrer au format PNG. +## **Extraire les images raster des cadres d’image** + +Vous pouvez extraire des images raster des objets [PictureFrame] et les enregistrer au format PNG, JPG et autres. L’exemple de code ci‑dessous montre comment extraire une image du document "sample.pptx" et l’enregistrer au format PNG. ```python import aspose.slides as slides @@ -133,247 +120,285 @@ with slides.Presentation("sample.pptx") as presentation: image.save("slide_1_shape_1.png", slides.ImageFormat.PNG) ``` -## **Obtenir la Transparence de l'Image** -Aspose.Slides vous permet d'obtenir la transparence d'une image. Ce code Python démontre l'opération : +## **Extraire les images SVG des cadres d’image** + +Lorsque une présentation contient des graphiques SVG placés à l’intérieur de formes [PictureFrame], Aspose.Slides pour Python via .NET vous permet de récupérer les images vectorielles originales avec pleine fidélité. En parcourant la collection de formes de la diapositive, vous pouvez identifier chaque [PictureFrame], vérifier si le [PPImage] sous‑jacent contient du contenu SVG, puis enregistrer cette image sur le disque ou dans un flux au format SVG natif. + +```py +import aspose.slides as slides + +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + if isinstance(shape, slides.PictureFrame): + svg_image = shape.picture_format.picture.image.svg_image + + if svg_image is not None: + with open("output.svg", "w", encoding="utf-8") as svg_stream: + svg_stream.write(svg_image.svg_content) +``` + + +## **Obtenir la transparence de l’image** + +Aspose.Slides vous permet de récupérer l’effet de transparence appliqué à une image. Ce code Python montre l’opération : ```python import aspose.slides as slides -with slides.Presentation("pres.pptx") as presentation: - pictureFrame = presentation.slides[0].shapes[0] - imageTransform = pictureFrame.picture_format.picture.image_transform - for effect in imageTransform: - if type(effect) is slides.AlphaModulateFixed: - transparencyValue = 100 - effect.amount - print("Transparence de l'image : " + str(transparencyValue)) +with slides.Presentation("sample.pptx") as presentation: + picture_frame = presentation.slides[0].shapes[0] + image_transform = picture_frame.picture_format.picture.image_transform + for effect in image_transform: + if isinstance(effect, slides.effects.AlphaModulateFixed): + transparency_value = 100 - effect.amount + print("Picture transparency: " + str(transparency_value)) ``` -## **Mise en Forme du Cadre Photo** -Aspose.Slides propose de nombreuses options de mise en forme qui peuvent être appliquées à un cadre photo. En utilisant ces options, vous pouvez modifier un cadre photo pour qu'il corresponde à des exigences spécifiques. +{{% alert color="primary" %}} +Tous les effets appliqués aux images se trouvent dans [aspose.slides.effects](https://reference.aspose.com/slides/python-net/aspose.slides.effects/). +{{% /alert %}} -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) class. -2. Obtenez une référence à une diapositive par son index. -3. Créez un objet [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage) en ajoutant une image à la [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) associée à l'objet de présentation qui sera utilisé pour remplir la forme. -4. Spécifiez la largeur et la hauteur de l'image. -5. Créez un `PictureFrame` basé sur la largeur et la hauteur de l'image via la méthode [AddPictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) exposée par l'objet [IShapes](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection) associé à la diapositive référencée. -6. Ajoutez le cadre photo (contenu l'image) à la diapositive. -7. Définissez la couleur de ligne du cadre photo. -8. Définissez la largeur de ligne du cadre photo. -9. Faites tourner le cadre photo en lui donnant une valeur positive ou négative. - * Une valeur positive fait tourner l'image dans le sens des aiguilles d'une montre. - * Une valeur négative fait tourner l'image dans le sens inverse des aiguilles d'une montre. -10. Ajoutez le cadre photo (contenant l'image) à la diapositive. -11. Écrivez la présentation modifiée en tant que fichier PPTX. +## **Mise en forme du cadre d’image** -Ce code Python démontre le processus de mise en forme du cadre photo : +Aspose.Slides propose de nombreuses options de mise en forme que vous pouvez appliquer à un cadre d’image. Avec ces options, vous pouvez ajuster un cadre d’image pour répondre à des exigences spécifiques. + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez une diapositive par son indice. +3. Créez un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) en ajoutant l’image à la [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de la présentation. Cette image sera utilisée pour remplir la forme. +4. Spécifiez la largeur et la hauteur du cadre. +5. Créez un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) de cette taille en utilisant la méthode [add_picture_frame] de la diapositive. +6. Définissez la couleur du trait du cadre d’image. +7. Définissez la largeur du trait du cadre d’image. +8. Faites pivoter le cadre d’image en fournissant une valeur positive (dans le sens des aiguilles d’une montre) ou négative (dans le sens inverse). +9. Enregistrez la présentation modifiée au format PPTX. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instanciation de la classe Presentation qui représente un fichier PPTX -with slides.Presentation() as pres: - # Obtient la première diapositive - sld = pres.slides[0] +# Instancier la classe Presentation pour représenter un fichier PPTX. +with slides.Presentation() as presentation: + # Obtenir la première diapositive. + slide = presentation.slides[0] - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) + # Ajouter l'image à la collection d'images de la présentation. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Ajoute un cadre photo avec la hauteur et la largeur équivalentes de l'image - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, imgx.width, imgx.height, imgx) + # Ajouter un cadre d'image aux dimensions de l'image. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Applique quelques mises en forme à PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Appliquer la mise en forme au cadre d'image. + picture_frame.line_format.fill_format.fill_type = slides.FillType.SOLID + picture_frame.line_format.fill_format.solid_fill_color.color = draw.Color.blue + picture_frame.line_format.width = 20 + picture_frame.rotation = 45 - # Écrit le fichier PPTX sur le disque - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Enregistrer la présentation au format PPTX. + presentation.save("picture_formatting.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="Astuce" color="primary" %}} - -Aspose a récemment développé un [créateur de collages gratuit](https://products.aspose.app/slides/collage). Si vous devez un jour [fusionner des images JPG/JPEG](https://products.aspose.app/slides/collage/jpg) ou PNG, [créer des grilles à partir de photos](https://products.aspose.app/slides/collage/photo-grid), vous pouvez utiliser ce service. +{{% alert title="Tip" color="primary" %}} +Aspose a développé un [Collage Maker](https://products.aspose.app/slides/collage) gratuit. Si vous devez [fusionner des JPG/JPEG](https://products.aspose.app/slides/collage/jpg) ou des images PNG, ou [créer des grilles de photos](https://products.aspose.app/slides/collage/photo-grid), vous pouvez utiliser ce service. {{% /alert %}} -## **Ajouter une Image en Tant que Lien** +## **Ajouter des images comme liens** -Pour éviter des tailles de présentation importantes, vous pouvez ajouter des images (ou des vidéos) via des liens au lieu d'incorporer directement les fichiers dans les présentations. Ce code Python vous montre comment ajouter une image et une vidéo dans un espace réservé : +Pour garder les fichiers de présentation petits, vous pouvez ajouter des images ou des vidéos via des liens au lieu d’incorporer les fichiers directement dans les présentations. Le code Python suivant montre comment insérer une image et une vidéo dans un espace réservé : ```python import aspose.slides as slides with slides.Presentation("input.pptx") as presentation: - shapesToRemove = [] + slide = presentation.slides[0] - for autoShape in presentation.slides[0].shapes: - if autoShape.placeholder is None: + shapes_to_remove = [] + + for shape in slide.shapes: + if shape.placeholder is None: continue - - if autoShape.placeholder.type == slides.PlaceholderType.PICTURE: - pictureFrame = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, - autoShape.x, autoShape.y, autoShape.width, autoShape.height, None) - pictureFrame.picture_format.picture.link_path_long = \ + if shape.placeholder.type == slides.PlaceholderType.PICTURE: + picture_frame = slide.shapes.add_picture_frame( + slides.ShapeType.RECTANGLE, shape.x, shape.y, shape.width, shape.height, None) + + picture_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - shapesToRemove.append(autoShape) + shapes_to_remove.append(shape) - elif autoShape.placeholder.type == slides.PlaceholderType.MEDIA: - videoFrame = presentation.slides[0].shapes.add_video_frame( - autoShape.X, autoShape.Y, autoShape.width, autoShape.height, "") + elif shape.placeholder.type == slides.PlaceholderType.MEDIA: + video_frame = slide.shapes.add_video_frame(shape.X, shape.Y, shape.width, shape.height, "") - videoFrame.picture_format.picture.link_path_long = \ + video_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - videoFrame.link_path_long = "https://youtu.be/t_1LYZ102RA" - shapesToRemove.append(autoShape) - - + video_frame.link_path_long = "https://youtu.be/t_1LYZ102RA" + shapes_to_remove.append(shape) - for shape in shapesToRemove: - presentation.slides[0].shapes.remove(shape) + for shape in shapes_to_remove: + slide.shapes.remove(shape) presentation.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **Rogner une Image** -Ce code Python vous montre comment rogner une image existante sur une diapositive : +## **Recadrer les images** + +Dans cette section, vous apprendrez comment recadrer la zone visible d’une image à l’intérieur d’un cadre d’image sans modifier le fichier source. Vous apprendrez également la méthode de base pour appliquer des marges de recadrage afin de créer une composition nette et ciblée directement sur la diapositive. ```py import aspose.slides as slides with slides.Presentation() as presentation: - # Crée un nouvel objet image - newImage = presentation.images.add_image(slides.Images.from_file(imagePath)) + slide = presentation.slides[0] - # Ajoute un PictureFrame à une Diapositive - picFrame = presentation.slides[0].shapes.add_picture_frame( - slides.ShapeType.RECTANGLE, 100, 100, 420, 250, newImage) + # Ajouter l'image à la collection d'images de la présentation. + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # Rogne l'image (valeurs en pourcentage) - picFrame.picture_format.crop_left = 23.6 - picFrame.picture_format.crop_right = 21.5 - picFrame.picture_format.crop_top = 3 - picFrame.picture_format.crop_bottom = 31 + # Ajouter un cadre d'image à la diapositive. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 100, 100, 420, 250, image) - # Enregistre le résultat - presentation.save(outPptxFile, slides.export.SaveFormat.PPTX) + # Recadrer l'image (valeurs en pourcentage). + picture_frame.picture_format.crop_left = 23.6 + picture_frame.picture_format.crop_right = 21.5 + picture_frame.picture_format.crop_top = 3 + picture_frame.picture_format.crop_bottom = 31 + # Enregistrer le résultat. + presentation.save("cropped_image.pptx", slides.export.SaveFormat.PPTX) ``` -## **Supprimer les Zones Rognées de l'Image** -Si vous souhaitez supprimer les zones rognées d'une image contenue dans un cadre, vous pouvez utiliser la méthode [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/). Cette méthode retourne l'image rognée ou l'image d'origine si le rognage n'est pas nécessaire. +## **Supprimer les zones recadrées des images** -Ce code Python démontre l'opération : +Si vous souhaitez supprimer les zones recadrées d’une image dans un cadre, utilisez la méthode [delete_picture_cropped_areas]. Cette méthode renvoie l’image recadrée, ou l’image originale si aucun recadrage n’est nécessaire. ```python import aspose.slides as slides -with slides.Presentation(path + "PictureFrameCrop.pptx") as pres: - slide = pres.slides[0] +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # Obtient le PictureFrame de la première diapositive + # Obtenir le PictureFrame de la première diapositive. picture_frame = slides.shape[0] - # Supprime les zones rognées de l'image du PictureFrame et retourne l'image rognée + # Obtenir le PictureFrame de la première diapositive. cropped_image = picture_frame.picture_format.delete_picture_cropped_areas() - # Enregistre le résultat - pres.save(path + "PictureFrameDeleteCroppedAreas.pptx", slides.export.SaveFormat.PPTX) + # Enregistrer le résultat. + presentation.save("deleted_cropped_areas.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="NOTE" color="warning" %}} - -La méthode delete_picture_cropped_areas ajoute l'image rognée à la collection d'images de la présentation. Si l'image est uniquement utilisée dans le [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) traité, cette configuration peut réduire la taille de la présentation. Sinon, le nombre d'images dans la présentation résultante augmentera. -Cette méthode convertit les mét fichiers WMF/EMF en image PNG raster lors de l'opération de rognage. +{{% alert title="NOTE" color="warning" %}} +La méthode [delete_picture_cropped_areas] ajoute l’image recadrée à la collection d’images de la présentation. Si l’image n’est utilisée que dans le [PictureFrame] traité, cela peut réduire la taille de la présentation ; sinon, le nombre d’images dans la présentation résultante peut augmenter. +Lors du recadrage, cette méthode convertit les métas fichiers WMF/EMF en image PNG raster. {{% /alert %}} -## **Verrouiller le Rapport d'Aspect** - -Si vous souhaitez qu'une forme contenant une image conserve son rapport d'aspect même après que vous ayez modifié les dimensions de l'image, vous pouvez utiliser la propriété *aspect_ratio_locked* pour définir le paramètre *Lock Aspect Ratio*. +## **Verrouiller le rapport d’aspect** -Ce code Python vous montre comment verrouiller le rapport d'aspect d'une forme : +Si vous souhaitez qu’une forme contenant une image conserve son rapport d’aspect après avoir modifié les dimensions de l’image, définissez la propriété [aspect_ratio_locked] sur `True`. ```python -from aspose.slides import SlideLayoutType, Presentation, ShapeType -from aspose.pydrawing import Image +import aspose.slides as slides -with Presentation("pres.pptx") as pres: - layout = pres.layout_slides.get_by_type(SlideLayoutType.CUSTOM) - emptySlide = pres.slides.add_empty_slide(layout) - image = Image.from_file("image.png") - presImage = pres.images.add_image(image) +with slides.Presentation("sample.pptx") as presentation: + layout = presentation.layout_slides.get_by_type(slides.SlideLayoutType.CUSTOM) + empty_slide = presentation.slides.add_empty_slide(layout) - pictureFrame = emptySlide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 150, presImage.width, presImage.height, presImage) + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # Définit que la forme doit conserver le rapport d'aspect lors du redimensionnement - pictureFrame.picture_frame_lock.aspect_ratio_locked = True -``` + picture_frame = empty_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) -{{% alert title="NOTE" color="warning" %}} + # Verrouiller le rapport d'aspect lors du redimensionnement. + picture_frame.picture_frame_lock.aspect_ratio_locked = True -Ce paramètre *Lock Aspect Ratio* préserve uniquement le rapport d'aspect de la forme et non de l'image qu'elle contient. + presentation.save("aspect_ratio_locked.pptx", slides.export.SaveFormat.PPTX) +``` -{{% /alert %}} -## **Utiliser la Propriété StretchOff** +{{% alert title="NOTE" color="warning" %}} +Ce paramètre *Verrouiller le rapport d’aspect* ne préserve que le rapport d’aspect de la forme, pas celui de l’image qu’elle contient. +{{% /alert %}} -En utilisant les propriétés `StretchOffsetLeft`, `StretchOffsetTop`, `StretchOffsetRight` et `StretchOffsetBottom` de l'interface [IPictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) et de la classe [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/), vous pouvez spécifier un rectangle de remplissage. +## **Utiliser les propriétés de décalage d’étirement** -Lorsque l'étirement est spécifié pour une image, un rectangle source est mis à l'échelle pour s'adapter au rectangle de remplissage spécifié. Chaque bord du rectangle de remplissage est défini par un pourcentage d'écart par rapport au bord correspondant de la boîte englobante de la forme. Un pourcentage positif spécifie un retrait tandis qu'un pourcentage négatif spécifie un dépassement. +En utilisant les propriétés `stretch_offset_left`, `stretch_offset_top`, `stretch_offset_right` et `stretch_offset_bottom` de la classe [PictureFillFormat], vous pouvez définir un rectangle de remplissage. -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) class. -2. Obtenez une référence à une diapositive par son index. -3. Ajoutez une `AutoShape` rectangle. -4. Créez une image. -5. Définissez le type de remplissage de la forme. -6. Définissez le mode de remplissage de l'image de la forme. -7. Ajoutez une image définie pour remplir la forme. -8. Spécifiez les décalages d'image par rapport au bord correspondant de la boîte englobante de la forme. -9. Écrivez la présentation modifiée en tant que fichier PPTX. +Lorsque l’étirement est spécifié pour une image, le rectangle source est mis à l’échelle pour remplir le rectangle de remplissage. Chaque bord du rectangle de remplissage est défini par un décalage en pourcentage par rapport au bord correspondant de la boîte englobante de la forme. Un pourcentage positif indique un retrait, tandis qu’un pourcentage négatif indique une extension. -Ce code Python démontre un processus dans lequel une propriété StretchOff est utilisée : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez une référence à une diapositive par son indice. +3. Ajoutez une [AutoShape] rectangulaire. +4. Définissez le type de remplissage de la forme. +5. Définissez le mode de remplissage d’image de la forme. +6. Chargez une image. +7. Attribuez l’image pour remplir la forme. +8. Spécifiez les décalages de l’image par rapport aux bords correspondants de la boîte englobante de la forme. +9. Enregistrez la présentation au format PPTX. ```py import aspose.slides as slides -# Instanciation de la classe Presentation qui représente un fichier PPTX -with slides.Presentation() as pres: +# Instancier la classe Presentation qui représente un fichier PPTX. +with slides.Presentation() as presentation: + # Obtenir la première diapositive. + slide = presentation.slides[0] + + # Ajouter une AutoShape rectangle. + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 300, 300) + + # Définir le type de remplissage de la forme. + shape.fill_format.fill_type = slides.FillType.PICTURE + + # Définir le mode de remplissage de l'image de la forme. + shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH + + # Charger l'image et l'ajouter à la présentation. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) + + # Assigner l'image pour remplir la forme. + shape.fill_format.picture_fill_format.picture.image = image + + # Spécifier les décalages de l'image par rapport aux bords correspondants de la boîte englobante de la forme. + shape.fill_format.picture_fill_format.stretch_offset_left = 25 + shape.fill_format.picture_fill_format.stretch_offset_right = 25 + shape.fill_format.picture_fill_format.stretch_offset_top = -20 + shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 + + # Enregistrer le fichier PPTX sur le disque. + presentation.save("stretch_offset.pptx", slides.export.SaveFormat.PPTX) +``` + + +{{% alert title="Tip" color="primary" %}} +Aspose propose des convertisseurs gratuits—[JPEG to PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) et [PNG to PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—qui vous permettent de créer rapidement des présentations à partir d’images. +{{% /alert %}} + +## **FAQ** + +**Comment puis‑je savoir quels formats d’image sont pris en charge pour PictureFrame ?** - # Obtient la première diapositive - slide = pres.slides[0] +Aspose.Slides prend en charge les images raster (PNG, JPEG, BMP, GIF, etc.) et les images vectorielles (par exemple, SVG) via l’objet image attribué à un [PictureFrame]. La liste des formats pris en charge chevauche généralement les capacités du moteur de présentation et de conversion d’images. - # Instanciation de la classe ImageEx - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) +**Comment l’ajout de dizaines d’images volumineuses affecte‑t‑il la taille et les performances du PPTX ?** - # Ajoute un cadre photo avec la hauteur et la largeur équivalentes de l'image - shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 300) +L’incorporation d’images volumineuses augmente la taille du fichier et l’utilisation de la mémoire ; le lien vers des images permet de réduire la taille de la présentation mais nécessite que les fichiers externes restent accessibles. Aspose.Slides offre la possibilité d’ajouter des images par lien pour réduire la taille du fichier. - # Définit le type de remplissage de la forme - shape.fill_format.fill_type = slides.FillType.PICTURE +**Comment puis‑je verrouiller un objet image contre un déplacement/redimensionnement accidentel ?** - # Définit le mode de remplissage de l'image de la forme - shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH +Utilisez les [shape locks] pour un [PictureFrame] (par exemple, désactiver le déplacement ou le redimensionnement). Le mécanisme de verrouillage est décrit pour les formes dans un [article de protection](/slides/fr/python-net/applying-protection-to-presentation/) séparé et est pris en charge pour divers types de formes, y compris [PictureFrame]. - # Définit l'image pour remplir la forme - shape.fill_format.picture_fill_format.picture.image = imgx +**La fidélité du vecteur SVG est‑elle préservée lors de l’exportation d’une présentation vers PDF/images ?** - # Spécifie les décalages d'image par rapport au bord correspondant de la boîte englobante de la forme - shape.fill_format.picture_fill_format.stretch_offset_left = 25 - shape.fill_format.picture_fill_format.stretch_offset_right = 25 - shape.fill_format.picture_fill_format.stretch_offset_top = -20 - shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 - - # Écrit le fichier PPTX sur le disque - pres.save("StretchOffsetLeftForPictureFrame_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Aspose.Slides permet d’extraire un SVG d’un [PictureFrame] en tant que vecteur original. Lors de l’[exportation vers PDF](/slides/fr/python-net/convert-powerpoint-to-pdf/) ou vers des [formats raster](/slides/fr/python-net/convert-powerpoint-to-png/), le résultat peut être rasterisé selon les paramètres d’exportation ; le fait que le SVG original soit stocké en tant que vecteur est confirmé par le comportement d’extraction. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/fr/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index fc6a4696da..b44994821a 100644 --- a/fr/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/fr/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -11,36 +11,35 @@ keywords: - extraire une vidéo - récupérer une vidéo - cadre vidéo -- source web +- source Web - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Apprenez à ajouter et à extraire par programmation des cadres vidéo dans les diapositives PowerPoint et OpenDocument à l'aide de Aspose.Slides for Python via .NET. Guide pratique rapide." +description: "Apprenez à ajouter et extraire programmatiquement des cadres vidéo dans les diapositives PowerPoint et OpenDocument en utilisant Aspose.Slides pour Python via .NET. Guide pratique rapide." --- -Une vidéo bien placée dans une présentation peut rendre votre message plus convaincant et augmenter les niveaux d'engagement avec votre public. +Une vidéo bien placée dans une présentation peut rendre votre message plus percutant et augmenter le niveau d'engagement de votre public. PowerPoint vous permet d'ajouter des vidéos à une diapositive dans une présentation de deux manières : -* Ajouter ou intégrer une vidéo locale (stockée sur votre machine) +* Ajouter ou incorporer une vidéo locale (stockée sur votre machine) * Ajouter une vidéo en ligne (provenant d'une source web telle que YouTube). -Pour vous permettre d'ajouter des vidéos (objets vidéo) à une présentation, Aspose.Slides fournit l'interface [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/), l'interface [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) et d'autres types pertinents. +Pour vous permettre d'ajouter des vidéos (objets vidéo) à une présentation, Aspose.Slides fournit les interfaces [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) et [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/), ainsi que d'autres types pertinents. -## **Créer un Cadre Vidéo Intégré** +## **Créer un cadre vidéo incorporé** -Si le fichier vidéo que vous souhaitez ajouter à votre diapositive est stocké localement, vous pouvez créer un cadre vidéo pour intégrer la vidéo dans votre présentation. +Si le fichier vidéo que vous souhaitez ajouter à votre diapositive est stocké localement, vous pouvez créer un cadre vidéo pour incorporer la vidéo dans votre présentation. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive à travers son index. -1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) et passez le chemin du fichier vidéo pour intégrer la vidéo à la présentation. +1. Obtenez la référence d'une diapositive via son indice. +1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) et transmettez le chemin du fichier vidéo pour incorporer la vidéo à la présentation. 1. Ajoutez un objet [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) pour créer un cadre pour la vidéo. 1. Enregistrez la présentation modifiée. -Ce code Python vous montre comment ajouter une vidéo stockée localement à une présentation : - +Ce code Python montre comment ajouter une vidéo stockée localement à une présentation : ```python import aspose.slides as slides @@ -48,15 +47,15 @@ with slides.Presentation(path + "pres.pptx") as pres: with open("Wildlife.mp4", "br") as fileStream: video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) - # Obtient la première diapositive et ajoute un cadre vidéo + # Récupère la première diapositive et ajoute un cadre vidéo pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video) # Enregistre la présentation sur le disque pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX) ``` -Alternativement, vous pouvez ajouter une vidéo en passant directement son chemin de fichier à la méthode `add_video_frame(x, y, width, height, fname)` : +Vous pouvez également ajouter une vidéo en transmettant directement son chemin de fichier à la méthode `add_video_frame(x, y, width, height, fname)` : ``` python import aspose.slides as slides @@ -66,18 +65,17 @@ with slides.Presentation() as pres: ``` -## **Créer un Cadre Vidéo avec Vidéo en Source Web** +## **Créer un cadre vidéo avec une vidéo provenant d'une source Web** -Microsoft [PowerPoint 2013 et versions ultérieures](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) prend en charge les vidéos YouTube dans les présentations. Si la vidéo que vous souhaitez utiliser est disponible en ligne (par exemple sur YouTube), vous pouvez l'ajouter à votre présentation via son lien web. +Microsoft [PowerPoint 2013 et versions ultérieures](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) prend en charge les vidéos YouTube dans les présentations. Si la vidéo que vous souhaitez utiliser est disponible en ligne (par ex. sur YouTube), vous pouvez l'ajouter à votre présentation via son lien web. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive à travers son index. -1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) et passez le lien vers la vidéo. +1. Obtenez la référence d'une diapositive via son indice. +1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) et transmettez le lien vers la vidéo. 1. Définissez une miniature pour le cadre vidéo. 1. Enregistrez la présentation. -Ce code Python vous montre comment ajouter une vidéo du web à une diapositive dans une présentation PowerPoint : - +Ce code Python montre comment ajouter une vidéo depuis le web à une diapositive dans une présentation PowerPoint : ```python import aspose.slides as slides from urllib.request import urlopen @@ -98,17 +96,17 @@ with slides.Presentation() as pres: pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Extraire une Vidéo d'une Diapositive** -En plus d'ajouter des vidéos aux diapositives, Aspose.Slides vous permet d'extraire les vidéos intégrées dans les présentations. +## **Extraire la vidéo d'une diapositive** + +En plus d'ajouter des vidéos aux diapositives, Aspose.Slides vous permet d'extraire les vidéos incorporées dans les présentations. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) pour charger la présentation contenant la vidéo. -2. Itérez à travers tous les objets [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/). -3. Itérez à travers tous les objets [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) pour trouver un [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). +2. Parcourez tous les objets [ISlide]. +3. Parcourez tous les objets [IShape] pour trouver un [VideoFrame]. 4. Enregistrez la vidéo sur le disque. -Ce code Python vous montre comment extraire la vidéo d'une diapositive de présentation : - +Ce code Python montre comment extraire la vidéo d'une diapositive de présentation : ```python import aspose.slides as slides @@ -120,4 +118,23 @@ with slides.Presentation(path + "Video.pptx") as presentation: buffer = shape.embedded_video.binary_data with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream: stream.write(buffer) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quels paramètres de lecture vidéo peuvent être modifiés pour un VideoFrame ?** + +Vous pouvez contrôler le [mode de lecture](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_mode/) (automatique ou au clic) et le [bouclage](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_loop_mode/). Ces options sont disponibles via les propriétés de l'objet [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). + +**L'ajout d'une vidéo impacte-t-il la taille du fichier PPTX ?** + +Oui. Lorsque vous incorporez une vidéo locale, les données binaires sont incluses dans le document, ce qui fait augmenter la taille de la présentation proportionnellement à la taille du fichier. Lorsque vous ajoutez une vidéo en ligne, un lien et une miniature sont intégrés, ce qui entraîne une augmentation de taille moindre. + +**Puis-je remplacer la vidéo d'un VideoFrame existant sans modifier sa position et sa taille ?** + +Oui. Vous pouvez échanger le [contenu vidéo](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/embedded_video/) à l'intérieur du cadre tout en préservant la géométrie de la forme ; c'est un scénario fréquent pour mettre à jour les médias dans une mise en page existante. + +**Le type de contenu (MIME) d'une vidéo incorporée peut-il être déterminé ?** + +Oui. Une vidéo incorporée possède un [type de contenu](https://reference.aspose.com/slides/python-net/aspose.slides/video/content_type/) que vous pouvez lire et utiliser, par exemple lors de son enregistrement sur le disque. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md b/fr/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md index 9c5eb4e40d..f2d596aa28 100644 --- a/fr/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/fr/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,37 +1,50 @@ --- -title: WordArt +title: Créer et appliquer des effets WordArt en Python +linktitle: WordArt type: docs weight: 110 url: /fr/python-net/wordart/ -keywords: "WordArt, Art de texte, Créer WordArt, Modèle WordArt, Effets WordArt, Effets d'ombre, Effets d'affichage, Effets de lueur, Transformations WordArt, Effets 3D, Effets d'ombre extérieure, Effets d'ombre intérieure, Python, Aspose.Slides pour Python via .NET" -description: "Ajouter, manipuler et gérer WordArt et effets dans des présentations PowerPoint en Python ou Aspose.Slides pour Python via .NET" +keywords: +- WordArt +- créer WordArt +- modèle WordArt +- effet WordArt +- effet d'ombre +- effet d'affichage +- effet de lueur +- transformation WordArt +- effet 3D +- effet d'ombre externe +- effet d'ombre interne +- Python +- Aspose.Slides +description: "Apprenez à créer et personnaliser des effets WordArt dans Aspose.Slides pour Python via .NET. Ce guide étape par étape aide les développeurs à améliorer les présentations avec du texte élégant et professionnel en Python." --- ## **À propos de WordArt ?** -WordArt ou Art de texte est une fonctionnalité qui vous permet d'appliquer des effets aux textes pour les faire ressortir. Avec WordArt, par exemple, vous pouvez contourner un texte ou le remplir d'une couleur (ou d'un dégradé), lui ajouter des effets 3D, etc. Vous pouvez également déformer, plier et étirer la forme d'un texte. +WordArt ou Word Art est une fonctionnalité qui vous permet d’appliquer des effets au texte pour le faire ressortir. Avec WordArt, par exemple, vous pouvez tracer le contour d’un texte ou le remplir d’une couleur (ou d’un dégradé), ajouter des effets 3D, etc. Vous pouvez également incliner, plier et étirer la forme d’un texte. {{% alert color="primary" %}} -WordArt vous permet de traiter un texte comme vous le feriez avec un objet graphique. WordArt se compose d'effets ou de modifications spéciales apportées aux textes pour les rendre plus attrayants ou remarquables. +WordArt vous permet de traiter un texte comme un objet graphique. WordArt se compose d’effets ou de modifications spéciales appliquées aux textes pour les rendre plus attrayants ou remarquables. {{% /alert %}} **WordArt dans Microsoft PowerPoint** -Pour utiliser WordArt dans Microsoft PowerPoint, vous devez sélectionner l'un des modèles WordArt prédéfinis. Un modèle WordArt est un ensemble d'effets qui sont appliqués à un texte ou à sa forme. +Pour utiliser WordArt dans Microsoft PowerPoint, vous devez sélectionner l’un des modèles WordArt prédéfinis. Un modèle WordArt est un ensemble d’effets appliqués à un texte ou à sa forme. **WordArt dans Aspose.Slides** -Dans Aspose.Slides pour Python via .NET 20.10, nous avons mis en œuvre le support de WordArt et apporté des améliorations à cette fonctionnalité dans les versions successives d'Aspose.Slides pour Python via .NET. +Dans Aspose.Slides for Python via .NET 20.10, nous avons implémenté la prise en charge de WordArt et apporté des améliorations à la fonctionnalité dans les versions ultérieures d’Aspose.Slides for Python via .NET. -Avec Aspose.Slides pour Python via .NET, vous pouvez facilement créer votre propre modèle WordArt (un effet ou une combinaison d'effets) en Python et l'appliquer aux textes. +Avec Aspose.Slides for Python via .NET, vous pouvez facilement créer votre propre modèle WordArt (un effet ou une combinaison d’effets) en Python et l’appliquer aux textes. -## Création d'un modèle WordArt simple et application à un texte +## Créer un modèle WordArt simple et l’appliquer à un texte -**En utilisant Aspose.Slides** - -Tout d'abord, nous créons un texte simple en utilisant ce code Python : +**Utilisation d’Aspose.Slides** +Tout d’abord, nous créons un texte simple à l’aide de ce code Python : ```py import aspose.slides as slides @@ -45,30 +58,30 @@ with slides.Presentation() as pres: pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX) ``` -Maintenant, nous réglons la hauteur de la police du texte sur une valeur plus élevée pour rendre l'effet plus visible à travers ce code : +Ensuite, nous définissons la hauteur de la police du texte à une valeur plus grande pour rendre l’effet plus visible grâce à ce code : ```py fontData = slides.FontData("Arial Black") portion.portion_format.latin_font = fontData portion.portion_format.font_height = 36 ``` -**En utilisant Microsoft PowerPoint** -Allez dans le menu des effets WordArt dans Microsoft PowerPoint : +**Utilisation de Microsoft PowerPoint** + +Accédez au menu des effets WordArt dans Microsoft PowerPoint : ![todo:image_alt_text](image-20200930113926-1.png) -À partir du menu à droite, vous pouvez choisir un effet WordArt prédéfini. À partir du menu à gauche, vous pouvez spécifier les paramètres pour un nouveau WordArt. +Dans le menu à droite, vous pouvez choisir un effet WordArt prédéfini. Dans le menu à gauche, vous pouvez spécifier les paramètres d’un nouveau WordArt. -Voici quelques-uns des paramètres ou options disponibles : +Voici quelques‑uns des paramètres ou options disponibles : ![todo:image_alt_text](image-20200930114015-3.png) -**En utilisant Aspose.Slides** - -Ici, nous appliquons la couleur du motif SmallGrid au texte et ajoutons une bordure de texte noire de 1 de largeur en utilisant ce code : +**Utilisation d’Aspose.Slides** +Ici, nous appliquons la couleur de motif SmallGrid au texte et ajoutons une bordure de texte noire de largeur 1 à l’aide de ce code : ```py portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange @@ -79,24 +92,24 @@ Ici, nous appliquons la couleur du motif SmallGrid au texte et ajoutons une bord portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black ``` + Le texte résultant : ![todo:image_alt_text](image-20200930114108-4.png) -## Application d'autres effets WordArt +## Appliquer d’autres effets WordArt -**En utilisant Microsoft PowerPoint** +**Utilisation de Microsoft PowerPoint** -À partir de l'interface du programme, vous pouvez appliquer ces effets à un texte, un bloc de texte, une forme ou un élément similaire : +Depuis l’interface du programme, vous pouvez appliquer ces effets à un texte, un bloc de texte, une forme ou un élément similaire : ![todo:image_alt_text](image-20200930114129-5.png) -Par exemple, les effets d'ombre, de réflexion et de lueur peuvent être appliqués à un texte ; les effets de format 3D et de rotation 3D peuvent être appliqués à un bloc de texte ; la propriété Edges doux peut être appliquée à un objet Shape (cela a toujours un effet lorsqu'aucune propriété de format 3D n'est définie). +Par exemple, les effets Ombre, Réflexion et Lueur peuvent être appliqués à un texte ; les effets Format 3D et Rotation 3D peuvent être appliqués à un bloc de texte ; la propriété Bords arrondis peut être appliquée à un objet Forme (elle a toujours un effet lorsqu’aucune propriété Format 3D n’est définie). -### Application des effets d'ombre - -Ici, nous avons l'intention de définir les propriétés relatives uniquement à un texte. Nous appliquons l'effet d'ombre à un texte en utilisant ce code en Python : +### Appliquer des effets d’ombre +Ici, nous avons l’intention de définir les propriétés liées uniquement à un texte. Nous appliquons l’effet d’ombre à un texte à l’aide de ce code en Python : ```py portion.portion_format.effect_format.enable_outer_shadow_effect() portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black @@ -110,29 +123,27 @@ Ici, nous avons l'intention de définir les propriétés relatives uniquement à portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32) ``` -L'API Aspose.Slides prend en charge trois types d'ombre : OuterShadow, InnerShadow et PresetShadow. - -Avec PresetShadow, vous pouvez appliquer une ombre à un texte (en utilisant des valeurs prédéfinies). -**En utilisant Microsoft PowerPoint** +L’API Aspose.Slides prend en charge trois types d’ombres : OuterShadow, InnerShadow et PresetShadow. -Dans PowerPoint, vous pouvez utiliser un type d'ombre. Voici un exemple : +Avec PresetShadow, vous pouvez appliquer une ombre à un texte (en utilisant des valeurs prédéfinies). -![todo:image_alt_text](image-20200930114225-6.png) +**Utilisation de Microsoft PowerPoint** -**En utilisant Aspose.Slides** +Dans PowerPoint, vous pouvez utiliser un type d’ombre. Voici un exemple : -Aspose.Slides permet effectivement d'appliquer deux types d'ombres à la fois : InnerShadow et PresetShadow. +![todo:image_alt_text](image-20200930114225-6.png) -**Remarques :** +**Utilisation d’Aspose.Slides** -- Lorsque OuterShadow et PresetShadow sont utilisés ensemble, seul l'effet OuterShadow est appliqué. -- Si OuterShadow et InnerShadow sont utilisés simultanément, l'effet résultant ou appliqué dépend de la version de PowerPoint. Par exemple, dans PowerPoint 2013, l'effet est doublé. Mais dans PowerPoint 2007, l'effet OuterShadow est appliqué. +Aspose.Slides permet en réalité d’appliquer deux types d’ombres simultanément : InnerShadow et PresetShadow. -### Application d'effets d'affichage aux textes +- Lorsqu’OuterShadow et PresetShadow sont utilisés ensemble, seul l’effet OuterShadow est appliqué. +- Si OuterShadow et InnerShadow sont utilisés simultanément, l’effet résultant dépend de la version de PowerPoint. Par exemple, dans PowerPoint 2013, l’effet est doublé. Mais dans PowerPoint 2007, l’effet OuterShadow est appliqué. -Nous ajoutons un affichage au texte à l'aide de cet exemple de code en Python : +### Appliquer l’affichage aux textes +Nous ajoutons un affichage au texte via cet exemple de code en Python : ```py portion.portion_format.effect_format.enable_reflection_effect() portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5 @@ -147,10 +158,10 @@ Nous ajoutons un affichage au texte à l'aide de cet exemple de code en Python : portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT ``` -### Application de l'effet de lueur aux textes -Nous appliquons l'effet de lueur au texte pour le faire briller ou ressortir en utilisant ce code : +### Appliquer l’effet de lueur aux textes +Nous appliquons l’effet de lueur au texte pour le faire briller ou le faire ressortir à l’aide de ce code : ```py portion.portion_format.effect_format.enable_glow_effect() portion.portion_format.effect_format.glow_effect.color.r = 255 @@ -158,45 +169,46 @@ Nous appliquons l'effet de lueur au texte pour le faire briller ou ressortir en portion.portion_format.effect_format.glow_effect.radius = 7 ``` -Le résultat de l'opération : + +Le résultat de l’opération : ![todo:image_alt_text](image-20200930114621-7.png) {{% alert color="primary" %}} -Vous pouvez modifier les paramètres pour l'ombre, l'affichage et la lueur. Les propriétés des effets sont définies sur chaque portion du texte séparément. +Vous pouvez modifier les paramètres d’ombre, d’affichage et de lueur. Les propriétés des effets sont définies séparément pour chaque portion du texte. {{% /alert %}} -### Utilisation des transformations dans WordArt +### Utiliser les transformations dans WordArt -Nous utilisons la propriété Transform (inhérente à l'ensemble du bloc de texte) via ce code : +Nous utilisons la propriété Transform (inhérente à l’ensemble du bloc de texte) via ce code : ```py textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR ``` + Le résultat : ![todo:image_alt_text](image-20200930114712-8.png) {{% alert color="primary" %}} -Microsoft PowerPoint et Aspose.Slides pour Python via .NET offrent un certain nombre de types de transformation prédéfinis. +Microsoft PowerPoint et Aspose.Slides for Python via .NET offrent un certain nombre de types de transformation prédéfinis. {{% /alert %}} -**En utilisant PowerPoint** +**Utilisation de PowerPoint** -Pour accéder aux types de transformation prédéfinis, allez dans : **Format** -> **Effet de texte** -> **Transformer** +Pour accéder aux types de transformation prédéfinis, suivez : **Format** -> **TextEffect** -> **Transform** -**En utilisant Aspose.Slides** +**Utilisation d’Aspose.Slides** -Pour sélectionner un type de transformation, utilisez l'énumération TextShapeType. +Pour sélectionner un type de transformation, utilisez l’énumération TextShapeType. -### Application d'effets 3D aux textes et formes - -Nous appliquons un effet 3D à une forme de texte en utilisant cet exemple de code : +### Appliquer des effets 3D aux textes et aux formes +Nous appliquons un effet 3D à une forme de texte à l’aide de cet exemple de code : ```py autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE autoShape.three_d_format.bevel_bottom.height = 10.5 @@ -223,12 +235,12 @@ Nous appliquons un effet 3D à une forme de texte en utilisant cet exemple de co autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` + Le texte résultant et sa forme : ![todo:image_alt_text](image-20200930114816-9.png) Nous appliquons un effet 3D au texte avec ce code Python : - ```py textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5 @@ -255,61 +267,61 @@ Nous appliquons un effet 3D au texte avec ce code Python : textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -Le résultat de l'opération : + +Le résultat de l’opération : ![todo:image_alt_text](image-20200930114905-10.png) {{% alert color="primary" %}} -L'application d'effets 3D aux textes ou à leurs formes et les interactions entre les effets sont basées sur certaines règles. +L’application d’effets 3D aux textes ou à leurs formes ainsi que les interactions entre les effets sont basées sur certaines règles. -Considérez une scène pour un texte et la forme contenant ce texte. L'effet 3D contient la représentation de l'objet 3D et la scène sur laquelle l'objet a été placé. +Considérez une scène pour un texte et la forme contenant ce texte. L’effet 3D comprend la représentation d’un objet 3D et la scène sur laquelle l’objet est placé. -- Lorsque la scène est définie à la fois pour la figure et le texte, la scène de la figure a une priorité plus élevée—la scène du texte est ignorée. -- Lorsque la figure n'a pas sa propre scène mais a une représentation 3D, la scène du texte est utilisée. -- Sinon—lorsque la forme n'a initialement aucun effet 3D—la forme est plate et l'effet 3D n'est appliqué qu'au texte. +- Lorsque la scène est définie à la fois pour la forme et pour le texte, la scène de la forme a la priorité supérieure — la scène du texte est ignorée. +- Si la forme ne possède pas de scène propre mais possède une représentation 3D, la scène du texte est utilisée. +- Sinon—si la forme n’a initialement aucun effet 3D—la forme est plane et l’effet 3D n’est appliqué qu’au texte. -Les descriptions sont liées aux propriétés [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) et [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). +Les descriptions sont liées aux propriétés [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) et [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). {{% /alert %}} -## **Appliquer des effets d'ombre extérieure aux textes** -Aspose.Slides pour Python via .NET fournit les classes [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) et [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) qui vous permettent d'appliquer des effets d'ombre à un texte contenu dans TextFrame. Suivez ces étapes : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez la référence d'une diapositive en utilisant son index. -3. Ajoutez une AutoShape de type Rectangle à la diapositive. -4. Accédez à la TextFrame associée à l'AutoShape. -5. Définissez le FillType de l'AutoShape sur NoFill. -6. Instanciez la classe OuterShadow. -7. Définissez le BlurRadius de l'ombre. -8. Définissez la Direction de l'ombre. -9. Définissez la Distance de l'ombre. -10. Définissez l'Alignement du rectangle sur TopLeft. -11. Définissez la couleur prédéfinie de l'ombre sur Noir. -12. Écrivez la présentation sous forme de fichier PPTX. - -Cet exemple de code en Python—une implémentation des étapes ci-dessus—vous montre comment appliquer l'effet d'ombre extérieure à un texte : - +## **Appliquer des effets d’ombre externe aux textes** +Aspose.Slides for Python via .NET fournit les classes [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) et [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) qui permettent d’appliquer des effets d’ombre à un texte contenu dans TextFrame. Suivez les étapes suivantes : + +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenir la référence d’une diapositive en utilisant son indice. +3. Ajouter une AutoShape de type Rectangle à la diapositive. +4. Accéder au TextFrame associé à l’AutoShape. +5. Définir la propriété FillType de l’AutoShape sur NoFill. +6. Instancier la classe OuterShadow +7. Définir la propriété BlurRadius de l’ombre. +8. Définir la Direction de l’ombre +9. Définir la Distance de l’ombre. +10. Définir la propriété RectanglelAlign sur TopLeft. +11. Définir la couleur prédéfinie (PresetColor) de l’ombre sur Black. +12. Enregistrer la présentation sous forme de fichier PPTX. + +Ce code d’exemple en Python—une implémentation des étapes ci‑above—vous montre comment appliquer l’effet d’ombre externe à un texte : ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as pres: - # Obtenez la référence de la diapositive + # Obtenir la référence de la diapositive sld = pres.slides[0] - # Ajoutez une AutoShape de type Rectangle + # Ajouter un AutoShape de type Rectangle ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50) - # Ajoutez une TextFrame au Rectangle + # Ajouter un TextFrame au Rectangle ashp.add_text_frame("Aspose TextBox") - # Désactivez le remplissage de la forme au cas où nous voudrions obtenir l'ombre du texte + # Désactiver le remplissage de la forme au cas où nous voulons obtenir l'ombre du texte ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Ajoutez une ombre extérieure et définissez tous les paramètres nécessaires + # Ajouter une ombre externe et définir tous les paramètres nécessaires ashp.effect_format.enable_outer_shadow_effect() shadow = ashp.effect_format.outer_shadow_effect shadow.blur_radius = 4.0 @@ -318,59 +330,77 @@ with slides.Presentation() as pres: shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT shadow.shadow_color.preset_color = slides.PresetColor.BLACK - # Écrivez la présentation sur le disque + #Enregistrer la présentation sur le disque pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Appliquer un effet d'ombre intérieure aux formes** +## **Appliquer l’effet d’ombre interne aux formes** Suivez ces étapes : -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez une référence de la diapositive. -3. Ajoutez une AutoShape de type Rectangle. -4. Activez l'effet InnerShadowEffect. -5. Définissez tous les paramètres nécessaires. -6. Définissez le ColorType sur Scheme. -7. Définissez la couleur du schéma. -8. Écrivez la présentation sous forme de fichier [PPTX](https://docs.fileformat.com/presentation/pptx/) . - -Cet exemple de code (basé sur les étapes ci-dessus) vous montre comment ajouter un connecteur entre deux formes en Python : +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenir une référence de la diapositive. +3. Ajouter une AutoShape du type Rectangle. +4. Activer InnerShadowEffect. +5. Définir tous les paramètres nécessaires. +6. Définir la propriété ColorType sur Scheme. +7. Définir la couleur du schéma. +8. Enregistrer la présentation sous forme de fichier [PPTX](https://docs.fileformat.com/presentation/pptx/). +Ce code d’exemple (basé sur les étapes ci‑above) vous montre comment ajouter un connecteur entre deux formes en Python : ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as presentation: - # Obtenez la référence d'une diapositive + # Obtenir la référence d'une diapositive slide = presentation.slides[0] - # Ajoutez une AutoShape de type Rectangle + # Ajouter un AutoShape de type Rectangle ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300) ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Ajoutez une TextFrame au Rectangle + # Ajouter un TextFrame au Rectangle ashp.add_text_frame("Aspose TextBox") port = ashp.text_frame.paragraphs[0].portions[0] pf = port.portion_format pf.font_height = 50 - # Activez l'effet inner_shadow_effect + # Activer inner_shadow_effect ef = pf.effect_format ef.enable_inner_shadow_effect() - # Définissez tous les paramètres nécessaires + # Définir tous les paramètres nécessaires ef.inner_shadow_effect.blur_radius = 8.0 ef.inner_shadow_effect.direction = 90.0 ef.inner_shadow_effect.distance = 6.0 ef.inner_shadow_effect.shadow_color.b = 189 - # Définissez ColorType sur Scheme + # Définir ColorType sur Scheme ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME - # Définissez la couleur du schéma + # Définir la couleur du schéma ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1 - # Enregistrez la présentation + # Enregistrer la présentation presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis‑je utiliser les effets WordArt avec différentes polices ou scripts (par ex., Arabe, Chinois) ?** + +Oui, Aspose.Slides prend en charge Unicode et fonctionne avec toutes les principales polices et scripts. Les effets WordArt tels que l’ombre, le remplissage et le contour peuvent être appliqués quel que soit la langue, bien que la disponibilité des polices et le rendu puissent dépendre des polices du système. + +**Puis‑je appliquer les effets WordArt aux éléments du masque des diapositives ?** + +Oui, vous pouvez appliquer les effets WordArt aux formes sur les masques des diapositives, y compris les espaces réservés de titre, les pieds de page ou le texte d’arrière‑plan. Les modifications apportées à la disposition du masque seront reflétées sur toutes les diapositives associées. + +**Les effets WordArt affectent‑ils la taille du fichier de la présentation ?** + +Légèrement. Les effets WordArt comme les ombres, les lueurs et les remplissages en dégradé peuvent augmenter légèrement la taille du fichier en raison des métadonnées de formatage ajoutées, mais la différence est généralement négligeable. + +**Puis‑je prévisualiser le résultat des effets WordArt sans enregistrer la présentation ?** + +Oui, vous pouvez rendre les diapositives contenant du WordArt en images (par ex., PNG, JPEG) à l’aide de la méthode `get_image` de la classe [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) ou [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). Cela vous permet de prévisualiser le résultat en mémoire ou à l’écran avant d’enregistrer ou d’exporter la présentation complète. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index b88c7923d7..b2dd64edc4 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,45 +1,44 @@ --- -title: Personnaliser les axes des graphiques dans les présentations avec Python +title: Personnaliser les axes du graphique dans les présentations avec Python linktitle: Axe du graphique type: docs url: /fr/python-net/chart-axis/ keywords: -- axe de graphique +- axe du graphique - axe vertical - axe horizontal -- personnalisation de l’axe -- manipulation de l’axe -- gestion de l’axe -- propriétés de l’axe +- personnaliser l'axe +- manipuler l'axe +- gérer l'axe +- propriétés de l'axe - valeur maximale - valeur minimale -- ligne d’axe +- ligne de l'axe - format de date -- titre de l’axe -- position de l’axe +- titre de l'axe +- position de l'axe - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Découvrez comment utiliser Aspose.Slides for Python via .NET pour personnaliser les axes des graphiques dans les présentations PowerPoint et OpenDocument pour vos rapports et visualisations." +description: "Découvrez comment utiliser Aspose.Slides pour Python via .NET pour personnaliser les axes de graphique dans les présentations PowerPoint et OpenDocument pour les rapports et les visualisations." --- ## **Obtenir les valeurs maximales sur l'axe vertical des graphiques** -Aspose.Slides pour Python via .NET vous permet d'obtenir les valeurs minimales et maximales sur un axe vertical. Suivez ces étapes : +Aspose.Slides for Python via .NET vous permet d'obtenir les valeurs minimale et maximale sur un axe vertical. Suivez ces étapes : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Accédez à la première diapositive. -1. Ajoutez un graphique avec des données par défaut. -1. Obtenez la valeur maximale réelle sur l'axe. -1. Obtenez la valeur minimale réelle sur l'axe. -1. Obtenez l'unité majeure réelle de l'axe. -1. Obtenez l'unité mineure réelle de l'axe. -1. Obtenez l'échelle de l'unité majeure réelle de l'axe. -1. Obtenez l'échelle de l'unité mineure réelle de l'axe. - -Ce code exemple—une implémentation des étapes ci-dessus—vous montre comment obtenir les valeurs requises en Python : - +2. Accédez à la première diapositive. +3. Ajoutez un graphique avec des données par défaut. +4. Récupérez la valeur maximale réelle sur l'axe. +5. Récupérez la valeur minimale réelle sur l'axe. +6. Récupérez l'unité principale réelle de l'axe. +7. Récupérez l'unité secondaire réelle de l'axe. +8. Récupérez l'échelle de l'unité principale réelle de l'axe. +9. Récupérez l'échelle de l'unité secondaire réelle de l'axe. + +Ce code d'exemple — une implémentation des étapes ci‑above — montre comment obtenir les valeurs requises en Python : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -54,16 +53,15 @@ with slides.Presentation() as pres: majorUnit = chart.axes.horizontal_axis.actual_major_unit minorUnit = chart.axes.horizontal_axis.actual_minor_unit - # Sauvegarde la présentation + # Enregistre la présentation pres.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **Échanger les données entre les axes** -Aspose.Slides vous permet d'échanger rapidement les données entre les axes—les données représentées sur l'axe vertical (axe des y) passent à l'axe horizontal (axe des x) et vice versa. - -Ce code Python vous montre comment effectuer la tâche d'échange de données entre les axes sur un graphique : +Aspose.Slides vous permet d'échanger rapidement les données entre les axes : les données représentées sur l'axe vertical (axe y) sont déplacées vers l'axe horizontal (axe x) et inversement. +Ce code Python montre comment effectuer l'échange de données entre les axes d'un graphique : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -72,17 +70,16 @@ import aspose.slides as slides with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300) - # Échanger les lignes et les colonnes + #Échange les lignes et les colonnes chart.chart_data.switch_row_column() - # Sauvegarde la présentation + # Enregistre la présentation pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Désactiver l'axe vertical pour les graphiques en ligne** - -Ce code Python vous montre comment masquer l'axe vertical pour un graphique en ligne : +## **Désactiver l'axe vertical pour les graphiques en courbe** +Ce code Python montre comment masquer l'axe vertical d'un graphique en courbe : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -94,10 +91,9 @@ with slides.Presentation() as pres: pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX) ``` -## **Désactiver l'axe horizontal pour les graphiques en ligne** - -Ce code vous montre comment masquer l'axe horizontal pour un graphique en ligne : +## **Désactiver l'axe horizontal pour les graphiques en courbe** +Ce code montre comment masquer l'axe horizontal d'un graphique en courbe : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -109,10 +105,9 @@ with slides.Presentation() as pres: pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX) ``` -## **Modifier l'axe de catégorie** - -En utilisant la propriété **CategoryAxisType**, vous pouvez spécifier votre type d'axe de catégorie préféré (**date** ou **texte**). Ce code en Python démontre l'opération : +## **Modifier l'axe des catégories** +En utilisant la propriété **CategoryAxisType**, vous pouvez spécifier le type d'axe des catégories souhaité (**date** ou **text**). Ce code en Python montre l'opération : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -126,9 +121,9 @@ with slides.Presentation(path + "ExistingChart.pptx") as presentation: presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Définir le format de date pour la valeur de l'axe de catégorie** -Aspose.Slides pour Python via .NET vous permet de définir le format de date pour une valeur de l'axe de catégorie. L'opération est démontrée dans ce code Python : +## **Définir le format de date pour la valeur de l'axe des catégories** +Aspose.Slides for Python via .NET vous permet de définir le format de date pour une valeur d'axe des catégories. L'opération est démontrée dans ce code Python : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -164,9 +159,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Définir l'angle de rotation pour le titre de l'axe du graphique** -Aspose.Slides pour Python via .NET vous permet de définir l'angle de rotation pour un titre d'axe de graphique. Ce code Python démontre l'opération : +## **Définir l'angle de rotation du titre de l'axe du graphique** +Aspose.Slides for Python via .NET vous permet de définir l'angle de rotation du titre d'un axe de graphique. Ce code Python montre l'opération : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -179,9 +174,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Définir l'axe de position dans un axe de catégorie ou de valeur** -Aspose.Slides pour Python via .NET vous permet de définir l'axe de position dans un axe de catégorie ou de valeur. Ce code Python montre comment effectuer la tâche : +## **Définir la position de l'axe dans un axe de catégorie ou de valeur** +Aspose.Slides for Python via .NET vous permet de définir la position de l'axe dans un axe de catégorie ou de valeur. Ce code Python montre comment réaliser la tâche : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -193,9 +188,9 @@ with slides.Presentation() as pres: pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX) ``` -## **Activer l'affichage de l'étiquette d'unité sur l'axe de valeur du graphique** -Aspose.Slides pour Python via .NET vous permet de configurer un graphique pour afficher une étiquette d'unité sur son axe de valeur de graphique. Ce code Python démontre l'opération : +## **Activer l'étiquette d'unité d'affichage sur l'axe de valeur du graphique** +Aspose.Slides for Python via .NET vous permet de configurer un graphique pour afficher une étiquette d'unité sur son axe de valeur. Ce code Python montre l'opération : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -204,4 +199,15 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300) chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS pres.save("Result.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment définir la valeur à laquelle un axe croise l'autre (croisement d'axe) ?** + +Les axes offrent un [paramètre de croisement](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/cross_type/) : vous pouvez choisir de croiser à zéro, au maximum de la catégorie/valeur, ou à une valeur numérique spécifique. Cela est utile pour déplacer l'axe X vers le haut ou le bas ou pour mettre en évidence une ligne de base. + +**Comment positionner les étiquettes de repère par rapport à l'axe (à côté, à l'extérieur, à l'intérieur) ?** + +Définissez la [position de l'étiquette](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/major_tick_mark/) sur "cross", "outside" ou "inside". Cela affecte la lisibilité et aide à économiser de l'espace, notamment sur les petits graphiques. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index d59731a1d2..10328ad7e2 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -15,58 +15,57 @@ keywords: - présentation - Python - Aspose.Slides -description: "Découvrez comment personnaliser les marqueurs de données de graphique dans Aspose.Slides, afin de renforcer l’impact des présentations aux formats PPT, PPTX et ODP grâce à des exemples de code clairs." +description: "Apprenez à personnaliser les marqueurs de données de graphique dans Aspose.Slides, en renforçant l'impact des présentations aux formats PPT, PPTX et ODP avec des exemples de code clairs." --- -## **Définir les Options de Marqueur de Graphique** -Les marqueurs peuvent être définis sur les points de données de graphique à l'intérieur de séries particulières. Pour définir les options de marqueur de graphique, veuillez suivre les étapes ci-dessous : +## **Définir les options de marqueur du graphique** +Les marqueurs peuvent être définis sur les points de données du graphique au sein de séries particulières. Pour définir les options de marqueur du graphique, suivez les étapes ci‑dessous : -- Instancier la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Créer le graphique par défaut. -- Définir l'image. -- Prendre la première série de graphique. -- Ajouter un nouveau point de données. -- Écrire la présentation sur le disque. - -Dans l'exemple donné ci-dessous, nous avons défini les options de marqueur de graphique au niveau des points de données. +- Instanciez la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +- Créez le graphique par défaut. +- Définissez l’image. +- Prenez la première série du graphique. +- Ajoutez un nouveau point de données. +- Enregistrez la présentation sur le disque. +Dans l’exemple ci‑dessous, nous avons défini les options de marqueur du graphique au niveau des points de données. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Créer une instance de la classe Presentation +# Créez une instance de la classe Presentation with slides.Presentation() as presentation: slide = presentation.slides[0] - # Créer le graphique par défaut + # Crée le graphique par défaut chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 0, 0, 400, 400) - # Obtenir l'index de la feuille de données de graphique par défaut + # Obtient l'index de la feuille de calcul de données du graphique par défaut defaultWorksheetIndex = 0 - # Obtenir la feuille de données de graphique + # Obtient la feuille de calcul de données du graphique fact = chart.chart_data.chart_data_workbook - # Supprimer les séries de démonstration + # Supprime la série de démonstration chart.chart_data.series.clear() - # Ajouter de nouvelles séries - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Série 1"), chart.type) + # Ajoute une nouvelle série + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) - # Définir l'image + # Définit l'image image1 = draw.Bitmap(path + "aspose-logo.jpg") imgx1 = presentation.images.add_image(image1) - # Définir l'image + # Définit l'image image2 = draw.Bitmap(path + "Tulips.jpg") imgx2 = presentation.images.add_image(image2) - # Prendre la première série de graphique + # Prend la première série du graphique series = chart.chart_data.series[0] - # Ajouter un nouveau point (1:3) là. + # Ajoute un nouveau point (1:3) ici. point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx1 @@ -83,9 +82,21 @@ with slides.Presentation() as presentation: point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx2 - # Changer le marqueur de la série de graphique + # Modifie le marqueur de la série du graphique series.marker.size = 15 - # Écrire la présentation sur le disque + # Enregistre la présentation sur le disque presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + + +## **FAQ** + +**Quelles formes de marqueur sont disponibles immédiatement ?** + +Des formes standard sont disponibles (cercle, carré, losange, triangle, etc.) ; la liste est définie par l’énumération [MarkerStyleType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/markerstyletype/). Si vous avez besoin d’une forme non standard, utilisez un marqueur avec un remplissage d’image pour émuler des visuels personnalisés. + +**Les marqueurs sont‑ils conservés lors de l’exportation d’un graphique vers une image ou un SVG ?** + +Oui. Lors du rendu des graphiques vers les [formats raster](/slides/fr/python-net/convert-powerpoint-to-png/) ou lors de l’enregistrement des [formes au format SVG](/slides/fr/python-net/render-a-slide-as-an-svg-image/), les marqueurs conservent leur apparence et leurs paramètres, y compris la taille, le remplissage et le contour. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index f2290013fd..1f6b97cbc9 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,100 +1,121 @@ --- -title: Légende de Graphique +title: Personnaliser les légendes de graphiques dans les présentations avec Python +linktitle: Légende de graphique type: docs url: /fr/python-net/chart-legend/ -keywords: "Légende de graphique, taille de police de légende, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Définir le positionnement et la taille de police pour la légende de graphique dans des présentations PowerPoint en Python" +keywords: +- légende de graphique +- position de la légende +- taille de police +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Personnalisez les légendes de graphiques avec Aspose.Slides for Python via .NET pour optimiser les présentations PowerPoint et OpenDocument avec un formatage de légende adapté." --- -## **Positionnement de la Légende** -Afin de définir les propriétés de la légende. Veuillez suivre les étapes ci-dessous : +## **Vue d’ensemble** -- Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Obtenir la référence de la diapositive. -- Ajouter un graphique sur la diapositive. -- Définir les propriétés de la légende. -- Enregistrer la présentation en tant que fichier PPTX. +Aspose.Slides for Python offre un contrôle complet sur les légendes de graphiques afin que vous puissiez rendre les libellés de données clairs et prêts pour la présentation. Vous pouvez afficher ou masquer la légende, choisir sa position sur la diapositive et ajuster la disposition pour éviter le chevauchement avec la zone du tracé. L’API vous permet de styliser le texte et les marqueurs, d’ajuster finement les marges et l’arrière‑plan, ainsi que de formater les bordures et les remplissages pour correspondre à votre thème. Les développeurs peuvent également accéder aux entrées de légende individuelles pour les renommer ou les filtrer, garantissant que seules les séries les plus pertinentes sont affichées. Avec ces possibilités, vos graphiques restent lisibles, cohérents et alignés sur les normes de conception de votre présentation. -Dans l'exemple donné ci-dessous, nous avons défini la position et la taille de la légende de graphique. +## **Positionnement de la légende** +Avec Aspose.Slides, vous pouvez rapidement contrôler où la légende du graphique apparaît et comment elle s’intègre à la mise en page de votre diapositive. Apprenez à placer la légende avec précision. + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenez une référence à la diapositive. +1. Ajoutez un graphique à la diapositive. +1. Définissez les propriétés de la légende. +1. Enregistrez la présentation au format PPTX. + +Dans l’exemple ci‑dessous, nous définissons la position et la taille de la légende du graphique : ```py import aspose.slides.charts as charts import aspose.slides as slides -# Créer une instance de la classe Presentation +# Créer une instance de la classe Presentation. with slides.Presentation() as presentation: - # Obtenir la référence de la diapositive + # Obtenir une référence à la diapositive. slide = presentation.slides[0] - # Ajouter un graphique à colonnes groupées sur la diapositive - chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 500, 500) + # Ajouter un graphique à colonnes groupées à la diapositive. + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 300) - # Définir les Propriétés de la Légende - chart.legend.x = 50 / chart.width - chart.legend.y = 50 / chart.height + # Définir les propriétés de la légende. + chart.legend.x = 80 / chart.width + chart.legend.y = 20 / chart.height chart.legend.width = 100 / chart.width chart.legend.height = 100 / chart.height - # Enregistrer la présentation sur le disque - presentation.save("Legend_out.pptx", slides.export.SaveFormat.PPTX) + # Enregistrer la présentation sur le disque. + presentation.save("legend_positioning.pptx", slides.export.SaveFormat.PPTX) ``` +## **Définir la taille de police de la légende** -## **Définir la Taille de Police de la Légende** -Aspose.Slides pour Python via .NET permet aux développeurs de définir la taille de police de la légende. Veuillez suivre les étapes ci-dessous : - -- Instancier la classe `Presentation`. -- Créer le graphique par défaut. -- Définir la Taille de la Police. -- Définir la valeur minimale de l'axe. -- Définir la valeur maximale de l'axe. -- Enregistrer la présentation sur le disque. +La légende d’un graphique doit être aussi lisible que les données qu’elle explique. Cette section montre comment ajuster la taille de police de la légende afin d’harmoniser la typographie de votre présentation et d’améliorer l’accessibilité. +1. Instanciez la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Créez un graphique. +1. Définissez la taille de police. +1. Enregistrez la présentation sur le disque. ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - chart.legend.text_format.portion_format.font_height = 20 - chart.axes.vertical_axis.is_automatic_min_value = False - chart.axes.vertical_axis.min_value = -5 - chart.axes.vertical_axis.is_automatic_max_value = False - chart.axes.vertical_axis.max_value = 10 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + chart.legend.text_format.portion_format.font_height = 20 - pres.save("output.pptx", slides.export.SaveFormat.PPTX) + presentation.save("font_size.pptx", slides.export.SaveFormat.PPTX) ``` -## **Définir la Taille de Police de Légende Individuelle** -Aspose.Slides pour Python via .NET permet aux développeurs de définir la taille de police des entrées individuelles de la légende. Veuillez suivre les étapes ci-dessous : +## **Définir la taille de police pour une entrée de légende** -- Instancier la classe `Presentation`. -- Créer le graphique par défaut. -- Accéder à l'entrée de la légende. -- Définir la Taille de la Police. -- Définir la valeur minimale de l'axe. -- Définir la valeur maximale de l'axe. -- Enregistrer la présentation sur le disque. +Aspose.Slides vous permet d’ajuster l’apparence des légendes de graphiques en formatant les entrées individuelles. L’exemple ci‑dessous montre comment cibler un élément de légende spécifique et définir ses propriétés sans modifier le reste de la légende. +1. Instanciez la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Créez un graphique. +1. Accédez à une entrée de légende. +1. Définissez les propriétés de l’entrée. +1. Enregistrez la présentation sur le disque. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw - - -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - tf = chart.legend.entries[1].text_format - - tf.portion_format.font_bold = 1 - tf.portion_format.font_height = 20 - tf.portion_format.font_italic = 1 - tf.portion_format.fill_format.fill_type = slides.FillType.SOLID - tf.portion_format.fill_format.solid_fill_color.color = draw.Color.blue - - pres.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + text_format = chart.legend.entries[1].text_format + + text_format.portion_format.font_bold = slides.NullableBool.TRUE + text_format.portion_format.font_height = 20 + text_format.portion_format.font_italic = slides.NullableBool.TRUE + text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID + text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.blue + + presentation.save("legend_entry.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**Puis‑je activer la légende afin que le graphique alloue automatiquement de l’espace au lieu de la superposer ?** + +Oui. Utilisez le mode non‑superposition ([overlay](https://reference.aspose.com/slides/python-net/aspose.slides.charts/legend/overlay/) = `false`) ; dans ce cas, la zone du tracé rétrécira pour accueillir la légende. + +**Puis‑je créer des libellés de légende multi‑lignes ?** + +Oui. Les libellés longs se renvoient automatiquement lorsqu’il n’y a pas assez d’espace ; les sauts de ligne forcés sont pris en charge via les caractères de nouvelle ligne dans le nom de la série. + +**Comment faire en sorte que la légende suive le schéma de couleurs du thème de la présentation ?** + +Ne définissez pas de couleurs/remplissages/polices explicites pour la légende ou son texte. Ils hériteront alors du thème et se mettront à jour correctement lorsque le design changera. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 6ff0a29c88..65b17ace41 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,33 @@ --- -title: Zone de Traçage du Graphique +title: Personnaliser les zones de tracé des graphiques de présentation en Python +linktitle: Zone de tracé type: docs url: /fr/python-net/chart-plot-area/ -keywords: "Zone de Traçage du Graphique présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Obtenez la largeur, la hauteur de la zone de traçage du graphique. Définissez le mode de disposition. Présentation PowerPoint en Python" +keywords: +- graphique +- zone de tracé +- largeur de la zone de tracé +- hauteur de la zone de tracé +- taille de la zone de tracé +- mode de mise en page +- PowerPoint +- présentation +- Python +- Aspose.Slides +description: "Découvrez comment personnaliser les zones de tracé des graphiques dans les présentations PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET. Améliorez facilement le rendu de vos diapositives." --- -## **Obtenez la Largeur, la Hauteur de la Zone de Traçage du Graphique** -Aspose.Slides pour Python via .NET fournit une API simple pour. - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . -1. Accédez à la première diapositive. -1. Ajoutez un graphique avec des données par défaut. -1. Appelez la méthode IChart.ValidateChartLayout() avant d'obtenir les valeurs réelles. -1. Obtient la position X réelle (gauche) de l'élément graphique par rapport au coin supérieur gauche du graphique. -1. Obtient le haut réel de l'élément graphique par rapport au coin supérieur gauche du graphique. -1. Obtient la largeur réelle de l'élément graphique. -1. Obtient la hauteur réelle de l'élément graphique. +## **Obtenir la largeur, la hauteur de la zone de tracé du graphique** +Aspose.Slides for Python via .NET fournit une API simple pour . +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Accédez à la première diapositive. +3. Ajoutez un graphique avec des données par défaut. +4. Appelez la méthode IChart.ValidateChartLayout() avant pour obtenir les valeurs réelles. +5. Obtient la position X réelle (gauche) de l'élément du graphique par rapport au coin supérieur gauche du graphique. +6. Obtient le haut réel de l'élément du graphique par rapport au coin supérieur gauche du graphique. +7. Obtient la largeur réelle de l'élément du graphique. +8. Obtient la hauteur réelle de l'élément du graphique. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -31,21 +41,18 @@ with slides.Presentation() as pres: w = chart.plot_area.actual_width h = chart.plot_area.actual_height - # Enregistrez la présentation avec le graphique + # Enregistrer la présentation avec le graphique pres.save("Chart_out.pptx", slides.export.SaveFormat.PPTX) ``` +## **Définir le mode de mise en page de la zone de tracé du graphique** +Aspose.Slides for Python via .NET fournit une API simple pour définir le mode de mise en page de la zone de tracé du graphique. La propriété **LayoutTargetType** a été ajoutée aux classes **ChartPlotArea** et **IChartPlotArea**. Si la mise en page de la zone de tracé est définie manuellement, cette propriété indique s'il faut mettre en page la zone de tracé par son intérieur (sans inclure les axes et les étiquettes d'axe) ou par son extérieur (en incluant les axes et les étiquettes d'axe). Il existe deux valeurs possibles qui sont définies dans l'énumération **LayoutTargetType**. +- **LayoutTargetType.Inner** - indique que la taille de la zone de tracé doit déterminer la taille de la zone de tracé, sans inclure les marques de graduation et les étiquettes d'axe. +- **LayoutTargetType.Outer** - indique que la taille de la zone de tracé doit déterminer la taille de la zone de tracé, les marques de graduation et les étiquettes d'axe. -## **Définir le Mode de Disposition de la Zone de Traçage du Graphique** -Aspose.Slides pour Python via .NET fournit une API simple pour définir le mode de disposition de la zone de traçage du graphique. La propriété **LayoutTargetType** a été ajoutée aux classes **ChartPlotArea** et **IChartPlotArea**. Si la disposition de la zone de traçage est définie manuellement, cette propriété spécifie si la zone de traçage doit être disposée par son intérieur (sans inclure les axes et les étiquettes des axes) ou par son extérieur (en incluant les axes et les étiquettes des axes). Il existe deux valeurs possibles qui sont définies dans l'énumération **LayoutTargetType**. - -- **LayoutTargetType.Inner** - précise que la taille de la zone de traçage doit déterminer la taille de la zone de traçage, sans inclure les marques de graduation et les étiquettes des axes. -- **LayoutTargetType.Outer** - précise que la taille de la zone de traçage doit déterminer la taille de la zone de traçage, les marques de graduation et les étiquettes des axes. - -Le code d'exemple est donné ci-dessous. - +Le code d'exemple est fourni ci-dessous. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -60,4 +67,23 @@ with slides.Presentation() as presentation: chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Dans quelles unités sont retournés actual_x, actual_y, actual_width et actual_height ?** + +En points ; 1 pouce = 72 points. Il s’agit des unités de coordonnées d’Aspose.Slides. + +**En quoi la zone de tracé diffère-t-elle de la zone du graphique en termes de contenu ?** + +La zone de tracé est la région de dessin des données (séries, quadrillages, lignes de tendance, etc.) ; la zone du graphique comprend les éléments environnants (titre, légende, etc.). Dans les graphiques 3D, la zone de tracé inclut également les murs/plancher et les axes. + +**Comment les X, Y, Largeur et Hauteur de la zone de tracé sont-ils interprétés lorsqu la mise en page est manuelle ?** + +Ce sont des fractions (0–1) de la taille globale du graphique ; dans ce mode, le positionnement automatique est désactivé et les fractions que vous définissez sont utilisées. + +**Pourquoi la position de la zone de tracé a‑t‑elle changé après l’ajout ou le déplacement de la légende ?** + +La légende se trouve dans la zone du graphique à l’extérieur de la zone de tracé, mais elle influence la mise en page et l’espace disponible, de sorte que la zone de tracé peut se déplacer lorsque le positionnement automatique est actif. (Ceci est le comportement standard des graphiques PowerPoint.) \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md index 89c29e4590..4cf386aa8c 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md @@ -1,29 +1,28 @@ --- -title: Personnaliser les barres d’erreur dans les graphiques de présentation avec Python -linktitle: Barre d’erreur +title: Personnaliser les barres d'erreur dans les graphiques de présentation avec Python +linktitle: Barre d'erreur type: docs url: /fr/python-net/error-bar/ keywords: -- barre d’erreur +- barre d'erreur - valeur personnalisée - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Apprenez à ajouter et à personnaliser des barres d’erreur dans les graphiques avec Aspose.Slides for Python via .NET—optimisez la visualisation des données dans les présentations PowerPoint et OpenDocument." +description: "Apprenez comment ajouter et personnaliser les barres d'erreur dans les graphiques avec Aspose.Slides for Python via .NET — optimisez la visualisation des données dans les présentations PowerPoint et OpenDocument." --- -## **Ajouter une barre d'erreur** -Aspose.Slides pour Python via .NET fournit une API simple pour gérer les valeurs des barres d'erreur. Le code source s'applique lors de l'utilisation d'un type de valeur personnalisé. Pour spécifier une valeur, utilisez la propriété **ErrorBarCustomValues** d'un point de données spécifique dans la collection **DataPoints** de la série : +## **Ajouter une barre d’erreur** +Aspose.Slides for Python via .NET fournit une API simple pour gérer les valeurs des barres d’erreur. Le code d’exemple s’applique lors de l’utilisation d’un type de valeur personnalisé. Pour spécifier une valeur, utilisez la propriété **ErrorBarCustomValues** d’un point de données spécifique dans la collection **DataPoints** de la série : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. Ajoutez un graphique à bulles sur la diapositive souhaitée. -1. Accédez à la première série de graphiques et définissez le format de la barre d'erreur X. -1. Accédez à la première série de graphiques et définissez le format de la barre d'erreur Y. -1. Définir les valeurs et le format des barres. -1. Écrivez la présentation modifiée dans un fichier PPTX. - +1. Accédez à la première série du graphique et définissez le format de la barre d’erreur X. +1. Accédez à la première série du graphique et définissez le format de la barre d’erreur Y. +1. Définissez les valeurs et le format des barres. +1. Enregistrez la présentation modifiée dans un fichier PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -33,7 +32,7 @@ with slides.Presentation() as presentation: # Création d'un graphique à bulles chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # Ajout de barres d'erreur et définition de son format + # Ajout des barres d'erreur et définition de leur format errBarX = chart.chart_data.series[0].error_bars_x_format errBarY = chart.chart_data.series[0].error_bars_y_format errBarX.is_visible = True @@ -51,18 +50,16 @@ with slides.Presentation() as presentation: ``` - -## **Ajouter une valeur de barre d'erreur personnalisée** -Aspose.Slides pour Python via .NET fournit une API simple pour gérer les valeurs de barre d'erreur personnalisées. Le code source s'applique lorsque la propriété **IErrorBarsFormat.ValueType** est égale à **Custom**. Pour spécifier une valeur, utilisez la propriété **ErrorBarCustomValues** d'un point de données spécifique dans la collection **DataPoints** de la série : +## **Ajouter une valeur de barre d’erreur personnalisée** +Aspose.Slides for Python via .NET fournit une API simple pour gérer les valeurs de barre d’erreur personnalisées. Le code d’exemple s’applique lorsque la propriété **IErrorBarsFormat.ValueType** est égale à **Custom**. Pour spécifier une valeur, utilisez la propriété **ErrorBarCustomValues** d’un point de données spécifique dans la collection **DataPoints** de la série : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. Ajoutez un graphique à bulles sur la diapositive souhaitée. -1. Accédez à la première série de graphiques et définissez le format de la barre d'erreur X. -1. Accédez à la première série de graphiques et définissez le format de la barre d'erreur Y. -1. Accédez aux points de données individuels de la série de graphiques et définissez les valeurs de la barre d'erreur pour le point de données de la série individuelle. -1. Définir les valeurs et le format des barres. -1. Écrivez la présentation modifiée dans un fichier PPTX. - +1. Accédez à la première série du graphique et définissez le format de la barre d’erreur X. +1. Accédez à la première série du graphique et définissez le format de la barre d’erreur Y. +1. Accédez aux points de données individuels de la série du graphique et définissez les valeurs de la barre d’erreur pour chaque point de données de la série. +1. Définissez les valeurs et le format des barres. +1. Enregistrez la présentation modifiée dans un fichier PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -72,7 +69,7 @@ with slides.Presentation() as presentation: # Création d'un graphique à bulles chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # Ajout de barres d'erreur personnalisées et définition de son format + # Ajout de barres d'erreur personnalisées et définition de leur format series = chart.chart_data.series[0] errBarX = series.error_bars_x_format errBarY = series.error_bars_y_format @@ -81,14 +78,14 @@ with slides.Presentation() as presentation: errBarX.value_type = charts.ErrorBarValueType.CUSTOM errBarY.value_type = charts.ErrorBarValueType.CUSTOM - # Accéder aux points de données de la série de graphiques et définir les valeurs des barres d'erreur pour chaque point + # Accès au point de données de la série du graphique et définition des valeurs des barres d'erreur pour le point individuel points = series.data_points points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_minus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_minus_values = charts.DataSourceType.DOUBLE_LITERALS - # Définir les barres d'erreur pour les points de la série de graphiques + # Définition des barres d'erreur pour les points de la série du graphique for i in range(len(points)): points[i].error_bars_custom_values.x_minus.as_literal_double = i + 1 points[i].error_bars_custom_values.x_plus.as_literal_double = i + 1 @@ -97,4 +94,19 @@ with slides.Presentation() as presentation: # Enregistrement de la présentation presentation.save("ErrorBarsCustomValues_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Que se passe-t-il avec les barres d’erreur lors de l’exportation d’une présentation vers PDF ou images ?** + +Elles sont rendues comme partie du graphique et conservées lors de la conversion avec le reste du formatage du graphique, à condition d’utiliser une version ou un moteur compatible. + +**Les barres d’erreur peuvent‑elles être combinées avec des repères et des étiquettes de données ?** + +Oui. Les barres d’erreur sont un élément distinct et sont compatibles avec les repères et les étiquettes de données ; si les éléments se chevauchent, il peut être nécessaire d’ajuster le formatage. + +**Où puis‑je trouver la liste des propriétés et des énumérations pour travailler avec les barres d’erreur dans l’API ?** + +Dans la référence de l’API : la classe [ErrorBarsFormat](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarsformat/) et les énumérations associées [ErrorBarType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbartype/) et [ErrorBarValueType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarvaluetype/). \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md index 8f803de66c..f2eda22edd 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md @@ -1,42 +1,41 @@ --- -title: Ajouter des courbes de tendance aux graphiques de présentation en Python -linktitle: Courbe de tendance +title: Ajouter des lignes de tendance aux graphiques de présentation en Python +linktitle: Ligne de tendance type: docs url: /fr/python-net/trend-line/ keywords: - graphique -- courbe de tendance -- courbe de tendance exponentielle -- courbe de tendance linéaire -- courbe de tendance logarithmique -- courbe de tendance de moyenne mobile -- courbe de tendance polynomiale -- courbe de tendance de puissance -- courbe de tendance personnalisée +- ligne de tendance +- ligne de tendance exponentielle +- ligne de tendance linéaire +- ligne de tendance logarithmique +- ligne de tendance moyenne mobile +- ligne de tendance polynomiale +- ligne de tendance puissance +- ligne de tendance personnalisée - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Ajoutez et personnalisez rapidement des courbes de tendance dans les graphiques PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET — un guide pratique accompagné d'exemples de code pour améliorer la précision des prévisions et capter l'attention de votre public." +description: "Ajoutez et personnalisez rapidement des lignes de tendance dans les graphiques PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET — un guide pratique et des exemples de code pour améliorer la précision des prévisions et captiver votre public." --- -## **Ajouter une Ligne de Tendance** -Aspose.Slides pour Python via .NET fournit une API simple pour gérer différentes Lignes de Tendance de graphique : - -1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenir une référence à une diapositive par son index. -1. Ajouter un graphique avec des données par défaut avec le type souhaité (cet exemple utilise ChartType.CLUSTERED_COLUMN). -1. Ajouter une ligne de tendance exponentielle pour la série de graphique 1. -1. Ajouter une ligne de tendance linéaire pour la série de graphique 1. -1. Ajouter une ligne de tendance logarithmique pour la série de graphique 2. -1. Ajouter une ligne de tendance de moyenne mobile pour la série de graphique 2. -1. Ajouter une ligne de tendance polynomiale pour la série de graphique 3. -1. Ajouter une ligne de tendance puissance pour la série de graphique 3. -1. Écrire la présentation modifiée dans un fichier PPTX. - -Le code suivant est utilisé pour créer un graphique avec des Lignes de Tendance. - +## **Ajouter une ligne de tendance** +Aspose.Slides for Python via .NET fournit une API simple pour gérer différentes lignes de tendance de graphiques : + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez la référence d’une diapositive par son indice. +3. Ajoutez un graphique avec des données par défaut ainsi que le type souhaité (cet exemple utilise ChartType.CLUSTERED_COLUMN). +4. Ajout d’une ligne de tendance exponentielle pour la série 1 du graphique. +5. Ajout d’une ligne de tendance linéaire pour la série 1 du graphique. +6. Ajout d’une ligne de tendance logarithmique pour la série 2 du graphique. +7. Ajout d’une ligne de tendance moyenne mobile pour la série 2 du graphique. +8. Ajout d’une ligne de tendance polynomiale pour la série 3 du graphique. +9. Ajout d’une ligne de tendance puissance pour la série 3 du graphique. +10. Enregistrez la présentation modifiée dans un fichier PPTX. + +Le code suivant est utilisé pour créer un graphique avec des lignes de tendance. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -45,61 +44,59 @@ import aspose.pydrawing as draw # Création d'une présentation vide with slides.Presentation() as pres: - # Création d'un graphique en colonnes groupées + # Création d'un graphique à colonnes groupées chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) - # Ajout d'une ligne de tendance exponentielle pour la série de graphique 1 + # Ajout d'une ligne de tendance exponentielle pour la série 1 du graphique tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) tredLinep.display_equation = False tredLinep.display_r_squared_value = False - # Ajout d'une ligne de tendance linéaire pour la série de graphique 1 + # Ajout d'une ligne de tendance linéaire pour la série 1 du graphique tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) tredLineLin.trendline_type = charts.TrendlineType.LINEAR tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red - # Ajout d'une ligne de tendance logarithmique pour la série de graphique 2 + # Ajout d'une ligne de tendance logarithmique pour la série 2 du graphique tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC - tredLineLog.add_text_frame_for_overriding("Nouvelle ligne de tendance logarithmique") + tredLineLog.add_text_frame_for_overriding("New log trend line") - # Ajout d'une ligne de tendance de moyenne mobile pour la série de graphique 2 + # Ajout d'une ligne de tendance moyenne mobile pour la série 2 du graphique tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE tredLineMovAvg.period = 3 - tredLineMovAvg.trendline_name = "Nouveau nom de ligne de tendance" + tredLineMovAvg.trendline_name = "New TrendLine Name" - # Ajout d'une ligne de tendance polynomiale pour la série de graphique 3 + # Ajout d'une ligne de tendance polynomiale pour la série 3 du graphique tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL tredLinePol.forward = 1 tredLinePol.order = 3 - # Ajout d'une ligne de tendance puissance pour la série de graphique 3 + # Ajout d'une ligne de tendance puissance pour la série 3 du graphique tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) tredLinePower.trendline_type = charts.TrendlineType.POWER tredLinePower.backward = 1 - # Sauvegarde de la présentation + # Enregistrement de la présentation pres.save("Charttrend_lines_out.pptx", slides.export.SaveFormat.PPTX) ``` +## **Ajouter une ligne personnalisée** +Aspose.Slides for Python via .NET fournit une API simple pour ajouter des lignes personnalisées dans un graphique. Pour ajouter une ligne simple et simple à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci‑dessous : -## **Ajouter une Ligne Personnalisée** -Aspose.Slides pour Python via .NET fournit une API simple pour ajouter des lignes personnalisées dans un graphique. Pour ajouter une simple ligne droite à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci-dessous : - -- Créer une instance de la classe Presentation -- Obtenir la référence d'une diapositive en utilisant son index -- Créer un nouveau graphique en utilisant la méthode AddChart exposée par l'objet Shapes -- Ajouter une AutoShape de type Ligne en utilisant la méthode AddAutoShape exposée par l'objet Shapes -- Définir la couleur des lignes de la forme. -- Écrire la présentation modifiée en tant que fichier PPTX - -Le code suivant est utilisé pour créer un graphique avec des Lignes Personnalisées. +- Créez une instance de la classe Presentation +- Obtenez la référence d’une diapositive en utilisant son Index +- Créez un nouveau graphique en utilisant la méthode AddChart exposée par l’objet Shapes +- Ajoutez une AutoShape de type Ligne en utilisant la méthode AddAutoShape exposée par l’objet Shapes +- Définissez la couleur des lignes de la forme. +- Enregistrez la présentation modifiée en tant que fichier PPTX +Le code suivant est utilisé pour créer un graphique avec des lignes personnalisées. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -111,4 +108,13 @@ with slides.Presentation() as pres: shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red pres.save("AddCustomLines.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Que signifient « forward » et « backward » pour une ligne de tendance ?** +Il s’agit des longueurs de la ligne de tendance projetées vers l’avant ou vers l’arrière : pour les graphiques de dispersion (XY) — en unités d’axe ; pour les graphiques non dispersés — en nombre de catégories. seules les valeurs non négatives sont autorisées. + +**La ligne de tendance sera‑t‑elle conservée lors de l’exportation de la présentation vers PDF ou SVG, ou lors du rendu d’une diapositive en image ?** +Oui. Aspose.Slides convertit les présentations en [PDF](/slides/fr/python-net/convert-powerpoint-to-pdf/)/[SVG](/slides/fr/python-net/render-a-slide-as-an-svg-image/) et rend les graphiques en images ; les lignes de tendance, en tant que partie du graphique, sont conservées pendant ces opérations. Une méthode est également disponible pour [exporter une image du graphique](/slides/fr/python-net/create-shape-thumbnails/). \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md index 7142e7af64..1046b23a8c 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md @@ -1,20 +1,28 @@ --- -title: Graphique 3D +title: Personnaliser les graphiques 3D dans les présentations avec Python +linktitle: Graphique 3D type: docs url: /fr/python-net/3d-chart/ -keywords: "graphique 3d, rotationX, rotationY, profondeurpourcentage, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Définir rotationX, rotationY et profondeurpourcentages pour un graphique 3D dans une présentation PowerPoint en Python" +keywords: +- graphique 3d +- rotation +- profondeur +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Apprenez à créer et personnaliser des graphiques 3D dans Aspose.Slides pour Python via .NET, avec prise en charge des fichiers PPT, PPTX et ODP—boostez vos présentations dès aujourd'hui." --- -## **Définir les propriétés RotationX, RotationY et DepthPercents du graphique 3D** -Aspose.Slides pour Python via .NET fournit une API simple pour définir ces propriétés. Cet article suivant vous aidera à définir différentes propriétés comme la rotation X, Y, **DepthPercents**, etc. Le code d'exemple applique la définition des propriétés susmentionnées. +## **Définir les propriétés RotationX, RotationY et DepthPercents d'un graphique 3D** +Aspose.Slides for Python via .NET fournit une API simple pour définir ces propriétés. Cet article vous aidera à définir différentes propriétés telles que la rotation X,Y, **DepthPercents**, etc. Le code d'exemple montre comment appliquer ces paramètres. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. Accédez à la première diapositive. 1. Ajoutez un graphique avec des données par défaut. 1. Définissez les propriétés Rotation3D. -1. Écrivez la présentation modifiée dans un fichier PPTX. - +1. Enregistrez la présentation modifiée dans un fichier PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -23,26 +31,26 @@ import aspose.pydrawing as draw # Créer une instance de la classe Presentation with slides.Presentation() as presentation: - # Accéder à la première diapositive + # Accédez à la première diapositive slide = presentation.slides[0] - # Ajouter un graphique avec des données par défaut + # Ajoutez un graphique avec des données par défaut chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN_3D, 0, 0, 500, 500) - # Définir l'index de la feuille de données du graphique + # Définition de l'index de la feuille de données du graphique defaultWorksheetIndex = 0 - # Obtenir la feuille de calcul des données du graphique + # Obtention de la feuille de calcul des données du graphique fact = chart.chart_data.chart_data_workbook # Ajouter des séries - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Série 1"), chart.type) - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Série 2"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type) # Ajouter des catégories - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Catégorie 1")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Catégorie 2")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Catégorie 3")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")) # Définir les propriétés Rotation3D chart.rotation_3d.right_angle_axes = True @@ -50,10 +58,10 @@ with slides.Presentation() as presentation: chart.rotation_3d.rotation_y = 270 chart.rotation_3d.depth_percents = 150 - # Prendre la deuxième série de graphique + # Prendre la deuxième série du graphique series = chart.chart_data.series[1] - # Maintenant, peupler les données de la série + # Maintenant, remplissage des données de la série series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) @@ -64,6 +72,21 @@ with slides.Presentation() as presentation: # Définir la valeur OverLap series.parent_series_group.overlap = 100 - # Écrire la présentation sur le disque + # Enregistrer la présentation sur le disque presentation.save("Rotation3D_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quels types de graphiques prennent en charge le mode 3D dans Aspose.Slides ?** + +Aspose.Slides prend en charge les variantes 3D des graphiques en colonnes, notamment Column 3D, Clustered Column 3D, Stacked Column 3D et 100 % Stacked Column 3D, ainsi que les types 3D associés exposés via l'énumération [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/). Pour obtenir une liste précise et à jour, consultez les membres de [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) dans la référence API de la version installée. + +**Puis-je obtenir une image raster d'un graphique 3D pour un rapport ou le web ?** + +Oui. Vous pouvez exporter un graphique en image via l'[API de graphique](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) ou [rendre la diapositive entière](/slides/fr/python-net/convert-powerpoint-to-png/) dans des formats tels que PNG ou JPEG. Cela est utile lorsque vous avez besoin d’un aperçu pixel‑perfect ou que vous souhaitez intégrer le graphique dans des documents, tableaux de bord ou pages web sans nécessiter PowerPoint. + +**Quelle est la performance de la création et du rendu de grands graphiques 3D ?** + +Les performances dépendent du volume de données et de la complexité visuelle. Pour de meilleurs résultats, limitez les effets 3D, évitez les textures lourdes sur les murs et les zones de tracé, réduisez le nombre de points de données par série lorsque cela est possible, et rendez la sortie à une taille appropriée (résolution et dimensions) pour correspondre à l’affichage ou à l’impression cible. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md index 001600ad18..b9544c3cb4 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md @@ -6,19 +6,18 @@ url: /fr/python-net/bubble-chart/ keywords: - graphique à bulles - taille de bulle -- mise à l’échelle de la taille +- mise à l'échelle de la taille - représentation de la taille - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Créez et personnalisez des graphiques à bulles puissants dans PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET afin d’améliorer facilement votre visualisation de données." +description: "Créez et personnalisez de puissants graphiques à bulles dans PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET afin d'améliorer facilement votre visualisation de données." --- -## **Mise à l'échelle de la taille des graphiques en bulles** -Aspose.Slides pour Python via .NET prend en charge la mise à l'échelle de la taille des graphiques en bulles. Dans Aspose.Slides pour Python via .NET, les propriétés **ChartSeries.bubble_size_scale** et **ChartSeriesGroup.bubble_size_scale** ont été ajoutées. Un exemple d'échantillon est donné ci-dessous. - +## **Mise à l'échelle des tailles de diagramme à bulles** +Aspose.Slides for Python via .NET offre une prise en charge de la mise à l'échelle des tailles de diagramme à bulles. Dans Aspose.Slides for Python via .NET les propriétés **ChartSeries.bubble_size_scale** et **ChartSeriesGroup.bubble_size_scale** ont été ajoutées. L'exemple de code ci‑dessous est fourni. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -32,9 +31,9 @@ with slides.Presentation() as pres: -## **Représenter des données sous forme de tailles de graphique en bulles** -La propriété **bubble_size_representation** a été ajoutée aux classes ChartSeries et ChartSeriesGroup. **bubble_size_representation** spécifie comment les valeurs de taille des bulles sont représentées dans le graphique en bulles. Les valeurs possibles sont : **BubbleSizeRepresentationType.AREA** et **BubbleSizeRepresentationType.WIDTH**. En conséquence, l'énumération **BubbleSizeRepresentationType** a été ajoutée pour spécifier les méthodes possibles pour représenter des données sous forme de tailles de graphique en bulles. Un code d'exemple est donné ci-dessous. +## **Représenter les données en tant que tailles de diagramme à bulles** +La propriété **bubble_size_representation** a été ajoutée aux classes ChartSeries et ChartSeriesGroup. **bubble_size_representation** indique comment les valeurs de taille des bulles sont représentées dans le diagramme à bulles. Les valeurs possibles sont : **BubbleSizeRepresentationType.AREA** et **BubbleSizeRepresentationType.WIDTH**. En conséquence, l'énumération **BubbleSizeRepresentationType** a été ajoutée pour spécifier les manières possibles de représenter les données sous forme de tailles de diagramme à bulles. Le code d'exemple est indiqué ci‑dessous. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -43,4 +42,19 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True) chart.chart_data.series_groups[0].bubble_size_representation = charts.BubbleSizeRepresentationType.WIDTH pres.save("Presentation_BubbleSizeRepresentation.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Le « diagramme à bulles avec effet 3D » est‑il pris en charge, et en quoi diffère‑t‑il d’un diagramme standard ?** + +Oui. Il existe un type de graphique distinct, « Bubble with 3-D ». Il applique un style 3D aux bulles mais n’ajoute pas d’axe supplémentaire ; les données restent X‑Y‑S (taille). Le type est disponible dans l’[type de graphique](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) enumeration. + +**Existe‑t‑il une limite au nombre de séries et de points dans un diagramme à bulles ?** + +Il n’y a pas de limite stricte au niveau de l’API ; les contraintes dépendent des performances et de la version cible de PowerPoint. Il est recommandé de garder le nombre de points raisonnable pour assurer la lisibilité et la vitesse de rendu. + +**Comment l’exportation affecte‑t‑elle l’apparence d’un diagramme à bulles (PDF, images) ?** + +L’exportation vers les formats pris en charge conserve l’apparence du graphique ; le rendu est effectué par le moteur Aspose.Slides. Pour les formats raster/vectoriels, les règles générales de rendu des graphiques s’appliquent (résolution, anti‑aliasing), il convient donc de choisir une DPI suffisante pour l’impression. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md index 7d71edc4ea..3235498498 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md @@ -4,93 +4,113 @@ linktitle: Points de données dans les graphiques Treemap et Sunburst type: docs url: /fr/python-net/data-points-of-treemap-and-sunburst-chart/ keywords: -- graphique treemap -- graphique sunburst -- point de données -- couleur d’étiquette +- graphique Treemap +- graphique Sunburst +- point de donnée +- couleur d'étiquette - couleur de branche - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Découvrez comment gérer les points de données dans les graphiques treemap et sunburst avec Aspose.Slides for Python via .NET, compatible avec les formats PowerPoint et OpenDocument." +description: "Apprenez à gérer les points de données dans les graphiques Treemap et Sunburst avec Aspose.Slides pour Python via .NET, compatible avec les formats PowerPoint et OpenDocument." --- -Parmi les autres types de graphiques PowerPoint, il existe deux types "hiérarchiques" - **Treemap** et **Sunburst** (également connus sous le nom de Graphique Sunburst, Diagramme Sunburst, Graphique Radial ou Graphique à Secteurs Multi Niveaux). Ces graphiques affichent des données hiérarchiques organisées sous forme d'arbre - des feuilles jusqu'au sommet de la branche. Les feuilles sont définies par les points de données de la série, et chaque niveau de regroupement imbriqué suivant est défini par la catégorie correspondante. Aspose.Slides pour Python via .NET permet de formater les points de données des graphiques Sunburst et Treemap en Python. +## **Introduction** -Voici un graphique Sunburst, où les données de la colonne Series1 définissent les nœuds feuilles, tandis que d'autres colonnes définissent des points de données hiérarchiques : +Parmi les autres types de graphiques PowerPoint, il en existe deux hiérarchiques — **Treemap** et **Sunburst** (également connu sous le nom de graphique Sunburst, diagramme Sunburst, graphique radial, diagramme radial ou diagramme à secteurs multiniveaux). Ces graphiques affichent des données hiérarchiques organisées sous forme d'arbre – des feuilles jusqu'au sommet d'une branche. Les feuilles sont définies par les points de données de la série, et chaque niveau de regroupement imbriqué suivant est défini par la catégorie correspondante. Aspose.Slides for Python via .NET vous permet de formater les points de données des graphiques Sunburst et Treemap en Python. -![todo:image_alt_text](https://lh6.googleusercontent.com/TSSU5O7SLOi5NZD9JaubhgGU1QU5tYKc23RQX_cal3tlz5TpOvsgUFLV_rHvruwN06ft1XYgsLhbeEDXzVqdAybPIbpfGy-lwoQf_ydxDwcjAeZHWfw61c4koXezAAlEeCA7x6BZ) +Voici un graphique Sunburst où les données de la colonne Series1 définissent les nœuds feuilles, tandis que les autres colonnes définissent les points de données hiérarchiques : -Commençons par ajouter un nouveau graphique Sunburst à la présentation : +![Sunburst chart example](sunburst_example.png) +Commençons par ajouter un nouveau graphique Sunburst à la présentation : ```py -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) ``` -{{% alert color="primary" title="Voir aussi" %}} -- [**Créer un graphique Sunburst**](/slides/fr/python-net/adding-charts/#addingcharts-creatingsunburstchart) + +{{% alert color="primary" title="Voir aussi" %}} +- [**Créer des graphiques Sunburst**](/slides/fr/python-net/create-chart/#create-sunburst-charts) {{% /alert %}} -S'il est nécessaire de formater les points de données du graphique, nous devrions utiliser ce qui suit : - -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/),  -[IChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) classes  -et [**IChartDataPoint.DataPointLevels**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapoint/) propriété  -fournissent un accès pour formater les points de données des graphiques Treemap et Sunburst.  -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/) -est utilisé pour accéder à des catégories multi-niveaux - il représente le conteneur des -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) objets. -C'est essentiellement un wrapper pour -[**IChartCategoryLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartCategoryLevelsManager/) avec -les propriétés ajoutées spécifiques aux points de données.  -La classe [**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) a -deux propriétés : [**Format**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) et  -[**DataLabel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) qui -fournissent un accès aux paramètres correspondants. -## **Afficher la valeur du point de donnée** -Afficher la valeur du point de donnée "Feuille 4" : +Si vous devez formater les points de données du graphique, utilisez les API suivantes : +[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/), [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/), et la propriété [ChartDataPoint.data_point_levels](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapoint/data_point_levels/) . Elles donnent accès au formatage des points de données dans les graphiques Treemap et Sunburst. [ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/) est utilisé pour accéder aux catégories à plusieurs niveaux ; il représente un conteneur d'objets [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/). C'est essentiellement un wrapper autour de [ChartCategoryLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartcategorylevelsmanager/) avec des propriétés supplémentaires spécifiques aux points de données. Le type [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/) expose deux propriétés—[format](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/format/) et [label](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/label/)—qui donnent accès aux paramètres correspondants. +## **Afficher les valeurs des points de données** + +Cette section montre comment afficher la valeur des points de données individuels dans les graphiques Treemap et Sunburst. Vous verrez comment activer les étiquettes de valeur pour les points sélectionnés. + +Affichez la valeur du point de données "Leaf 4" : ```py - dataPoints = chart.chart_data.series[0].data_points - dataPoints[3].data_point_levels[0].label.data_label_format.show_value = True +data_points = chart.chart_data.series[0].data_points +data_points[3].data_point_levels[0].label.data_label_format.show_value = True ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/bKHMf5Bj37ZkMwUE1OfXjw7_CRmDhafhQOUuVWDmitwbtdkwD68ibWluY6Q1HQz_z2Q-BR_SBrBPZ_gID5bGH0PUqI5w37S22RT-ZZal6k7qIDstKntYi5QXS8z-SgpnsI78WGiu) -## **Définir l'étiquette et la couleur du point de donnée** -Définir l'étiquette du point de donnée "Branche 1" pour montrer le nom de la série ("Series1") au lieu du nom de la catégorie. Ensuite, définir la couleur du texte sur jaune : +![Valeur du point de données](data_point_value.png) + +## **Définir les étiquettes et les couleurs pour les points de données** + +Cette section montre comment définir des étiquettes et des couleurs personnalisées pour les points de données individuels dans les graphiques Treemap et Sunburst. Vous apprendrez comment accéder à un point de données spécifique, attribuer une étiquette et appliquer un remplissage uni afin de mettre en évidence les nœuds importants. + +Définissez l'étiquette de données "Branch 1" pour afficher le nom de la série ("Series1") au lieu du nom de la catégorie, puis définissez la couleur du texte en jaune : ```py - branch1Label = dataPoints[0].data_point_levels[2].label - branch1Label.data_label_format.show_category_name = False - branch1Label.data_label_format.show_series_name = True +branch1_label = data_points[0].data_point_levels[2].label +branch1_label.data_label_format.show_category_name = False +branch1_label.data_label_format.show_series_name = True - branch1Label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID - branch1Label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow +branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID +branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/I9g0kewJnxkhUVlfSWRN39Ng-wzjWyRwF3yTbOD9HhLTLBt_sMJiEfDe7vOfqRNx89o9AVZsYTW3Vv_TIuj4EgM4_UEEi7zQ3jdvaO8FoG2JcsOqNRgbiE5HQZNz8xx_q9qdj8JQ) -## **Définir la couleur de la branche du point de donnée** -Changer la couleur de la branche "Tige 4" : +![Étiquette et couleur du point de données](data_point_color.png) + +## **Définir les couleurs de branche pour les points de données** +Utilisez les couleurs de branche pour contrôler la façon dont les nœuds parents et enfants sont regroupés visuellement dans les graphiques Treemap et Sunburst. Cette section montre comment définir une couleur de branche personnalisée pour un point de données spécifique afin de mettre en évidence les sous‑arbres importants et d'améliorer la lisibilité du graphique. + +Modifiez la couleur de la branche "Stem 4" : ```py -import aspose.slides.charts as charts import aspose.slides as slides +import aspose.slides.charts as charts import aspose.pydrawing as draw -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) - dataPoints = chart.chart_data.series[0].data_points +with slides.Presentation() as presentation: + slide = presentation.slides[0] - stem4branch = dataPoints[9].data_point_levels[1] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) + data_points = chart.chart_data.series[0].data_points + + stem4_branch = data_points[9].data_point_levels[1] - stem4branch.format.fill.fill_type = slides.FillType.SOLID - stem4branch.format.fill.solid_fill_color.color = draw.Color.red + stem4_branch.format.fill.fill_type = slides.FillType.SOLID + stem4_branch.format.fill.solid_fill_color.color = draw.Color.red - pres.save("pres.pptx", slides.export.SaveFormat.PPTX) + presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX) ``` -![todo:image_alt_text](https://lh5.googleusercontent.com/Zll4cpQ5tTDdgwmJ4yuupolfGaANR8SWWTU3XaJav_ZVXVstV1pI1z1OFH-gov6FxPoDz1cxmMyrgjsdYGS24PlhaYa2daKzlNuL1a0xYcqEiyyO23AE6JMOLavWpvqA6SzOCA6_) \ No newline at end of file + +![Couleur de branche](branch_color.png) + +## **FAQ** + +**Puis-je modifier l'ordre (tri) des segments dans Sunburst/Treemap ?** + +Non. PowerPoint trie les segments automatiquement (généralement par valeurs décroissantes, dans le sens des aiguilles d’une montre). Aspose.Slides reproduit ce comportement : vous ne pouvez pas modifier l’ordre directement ; vous devez le faire en prétraitant les données. + +**Comment le thème de la présentation affecte-t-il les couleurs des segments et des étiquettes ?** + +Les couleurs du graphique héritent du [theme/palette](/slides/fr/python-net/presentation-theme/) de la présentation, à moins que vous ne définissiez explicitement les remplissages ou les polices. Pour des résultats cohérents, fixez des remplissages unis et le formatage du texte aux niveaux requis. + +**L’exportation en PDF/PNG conservera-t-elle les couleurs de branche personnalisées et les paramètres des étiquettes ?** + +Oui. Lors de l'exportation de la présentation, les paramètres du graphique (remplissages, étiquettes) sont conservés dans les formats de sortie car Aspose.Slides rend le graphique avec le formatage appliqué. + +**Puis-je calculer les coordonnées réelles d’une étiquette/élément pour placer une superposition personnalisée au-dessus du graphique ?** + +Oui. Après validation de la disposition du graphique, les propriétés `actual_x`/`actual_y` sont disponibles pour les éléments (par exemple, un [DataLabel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/datalabel/)), ce qui facilite le positionnement précis des superpositions. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md index 4d72c7ef52..a05a2a1fc8 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md @@ -6,26 +6,25 @@ weight: 30 url: /fr/python-net/doughnut-chart/ keywords: - graphique en anneau -- espace central +- écart central - taille du trou - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Découvrez comment créer et personnaliser des graphiques en anneau avec Aspose.Slides pour Python via .NET, compatible avec les formats PowerPoint et OpenDocument pour des présentations dynamiques." +description: "Découvrez comment créer et personnaliser des graphiques en anneau dans Aspose.Slides pour Python via .NET, prenant en charge les formats PowerPoint et OpenDocument pour des présentations dynamiques." --- -## **Spécifiez l'Espace Central dans un Graphique en Anneau** -Pour spécifier la taille du trou dans un graphique en anneau, veuillez suivre les étapes ci-dessous : +## **Spécifier l'écart central dans le graphique en anneau** +Afin de spécifier la taille du trou dans un graphique en anneau, veuillez suivre les étapes ci-dessous : -- Instanciez la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Ajoutez un graphique en anneau sur la diapositive. -- Spécifiez la taille du trou dans un graphique en anneau. -- Écrivez la présentation sur le disque. - -Dans l'exemple ci-dessous, nous avons défini la taille du trou dans un graphique en anneau. +- Instancier la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +- Ajouter un graphique en anneau sur la diapositive. +- Spécifier la taille du trou dans le graphique en anneau. +- Enregistrer la présentation sur le disque. +Dans l'exemple ci-dessous, nous avons défini la taille du trou dans le graphique en anneau. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -36,6 +35,21 @@ with slides.Presentation() as presentation: chart = presentation.slides[0].shapes.add_chart(charts.ChartType.DOUGHNUT, 50, 50, 400, 400) chart.chart_data.series_groups[0].doughnut_hole_size = 90 - # Écrivez la présentation sur le disque + # Enregistrez la présentation sur le disque presentation.save("DoughnutHoleSize_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis-je créer un anneau à plusieurs niveaux avec plusieurs cercles ?** + +Oui. Ajoutez plusieurs séries à un même graphique en anneau — chaque série devient un anneau distinct. L'ordre des anneaux est déterminé par l'ordre des séries dans la collection. + +**Un anneau « explosé » (parts séparées) est‑il supporté ?** + +Oui. Il existe un type de graphique Exploded Doughnut [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) et une propriété d'explosion sur les points de données ; vous pouvez séparer les parts individuelles. + +**Comment obtenir une image d'un graphique en anneau (PNG/SVG) pour un rapport ?** + +Un graphique est une forme ; vous pouvez le rendre sous forme d'[image raster](https://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) ou exporter le graphique vers une [image SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/). \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md index 1ea63ea08b..2e74994fd5 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md @@ -1,41 +1,40 @@ --- -title: Personnaliser les diagrammes circulaires dans les présentations avec Python -linktitle: Diagramme circulaire +title: Personnaliser les graphiques circulaires dans les présentations avec Python +linktitle: Graphique circulaire type: docs url: /fr/python-net/pie-chart/ keywords: -- diagramme circulaire -- gérer diagramme -- personnaliser diagramme -- options de diagramme -- paramètres du diagramme +- graphique circulaire +- gérer le graphique +- personnaliser le graphique +- options du graphique +- paramètres du graphique - options de tracé -- couleur de tranche +- couleur de la tranche - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Découvrez comment créer et personnaliser des diagrammes circulaires en Python avec Aspose.Slides, exportables vers PowerPoint et OpenDocument, pour dynamiser votre narration de données en quelques secondes." +description: "Apprenez à créer et personnaliser des graphiques circulaires en Python avec Aspose.Slides, exportables vers PowerPoint et OpenDocument, pour dynamiser votre narration de données en quelques secondes." --- -## **Deuxième Options de Tracé pour Diagramme en Secteurs et Diagramme en Barres de Secteurs** -Aspose.Slides pour Python via .NET prend désormais en charge les options de tracé seconde pour le Diagramme en Secteurs de Secteurs ou le Diagramme en Barres de Secteurs. Dans ce sujet, nous verrons avec un exemple comment spécifier ces options en utilisant Aspose.Slides. Pour spécifier les propriétés, veuillez suivre les étapes ci-dessous : +## **Options de deuxième tracé pour les graphiques Pie of Pie et Bar of Pie** +Aspose.Slides for Python via .NET prend désormais en charge les options de deuxième tracé pour les graphiques Pie of Pie ou Bar of Pie. Dans ce sujet, nous verrons avec un exemple comment spécifier ces options à l’aide d’Aspose.Slides. Pour spécifier les propriétés, veuillez suivre les étapes ci‑dessous : -1. Instancier l'objet de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Ajouter un diagramme sur la diapositive. -1. Spécifier les options de tracé seconde du diagramme. -1. Écrire la présentation sur le disque. - -Dans l'exemple donné ci-dessous, nous avons défini différentes propriétés du Diagramme en Secteurs de Secteurs. +1. Instancier l’objet de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Ajouter un graphique à la diapositive. +1. Spécifier les options de deuxième tracé du graphique. +1. Enregistrer la présentation sur le disque. +Dans l’exemple ci‑dessous, nous avons défini différentes propriétés du graphique Pie of Pie. ```py import aspose.slides.charts as charts import aspose.slides as slides # Créer une instance de la classe Presentation with slides.Presentation() as presentation: - # Ajouter un diagramme sur la diapositive + # Ajouter un graphique sur la diapositive chart = presentation.slides[0].shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 500, 400) # Définir différentes propriétés @@ -44,26 +43,26 @@ with slides.Presentation() as presentation: chart.chart_data.series[0].parent_series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE chart.chart_data.series[0].parent_series_group.pie_split_position = 53 - # Écrire la présentation sur le disque + # Enregistrer la présentation sur le disque presentation.save("SecondPlotOptionsforCharts_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Définir les Couleurs des Parts de Diagramme en Secteurs Automatiquement** -Aspose.Slides pour Python via .NET fournit une API simple pour définir automatiquement les couleurs des parts de diagramme en secteurs. Le code d'exemple applique le réglage des propriétés mentionnées ci-dessus. + +## **Définir les couleurs automatiques des tranches du graphique circulaire** +Aspose.Slides for Python via .NET fournit une API simple pour définir les couleurs automatiques des tranches d’un graphique circulaire. Le code d’exemple applique le paramétrage décrit ci‑dessus. 1. Créer une instance de la classe Presentation. 1. Accéder à la première diapositive. -1. Ajouter un diagramme avec des données par défaut. -1. Définir le titre du diagramme. -1. Définir la première série pour Afficher les Valeurs. -1. Définir l'index de la feuille de données du diagramme. -1. Obtenir la feuille de données du diagramme. +1. Ajouter un graphique avec des données par défaut. +1. Définir le titre du graphique. +1. Configurer la première série pour afficher les valeurs. +1. Définir l’indice de la feuille de données du graphique. +1. Obtenir la feuille de données du graphique. 1. Supprimer les séries et catégories générées par défaut. 1. Ajouter de nouvelles catégories. 1. Ajouter de nouvelles séries. -Écrire la présentation modifiée dans un fichier PPTX. - +Enregistrer la présentation modifiée dans un fichier PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -74,22 +73,22 @@ with slides.Presentation() as presentation: # Accéder à la première diapositive slide = presentation.slides[0] - # Ajouter un diagramme avec des données par défaut + # Ajouter un graphique avec les données par défaut chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) - # Définir le titre du diagramme - chart.chart_title.add_text_frame_for_overriding("Titre Exemple") + # Définir le titre du graphique + chart.chart_title.add_text_frame_for_overriding("Sample Title") chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1 chart.chart_title.height = 20 chart.has_title = True - # Définir la première série pour Afficher les Valeurs + # Définir la première série pour afficher les valeurs chart.chart_data.series[0].labels.default_data_label_format.show_value = True - # Définir l'index de la feuille de données du diagramme + # Définir l'index de la feuille de données du graphique defaultWorksheetIndex = 0 - # Obtenir la feuille de données du diagramme + # Obtenir la feuille de calcul des données du graphique fact = chart.chart_data.chart_data_workbook # Supprimer les séries et catégories générées par défaut @@ -97,18 +96,29 @@ with slides.Presentation() as presentation: chart.chart_data.categories.clear() # Ajouter de nouvelles catégories - chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "Premier Trimestre")) - chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "Deuxième Trimestre")) - chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "Troisième Trimestre")) + chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr")) - # Ajouter de nouvelles séries - series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Série 1"), chart.type) + # Ajouter une nouvelle série + series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type) - # Maintenant, peupler les données de la série + # Remplissage des données de la série series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) series.parent_series_group.is_color_varied = True presentation.save("Pie.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Les variantes 'Pie of Pie' et 'Bar of Pie' sont‑elles prises en charge ?** + +Oui, la bibliothèque [prend en charge](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) un tracé secondaire pour les graphiques circulaires, y compris les types 'Pie of Pie' et 'Bar of Pie'. + +**Puis‑je exporter uniquement le graphique sous forme d’image (par exemple, PNG) ?** + +Oui, vous pouvez [exporter le graphique lui‑même en tant qu’image](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) (tel que PNG) sans toute la présentation. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md index d7b0b8dcec..0f2e8ccbdf 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md @@ -1,54 +1,60 @@ --- -title: Formules de Feuille de Calcul de Diagramme +title: Appliquer les formules de feuille de travail du graphique dans les présentations avec Python +linktitle: Formules de feuille de travail type: docs weight: 70 url: /fr/python-net/chart-worksheet-formulas/ -keywords: "Feuille de calcul de diagramme, formule de diagramme, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Feuille de calcul de diagramme et formule dans une présentation PowerPoint en Python" +keywords: +- feuille de calcul du graphique +- feuille de travail du graphique +- formule de graphique +- formule de feuille de travail +- formule de feuille de calcul +- source de données +- constante logique +- constante numérique +- constante de chaîne +- constante d'erreur +- constante arithmétique +- opérateur de comparaison +- style A1 +- style R1C1 +- fonction prédéfinie +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Appliquer des formules de type Excel dans Aspose.Slides pour Python via les feuilles de travail de graphiques .NET et automatiser les rapports dans les fichiers PPT, PPTX et ODP." --- - -## **À propos de la Formule de Feuille de Calcul de Diagramme dans une Présentation** -**Feuille de calcul de diagramme** (ou feuille de calcul de diagramme) dans une présentation est la source de données du diagramme. La feuille de calcul de diagramme contient des données, qui sont représentées sur le diagramme de manière graphique. Lorsque vous créez un diagramme dans PowerPoint, la feuille de calcul associée à ce diagramme est automatiquement créée également. La feuille de calcul de diagramme est créée pour tous les types de diagrammes : diagramme linéaire, diagramme à barres, diagramme en éventail, diagramme circulaire, etc. Pour voir la feuille de calcul de diagramme dans PowerPoint, vous devez double-cliquer sur le diagramme : +## **À propos de la formule de feuille de calcul du graphique dans la présentation** +**Feuille de calcul du graphique** (ou feuille de travail du graphique) dans la présentation est la source de données du graphique. La feuille de calcul du graphique contient des données qui sont représentées sur le graphique de manière graphique. Lorsque vous créez un graphique dans PowerPoint, la feuille de calcul associée à ce graphique est également créée automatiquement. La feuille de calcul du graphique est créée pour tous les types de graphiques : graphique en courbes, graphique à barres, graphique en rayons, graphique circulaire, etc. Pour voir la feuille de calcul du graphique dans PowerPoint, vous devez double-cliquer sur le graphique: ![todo:image_alt_text](chart-worksheet-formulas_1.png) +La feuille de calcul du graphique contient les noms des éléments du graphique (Nom de catégorie : *Category1*, Nom de série) et un tableau avec des données numériques appropriées à ces catégories et séries. Par défaut, lorsque vous créez un nouveau graphique, les données de la feuille de calcul du graphique sont initialisées avec les données par défaut. Vous pouvez ensuite modifier manuellement les données de la feuille de calcul dans la feuille de travail. +En règle générale, le graphique représente des données complexes (par exemple : analystes financiers, analystes scientifiques), contenant des cellules calculées à partir des valeurs d’autres cellules ou d’autres données dynamiques. Calculer manuellement la valeur d’une cellule et la coder en dur rend difficile sa modification ultérieure. Si vous modifiez la valeur d’une cellule donnée, toutes les cellules dépendantes devront également être mises à jour. De plus, les données du tableau peuvent dépendre de données d’autres tableaux, créant ainsi un schéma de données de présentation complexe qui doit pouvoir être mis à jour de manière simple et flexible. -La feuille de calcul de diagramme contient les noms des éléments du diagramme (Nom de catégorie : *Catégorie1*, Nom de série) et un tableau avec des données numériques appropriées à ces catégories et séries. Par défaut, lorsque vous créez un nouveau diagramme - les données de la feuille de calcul de diagramme sont définies avec les données par défaut. Ensuite, vous pouvez changer les données de la feuille de calcul dans la feuille de calcul manuellement. - -En général, le diagramme représente des données compliquées (par exemple, des analystes financiers, des analystes scientifiques), ayant des cellules qui sont calculées à partir des valeurs dans d'autres cellules ou à partir d'autres données dynamiques. Calculer manuellement la valeur d'une cellule et la coder en dur dans la cellule rend difficile son changement à l'avenir. Si vous changez la valeur d'une certaine cellule, toutes les cellules qui en dépendent devront également être mises à jour. De plus, les données du tableau peuvent dépendre des données d'autres tableaux, créant un schéma de données de présentation complexe ayant besoin d'être mis à jour de manière simple et flexible. +**Formule de feuille de calcul du graphique** dans la présentation est une expression qui calcule et met à jour automatiquement les données de la feuille de calcul du graphique. La formule de la feuille de calcul définit la logique de calcul des données pour une cellule ou un ensemble de cellules. Une formule de feuille de calcul est une formule mathématique ou logique utilisant : références de cellules, fonctions mathématiques, opérateurs logiques, opérateurs arithmétiques, fonctions de conversion, constantes de chaîne, etc. La définition de la formule est écrite dans une cellule, et cette cellule ne contient pas une valeur simple. La formule calcule la valeur, la renvoie, puis cette valeur est affectée à la cellule. Les formules de feuille de calcul du graphique dans les présentations sont en fait les mêmes que les formules Excel, et les mêmes fonctions, opérateurs et constantes par défaut sont pris en charge pour leur implémentation. -**La formule de la feuille de calcul de diagramme** dans une présentation est une expression pour calculer et mettre à jour automatiquement les données de la feuille de calcul de diagramme. La formule de la feuille de calcul définit la logique de calcul des données pour une certaine cellule ou un ensemble de cellules. La formule de la feuille de calcul est une formule mathématique ou une formule logique, qui utilise : références de cellules, fonctions mathématiques, opérateurs logiques, opérateurs arithmétiques, fonctions de conversion, constantes de chaîne, etc. La définition de la formule est écrite dans une cellule, et cette cellule ne contient pas une valeur simple. La formule de la feuille de calcul calcule la valeur et la renvoie, puis cette valeur est affectée à la cellule. Les formules des feuilles de calcul de diagramme dans les présentations sont en réalité les mêmes que les formules Excel, et les mêmes fonctions par défaut, opérateurs et constantes sont prises en charge pour leur mise en œuvre. - -Dans [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) la feuille de calcul de diagramme est représentée avec -[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) propriété du type -[**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/). -La formule de la feuille de calcul peut être affectée et modifiée avec la -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) propriété. -La fonctionnalité suivante est prise en charge pour les formules dans Aspose.Slides : +Dans [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) la feuille de calcul du graphique est représentée par la propriété [**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) du type [**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/). La formule peut être affectée et modifiée avec la propriété [**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/). Les fonctionnalités suivantes sont prises en charge pour les formules dans Aspose.Slides : - Constantes logiques - Constantes numériques - Constantes de chaîne -- Constantes d'erreur +- Constantes d’erreur - Opérateurs arithmétiques - Opérateurs de comparaison - Références de cellules de style A1 - Références de cellules de style R1C1 - Fonctions prédéfinies +En général, les feuilles de calcul stockent les dernières valeurs calculées des formules. Si, après le chargement de la présentation, les données du graphique n’ont pas été modifiées, la propriété **IChartDataCell.Value** renvoie ces valeurs lors de la lecture. En revanche, si les données de la feuille de calcul ont été modifiées, la lecture de la propriété **ChartDataCell.Value** déclenche une **CellUnsupportedDataException** pour les formules non prises en charge. En effet, lorsque les formules sont correctement analysées, les dépendances des cellules sont déterminées et la validité des dernières valeurs est vérifiée. Si la formule ne peut pas être analysée, la validité de la valeur de la cellule ne peut pas être garantie. - -En général, les feuilles de calcul conservent les dernières valeurs de formule calculées. Si après le chargement de la présentation, les données du diagramme n'ont pas été changées - la propriété **IChartDataCell.Value** retourne ces valeurs lors de la lecture. Mais, si les données de la feuille de calcul avaient été modifiées, lors de la lecture de la propriété **ChartDataCell.Value**, cela lance l'**CellUnsupportedDataException** pour les formules non prises en charge. Cela est dû au fait que lorsque les formules sont correctement analysées, les dépendances de cellules sont déterminées et la validité des dernières valeurs est déterminée. Mais, si la formule ne peut pas être analysée, la validité de la valeur de la cellule ne peut pas être garantie. -## **Ajouter une Formule de Feuille de Calcul de Diagramme à une Présentation** -Tout d'abord, ajoutez un diagramme avec quelques données d'exemple à la première diapositive d'une nouvelle présentation avec -[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). -La feuille de calcul du diagramme est automatiquement créée et peut être accessible avec la propriété -[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) : - - - +## **Ajouter une formule de feuille de calcul du graphique à la présentation** +Tout d’abord, ajoutez un graphique avec des données d’exemple à la première diapositive d’une nouvelle présentation avec [add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). La feuille de calcul du graphique est créée automatiquement et peut être accédée avec la propriété [**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) : ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -60,13 +66,7 @@ with slides.Presentation() as presentation: ``` - -Écrivons quelques valeurs dans les cellules avec la propriété -[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) -de type **Object**, ce qui signifie que vous pouvez définir n'importe quelle valeur à la propriété : - - - +Écrivons quelques valeurs dans les cellules avec la propriété [**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) du type **Object**, ce qui signifie que vous pouvez affecter n’importe quelle valeur à la propriété : ```py workbook.get_cell(0, "F2").value = -2.5 workbook.get_cell(0, "G3").value = 6.3 @@ -74,28 +74,21 @@ de type **Object**, ce qui signifie que vous pouvez définir n'importe quelle va ``` - -Maintenant pour écrire une formule dans la cellule, vous pouvez utiliser la propriété -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) : - +Pour écrire une formule dans la cellule, vous pouvez utiliser la propriété [**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) : ```py workbook.get_cell(0, "B2").formula = "F2+G3+H4+1" ``` -*Remarque* : la propriété [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) est utilisée pour définir des références de cellules de style A1.  - - -Pour définir la référence de cellule [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/), vous pouvez utiliser la propriété [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) : +*Remarque* : la propriété [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) sert à définir des références de cellules de style A1. +Pour définir la référence de cellule [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/), utilisez la propriété [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) : ```py workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]" ``` -Ensuite, utilisez la méthode [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) pour calculer toutes les formules dans le classeur et mettre à jour les valeurs des cellules correspondantes : - - +Ensuite, utilisez la méthode [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) pour calculer toutes les formules du classeur et mettre à jour les valeurs correspondantes des cellules : ```py workbook.calculate_formulas() print(workbook.get_cell(0, "B2").value) # 7.8 @@ -103,111 +96,81 @@ Ensuite, utilisez la méthode [**calculate_formulas**](https://reference.aspose. ``` -## **Constantes Logiques** -Vous pouvez utiliser des constantes logiques telles que *FALSE* et *TRUE* dans les formules de cellules : - - - - -## **Constantes Numériques** -Les nombres peuvent être utilisés en notations communes ou scientifiques pour créer des formules de feuille de calcul de diagramme : - - - - -## **Constantes de Chaîne** -Une constante de chaîne (ou littérale) est une valeur spécifique utilisée telle quelle et qui ne change pas. Les constantes de chaîne peuvent être : dates, textes, nombres, etc.: - - - - -## **Constantes d'Erreur** -Parfois, il n'est pas possible de calculer le résultat par la formule. Dans ce cas, le code d'erreur est affiché dans la cellule au lieu de sa valeur. Chaque type d'erreur a un code spécifique : - -- #DIV/0! - la formule essaie de diviser par zéro. -- #GETTING_DATA - peut être affiché dans une cellule, tandis que sa valeur est encore en cours de calcul. -- #N/A - des informations sont manquantes ou non disponibles. Certaines raisons peuvent être : les cellules utilisées dans la formule sont vides, un caractère espace supplémentaire, une faute de frappe, etc. -- #NAME? - une certaine cellule ou d'autres objets de formule ne peuvent pas être trouvés par leur nom.  -- #NULL! - peut apparaître lorsqu'il y a une erreur dans la formule, comme :  (,) ou un espace utilisé à la place d'un deux-points (:). -- #NUM! - le numérique dans la formule peut être invalide, trop long ou trop petit, etc. -- #REF! - référence de cellule invalide. -- #VALUE! - type de valeur inattendu. Par exemple, une valeur de chaîne affectée à une cellule numérique. +## **Constantes logiques** +Vous pouvez utiliser les constantes logiques telles que *FALSE* et *TRUE* dans les formules des cellules. +## **Constantes numériques** +Les nombres peuvent être utilisés en notation décimale ou scientifique pour créer une formule de feuille de calcul du graphique. +## **Constantes de chaîne** +Une constante de chaîne (ou littérale) est une valeur spécifique utilisée telle quelle et qui ne change pas. Les constantes de chaîne peuvent être : dates, textes, nombres, etc. +## **Constantes d’erreur** +Parfois il n’est pas possible de calculer le résultat d’une formule. Dans ce cas, le code d’erreur est affiché dans la cellule à la place de sa valeur. Chaque type d’erreur possède un code spécifique : -## **Opérateurs Arithmétiques** -Vous pouvez utiliser tous les opérateurs arithmétiques dans les formules de feuille de calcul de diagramme : +- #DIV/0! – la formule tente de diviser par zéro. +- #GETTING_DATA – peut être affiché dans une cellule dont la valeur est encore en cours de calcul. +- #N/A – l’information est manquante ou indisponible. Les raisons peuvent être : les cellules utilisées dans la formule sont vides, un caractère d’espace supplémentaire, une faute de frappe, etc. +- #NAME? – une certaine cellule ou un autre objet de formule ne peut pas être trouvé par son nom. +- #NULL! – peut apparaître lorsqu’il y a une erreur dans la formule, par exemple : (,) ou un caractère d’espace utilisé à la place d’un deux‑points (:). +- #NUM! – le nombre dans la formule peut être invalide, trop long ou trop petit, etc. +- #REF! – référence de cellule invalide. +- #VALUE! – type de valeur inattendu. Par exemple, une chaîne affectée à une cellule numérique. +## **Opérateurs arithmétiques** +Vous pouvez utiliser tous les opérateurs arithmétiques dans les formules de la feuille de calcul du graphique : - -|**Opérateur** |**Signification** |**Exemple**| +|**Opérateur**|**Signification**|**Exemple**| | :- | :- | :- | -|+ (signe plus) |Addition ou plus unitaire|2 + 3| -|- (signe moins) |Soustraction ou négation |2 - 3
    -3| -|* (astérisque)|Multiplication |2 * 3| -|/ (barre oblique)|Division |2 / 3| -|% (signe de pourcentage) |Pourcentage |30%| -|^ (accent circonflexe) |Exponentiation |2 ^ 3| - - -*Remarque* : Pour changer l'ordre d'évaluation, placez entre parenthèses la partie de la formule à calculer en premier. - +|+ (signe plus)|Addition ou signe unaire|2 + 3| +|- (signe moins)|Soustraction ou négation|2 - 3
    -3| +|* (astérisque)|Multiplication|2 * 3| +|/ (slash)|Division|2 / 3| +|% (pourcentage)|Pourcentage|30%| +|^ (caret)|Exposant|2 ^ 3| -## **Opérateurs de Comparaison** -Vous pouvez comparer les valeurs des cellules avec les opérateurs de comparaison. Lorsque deux valeurs sont comparées à l'aide de ces opérateurs, le résultat est une valeur logique soit *TRUE* soit FALSE : +*Remarque* : pour modifier l’ordre d’évaluation, encadrez la partie de la formule à calculer en premier entre parenthèses. +## **Opérateurs de comparaison** +Vous pouvez comparer les valeurs des cellules avec les opérateurs de comparaison. Lorsque deux valeurs sont comparées à l’aide de ces opérateurs, le résultat est une valeur logique : *TRUE* ou *FALSE* : - -|**Opérateur** |**Signification** |**Signification** | +|**Opérateur**|**Signification**|**Exemple**| | :- | :- | :- | -|= (signe égal) |Égal à |A2 = 3| -|<> (signe de différent) |Pas égal à|A2 <> 3| -|> (signe supérieur) |Supérieur à|A2 > 3| -|>= (signe supérieur ou égal) |Supérieur ou égal à|A2 >= 3| -|< (signe inférieur)|Inférieur à|A2 < 3| -|<= (signe inférieur ou égal)|Inférieur ou égal à|A2 <= 3| - -## **Références de Cellule de Style A1** -**Les références de cellules de style A1** sont utilisées pour les feuilles de calcul, où la colonne a un identifiant de lettre (par exemple "*A*") et la ligne a un identifiant numérique (par exemple "*1*"). Les références de cellules de style A1 peuvent être utilisées de la manière suivante : - - - -|**Référence de cellule**|**Exemple**||| -| :- | :- | :- | :- | -||Absolue |Relative |Mixte| -|Cellule |$A$2 |A2|

    A$2

    $A2

    | -|Ligne |$2:$2 |2:2 |-| -|Colonne |$A:$A |A:A |-| -|Plage |$A$2:$C$4 |A2:C4|

    $A$2:C4

    A$2:$C4

    | - - -Voici un exemple de la manière d'utiliser la référence de cellule de style A1 dans une formule : - - - - -## **Références de Cellule de Style R1C1** -**Les références de cellules de style R1C1** sont utilisées pour les feuilles de calcul, où à la fois une ligne et une colonne ont l'identifiant numérique. Les références de cellules de style R1C1 peuvent être utilisées de la manière suivante : - - - -|**Référence de cellule**|**Exemple**||| -| :- | :- | :- | :- | -||Absolue |Relative |Mixte| -|Cellule |R2C3|R[2]C[3]|R2C[3]
    R[2]C3| -|Ligne |R2|R[2]|-| -|Colonne |C3|C[3]|-| -|Plage |R2C3:R5C7|R[2]C[3]:R[5]C[7] |R2C3:R[5]C[7]
    R[2]C3:R5C[7]| - - -Voici un exemple de la manière d'utiliser la référence de cellule de style A1 dans une formule : - - - - -## **Fonctions Prédéfinies** -Il existe des fonctions prédéfinies qui peuvent être utilisées dans les formules pour simplifier leur mise en œuvre. Ces fonctions encapsulent les opérations les plus couramment utilisées, telles que :  +|= (égal)|Égal à|A2 = 3| +|<> (différent)|Différent de|A2 <> 3| +|> (supérieur)|Supérieur à|A2 > 3| +|>= (supérieur ou égal)|Supérieur ou égal à|A2 >= 3| +|< (inférieur)|Inférieur à|A2 < 3| +|<= (inférieur ou égal)|Inférieur ou égal à|A2 <= 3| + +## **Références de cellules de style A1** +**Les références de cellules de style A1** sont utilisées pour les feuilles où la colonne possède un identifiant alphabétique (par exemple *A*) et la ligne un identifiant numérique (par exemple *1*). Les références de style A1 peuvent être utilisées de la manière suivante : + +|**Référence de cellule**|**Exemple**|**Absolue**|**Relative**|**Mixte**| +| :- | :- | :- | :- | :- | +||Absolue|Relative|Mixte| +|Cellule|$A$2|A2|

    A$2

    $A2

    | +|Ligne|$2:$2|2:2|-| +|Colonne|$A:$A|A:A|-| +|Plage|$A$2:$C$4|A2:C4|

    $A$2:C4

    A$2:$C4

    | + +Voici un exemple d’utilisation d’une référence de cellule de style A1 dans une formule : + +## **Références de cellules de style R1C1** +**Les références de cellules de style R1C1** sont utilisées pour les feuilles où à la fois la ligne et la colonne ont un identifiant numérique. Les références de style R1C1 peuvent être utilisées de la manière suivante : + +|**Référence de cellule**|**Exemple**|**Absolue**|**Relative**|**Mixte**| +| :- | :- | :- | :- | :- | +||Absolue|Relative|Mixte| +|Cellule|R2C3|R[2]C[3]|R2C[3]
    R[2]C3| +|Ligne|R2|R[2]|-| +|Colonne|C3|C[3]|-| +|Plage|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]
    R[2]C3:R5C[7]| + +Voici un exemple d’utilisation d’une référence de cellule de style R1C1 dans une formule : + +## **Fonctions prédéfinies** +Il existe des fonctions prédéfinies qui peuvent être utilisées dans les formules pour simplifier leur implémentation. Ces fonctions regroupent les opérations les plus couramment utilisées, telles que : - ABS - AVERAGE @@ -225,4 +188,14 @@ Il existe des fonctions prédéfinies qui peuvent être utilisées dans les form - MATCH (forme vectorielle) - MAX - SUM -- VLOOKUP \ No newline at end of file +- VLOOKUP + +## **FAQ** + +**Les fichiers Excel externes sont-ils pris en charge comme source de données pour un graphique avec des formules ?** + +Oui. Aspose.Slides prend en charge les classeurs externes comme [source de données du graphique](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatasourcetype/), ce qui vous permet d’utiliser des formules provenant d’un fichier XLSX situé hors de la présentation. + +**Les formules de graphique peuvent‑elles faire référence à des feuilles du même classeur par le nom de la feuille ?** + +Oui. Les formules suivent le modèle de référence standard d’Excel, vous pouvez donc faire référence à d’autres feuilles du même classeur ou d’un classeur externe. Pour les références externes, incluez le chemin et le nom du classeur en utilisant la syntaxe Excel. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md index 5e8ac7a62f..b3561f60b4 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md @@ -1,5 +1,5 @@ --- -title: Exporter des graphiques de présentation avec Python +title: Exporter les graphiques de présentation avec Python linktitle: Exporter le graphique type: docs weight: 90 @@ -8,18 +8,17 @@ keywords: - graphique - graphique en image - graphique comme image -- extraire image du graphique +- extraire l'image du graphique - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Apprenez à exporter des graphiques de présentation avec Aspose.Slides for Python via .NET, prenant en charge les formats PPT, PPTX et ODP, et optimisez la génération de rapports dans n'importe quel flux de travail." +description: "Apprenez à exporter les graphiques de présentation avec Aspose.Slides pour Python via .NET, prenant en charge les formats PPT, PPTX et ODP, et simplifiez la génération de rapports dans n'importe quel flux de travail." --- -## **Obtenir l'Image du Graphique** -Aspose.Slides pour Python via .NET fournit un support pour l'extraction de l'image d'un graphique spécifique. Un exemple de code est donné ci-dessous. - +## **Obtenir l'image du graphique** +Aspose.Slides for Python via .NET offre la prise en charge de l'extraction d'image d'un graphique spécifique. L'exemple suivant est fourni. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -30,4 +29,27 @@ with slides.Presentation("test.pptx") as presentation: with chart.get_image() as image: image.save("image.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis-je exporter un graphique au format vecteur (SVG) plutôt qu'en image raster ?** + +Oui. Un graphique est une forme, et son contenu peut être enregistré au format SVG en utilisant la [méthode d'enregistrement shape-to-SVG](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/write_as_svg/). + +**Comment puis-je définir la taille exacte du graphique exporté en pixels ?** + +Utilisez les surcharges de rendu d'image qui vous permettent de spécifier la taille ou l'échelle - la bibliothèque prend en charge le rendu d'objets avec des dimensions ou une échelle données. + +**Que faire si les polices des libellés et de la légende apparaissent incorrectes après l'exportation ?** + +[Chargez les polices requises](/slides/fr/python-net/custom-font/) via [FontsLoader](https://reference.aspose.com/slides/python-net/aspose.slides/fontsloader/) afin que le rendu du graphique préserve les métriques et l'apparence du texte. + +**L'exportation respecte-t-elle le thème, les styles et les effets PowerPoint ?** + +Oui. Le moteur de rendu d'Aspose.Slides suit le formatage de la présentation (thèmes, styles, remplissages, effets), de sorte que l'apparence du graphique est conservée. + +**Où puis-je trouver les capacités de rendu/export disponibles au‑delà des images de graphiques ?** + +Consultez la section exportation de l'[API](https://reference.aspose.com/slides/python-net/aspose.slides.export/)/[documentation](/slides/fr/python-net/convert-powerpoint/) pour les cibles de sortie ([PDF](/slides/fr/python-net/convert-powerpoint-to-pdf/), [SVG](/slides/fr/python-net/render-a-slide-as-an-svg-image/), [XPS](/slides/fr/python-net/convert-powerpoint-to-xps/), [HTML](/slides/fr/python-net/convert-powerpoint-to-html/), etc.) ainsi que les options de rendu associées. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md index a6a0b38591..ae68fd3e79 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md @@ -1,5 +1,5 @@ --- -title: Exporter des équations mathématiques à partir de présentations en Python +title: Exporter des équations mathématiques depuis les présentations en Python linktitle: Exporter des équations type: docs weight: 30 @@ -12,30 +12,33 @@ keywords: - présentation - Python - Aspose.Slides -description: "Permettez une exportation fluide des équations mathématiques de PowerPoint vers MathML avec Aspose.Slides for Python via .NET — préservez la mise en forme et améliorez la compatibilité." +description: "Déverrouillez une exportation fluide des équations mathématiques de PowerPoint vers MathML avec Aspose.Slides pour Python via .NET—préservez le formatage et améliorez la compatibilité." --- -Aspose.Slides pour Python via .NET vous permet d'exporter des équations mathématiques à partir de présentations. Par exemple, vous pourriez avoir besoin d'extraire les équations mathématiques sur les diapositives (d'une présentation spécifique) et de les utiliser dans un autre programme ou plateforme. +## **Introduction** -{{% alert color="primary" %}} - -Vous pouvez exporter des équations au format MathML, un format ou standard populaire pour les équations mathématiques et un contenu similaire que l'on trouve sur le web et dans de nombreuses applications. +Aspose.Slides for Python via .NET vous permet d'exporter des équations mathématiques depuis des présentations. Par exemple, il se peut que vous deviez extraire des équations de diapositives spécifiques et les réutiliser dans un autre programme ou une autre plateforme. +{{% alert color="primary" %}} +Vous pouvez exporter des équations au format MathML, un standard largement utilisé pour représenter du contenu mathématique sur le web et dans de nombreuses applications. {{% /alert %}} -Bien que les humains écrivent facilement le code pour certains formats d'équations comme LaTeX, ils ont du mal à écrire le code pour MathML car ce dernier est destiné à être généré automatiquement par des applications. Les programmes lisent et analysent facilement MathML car son code est en XML, donc MathML est couramment utilisé comme format de sortie et d'impression dans de nombreux domaines. +## **Enregistrer les équations mathématiques au format MathML** -Ce code d'exemple vous montre comment exporter une équation mathématique d'une présentation vers MathML : +Bien que les humains puissent facilement écrire du LaTeX, le MathML est généralement généré automatiquement par les applications. Comme le MathML est basé sur XML, les programmes peuvent le lire et l'analyser de manière fiable, il est donc couramment utilisé comme format de sortie et d'impression dans de nombreux domaines. +Le code d'exemple suivant montre comment exporter une équation mathématique d'une présentation vers MathML : ```py import aspose.slides as slides import aspose.slides.mathtext as math -with slides.Presentation() as pres: - autoShape = pres.slides[0].shapes.add_math_shape(0, 0, 500, 50) - mathParagraph = autoShape.text_frame.paragraphs[0].portions[0].math_paragraph +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50) + math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph - mathParagraph.add( + math_paragraph.add( math.MathematicalText("a"). set_superscript("2"). join("+"). @@ -43,6 +46,29 @@ with slides.Presentation() as pres: join("="). join(math.MathematicalText("c").set_superscript("2"))) - with open("mathml.xml", "wb") as stream: - mathParagraph.write_as_math_ml(stream) -``` \ No newline at end of file + with open("mathml.xml", "wb") as file_stream: + math_paragraph.write_as_math_ml(file_stream) +``` + + +## **FAQ** + +**Que exporte-t-on exactement au format MathML — un paragraphe ou un bloc de formule individuel ?** + +Vous pouvez exporter soit un paragraphe mathématique complet ([MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/)) soit un bloc individuel ([MathBlock](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathblock/)) au format MathML. Les deux types offrent une méthode pour écrire du MathML. + +**Comment savoir si un objet sur une diapositive est une formule mathématique plutôt qu'un texte ordinaire ou une image ?** + +Une formule se trouve dans une [MathPortion](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathportion/) et possède un [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/). Les images et les portions de texte ordinaires sans [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) ne sont pas des formules exportables. + +**D'où provient le MathML dans une présentation — est-il spécifique à PowerPoint ou s'agit-il d'un standard ?** + +L'exportation cible le MathML standard (XML). Aspose utilise le Presentation MathML — le sous‑ensemble de présentation du standard — qui est largement utilisé dans les applications et sur le web. + +**L'exportation de formules à l'intérieur de tableaux, SmartArt, groupes, etc., est‑elle prise en charge ?** + +Oui, si ces objets contiennent des portions de texte avec un [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) (c’est‑à‑dire de véritables formules PowerPoint), elles sont exportées. Si une formule est intégrée sous forme d'image, elle ne l'est pas. + +**L'exportation vers MathML modifie‑t‑elle la présentation d'origine ?** + +Non. L'écriture du MathML est une sérialisation du contenu de la formule ; elle ne modifie pas le fichier de présentation. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md index a2c0c695d9..6e3acbe777 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md @@ -1,47 +1,55 @@ --- -title: ActiveX +title: Gérer les contrôles ActiveX dans les présentations avec Python +linktitle: ActiveX type: docs weight: 80 url: /fr/python-net/activex/ -keywords: "ActiveX, contrôles ActiveX, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Gérer les contrôles ActiveX dans une présentation PowerPoint en Python" +keywords: +- ActiveX +- contrôle ActiveX +- gérer ActiveX +- ajouter ActiveX +- modifier ActiveX +- lecteur multimédia +- PowerPoint +- présentation +- Python +- Aspose.Slides +description: "Découvrez comment Aspose.Slides for Python via .NET exploite ActiveX pour automatiser et améliorer les présentations PowerPoint, offrant aux développeurs un contrôle puissant sur les diapositives." --- -Les contrôles ActiveX sont utilisés dans les présentations. Aspose.Slides pour Python via .NET vous permet de gérer les contrôles ActiveX, mais leur gestion est un peu plus délicate et différente des formes de présentation normales. À partir de Aspose.Slides pour Python via .NET 6.9.0, le composant prend en charge la gestion des contrôles ActiveX. Pour le moment, vous pouvez accéder aux contrôles ActiveX déjà ajoutés dans votre présentation et les modifier ou les supprimer en utilisant leurs différentes propriétés. N'oubliez pas que les contrôles ActiveX ne sont pas des formes et ne font pas partie de l'IShapeCollection de la présentation, mais de la collection distincte IControlCollection. Cet article montre comment travailler avec eux. +Les contrôles ActiveX sont utilisés dans les présentations. Aspose.Slides for Python via .NET vous permet de gérer les contrôles ActiveX, mais leur gestion est un peu plus délicate et différente des formes classiques des présentations. À partir d'Aspose.Slides for Python via .NET 6.9.0, le composant prend en charge la gestion des contrôles ActiveX. Pour l’instant, vous pouvez accéder aux contrôles ActiveX déjà ajoutés dans votre présentation et les modifier ou les supprimer en utilisant leurs différentes propriétés. Rappelez vous, les contrôles ActiveX ne sont pas des formes et ne font pas partie de IShapeCollection de la présentation, mais du IControlCollection séparé. Cet article montre comment les utiliser. ## **Modifier les contrôles ActiveX** -Pour gérer un simple contrôle ActiveX comme une zone de texte et un bouton de commande simple sur une diapositive : - -1. Créez une instance de la classe Presentation et chargez la présentation avec les contrôles ActiveX. -1. Obtenez une référence à la diapositive par son index. -1. Accédez aux contrôles ActiveX dans la diapositive en accédant à l'IControlCollection. -1. Accédez au contrôle ActiveX TextBox1 en utilisant l'objet ControlEx. -1. Modifiez les différentes propriétés du contrôle ActiveX TextBox1, y compris le texte, la police, la hauteur de la police et la position du cadre. -1. Accédez au deuxième contrôle d'accès appelé CommandButton1. -1. Changez la légende du bouton, la police et la position. -1. Déplacez la position des cadres des contrôles ActiveX. -1. Écrivez la présentation modifiée dans un fichier PPTX. - -L'extrait de code ci-dessous met à jour les contrôles ActiveX sur les diapositives de présentation comme indiqué ci-dessous. - +1. Créez une instance de la classe Presentation et chargez la présentation contenant des contrôles ActiveX. +2. Obtenez une référence à la diapositive par son indice. +3. Accédez aux contrôles ActiveX de la diapositive en accédant à IControlCollection. +4. Accédez au contrôle ActiveX TextBox1 en utilisant l’objet ControlEx. +5. Modifiez les différentes propriétés du contrôle ActiveX TextBox1, y compris le texte, la police, la hauteur de police et la position du cadre. +6. Accédez au deuxième contrôle d’accès nommé CommandButton1. +7. Modifiez la légende du bouton, la police et la position. +8. Déplacez la position des cadres des contrôles ActiveX. +9. Enregistrez la présentation modifiée dans un fichier PPTX. + +L'extrait de code ci-dessous met à jour les contrôles ActiveX des diapositives de la présentation comme illustré ci-dessous. ```py import aspose.slides as slides import aspose.pydrawing as draw import io -# Accès à la présentation avec les contrôles ActiveX +# Accès à la présentation avec des contrôles ActiveX with slides.Presentation(path + "ActiveX.pptm") as presentation: - # Accéder à la première diapositive de la présentation + # Accès à la première diapositive de la présentation slide = presentation.slides[0] - # changer le texte de la TextBox + # modification du texte de la zone de texte control = slide.controls[0] if control.name == "TextBox1" and control.properties != None: - newText = "Texte modifié" + newText = "Changed text" control.properties.remove("Value") control.properties.add("Value", newText) - # changer l'image de substitution. PowerPoint remplacera cette image lors de l'activation d'ActiveX, donc parfois il est acceptable de laisser l'image inchangée. + # modification de l'image de substitution. PowerPoint remplacera cette image lors de l'activation ActiveX, donc il est parfois acceptable de laisser l'image inchangée. bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: @@ -83,7 +91,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # changer la légende du bouton + # modification de la légende du bouton control = slide.controls[1] if control.name == "CommandButton1" and control.properties != None: @@ -91,7 +99,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control.properties.remove("Caption") control.properties.add("Caption", newCaption) - # changer l'image de substitution + # modification de la substitution bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.CONTROL)) as brush: @@ -136,7 +144,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # Déplacer les cadres ActiveX de 100 points vers le bas + # Déplacement des cadres ActiveX de 100 points vers le bas for ctl in slide.controls: frame = control.frame control.frame = slides.ShapeFrame( @@ -148,11 +156,11 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: frame.flip_v, frame.rotation) - # Enregistrer la présentation avec les contrôles ActiveX modifiés + # Enregistrement de la présentation avec les contrôles ActiveX modifiés presentation.save("withActiveX-edited_out.pptm", slides.export.SaveFormat.PPTM) - # Maintenant, supprimer les contrôles + # Suppression des contrôles slide.controls.clear() # Enregistrement de la présentation avec les contrôles ActiveX supprimés @@ -160,17 +168,14 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: ``` -## **Ajouter un contrôle ActiveX lecteur multimédia** -Pour ajouter un contrôle ActiveX lecteur multimédia, veuillez effectuer les étapes suivantes : - -1. Créez une instance de la classe Presentation et chargez la présentation d'exemple contenant des contrôles ActiveX lecteur multimédia. -1. Créez une instance de la classe Presentation cible et générez une instance de présentation vide. -1. Clonez la diapositive avec le contrôle ActiveX lecteur multimédia dans la présentation modèle vers la présentation cible. -1. Accédez à la diapositive clonée dans la présentation cible. -1. Accédez aux contrôles ActiveX dans la diapositive en accédant à l'IControlCollection. -1. Accédez au contrôle ActiveX lecteur multimédia et définissez le chemin de la vidéo en utilisant ses propriétés. -1. Enregistrez la présentation dans un fichier PPTX. - +## **Ajouter le contrôle ActiveX Media Player** +1. Créez une instance de la classe Presentation et chargez la présentation d'exemple contenant des contrôles ActiveX Media Player. +2. Créez une instance de la classe Presentation cible et générez une instance de présentation vide. +3. Clonez la diapositive contenant le contrôle ActiveX Media Player de la présentation modèle vers la présentation cible. +4. Accédez à la diapositive clonée dans la présentation cible. +5. Accédez aux contrôles ActiveX de la diapositive en accédant à IControlCollection. +6. Accédez au contrôle ActiveX Media Player et définissez le chemin vidéo en utilisant ses propriétés. +7. Enregistrez la présentation dans un fichier PPTX. ```py import aspose.slides as slides @@ -183,10 +188,10 @@ with slides.Presentation(path + "template.pptx") as presentation: # Supprimer la diapositive par défaut newPresentation.slides.remove_at(0) - # Cloner la diapositive avec le contrôle ActiveX lecteur multimédia + # Cloner la diapositive avec le contrôle ActiveX Media Player newPresentation.slides.insert_clone(0, presentation.slides[0]) - # Accéder au contrôle ActiveX lecteur multimédia et définir le chemin de la vidéo + # Accéder au contrôle ActiveX Media Player et définir le chemin vidéo prop = newPresentation.slides[0].controls[0].properties prop.remove("URL") @@ -194,4 +199,16 @@ with slides.Presentation(path + "template.pptx") as presentation: # Enregistrer la présentation newPresentation.save("LinkingVideoActiveXControl_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Aspose.Slides conserve-t-il les contrôles ActiveX lors de la lecture et du réenregistrement s'ils ne peuvent pas être exécutés dans l'environnement Python ?** +Oui. Aspose.Slides les considère comme faisant partie de la présentation et peut lire/modifier leurs propriétés et leurs cadres ; il n’est pas nécessaire d’exécuter les contrôles eux‑mêmes pour les conserver. + +**Comment les contrôles ActiveX diffèrent-ils des objets OLE dans une présentation ?** +Les contrôles ActiveX sont des contrôles interactifs gérés (boutons, zones de texte, lecteur multimédia), tandis que [OLE](/slides/fr/python-net/manage-ole/) désigne des objets d’application intégrés (par exemple, une feuille de calcul Excel). Ils sont stockés et traités différemment et possèdent des modèles de propriétés distincts. + +**Les événements ActiveX et les macros VBA fonctionnent‑ils si le fichier a été modifié par Aspose.Slides ?** +Aspose.Slides conserve le balisage et les métadonnées existants ; cependant, les événements et les macros ne s’exécutent que dans PowerPoint sous Windows lorsque la sécurité le permet. La bibliothèque n’exécute pas VBA. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md index e77924e589..5703b714ce 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md @@ -1,81 +1,132 @@ --- -title: Créer des Vignettes de Forme +title: Créer des miniatures de formes de présentation en Python +linktitle: Miniatures de formes type: docs weight: 70 url: /fr/python-net/create-shape-thumbnails/ -keywords: "Vignette de forme. Présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Vignette de forme dans une présentation PowerPoint en Python" +keywords: +- miniature de forme +- image de forme +- rendu de forme +- rendu de forme +- PowerPoint +- présentation +- Python +- Aspose.Slides +description: "Générez des miniatures de formes de haute qualité à partir de diapositives PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET – créez et exportez facilement des miniatures de présentations." --- -Aspose.Slides pour Python via .NET est utilisé pour créer des fichiers de présentation où chaque page est une diapositive. Ces diapositives peuvent être visualisées en ouvrant les fichiers de présentation à l'aide de Microsoft PowerPoint. Mais parfois, les développeurs peuvent avoir besoin de visualiser les images des formes séparément dans un visualiseur d'images. Dans de tels cas, Aspose.Slides pour Python via .NET vous aide à générer des images miniatures des formes de diapositive. Comment utiliser cette fonctionnalité est décrit dans cet article. -Cet article explique comment générer des vignettes de diapositives de différentes manières : +## **Introduction** -- Générer une vignette de forme à l'intérieur d'une diapositive. -- Générer une vignette de forme pour une forme de diapositive avec des dimensions définies par l'utilisateur. -- Générer une vignette de forme dans les limites de l'apparence d'une forme. -- Générer une vignette d'un nœud enfant SmartArt. +Aspose.Slides for Python via .NET est utilisé pour créer des fichiers de présentation dans lesquels chaque page est une diapositive. Vous pouvez visualiser ces diapositives dans Microsoft PowerPoint en ouvrant le fichier de présentation. Cependant, les développeurs peuvent parfois avoir besoin de visualiser les images des formes séparément dans un visualiseur d’images. Dans ces cas, Aspose.Slides peut générer des images miniatures pour les formes de diapositive. Cet article explique comment utiliser cette fonctionnalité. -## **Générer une Vignette de Forme à partir d'une Diapositive** -Pour générer une vignette de forme à partir de n'importe quelle diapositive à l'aide d'Aspose.Slides pour Python via .NET : +## **Générer des miniatures de forme à partir de diapositives** -1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenir la référence de n'importe quelle diapositive en utilisant son ID ou son index. -1. Obtenir l'image miniature de la forme de la diapositive référencée à l'échelle par défaut. -1. Enregistrer l'image miniature dans n'importe quel format d'image souhaité. +Lorsque vous avez besoin d’un aperçu d’un objet spécifique plutôt que de la diapositive entière, vous pouvez rendre une miniature pour une forme individuelle. Aspose.Slides vous permet d’exporter n’importe quelle forme vers une image, facilitant la création d’aperçus légers, d’icônes ou d’actifs pour le traitement en aval. -L'exemple ci-dessous génère une vignette de forme. +Pour générer une miniature à partir de n’importe quelle forme : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Obtenez une référence à une diapositive par son identifiant ou son index. +1. Obtenez une référence à une forme sur cette diapositive. +1. Rendez l’image miniature de la forme. +1. Enregistrez l’image miniature au format souhaité. + +L’exemple ci‑dessous génère une miniature de forme. ```py import aspose.slides as slides -# Instancier une classe Presentation qui représente le fichier de présentation -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Créer une image à pleine échelle - with presentation.slides[0].shapes[0].get_image() as bitmap: - # Enregistrer l'image sur le disque au format PNG - bitmap.save("Shape_thumbnail_out.png", slides.ImageFormat.PNG) +# Instancier la classe Presentation pour ouvrir le fichier de présentation. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Créer une image avec l'échelle par défaut. + with shape.get_image() as thumbnail: + # Enregistrer l'image sur le disque au format PNG. + thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG) ``` -## **Générer une Vignette avec un Facteur d'Échelle Défini par l'Utilisateur** -Pour générer la vignette de forme de n'importe quelle forme de diapositive à l'aide d'Aspose.Slides pour Python via .NET : +## **Générer des miniatures avec un facteur d’échelle personnalisé** + +Cette section montre comment générer des miniatures de forme avec un facteur d’échelle défini par l’utilisateur dans Aspose.Slides. En contrôlant l’échelle, vous pouvez ajuster la taille de la miniature pour les aperçus, les exportations ou les affichages haute résolution. -1. Créer une instance de la classe `Presentation`. -1. Obtenir la référence de n'importe quelle diapositive en utilisant son ID ou son index. -1. Obtenir l'image miniature de la diapositive référencée avec les limites de la forme. -1. Enregistrer l'image miniature dans n'importe quel format d'image souhaité. +Pour générer une miniature pour n’importe quelle forme sur une diapositive : -L'exemple ci-dessous génère une vignette avec un facteur d'échelle défini par l'utilisateur. +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Obtenez une diapositive par son identifiant ou son index. +1. Obtenez la forme cible sur cette diapositive. +1. Rendez l’image miniature de la forme avec l’échelle spécifiée. +1. Enregistrez l’image miniature au format souhaité. +L’exemple ci‑dessous génère une miniature avec un facteur d’échelle défini par l’utilisateur. ```py import aspose.slides as slides -# Instancier une classe Presentation qui représente le fichier de présentation -with slides.Presentation(path + "HelloWorld.pptx") as p: - # Créer une image à pleine échelle - with p.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.SHAPE, 1, 1) as bitmap: - # Enregistrer l'image sur le disque au format PNG - bitmap.save("Scaling Factor Thumbnail_out.png", slides.ImageFormat.PNG) +scale_x = 2.0 +scale_y = scale_x + +# Instancier la classe Presentation pour ouvrir le fichier de présentation. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Créer une image avec l'echelle définie. + with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail: + # Enregistrer l'image sur le disque au format PNG. + thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG) ``` -## **Créer une Vignette de l'Apparence de la Forme dans les Limites** -Cette méthode de création de vignettes de formes permet aux développeurs de générer une vignette dans les limites de l'apparence de la forme. Elle prend en compte tous les effets de la forme. La vignette de forme générée est limitée par les limites de la diapositive. Pour générer une vignette de n'importe quelle forme de diapositive dans les limites de son apparence, utilisez le code d'exemple suivant : +## **Générer des miniatures en utilisant les limites d’apparence d’une forme** + +Cette section montre comment générer une miniature à l’intérieur des limites d’apparence d’une forme. Elle tient compte de tous les effets de forme. La miniature générée est limitée par les limites de la diapositive. -1. Créer une instance de la classe `Presentation`. -1. Obtenir la référence de n'importe quelle diapositive en utilisant son ID ou son index. -1. Obtenir l'image miniature de la diapositive référencée avec les limites de la forme comme apparence. -1. Enregistrer l'image miniature dans n'importe quel format d'image souhaité. +Pour générer une miniature de n’importe quelle forme de diapositive à l’intérieur des limites de son apparence : -L'exemple ci-dessous crée une vignette avec un facteur d'échelle défini par l'utilisateur. +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Obtenez une diapositive par son identifiant ou son index. +1. Obtenez la forme cible sur cette diapositive. +1. Rendez l’image miniature de la forme avec les limites spécifiées. +1. Enregistrez l’image miniature au format d’image souhaité. +L’exemple ci‑dessous crée une miniature avec des limites définies par l’utilisateur. ```py import aspose.slides as slides -# Instancier une classe Presentation qui représente le fichier de présentation -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Créer une image de forme avec des limites d'apparence - with presentation.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.APPEARANCE, 1, 1) as bitmap: - # Enregistrer l'image sur le disque au format PNG - bitmap.save("Shape_thumbnail_Bound_Shape_out.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +image_bounds = slides.ShapeThumbnailBounds.APPEARANCE + +# Instancier la classe Presentation pour ouvrir le fichier de présentation. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Créer une image de forme avec les limites d'apparence. + with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail: + # Enregistrer l'image sur le disque au format PNG. + thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG) +``` + + +## **FAQ** + +**Quels formats d’image peuvent être utilisés lors de l’enregistrement des miniatures de forme ?** + +[PNG, JPEG, BMP, GIF, TIFF](https://reference.aspose.com/slides/python-net/aspose.slides/imageformat/), et d’autres. Les formes peuvent également être [exportées en tant que SVG vectoriel](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) en enregistrant le contenu de la forme au format SVG. + +**Quelle est la différence entre les limites SHAPE et APPEARANCE lors du rendu d’une miniature ?** + +`SHAPE` utilise la géométrie de la forme ; `APPEARANCE` prend en compte les [effets visuels](/slides/fr/python-net/shape-effect/) (ombres, lueurs, etc.). + +**Que se passe‑t‑il si une forme est marquée comme masquée ? Sera‑t‑elle toujours rendue en miniature ?** + +Une forme masquée reste partie du modèle et peut être rendue ; le drapeau masqué affecte l’affichage du diaporama mais n’empêche pas la génération de l’image de la forme. + +**Les formes groupées, les graphiques, SmartArt et autres objets complexes sont‑ils pris en charge ?** + +Oui. Tout objet représenté comme [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) (y compris [GroupShape](https://reference.aspose.com/slides/python-net/aspose.slides/groupshape/), [Chart](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), et [SmartArt](https://reference.aspose.com/slides/python-net/aspose.slides.smartart/smartart/)) peut être enregistré en tant que miniature ou en tant que SVG. + +**Les polices installées sur le système affectent‑elles la qualité des miniatures des formes texte ?** + +Oui. Vous devez [fournir les polices requises](/slides/fr/python-net/custom-font/) (ou [configurer les substitutions de polices](/slides/fr/python-net/font-substitution/)) pour éviter les reprises de police indésirables et le reclassement du texte. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md index 95817a0371..6a5ad3ba16 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md @@ -1,5 +1,5 @@ --- -title: Appliquer des animations de formes dans les présentations avec Python +title: Appliquer des animations de forme dans les présentations avec Python linktitle: Animation de forme type: docs weight: 60 @@ -11,58 +11,57 @@ keywords: - forme animée - texte animé - ajouter une animation -- obtenir l'animation -- extraire l'animation +- obtenir une animation +- extraire une animation - ajouter un effet -- obtenir l'effet -- extraire l'effet +- obtenir un effet +- extraire un effet - son d'effet -- appliquer l'animation +- appliquer une animation - PowerPoint - présentation - Python - Aspose.Slides -description: "Découvrez comment créer et personnaliser des animations de formes dans les présentations PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET. Démarquez-vous !" +description: "Découvrez comment créer et personnaliser des animations de forme dans les présentations PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET. Démarquez-vous!" --- -Les animations sont des effets visuels qui peuvent être appliqués aux textes, images, formes ou [graphiques](/slides/fr/python-net/animated-charts/). Elles donnent vie aux présentations ou à leurs éléments. +Les animations sont des effets visuels qui peuvent être appliqués aux textes, aux images, aux formes ou aux [graphes](/slides/fr/python-net/animated-charts/). Elles donnent vie aux présentations ou à leurs constituants. -### **Pourquoi utiliser des animations dans les présentations ?** +## **Pourquoi utiliser les animations dans les présentations ?** -En utilisant des animations, vous pouvez +En utilisant les animations, vous pouvez -* contrôler le flux d'information -* souligner des points importants -* augmenter l'intérêt ou la participation de votre audience +* contrôler le flux d’informations +* mettre en avant les points importants +* augmenter l’intérêt ou la participation de votre public * rendre le contenu plus facile à lire, assimiler ou traiter -* attirer l'attention de vos lecteurs ou spectateurs sur des parties importantes d'une présentation +* attirer l’attention de vos lecteurs ou spectateurs sur les parties importantes d’une présentation -PowerPoint offre de nombreuses options et outils pour les animations et les effets d'animation dans les catégories **entrée**, **sortie**, **accentuation** et **chemins de mouvement**. +PowerPoint propose de nombreuses options et outils pour les animations et les effets d’animation dans les catégories **entrée**, **sortie**, **mise en valeur** et **chemins de mouvement**. -### **Animations dans Aspose.Slides** +## **Animations dans Aspose.Slides** -* Aspose.Slides fournit les classes et types nécessaires pour travailler avec des animations sous le namespace [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/), -* Aspose.Slides propose plus de **150 effets d'animation** sous l'énumération [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). Ces effets sont essentiellement les mêmes (ou équivalents) que ceux utilisés dans PowerPoint. +* Aspose.Slides fournit les classes et les types nécessaires pour travailler avec les animations sous l’espace de noms [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) , +* Aspose.Slides propose plus de **150 effets d’animation** sous l’énumération [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). Ces effets sont essentiellement les mêmes (ou équivalents) que ceux utilisés dans PowerPoint. -## **Appliquer une animation à un TextBox** +## **Appliquer une animation à une zone de texte** -Aspose.Slides pour Python via .NET permet d'appliquer une animation au texte dans une forme. +Aspose.Slides for Python via .NET vous permet d’appliquer une animation au texte d’une forme. -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez la référence d'une diapositive via son index. -3. Ajoutez une `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. Ajoutez du texte à `IAutoShape.TextFrame`. -5. Obtenez une séquence principale d'effets. -6. Ajoutez un effet d'animation à [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -7. Définissez la propriété `TextAnimation.BuildType` sur la valeur de l'énumération `BuildType`. -8. Écrivez la présentation sur le disque en tant que fichier PPTX. - -Ce code Python montre comment appliquer l'effet `Fade` à AutoShape et définir l'animation du texte sur la valeur *Par 1er Niveau de Paragraphes* : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez la référence d’une diapositive grâce à son indice. +3. Ajoutez un `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +4. Ajoutez du texte à `IAutoShape.TextFrame`. +5. Récupérez la séquence principale d’effets. +6. Ajoutez un effet d’animation à [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +7. Définissez la propriété `TextAnimation.BuildType` sur la valeur issue de l’énumération `BuildType`. +8. Enregistrez la présentation sur le disque au format PPTX. +Ce code Python montre comment appliquer l’effet `Fade` à une AutoShape et définir l’animation du texte sur la valeur *Par paragraphes du premier niveau* : ```python import aspose.slides as slides -# Instancie une classe de présentation qui représente un fichier de présentation. +# Crée une instance de la classe Presentation qui représente un fichier de présentation. with slides.Presentation() as pres: sld = pres.slides[0] @@ -70,38 +69,38 @@ with slides.Presentation() as pres: autoShape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 100) textFrame = autoShape.text_frame - textFrame.text = "Premier paragraphe \nDeuxième paragraphe \n Troisième paragraphe" + textFrame.text = "First paragraph \nSecond paragraph \n Third paragraph" # Obtient la séquence principale de la diapositive. sequence = sld.timeline.main_sequence - # Ajoute un effet d'animation Fade à la forme + # Ajoute l'effet d'animation Fade à la forme effect = sequence.add_effect(autoShape, slides.animation.EffectType.FADE, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.ON_CLICK) - # Anime le texte de la forme par les 1ers niveaux de paragraphes + # Anime le texte de la forme par paragraphes de premier niveau effect.text_animation.build_type = slides.animation.BuildType.BY_LEVEL_PARAGRAPHS1 - # Sauvegarde le fichier PPTX sur le disque + # Enregistre le fichier PPTX sur le disque pres.save("AnimText_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -En plus d'appliquer des animations au texte, vous pouvez également appliquer des animations à un seul [Paragraphe](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). Voir [**Texte Animé**](/slides/fr/python-net/animated-text/). +En plus d’appliquer des animations au texte, vous pouvez également les appliquer à un seul [Paragraphe](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). Consultez [**Texte animé**](/slides/fr/python-net/animated-text/). {{% /alert %}} -## **Appliquer une animation à PictureFrame** - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez la référence d'une diapositive via son index. -3. Ajoutez ou obtenez un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) sur la diapositive. -4. Obtenez la séquence principale d'effets. -5. Ajoutez un effet d'animation à [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). -6. Écrivez la présentation sur le disque en tant que fichier PPTX. +## **Appliquer une animation à un PictureFrame** -Ce code Python montre comment appliquer l'effet `Fly` à un cadre d'image : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez la référence d’une diapositive grâce à son indice. +3. Ajoutez ou récupérez un [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) sur la diapositive. +4. Récupérez la séquence principale d’effets. +5. Ajoutez un effet d’animation à [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). +6. Enregistrez la présentation sur le disque au format PPTX. +Ce code Python montre comment appliquer l’effet `Fly` à un cadre image : ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -109,51 +108,51 @@ import aspose.pydrawing as draw # Instancie une classe de présentation qui représente un fichier de présentation. with slides.Presentation() as pres: - # Charge l'image à ajouter dans la collection d'images de la présentation + # Charge l'image à ajouter à la collection d'images de la présentation img = draw.Bitmap("aspose-logo.jpg") image = pres.images.add_image(img) - # Ajoute un cadre d'image à la diapositive + # Ajoute un cadre image à la diapositive picFrame = pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) # Obtient la séquence principale de la diapositive. sequence = pres.slides[0].timeline.main_sequence - # Ajoute un effet d'animation Fly from Left au cadre d'image + # Ajoute l'effet d'animation Voler depuis la gauche au cadre image effect = sequence.add_effect(picFrame, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.LEFT, slides.animation.EffectTriggerType.ON_CLICK) - # Sauvegarde le fichier PPTX sur le disque + # Enregistre le fichier PPTX sur le disque pres.save("AnimImage_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Appliquer une animation à une forme** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez la référence d'une diapositive via son index. -3. Ajoutez une `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. Ajoutez une `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) (quand cet objet est cliqué, l'animation est jouée). -5. Créez une séquence d'effets sur la forme bevel. -6. Créez un `UserPath` personnalisé. -7. Ajoutez des commandes pour se déplacer vers le `UserPath`. -8. Écrivez la présentation sur le disque en tant que fichier PPTX. +## **Appliquer une animation à une forme** -Ce code Python montre comment appliquer l'effet `PathFootball` à une forme : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez la référence d’une diapositive grâce à son indice. +3. Ajoutez un `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +4. Ajoutez un `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) (lorsque cet objet est cliqué, l’animation se déclenche). +5. Créez une séquence d’effets sur la forme en biseau. +6. Créez un `UserPath` personnalisé. +7. Ajoutez des commandes pour le déplacement vers le `UserPath`. +8. Enregistrez la présentation sur le disque au format PPTX. +Ce code Python montre comment appliquer l’effet `PathFootball` (chemin football) à une forme : ```python import aspose.slides.animation as anim import aspose.slides as slides import aspose.pydrawing as draw -# Instancie une classe de présentation qui représente un fichier PPTX +# Instancie une classe Presentation qui représente un fichier PPTX. with slides.Presentation() as pres: sld = pres.slides[0] # Crée l'effet PathFootball pour la forme existante à partir de zéro. ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 150, 250, 25) - ashp.add_text_frame("Texte É animé") + ashp.add_text_frame("Animated TextBox") # Ajoute l'effet d'animation PathFootBall. pres.slides[0].timeline.main_sequence.add_effect(ashp, @@ -161,19 +160,19 @@ with slides.Presentation() as pres: anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS) - # Crée une sorte de "bouton". + # Crée une sorte de "button". shapeTrigger = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.BEVEL, 10, 10, 20, 20) # Crée une séquence d'effets pour le bouton. seqInter = pres.slides[0].timeline.interactive_sequences.add(shapeTrigger) - # Crée un chemin utilisateur personnalisé. Notre objet ne sera déplacé qu'après que le bouton ait été cliqué. + # Crée un chemin utilisateur personnalisé. Notre objet ne sera déplacé qu'après le clic sur le bouton. fxUserPath = seqInter.add_effect(ashp, anim.EffectType.PATH_USER, anim.EffectSubtype.NONE, anim.EffectTriggerType.ON_CLICK) - # Ajoute des commandes pour se déplacer puisque le chemin créé est vide. + # Ajoute des commandes de déplacement puisque le chemin créé est vide. motionBhv = fxUserPath.behaviors[0] pts = [draw.PointF(0.076, 0.59)] @@ -182,58 +181,116 @@ with slides.Presentation() as pres: motionBhv.path.add(anim.MotionCommandPathType.LINE_TO, pts, anim.MotionPathPointsType.AUTO, False) motionBhv.path.add(anim.MotionCommandPathType.END, None, anim.MotionPathPointsType.AUTO, False) - # Écrit le fichier PPTX sur le disque + # Enregistre le fichier PPTX sur le disque pres.save("AnimExample_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Obtenir les effets d'animation appliqués à une forme** -Vous pouvez décider de découvrir tous les effets d'animation appliqués à une seule forme. +## **Obtenir les effets d’animation appliqués à une forme** + +Les exemples suivants montrent comment utiliser la méthode `get_effects_by_shape` de la classe [Sequence](https://reference.aspose.com/slides/python-net/aspose.slides.animation/sequence/) pour récupérer tous les effets d’animation appliqués à une forme. -Ce code Python montre comment obtenir tous les effets appliqués à une forme spécifique : +**Exemple 1 : Obtenir les effets d’animation appliqués à une forme sur une diapositive normale** +Auparavant, vous avez appris comment ajouter des effets d’animation aux formes dans les présentations PowerPoint. Le code suivant montre comment obtenir les effets appliqués à la première forme de la première diapositive normale du fichier `AnimExample_out.pptx`. ```python import aspose.slides as slides -# Instancie une classe de présentation qui représente un fichier de présentation. -with slides.Presentation("AnimExample_out.pptx") as pres: - firstSlide = pres.slides[0] +with slides.Presentation("AnimExample_out.pptx") as presentation: + first_slide = presentation.slides[0] - # Obtient la séquence principale de la diapositive. - sequence = firstSlide.timeline.main_sequence + # Obtient la séquence principale d'animation de la diapositive. + sequence = first_slide.timeline.main_sequence - # Obtient la première forme sur la diapositive. - shape = firstSlide.shapes[0] + # Obtient la première forme de la première diapositive. + shape = first_slide.shapes[0] - # Obtient tous les effets d’animation appliqués à la forme. - shapeEffects = sequence.get_effects_by_shape(shape) + # Obtient les effets d'animation appliqués à la forme. + shape_effects = sequence.get_effects_by_shape(shape) - if len(shapeEffects) > 0: - print("La forme " + shape.name + " a " + str(len(shapeEffects)) + " effets d'animation.") + if len(shape_effects) > 0: + print("The shape", shape.name, "has", len(shape_effects), "animation effects.") ``` -## **Modifier les propriétés de timing de l'effet d'animation** -Aspose.Slides pour Python via .NET vous permet de modifier les propriétés de Timing d'un effet d'animation. +**Exemple 2 : Obtenir tous les effets d’animation, y compris ceux hérités des espaces réservés** -Voici le panneau de Timing d'animation dans Microsoft PowerPoint : +Si une forme sur une diapositive normale possède des espaces réservés provenant de la diapositive de mise en page et/ou de la diapositive maître, et que des effets d’animation ont été ajoutés à ces espaces réservés, alors tous les effets de la forme seront joués pendant le diaporama, y compris ceux hérités. -![example1_image](shape-animation.png) +Imaginons un fichier PowerPoint `sample.pptx` contenant une diapositive avec uniquement une forme de pied de page contenant le texte « Made with Aspose.Slides » et l’effet **Random Bars** appliqué à la forme. + +![Effet d’animation de forme de diapositive](slide-shape-animation.png) -Voici les correspondances entre le Timing PowerPoint et les propriétés `Effect.Timing` : +Supposons également que l’effet **Split** soit appliqué à l’espace réservé du pied de page sur la diapositive **mise en page**. -- La liste déroulante de démarrage **Timing** de PowerPoint correspond à la propriété [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/). -- La **Durée** de Timing de PowerPoint correspond à la propriété `Effect.Timing.Duration`. La durée d'une animation (en secondes) est le temps total nécessaire pour que l'animation complète un cycle. -- Le **Délai** de Timing de PowerPoint correspond à la propriété `Effect.Timing.TriggerDelayTime`. +![Effet d’animation de forme de mise en page](layout-shape-animation.png) -Voici comment modifier les propriétés de Timing d'effet : +Enfin, l’effet **Fly In** est appliqué à l’espace réservé du pied de page sur la diapositive **maître**. -1. [Appliquez](#appliquer-une-animation-à-une-forme) ou obtenez l'effet d'animation. -2. Définissez de nouvelles valeurs pour les propriétés `Effect.Timing` dont vous avez besoin. -3. Sauvegardez le fichier PPTX modifié. +![Effet d’animation de forme maître](master-shape-animation.png) -Ce code Python illustre l'opération : +Le code suivant montre comment utiliser la méthode `get_base_placeholder` de la classe [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) pour accéder aux espaces réservés de la forme et obtenir les effets d’animation appliqués à la forme de pied de page, y compris ceux hérités des espaces réservés situés sur les diapositives de mise en page et maître. +```py +import aspose.slides as slides + +def print_effects(effects): + for effect in effects: + print(effect.type.name, effect.subtype.name) +``` + +```py +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + + # Récupère les effets d'animation de la forme sur la diapositive normale. + shape = slide.shapes[0] + shape_effects = slide.timeline.main_sequence.get_effects_by_shape(shape) + + # Récupère les effets d'animation du placeholder sur la diapositive de mise en page. + layout_shape = shape.get_base_placeholder() + layout_shape_effects = slide.layout_slide.timeline.main_sequence.get_effects_by_shape(layout_shape) + + # Récupère les effets d'animation du placeholder sur la diapositive maître. + master_shape = layout_shape.get_base_placeholder() + master_shape_effects = slide.layout_slide.master_slide.timeline.main_sequence.get_effects_by_shape(master_shape) + + print("Main sequence of shape effects:") + print_effects(master_shape_effects) + print_effects(layout_shape_effects) + print_effects(shape_effects) +``` + + +Sortie : +```text +Main sequence of shape effects: +FLY BOTTOM +SPLIT VERTICAL_IN +RANDOM_BARS HORIZONTAL +``` + +## **Modifier les propriétés de synchronisation d’un effet d’animation** + +Aspose.Slides for Python via .NET vous permet de modifier les propriétés de synchronisation d’un effet d’animation. + +Voici le panneau Synchronisation de l’animation dans Microsoft PowerPoint : + +![example1_image](shape-animation.png) + +Correspondances entre la synchronisation de PowerPoint et les propriétés `Effect.Timing` : + +- La liste déroulante **Start** de PowerPoint correspond à la propriété [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/). +- La valeur **Duration** de PowerPoint correspond à la propriété `Effect.Timing.Duration`. La durée d’une animation (en secondes) correspond au temps total nécessaire à l’animation pour accomplir un cycle. +- La valeur **Delay** de PowerPoint correspond à la propriété `Effect.Timing.TriggerDelayTime`. + +Voici comment modifier les propriétés de synchronisation de l’effet : + +1. [Appliquer](#apply-animation-to-shape) ou récupérer l’effet d’animation. +2. Définir de nouvelles valeurs pour les propriétés `Effect.Timing` souhaitées. +3. Enregistrer le fichier PPTX modifié. + +Ce code Python illustre l’opération : ```python import aspose.slides as slides @@ -245,30 +302,30 @@ with slides.Presentation("AnimExample_out.pptx") as pres: # Obtient le premier effet de la séquence principale. effect = sequence[0] - # Change le trigger d'effet pour qu'il commence au clic + # Modifie le TriggerType de l'effet pour démarrer au clic effect.timing.trigger_type = slides.animation.EffectTriggerType.ON_CLICK - # Change la durée de l'effet + # Modifie la durée de l'effet effect.timing.duration = 3 - # Change le TriggerDelayTime de l'effet + # Modifie le TriggerDelayTime de l'effet effect.timing.trigger_delay_time = 0.5 - # Sauvegarde le fichier PPTX sur le disque + # Enregistre le fichier PPTX sur le disque pres.save("AnimExample_changed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Son de l'effet d'animation** -Aspose.Slides fournit ces propriétés pour vous permettre de travailler avec des sons dans les effets d'animation : +## **Son d’un effet d’animation** + +Aspose.Slides propose les propriétés suivantes pour travailler avec les sons dans les effets d’animation : - `sound` - `stop_previous_sound` -### **Ajouter un son à l'effet d'animation** - -Ce code Python montre comment ajouter un son à un effet d'animation et l'arrêter lorsque l'effet suivant commence : +### **Ajouter un son à un effet d’animation** +Ce code Python montre comment ajouter un son à un effet d’animation et l’arrêter lorsque l’effet suivant démarre : ```python import aspose.slides as slides @@ -284,30 +341,30 @@ with Presentation("AnimExample_out.pptx") as pres: # Obtient le premier effet de la séquence principale first_effect = sequence[0] - # Vérifie l'effet pour "Pas de Son" + # Vérifie si l'effet n'a pas de son if not first_effect.stop_previous_sound and first_effect.sound is None: - # Ajoute un son pour le premier effet + # Ajoute un son au premier effet first_effect.sound = effect_sound # Obtient la première séquence interactive de la diapositive. interactive_sequence = first_slide.timeline.interactive_sequences[0] - # Définit le flag "Arrêter le son précédent" de l'effet + # Définit le drapeau «Stop previous sound» de l'effet interactive_sequence[0].stop_previous_sound = True - # Écrit le fichier PPTX sur le disque + # Enregistre le fichier PPTX sur le disque pres.save("AnimExample_Sound_out.pptx", slides.export.SaveFormat.PPTX) ``` -### **Extraire le son de l'effet d'animation** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Obtenez la référence d'une diapositive via son index. -3. Obtenez la séquence principale d'effets. -4. Extrayez le `son` intégré à chaque effet d'animation. +### **Extraire le son d’un effet d’animation** -Ce code Python montre comment extraire le son intégré dans un effet d'animation : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez la référence d’une diapositive grâce à son indice. +3. Récupérez la séquence principale d’effets. +4. Extrayez le `sound` intégré à chaque effet d’animation. +Ce code Python montre comment extraire le son intégré à un effet d’animation : ```python import aspose.slides as slides @@ -322,29 +379,29 @@ with slides.Presentation("EffectSound.pptx") as presentation: if effect.sound is None: continue - # Extrait le son d'effet en tableau d'octets + # Extrait le son de l'effet sous forme de tableau d'octets audio = effect.sound.binary_data ``` -## **Après l'animation** -Aspose.Slides pour .NET vous permet de modifier la propriété Après l'animation d'un effet d'animation. +## **Après l’animation** -Voici le panneau Effet d'animation et le menu étendu dans Microsoft PowerPoint : +Aspose.Slides for .NET vous permet de modifier la propriété Après animation d’un effet d’animation. -![example1_image](shape-after-animation.png) +Voici le panneau Effet d’animation et le menu étendu dans Microsoft PowerPoint : -La liste déroulante **Après l'animation** de PowerPoint correspond à ces propriétés : +![example1_image](shape-after-animation.png) -- la propriété `after_animation_type` qui décrit le type d'après-animation : - * Les **Plus de couleurs** de PowerPoint correspondent au type [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; - * L'élément de liste **Ne pas atténuer** de PowerPoint correspond au type [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (type d'après-animation par défaut) ; - * L'élément **Cacher après animation** de PowerPoint correspond au type [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; - * L'élément **Cacher au prochain clic de souris** de PowerPoint correspond au type [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) ; -- La propriété `after_animation_color` qui définit un format de couleur après animation. Cette propriété fonctionne en conjonction avec le type [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). Si vous changez le type en un autre, la couleur après animation sera effacée. +La liste déroulante **After animation** de PowerPoint correspond aux propriétés suivantes : -Ce code Python montre comment modifier un effet d'après animation : +- propriété `after_animation_type` qui décrit le type d’après‑animation : + * **More Colors** de PowerPoint correspond au type [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); + * **Don’t Dim** de PowerPoint correspond au type [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (type d’après‑animation par défaut); + * **Hide After Animation** de PowerPoint correspond au type [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); + * **Hide on Next Mouse Click** de PowerPoint correspond au type [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); +- propriété `after_animation_color` qui définit le format de couleur après l’animation. Cette propriété fonctionne en conjonction avec le type [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). Si vous changez le type, la couleur après animation sera réinitialisée. +Ce code Python montre comment modifier un effet après animation : ```python import aspose.slides as slides @@ -355,35 +412,35 @@ with slides.Presentation("AnimImage_out.pptx") as pres: # Obtient le premier effet de la séquence principale first_effect = first_slide.timeline.main_sequence[0] - # Change le type d'après animation en Couleur + # Modifie le type d'animation après en Couleur first_effect.after_animation_type = AfterAnimationType.COLOR # Définit la couleur d'atténuation après animation first_effect.after_animation_color.color = Color.alice_blue - # Écrit le fichier PPTX sur le disque + # Enregistre le fichier PPTX sur le disque pres.save("AnimImage_AfterAnimation.pptx", slides.export.SaveFormat.PPTX) ``` -## **Animer le texte** -Aspose.Slides fournit ces propriétés pour vous permettre de travailler avec le bloc *Animer le texte* d'un effet d'animation : +## **Animer le texte** -- `animate_text_type` qui décrit un type d'animation de texte de l'effet. Le texte de la forme peut être animé : - - Tout d'un coup ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) type) - - Par mot ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) type) - - Par lettre ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) type) -- `delay_between_text_parts` définit un délai entre les parties de texte animées (mots ou lettres). Une valeur positive spécifie le pourcentage de durée de l'effet. Une valeur négative spécifie le délai en secondes. +Aspose.Slides propose les propriétés suivantes pour travailler avec le bloc *Animate text* d’un effet d’animation : -Voici comment vous pouvez modifier les propriétés d'animation d'effet : +- `animate_text_type` qui décrit le type d’animation du texte de l’effet. Le texte de la forme peut être animé : + - Tout d’un coup ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) ) + - Par mot ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) ) + - Par lettre ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) ) +- `delay_between_text_parts` définit le délai entre les parties du texte animé (mots ou lettres). Une valeur positive indique le pourcentage de la durée de l’effet. Une valeur négative indique le délai en secondes. -1. [Appliquez](#appliquer-une-animation-à-une-forme) ou obtenez l'effet d'animation. -2. Définissez la propriété `build_type` sur la valeur [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) pour désactiver le mode d'animation *Par Paragraphes*. -3. Définissez de nouvelles valeurs pour les propriétés `animate_text_type` et `delay_between_text_parts`. -4. Sauvegardez le fichier PPTX modifié. +Voici comment modifier les propriétés d’animation du texte : -Ce code Python démontre l'opération : +1. [Appliquer](#apply-animation-to-shape) ou récupérer l’effet d’animation. +2. Définir la propriété `build_type` sur la valeur [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) pour désactiver le mode d’animation *Par paragraphes*. +3. Définir de nouvelles valeurs pour les propriétés `animate_text_type` et `delay_between_text_parts`. +4. Enregistrer le fichier PPTX modifié. +Ce code Python montre l’opération : ```python import aspose.slides as slides @@ -393,16 +450,31 @@ with slides.Presentation("AnimTextBox_out.pptx") as pres: # Obtient le premier effet de la séquence principale first_effect = first_slide.timeline.main_sequence[0] - # Change le type d'animation d'effet de texte à "En tant qu'un objet" + # Modifie le type d'animation du texte de l'effet en "As One Object" first_effect.text_animation.build_type = slides.animation.BuildType.AS_ONE_OBJECT - # Change le type d'animation d'effet de texte à "Par mot" + # Modifie le type d'animation du texte de l'effet en "By word" first_effect.animate_text_type = slides.animation.AnimateTextType.BY_WORD # Définit le délai entre les mots à 20% de la durée de l'effet first_effect.delay_between_text_parts = 20 - # Écrit le fichier PPTX sur le disque + # Enregistre le fichier PPTX sur le disque pres.save("AnimTextBox_AnimateText.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment garantir que les animations sont conservées lors de la publication de la présentation sur le Web ?** + +[Export to HTML5](/slides/fr/python-net/export-to-html5/) et activez les [options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) responsables des animations des [formes](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) et des [transitions](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/). Le HTML simple ne lit pas les animations de diapositive, tandis que le HTML5 le fait. + +**Comment le changement de l’ordre Z (ordre des calques) des formes affecte‑t‑il les animations ?** + +L’ordre d’animation et l’ordre de dessin sont indépendants : un effet contrôle le moment et le type d’apparition/disparition, tandis que le [z-order](https://reference.aspose.com/slides/python-net/aspose.slides/shape/z_order_position/) détermine ce qui couvre quoi. Le résultat visible est défini par leur combinaison. (C’est le comportement général de PowerPoint ; le modèle effets‑et‑formes d’Aspose.Slides suit la même logique.) + +**Existe‑t‑il des limitations lors de la conversion des animations en vidéo pour certains effets ?** + +En général, les [animations sont prises en charge](/slides/fr/python-net/convert-powerpoint-to-video/), mais des cas rares ou des effets spécifiques peuvent être rendus différemment. Il est recommandé de tester avec les effets que vous utilisez et avec la version de la bibliothèque. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md index 9e8dcfd6ce..2b32570b61 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md @@ -1,26 +1,38 @@ --- -title: Effet de forme +title: Appliquer des effets de forme dans les présentations avec Python +linktitle: Effet de forme type: docs weight: 30 url: /fr/python-net/shape-effect -keywords: "Effet de forme, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Appliquer un effet à une forme PowerPoint en Python" +keywords: +- effet de forme +- effet d'ombre +- effet de réflexion +- effet de lueur +- effet de bords doux +- format d'effet +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Transformez vos fichiers PPT, PPTX et ODP avec des effets de forme avancés en utilisant Aspose.Slides pour Python—créez des diapositives percutantes et professionnelles en quelques secondes." --- -Bien que les effets dans PowerPoint puissent être utilisés pour faire ressortir une forme, ils diffèrent des [remplissages](/slides/fr/python-net/shape-formatting/#gradient-fill) ou des contours. En utilisant les effets PowerPoint, vous pouvez créer des réflexions convaincantes sur une forme, étendre la lueur d'une forme, etc. -effet-de-forme +Bien que les effets dans PowerPoint puissent être utilisés pour faire ressortir une forme, ils diffèrent des [remplissages](/slides/fr/python-net/shape-formatting/#gradient-fill) ou des contours. En utilisant les effets PowerPoint, vous pouvez créer des reflets convaincants sur une forme, diffuser la lueur d'une forme, etc. + +shape-effect * PowerPoint propose six effets qui peuvent être appliqués aux formes. Vous pouvez appliquer un ou plusieurs effets à une forme. -* Certaines combinaisons d'effets ont meilleure allure que d'autres. Pour cette raison, PowerPoint propose des options sous **Préréglage**. Les options de préréglage sont essentiellement une combinaison connue et esthétique de deux effets ou plus. De cette manière, en sélectionnant un préréglage, vous n'aurez pas à perdre du temps à tester ou à combiner différents effets pour trouver une belle combinaison. +* Certaines combinaisons d'effets sont plus esthétiques que d'autres. Pour cette raison, les options PowerPoint sous **Preset**. Les options Preset sont essentiellement une combinaison reconnue de deux effets ou plus qui a bonne apparence. Ainsi, en sélectionnant un preset, vous n'aurez pas à perdre de temps à tester ou combiner différents effets pour trouver une belle combinaison. -Aspose.Slides fournit des propriétés et des méthodes sous la classe [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) qui vous permettent d'appliquer les mêmes effets aux formes dans les présentations PowerPoint. +Aspose.Slides fournit des propriétés et des méthodes dans la classe [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) qui permettent d'appliquer les mêmes effets aux formes dans les présentations PowerPoint. ## **Appliquer l'effet d'ombre** Ce code Python vous montre comment appliquer l'effet d'ombre externe (`outer_shadow_effect`) à un rectangle : - ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -36,10 +48,10 @@ with slides.Presentation() as pres: pres.save("output.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Appliquer l'effet de réflexion** Ce code Python vous montre comment appliquer l'effet de réflexion à une forme : - ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -56,10 +68,10 @@ with slides.Presentation() as pres: pres.save("reflection.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Appliquer l'effet de lueur** Ce code Python vous montre comment appliquer l'effet de lueur à une forme : - ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -74,10 +86,10 @@ with slides.Presentation() as pres: pres.save("glow.pptx", slides.export.SaveFormat.PPTX) ``` -## **Appliquer l'effet de bords adoucis** -Ce code Python vous montre comment appliquer les bords adoucis à une forme : +## **Appliquer l'effet de bord doux** +Ce code Python vous montre comment appliquer les bords doux à une forme : ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -89,4 +101,19 @@ with slides.Presentation() as pres: shape.effect_format.soft_edge_effect.radius = 15 pres.save("softEdges.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis-je appliquer plusieurs effets à la même forme ?** + +Oui, vous pouvez combiner différents effets, tels que l'ombre, la réflexion et la lueur, sur une seule forme pour créer une apparence plus dynamique. + +**Sur quelles formes puis‑je appliquer des effets ?** + +Vous pouvez appliquer des effets à diverses formes, notamment les autoshapes, les graphiques, les tableaux, les images, les objets SmartArt, les objets OLE, etc. + +**Puis‑je appliquer des effets aux formes groupées ?** + +Oui, vous pouvez appliquer des effets aux formes groupées. L'effet sera appliqué à l'ensemble du groupe. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md index b34c69b1aa..cc2d52b7e7 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md @@ -1,361 +1,386 @@ --- -title: Connecteur +title: Gérer les connecteurs dans les présentations avec Python +linktitle: Connecteur type: docs weight: 10 url: /fr/python-net/connector/ -keywords: "Connecter des formes, connecteurs, formes PowerPoint, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Connecter des formes PowerPoint en Python" +keywords: +- connecteur +- type de connecteur +- point de connecteur +- ligne de connecteur +- angle de connecteur +- connecter les formes +- PowerPoint +- présentation +- Python +- Aspose.Slides +description: "Permettre aux applications Python de dessiner, connecter et auto-router des lignes dans les diapositives PowerPoint et OpenDocument — obtenir un contrôle total sur les connecteurs droits, coudés et incurvés." --- -Un connecteur PowerPoint est une ligne spéciale qui connecte ou relie deux formes ensemble et reste attachée aux formes même lorsqu'elles sont déplacées ou repositionnées sur une diapositive donnée. +## **Introduction** -Les connecteurs sont généralement connectés à des *points de connexion* (points verts), qui existent sur toutes les formes par défaut. Les points de connexion apparaissent lorsqu'un curseur s'en approche. +Un connecteur PowerPoint est une ligne spécialisée qui relie deux formes et reste attachée lorsque les formes sont déplacées ou repositionnées sur une diapositive. Les connecteurs se connectent aux **points de connexion** (points verts) des formes. Les points de connexion apparaissent lorsque le pointeur s’en approche. Les **poignées d'ajustement** (points jaunes), disponibles sur certains connecteurs, vous permettent de modifier la position et la forme d’un connecteur. -Des *points d'ajustement* (points orange), qui existent uniquement sur certains connecteurs, sont utilisés pour modifier les positions et les formes des connecteurs. +## **Types de connecteur** -## **Types de connecteurs** +Dans PowerPoint, vous pouvez utiliser trois types de connecteurs : droit, coude (angulaire) et incurvé. -Dans PowerPoint, vous pouvez utiliser des connecteurs droits, en coude (angulaires) et courbés. +Aspose.Slides prend en charge les types de connecteur suivants : -Aspose.Slides fournit ces connecteurs : +| Type de connecteur | Image | Nombre de points d'ajustement | +| ------------------ | ----- | ------------------------------ | +| `ShapeType.LINE` | ![Connecteur ligne](shapetype-lineconnector.png) | 0 | +| `ShapeType.STRAIGHT_CONNECTOR1` | ![Connecteur droit 1](shapetype-straightconnector1.png) | 0 | +| `ShapeType.BENT_CONNECTOR2` | ![Connecteur coudé 2](shapetype-bent-connector2.png) | 0 | +| `ShapeType.BENT_CONNECTOR3` | ![Connecteur coudé 3](shapetype-bentconnector3.png) | 1 | +| `ShapeType.BENT_CONNECTOR4` | ![Connecteur coudé 4](shapetype-bentconnector4.png) | 2 | +| `ShapeType.BENT_CONNECTOR5` | ![Connecteur coudé 5](shapetype-bentconnector5.png) | 3 | +| `ShapeType.CURVED_CONNECTOR2` | ![Connecteur incurvé 2](shapetype-curvedconnector2.png) | 0 | +| `ShapeType.CURVED_CONNECTOR3` | ![Connecteur incurvé 3](shapetype-curvedconnector3.png) | 1 | +| `ShapeType.CURVED_CONNECTOR4` | ![Connecteur incurvé 4](shapetype-curvedconnector4.png) | 2 | +| `ShapeType.CURVED_CONNECTOR5` | ![Connecteur incurvé 5](shapetype.curvedconnector5.png) | 3 | -| Connecteur | Image | Nombre de points d'ajustement | -| ------------------------------- | ------------------------------------------------------------ | ------------------------------ | -| `ShapeType.LINE` | ![shapetype-lineconnector](shapetype-lineconnector.png) | 0 | -| `ShapeType.STRAIGHT_CONNECTOR1` | ![shapetype-straightconnector1](shapetype-straightconnector1.png) | 0 | -| `ShapeType.BENT_CONNECTOR2` | ![shapetype-bent-connector2](shapetype-bent-connector2.png) | 0 | -| `ShapeType.BENT_CONNECTOR3` | ![shapetype-bentconnector3](shapetype-bentconnector3.png) | 1 | -| `ShapeType.BENT_CONNECTOR4` | ![shapetype-bentconnector4](shapetype-bentconnector4.png) | 2 | -| `ShapeType.BENT_CONNECTOR5` | ![shapetype-bentconnector5](shapetype-bentconnector5.png) | 3 | -| `ShapeType.CURVED_CONNECTOR2` | ![shapetype-curvedconnector2](shapetype-curvedconnector2.png) | 0 | -| `ShapeType.CURVED_CONNECTOR3` | ![shapetype-curvedconnector3](shapetype-curvedconnector3.png) | 1 | -| `ShapeType.CURVED_CONNECTOR4` | ![shapetype-curvedconnector4](shapetype-curvedconnector4.png) | 2 | -| `ShapeType.CURVED_CONNECTOR5` | ![shapetype.curvedconnector5](shapetype.curvedconnector5.png) | 3 | +## **Connecter des formes avec des connecteurs** -## **Connecter des formes à l'aide de connecteurs** +Cette section montre comment relier des formes avec des connecteurs dans Aspose.Slides. Vous ajouterez un connecteur à une diapositive, attacherez son début et sa fin aux formes cibles. L’utilisation des sites de connexion garantit que le connecteur reste « collé » aux formes même lorsqu’elles sont déplacées ou redimensionnées. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive via son index. -1. Ajoutez deux [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) à la diapositive en utilisant la méthode `add_auto_shape` exposée par l'objet `Shapes`. -1. Ajoutez un connecteur en utilisant la méthode `add_auto_shape` exposée par l'objet `Shapes` en définissant le type de connecteur. -1. Connectez les formes en utilisant le connecteur. +1. Obtenez une référence à la diapositive par son index. +1. Ajoutez deux objets [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) à la diapositive en utilisant la méthode `add_auto_shape` exposée par l’objet [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Ajoutez un connecteur à l’aide de la méthode `add_connector` exposée par l’objet [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) et spécifiez le type de connecteur. +1. Connectez les formes avec le connecteur. 1. Appelez la méthode `reroute` pour appliquer le chemin de connexion le plus court. 1. Enregistrez la présentation. -Ce code Python vous montre comment ajouter un connecteur (un connecteur coudé) entre deux formes (une ellipse et un rectangle) : - ```python import aspose.slides as slides -# Instancie une classe de présentation qui représente un fichier PPTX -with slides.Presentation() as input: - # Accède à la collection de formes pour une diapositive spécifique - shapes = input.slides[0].shapes +# Instancier la classe Presentation pour créer un fichier PPTX. +with slides.Presentation() as presentation: + + # Accéder à la collection de formes de la première diapositive. + shapes = presentation.slides[0].shapes - # Ajoute une autoshape Ellipse - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Ajouter une AutoShape ellipse. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Ajoute une autoshape Rectangle - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100) + # Ajouter une AutoShape rectangle. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Ajoute une forme de connecteur à la collection de formes de la diapositive + # Ajouter un connecteur à la diapositive. connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) - # Connecte les formes à l'aide du connecteur + # Connecter les formes avec le connecteur. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # Appelle reroute qui définit le chemin automatique le plus court entre les formes + # Appeler reroute pour définir le chemin le plus court. connector.reroute() - # Enregistre la présentation - input.save("Connecting shapes using connectors_out.pptx", slides.export.SaveFormat.PPTX) - + # Enregistrer la présentation. + presentation.save("connected_shapes.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="REMARQUE" color="warning" %}} - -La méthode `connector.reroute` reroute un connecteur et l'oblige à prendre le chemin le plus court possible entre les formes. Pour atteindre cet objectif, la méthode peut changer les points `start_shape_connection_site_index` et `end_shape_connection_site_index`. -{{% /alert %}} +{{% alert title="NOTE" color="warning" %}} +La méthode `connector.reroute` redirige un connecteur, le contraignant à prendre le chemin le plus court possible entre les formes. Pour ce faire, la méthode peut modifier les valeurs `start_shape_connection_site_index` et `end_shape_connection_site_index`. +{{% /alert %}} -## **Spécifier le point de connexion** +## **Spécifier les points de connexion** -Si vous souhaitez qu'un connecteur relie deux formes en utilisant des points spécifiques sur les formes, vous devez spécifier vos points de connexion préférés de cette manière : +Cette section explique comment attacher un connecteur à un point de connexion spécifique sur une forme dans Aspose.Slides. En ciblant des sites de connexion précis, vous pouvez contrôler le routage et la disposition du connecteur, produisant des diagrammes propres et prévisibles dans vos présentations. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive via son index. -1. Ajoutez deux [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) à la diapositive en utilisant la méthode `add_auto_shape` exposée par l'objet `Shapes`. -1. Ajoutez un connecteur en utilisant la méthode `add_connector` exposée par l'objet `Shapes` en définissant le type de connecteur. -1. Connectez les formes en utilisant le connecteur. -1. Définissez vos points de connexion préférés sur les formes. +1. Obtenez une référence à la diapositive par son index. +1. Ajoutez deux objets [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) à la diapositive en utilisant la méthode `add_auto_shape` exposée par l’objet [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Ajoutez un connecteur à l’aide de la méthode `add_connector` exposée par l’objet [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) et spécifiez le type de connecteur. +1. Connectez les formes avec le connecteur. +1. Définissez vos points de connexion préférés sur les formes. 1. Enregistrez la présentation. -Ce code Python démontre une opération où un point de connexion préféré est spécifié : - ```python import aspose.slides as slides -# Instancie une classe de présentation qui représente un fichier PPTX +# Instancier la classe Presentation pour créer un fichier PPTX. with slides.Presentation() as presentation: - # Accède à la collection de formes pour une diapositive spécifique + + # Accéder à la collection de formes de la première diapositive. shapes = presentation.slides[0].shapes - # Ajoute une forme de connecteur à la collection de formes de la diapositive - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) + # Ajouter une AutoShape ellipse. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Ajoute une autoshape Ellipse - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Ajouter une AutoShape rectangle. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Ajoute une autoshape Rectangle - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 100, 100) + # Ajouter un connecteur à la collection de formes de la diapositive. + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) - # Connecte les formes à l'aide du connecteur + # Connecter les formes avec le connecteur. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # Définit l'index du point de connexion préféré sur la forme Ellipse - wantedIndex = 6 - - # Vérifie si l'index préféré est inférieur au nombre maximum de sites d'index - if ellipse.connection_site_count > wantedIndex: - # Définit le point de connexion préféré sur l'autoshape Ellipse - connector.start_shape_connection_site_index = wantedIndex + # Définir l'indice du site de connexion préféré sur l'ellipse. + site_index = 6 - # Enregistre la présentation - presentation.save("Connecting_Shape_on_desired_connection_site_out.pptx", slides.export.SaveFormat.PPTX) + # Vérifier que l'indice préféré est dans le nombre de sites disponible. + if ellipse.connection_site_count > site_index: + # Attribuer le site de connexion préféré sur l'AutoShape ellipse. + connector.start_shape_connection_site_index = site_index + # Enregistrer la présentation. + presentation.save("connection_points.pptx", slides.export.SaveFormat.PPTX) ``` -## **Ajuster le point du connecteur** -Vous pouvez ajuster un connecteur existant via ses points d'ajustement. Seuls les connecteurs avec des points d'ajustement peuvent être modifiés de cette manière. Consultez le tableau sous **[Types de connecteurs.](/slides/fr/python-net/connector/#types-of-connectors)** +## **Ajuster les points du connecteur** -#### **Cas simple** +Vous pouvez modifier les connecteurs à l’aide de leurs points d’ajustement. Seuls les connecteurs qui exposent des points d’ajustement peuvent être modifiés de cette façon. Pour plus de détails sur les connecteurs qui prennent en charge les ajustements, consultez le tableau sous [Types de connecteur](/slides/fr/python-net/connector/#connector-types). -Considérons un cas où un connecteur entre deux formes (A et B) passe par une troisième forme (C) : +### **Cas simple** -![connector-obstruction](connector-obstruction.png) +Considérez un cas où un connecteur entre deux formes (A et B) intersecte une troisième forme (C) : -Code : +![Obstruction du connecteur](connector-obstruction.png) ```python import aspose.slides as slides import aspose.pydrawing as draw -with slides.Presentation() as pres: - sld = pres.slides[0] - shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.black - connector.start_shape_connected_to = shapeFrom - connector.end_shape_connected_to = shapeTo + connector.start_shape_connected_to = shape_from + connector.end_shape_connected_to = shape_to connector.start_shape_connection_site_index = 2 ``` -Pour éviter ou contourner la troisième forme, nous pouvons ajuster le connecteur en déplaçant sa ligne verticale vers la gauche de cette manière : -![connector-obstruction-fixed](connector-obstruction-fixed.png) +Pour éviter la troisième forme, ajustez le connecteur en déplaçant son segment vertical vers la gauche : +![Obstruction du connecteur corrigée](connector-obstruction-fixed.png) ```python - adj2 = connector.adjustments[1] - adj2.raw_value += 10000 + adjustment2 = connector.adjustments[1] + adjustment2.raw_value += 10000 ``` + ### **Cas complexes** -Pour effectuer des ajustements plus compliqués, vous devez prendre en compte ces éléments : +Pour des ajustements plus avancés, considérez les points suivants : -* Un point d'ajustement d'un connecteur est fortement lié à une formule qui calcule et détermine sa position. Ainsi, des modifications à l'emplacement du point peuvent altérer la forme du connecteur. -* Les points d'ajustement d'un connecteur sont définis dans un ordre strict dans un tableau. Les points d'ajustement sont numérotés depuis le point de départ d'un connecteur jusqu'à son point d'arrivée. -* Les valeurs des points d'ajustement reflètent le pourcentage de la largeur/hauteur d'une forme de connecteur. - * La forme est délimitée par les points de départ et d'arrivée du connecteur multipliés par 1000. - * Le premier point, le deuxième point et le troisième point définissent respectivement le pourcentage de la largeur, le pourcentage de la hauteur et le pourcentage de la largeur (à nouveau). -* Pour les calculs qui déterminent les coordonnées des points d'ajustement d'un connecteur, vous devez tenir compte de la rotation du connecteur et de sa réflexion. **Remarque** que l'angle de rotation pour tous les connecteurs montrés sous **[Types de connecteurs](/slides/fr/python-net/connector/#types-of-connectors)** est 0. +- Le point ajustable d’un connecteur est régi par une formule qui détermine sa position. Modifier ce point peut changer la forme globale du connecteur. +- Les points d’ajustement d’un connecteur sont stockés dans un tableau strictement ordonné, numérotés du début au bout du connecteur. +- Les valeurs des points d’ajustement représentent des pourcentages de la largeur/hauteur de la forme du connecteur. + - La forme est délimitée par les points de début et de fin du connecteur et mise à l’échelle par 1000. + - Le premier, deuxième et troisième points d’ajustement représentent respectivement : pourcentage de largeur, pourcentage de hauteur et à nouveau pourcentage de largeur. +- Lors du calcul des coordonnées des points d’ajustement, tenez compte de la rotation et du retournement du connecteur. **Remarque :** Pour tous les connecteurs listés sous [Types de connecteur](/slides/fr/python-net/connector/#connector-types), l’angle de rotation est 0. #### **Cas 1** -Considérons un cas où deux objets de cadre de texte sont liés ensemble par un connecteur : - -![connector-shape-complex](connector-shape-complex.png) +Considérez un cas où deux objets de zone de texte sont reliés par un connecteur : -Code : +![Formes liées](connector-shape-complex.png) ```python import aspose.slides as slides import aspose.pydrawing as draw -# Instancie une classe de présentation qui représente un fichier PPTX -with slides.Presentation() as pres: - # Obtient la première diapositive de la présentation - sld = pres.slides[0] - # Ajoute des formes qui seront reliées ensemble par un connecteur - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) - shapeFrom.text_frame.text = "De" - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) - shapeTo.text_frame.text = "À" - # Ajoute un connecteur - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) - # Spécifie la direction du connecteur +# Instancier la classe Presentation pour créer un fichier PPTX. +with slides.Presentation() as presentation: + + # Obtenir la première diapositive. + slide = presentation.slides[0] + + # Obtenir la première diapositive. + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) + shape_from.text_frame.text = "From" + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) + shape_to.text_frame.text = "To" + + # Ajouter un connecteur. + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) + # Définir la direction du connecteur. connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE - # Spécifie la couleur du connecteur + # Définir la couleur du connecteur. connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.crimson - # Spécifie l'épaisseur de la ligne du connecteur + # Définir l'épaisseur de la ligne du connecteur. connector.line_format.width = 3 - # Lie les formes ensemble avec le connecteur - connector.start_shape_connected_to = shapeFrom + # Lier les formes avec le connecteur. + connector.start_shape_connected_to = shape_from connector.start_shape_connection_site_index = 3 - connector.end_shape_connected_to = shapeTo - connector.end_shape_connected_to = 2 + connector.end_shape_connected_to = shape_to + connector.end_shape_connection_site_index = 2 - # Obtient les points d'ajustement pour le connecteur - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] + # Obtenir les points d'ajustement du connecteur. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] ``` + **Ajustement** -Nous pouvons changer les valeurs des points d'ajustement du connecteur en augmentant le pourcentage de largeur et de hauteur correspondants de 20 % et 200 %, respectivement : +Modifiez les valeurs des points d’ajustement du connecteur en augmentant respectivement le pourcentage de largeur de 20 % et le pourcentage de hauteur de 200 % : ```python - # Change les valeurs des points d'ajustement - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + # Modifier les valeurs des points d'ajustement. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + Le résultat : -![connector-adjusted-1](connector-adjusted-1.png) +![Ajustement du connecteur 1](connector-adjusted-1.png) -Pour définir un modèle qui nous permet de déterminer les coordonnées et la forme des parties individuelles du connecteur, créons une forme qui correspond à la composante horizontale du connecteur au point connector.adjustments[0] : +Pour définir un modèle nous permettant de déterminer les coordonnées et la forme des segments du connecteur, créez une forme correspondant à la composante verticale du connecteur à `connector.adjustments[0]` : ```python - # Dessine la composante verticale du connecteur - - x = connector.x + connector.width * adjValue_0.raw_value / 100000 + # Dessiner la composante verticale du connecteur. + x = connector.x + connector.width * adjustment_0.raw_value / 100000 y = connector.y - height = connector.height * adjValue_1.raw_value / 100000 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) + height = connector.height * adjustment_1.raw_value / 100000 + + slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) ``` + Le résultat : -![connector-adjusted-2](connector-adjusted-2.png) +![Ajustement du connecteur 2](connector-adjusted-2.png) #### **Cas 2** -Dans **le Cas 1**, nous avons démontré une opération d'ajustement de connecteur simple en utilisant des principes de base. Dans des situations normales, vous devez prendre en compte la rotation et l'affichage du connecteur (qui sont réglés par connector.rotation, connector.frame.flip_h et connector.frame.flip_v). Nous allons maintenant démontrer le processus. +Dans le **Cas 1**, nous avons démontré un ajustement simple de connecteur en utilisant des principes de base. Dans les scénarios typiques, vous devez tenir compte de la rotation du connecteur et de ses paramètres d’affichage (contrôlés par `connector.rotation`, `connector.frame.flip_h` et `connector.frame.flip_v`). Voici comment le processus fonctionne. -Tout d'abord, ajoutons un nouvel objet de cadre de texte (**À 1**) à la diapositive (pour des raisons de connexion) et créons un nouveau connecteur (vert) qui le relie aux objets que nous avons déjà créés. +Tout d’abord, ajoutez un nouvel objet de zone de texte (**To 1**) à la diapositive (pour la connexion), et créez un nouveau connecteur vert qui le relie aux objets existants. ```python - # Crée un nouvel objet de liaison - shapeTo_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) - shapeTo_1.text_frame.text = "À 1" - # Crée un nouveau connecteur + # Créer un nouvel objet cible. + shape_to_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) + shape_to_1.text_frame.text = "To 1" + + # Créer un nouveau connecteur. connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.medium_aquamarine connector.line_format.width = 3 - # Connecte les objets à l'aide du nouveau connecteur + + # Connecter les objets en utilisant le connecteur nouvellement créé. connector.start_shape_connected_to = shapeFrom connector.start_shape_connection_site_index = 2 - connector.end_shape_connected_to = shapeTo_1 - connector.end_shape_connected_site_index = 3 - # Obtient les points d'ajustement du connecteur - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] - # Change les valeurs des points d'ajustement - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + connector.end_shape_connected_to = shape_to_1 + connector.end_shape_connection_site_index = 3 + + # Obtenir les points d'ajustement du connecteur. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] + + # Modifier les valeurs des points d'ajustement. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` -Le résultat : -![connector-adjusted-3](connector-adjusted-3.png) +![Ajustement du connecteur 3](connector-adjusted-3.png) -Deuxièmement, créons une forme qui correspondra à la composante horizontale du connecteur qui passe par le point d'ajustement connector.adjustments[0]. Nous utiliserons les valeurs des données du connecteur pour connector.rotation, connector.frame.flip_h et connector.frame.flip_v et appliquerons la formule de conversion de coordonnées populaire pour une rotation autour d'un point donné x0 : +Ensuite, créez une forme correspondant au segment **horizontal** du connecteur qui passe par le nouveau point d’ajustement du connecteur, `connector.adjustments[0]`. Utilisez les valeurs de `connector.rotation`, `connector.frame.flip_h` et `connector.frame.flip_v`, et appliquez la formule standard de conversion de coordonnées pour une rotation autour d’un point donné `x0` : X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; - Y = (x — x0) * sin(alpha) + (y — y0) * cos(alpha) + y0; -Dans notre cas, l'angle de rotation de l'objet est de 90 degrés et le connecteur est affiché verticalement, donc voici le code correspondant : +Dans notre cas, l’angle de rotation de l’objet est de 90 degrés et le connecteur est affiché verticalement, ainsi le code correspondant est : ```python - # Sauvegarde les coordonnées du connecteur + # Enregistrer les coordonnées du connecteur. x = connector.x y = connector.y - # Corrige les coordonnées du connecteur au cas où elles apparaîtraient + + # Corriger les coordonnées du connecteur s'il est inversé. if connector.frame.flip_h == 1: x += connector.width if connector.frame.flip_v == 1: y += connector.height - # Prend la valeur du point d'ajustement comme coordonnée + # Utiliser la valeur du point d'ajustement comme coordonnée. x += connector.width * adjValue_0.raw_value / 100000 - # Convertit les coordonnées puisque Sin(90) = 1 et Cos(90) = 0 + # Convertir les coordonnées car sin(90°) = 1 et cos(90°) = 0. xx = connector.frame.center_x - y + connector.frame.center_y yy = x - connector.frame.center_x + connector.frame.center_y - # Détermine la largeur de la composante horizontale en utilisant la valeur du deuxième point d'ajustement + # Déterminer la largeur du segment horizontal en utilisant la valeur du deuxième point d'ajustement. width = connector.height * adjValue_1.raw_value / 100000 shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, xx, yy, width, 0) shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red ``` -Le résultat : -![connector-adjusted-4](connector-adjusted-4.png) +![Ajustement du connecteur 4](connector-adjusted-4.png) -Nous avons démontré des calculs impliquant des ajustements simples et des points d'ajustement compliqués (points d'ajustement avec des angles de rotation). En utilisant les connaissances acquises, vous pouvez développer votre propre modèle (ou écrire un code) pour obtenir un objet `GraphicsPath` ou même définir les valeurs des points d'ajustement d'un connecteur en fonction des coordonnées spécifiques de la diapositive. +Nous avons démontré des calculs impliquant des ajustements simples et des points d’ajustement plus complexes (celui qui tiennent compte de la rotation). En utilisant ces connaissances, vous pouvez développer votre propre modèle — ou écrire du code — pour obtenir un objet `GraphicsPath` ou même définir les valeurs des points d’ajustement d’un connecteur en fonction de coordonnées spécifiques de la diapositive. -## **Trouver l'angle des lignes de connecteur** +## **Trouver les angles des lignes de connecteur** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive via son index. -1. Accédez à la forme de ligne de connecteur. -1. Utilisez la largeur de ligne, la hauteur, la hauteur de cadre de forme et la largeur de cadre de forme pour calculer l'angle. +Utilisez l’exemple ci‑dessus pour déterminer l’angle des lignes de connecteur sur une diapositive avec Aspose.Slides. Vous apprendrez à lire les extrémités d’un connecteur et à calculer son orientation afin d’aligner précisément les flèches, les libellés et d’autres formes. -Ce code Python démontre une opération dans laquelle nous avons calculé l'angle pour une forme de ligne de connecteur : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenez une référence à la diapositive par index. +1. Accédez à la forme de ligne du connecteur. +1. Utilisez la largeur et la hauteur de la ligne, ainsi que la largeur et la hauteur du cadre de forme, pour calculer l’angle. ```python import aspose.slides as slides import math -def get_direction(w, h, flipH, flipV): - endLineX = w * (-1 if flipH else 1) - endLineY = h * (-1 if flipV else 1) - endYAxisX = 0 - endYAxisY = h - angle = math.atan2(endYAxisY, endYAxisX) - math.atan2(endLineY, endLineX) +def get_direction(w, h, flip_h, flip_v): + end_line_x = w * (-1 if flip_h else 1) + end_line_y = h * (-1 if flip_v else 1) + end_y_axis_x = 0 + end_y_axis_y = h + angle = math.atan2(end_y_axis_y, end_y_axis_x) - math.atan2(end_line_y, end_line_x) if (angle < 0): angle += 2 * math.pi return angle * 180.0 / math.pi -with slides.Presentation(path + "ConnectorLineAngle.pptx") as pres: - slide = pres.slides[0] - for i in range(len(slide.shapes)): - dir = 0.0 - shape = slide.shapes[i] - if (type(shape) is slides.AutoShape): - if shape.shape_type == slides.ShapeType.LINE: - dir = get_direction(shape.width, shape.Height, shape.frame.flip_h, shape.frame.flip_v) +with slides.Presentation("connector_line_angle.pptx") as presentation: + slide = presentation.slides[0] + for shape_index in range(len(slide.shapes)): + direction = 0.0 + shape = slide.shapes[shape_index] + if type(shape) is slides.AutoShape and shape.shape_type == slides.ShapeType.LINE: + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) elif type(shape) is slides.Connector: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + print(direction) +``` + + +## **FAQ** + +**Comment savoir si un connecteur peut être « collé » à une forme spécifique ?** + +Vérifiez que la forme expose des [sites de connexion](https://reference.aspose.com/slides/python-net/aspose.slides/shape/connection_site_count/). S’il n’y en a aucun ou que le nombre est zéro, le collage n’est pas disponible ; dans ce cas, utilisez des extrémités libres et positionnez‑les manuellement. Il est judicieux de vérifier le nombre de sites avant de les attacher. + +**Que se passe-t-il pour un connecteur si je supprime l’une des formes connectées ?** + +Ses extrémités seront détachées ; le connecteur reste sur la diapositive comme une ligne ordinaire avec un début/une fin libres. Vous pouvez soit le supprimer, soit réaffecter les connexions et, si nécessaire, [reroute](https://reference.aspose.com/slides/python-net/aspose.slides/connector/reroute/). - print(dir) +**Les liaisons de connecteur sont‑elles conservées lors de la copie d’une diapositive vers une autre présentation ?** -``` \ No newline at end of file +En général oui, à condition que les formes cibles soient également copiées. Si la diapositive est insérée dans un autre fichier sans les formes connectées, les extrémités deviennent libres et vous devrez les rattacher. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md index ab1a79e2aa..c82f7e1343 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md @@ -1,161 +1,208 @@ --- -title: Forme Personnalisée +title: Personnaliser les formes dans les présentations avec Python +linktitle: Forme personnalisée type: docs weight: 20 url: /fr/python-net/custom-shape/ -keywords: "forme PowerPoint, forme personnalisée, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Ajouter une forme personnalisée dans une présentation PowerPoint en Python" +keywords: +- forme personnalisée +- ajouter forme +- créer forme +- modifier forme +- géométrie de forme +- chemin géométrique +- points du chemin +- modifier les points +- ajouter un point +- supprimer un point +- opération de modification +- coin arrondi +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Créer et personnaliser des formes dans les présentations PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET : chemins géométriques, coins arrondis, formes composites." --- -# Modifier une Forme à l'Aide des Points d'Édition +## **Vue d'ensemble** -Considérez un carré. Dans PowerPoint, en utilisant les **points d'édition**, vous pouvez +Considérez un carré. Dans PowerPoint, grâce aux **Edit Points**, vous pouvez : -* déplacer le coin du carré vers l'intérieur ou vers l'extérieur -* spécifier la courbure pour un coin ou un point -* ajouter de nouveaux points au carré -* manipuler des points sur le carré, etc. +* déplacer le coin du carré vers l'intérieur ou l'extérieur, +* ajuster la courbure d’un coin ou d’un point, +* ajouter de nouveaux points au carré, +* manipuler ses points. -Essentiellement, vous pouvez effectuer les tâches décrites sur n'importe quelle forme. En utilisant les points d'édition, vous pouvez changer une forme ou créer une nouvelle forme à partir d'une forme existante. +Vous pouvez appliquer ces opérations à n'importe quelle forme. Avec les **Edit Points**, vous pouvez modifier une forme ou créer une nouvelle forme à partir d’une forme existante. -## Conseils pour l'Édition de Formes +## **Conseils de modification de forme** -![overview_image](custom_shape_0.png) +!["Edit Points" command](custom_shape_0.png) -Avant de commencer à éditer les formes PowerPoint via les points d'édition, vous voudrez peut-être considérer ces points concernant les formes : +Avant de commencer à modifier les formes PowerPoint avec les **Edit Points**, prenez en compte les notes suivantes concernant les formes : -* Une forme (ou son chemin) peut être fermée ou ouverte. -* Lorsqu'une forme est fermée, elle n'a pas de point de départ ou de point d'arrivée. Lorsqu'une forme est ouverte, elle a un début et une fin. -* Toutes les formes se composent d'au moins 2 points d'ancrage liés entre eux par des lignes -* Une ligne est soit droite soit courbe. Les points d'ancrage déterminent la nature de la ligne. -* Les points d'ancrage existent sous forme de points de coin, de points droits ou de points lisses : - * Un point de coin est un point où 2 lignes droites se rejoignent à un angle. - * Un point lisse est un point où 2 poignées existent en ligne droite et où les segments de ligne se rejoignent dans une courbe lisse. Dans ce cas, toutes les poignées sont séparées du point d'ancrage par une distance égale. - * Un point droit est un point où 2 poignées existent en ligne droite et que les segments de ligne de cette ligne se rejoignent dans une courbe lisse. Dans ce cas, les poignées n'ont pas besoin d'être séparées du point d'ancrage par une distance égale. -* En déplaçant ou en éditant les points d'ancrage (ce qui change l'angle des lignes), vous pouvez changer l'apparence d'une forme. +* Une forme (ou son tracé) peut être **fermée** ou **ouverte**. +* Une forme fermée n’a pas de point de départ ni d’arrivée ; une forme ouverte possède un début et une fin. +* Chaque forme possède au moins deux points d’ancrage reliés par des segments de ligne. +* Un segment est soit droit, soit courbe ; les points d’ancrage déterminent la nature du segment. +* Les points d’ancrage peuvent être **coin**, **lisse** ou **droit** : + * Un point **coin** est un endroit où deux segments droits se rencontrent sous un angle. + * Un point **lisse** possède deux poignées collinéaires, et les segments adjacents forment une courbe fluide. Dans ce cas, les deux poignées sont à la même distance du point d’ancrage. + * Un point **droit** possède également deux poignées collinéaires, mais les segments adjacents forment une courbe fluide. Dans ce cas, les poignées n’ont pas besoin d’être à la même distance du point d’ancrage. +* En déplaçant ou en modifiant les points d’ancrage (et donc les angles des segments), vous pouvez modifier l’apparence de la forme. -Pour éditer les formes PowerPoint via les points d'édition, **Aspose.Slides** fournit la classe [**GeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) et l'interface [**IGeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). +Pour modifier les formes PowerPoint, Aspose.Slides fournit la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) . -* Une instance de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) représente un chemin géométrique de l'objet [IGeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) -* Pour récupérer le `GeometryPath` de l'instance `IGeometryShape`, vous pouvez utiliser la méthode [IGeometryShape.GetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/). -* Pour définir le `GeometryPath` pour une forme, vous pouvez utiliser ces méthodes : [IGeometryShape.SetGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) pour les *formes solides* et [IGeometryShape.SetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) pour les *formes composites*. -* Pour ajouter des segments, vous pouvez utiliser les méthodes sous [IGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). -* En utilisant les propriétés [IGeometryPath.Stroke](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) et [IGeometryPath.FillMode](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/), vous pouvez définir l'apparence d'un chemin géométrique. -* En utilisant la propriété [IGeometryPath.PathData](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/properties/pathdata), vous pouvez récupérer le chemin géométrique d'une `GeometryShape` sous forme de tableau de segments de chemin. -* Pour accéder à des options de personnalisation supplémentaires de la géométrie de la forme, vous pouvez convertir [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) en [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -* Utilisez les méthodes `GeometryPathToGraphicsPath` et `GraphicsPathToGeometryPath` (de la classe [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/)) pour convertir `GeometryPath` en `GraphicsPath` et vice versa. +* Une instance de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) représente le tracé géométrique d’un objet [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) . +* Pour récupérer le [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) d’une instance de [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) , utilisez la méthode [GeometryShape.get_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/get_geometry_paths/) . +* Pour définir le [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) d’une forme, utilisez [GeometryShape.set_geometry_path](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_path/) pour les *formes solides* et [GeometryShape.set_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_paths/) pour les *formes composites*. +* Pour ajouter des segments, utilisez les méthodes de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) . +* Utilisez les propriétés [GeometryPath.stroke](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/stroke/) et [GeometryPath.fill_mode](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/fill_mode/) pour contrôler l’apparence d’un tracé géométrique. +* Utilisez la propriété [GeometryPath.path_data](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/path_data/) pour récupérer le tracé géométrique d’une forme sous forme de tableau de segments de chemin. -## **Opérations d'Édition Simples** +## **Opérations de modification simples** -Ce code python vous montre comment - -**Ajouter une ligne** à la fin d'un chemin : +Les méthodes suivantes sont utilisées pour les opérations de modification simples. +**Ajouter une ligne** à la fin d’un chemin : ```py line_to(point) line_to(x, y) ``` -**Ajouter une ligne** à une position spécifiée sur un chemin : + +**Ajouter une ligne** à une position spécifiée dans un chemin : ```py line_to(point, index) line_to(x, y, index) ``` -**Ajouter une courbe de Bézier cubique** à la fin d'un chemin : + +**Ajouter une courbe de Bézier cubique** à la fin d’un chemin : ```py cubic_bezier_to(point1, point2, point3) cubic_bezier_to(x1, y1, x2, y2, x3, y3) ``` -**Ajouter une courbe de Bézier cubique** à la position spécifiée sur un chemin : + +**Ajouter une courbe de Bézier cubique** à une position spécifiée dans un chemin : ```py cubic_bezier_to(point1, point2, point3, index) cubic_bezier_to(x1, y1, x2, y2, x3, y3, index) ``` -**Ajouter une courbe de Bézier quadratique** à la fin d'un chemin : + + +**Ajouter une courbe de Bézier quadratique** à la fin d’un chemin : ```py quadratic_bezier_to(point1, point2) quadratic_bezier_to(x1, y1, x2, y2) ``` -**Ajouter une courbe de Bézier quadratique** à une position spécifiée sur un chemin : + +**Ajouter une courbe de Bézier quadratique** à une position spécifiée dans un chemin : ```py quadratic_bezier_to(point1, point2, index) quadratic_bezier_to(x1, y1, x2, y2, index) ``` -**Ajouter un arc** donné à un chemin : + + +**Ajouter un arc** à un chemin : ```py arc_to(width, heigth, startAngle, sweepAngle) ``` -**Fermer la figure actuelle** d'un chemin : + + +**Fermer la figure courante** d’un chemin : ```py close_figure() ``` -**Définir la position pour le prochain point** : + + +**Définir la position du point suivant** : ```py move_to(point) move_to(x, y) ``` -**Supprimer le segment de chemin** à un index donné : + +**Supprimer le segment de chemin** à un indice donné : ```py remove_at(index) ``` -## Ajouter des Points Personnalisés à une Forme -1. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) et définissez le [ShapeType.Rectangle](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). -2. Obtenez une instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) depuis la forme. -3. Ajoutez un nouveau point entre les deux points supérieurs sur le chemin. -4. Ajoutez un nouveau point entre les deux points inférieurs sur le chemin. -6. Appliquez le chemin à la forme. -Ce code python vous montre comment ajouter des points personnalisés à une forme : +## **Ajouter des points personnalisés aux formes** + +Dans cette section, vous apprendrez à définir une forme libre en ajoutant votre propre séquence de points. En spécifiant des points ordonnés et des types de segment (droit ou courbe) et en fermant éventuellement le tracé, vous pouvez dessiner des graphiques personnalisés précis — polygones, icônes, bulles d’appel ou logos — directement sur vos diapositives. + +1. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) et définissez son [ShapeType.RECTANGLE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) . +2. Obtenez une instance de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) à partir de la forme. +3. Insérez un nouveau point entre les deux points supérieurs du tracé. +4. Insérez un nouveau point entre les deux points inférieurs du tracé. +5. Appliquez le tracé mis à jour à la forme. + +Le code Python suivant montre comment ajouter des points personnalisés à une forme : ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath = shape.get_geometry_paths()[0] +with slides.Presentation() as presentation: + slide = presentation.slides[0] - geometryPath.line_to(100, 50, 1) - geometryPath.line_to(100, 50, 4) - shape.set_geometry_path(geometryPath) + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) + + geometry_path = shape.get_geometry_paths()[0] + geometry_path.line_to(100, 50, 1) + geometry_path.line_to(100, 50, 4) + + shape.set_geometry_path(geometry_path) + + presentation.save("custom_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example1_image](custom_shape_1.png) -## Supprimer des Points de la Forme +![Points personnalisés](custom_shape_1.png) -1. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) et définissez le type [ShapeType.Heart](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). -2. Obtenez une instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) depuis la forme. -3. Supprimez le segment pour le chemin. -4. Appliquez le chemin à la forme. +## **Supprimer des points des formes** -Ce code python vous montre comment supprimer des points d'une forme : +Parfois, une forme personnalisée contient des points inutiles qui compliquent sa géométrie ou affectent son rendu. Cette section montre comment supprimer des points spécifiques du tracé d’une forme afin de simplifier le contour et d’obtenir des résultats plus propres et plus précis. +1. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) et définissez son type [ShapeType.HEART](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) . +2. Obtenez une instance de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) à partir de la forme. +3. Supprimez un segment du tracé. +4. Appliquez le tracé mis à jour à la forme. + +Le code Python suivant montre comment supprimer des points d’une forme : ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) path = shape.get_geometry_paths()[0] path.remove_at(2) + shape.set_geometry_path(path) + + presentation.save("removed_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example2_image](custom_shape_2.png) -## Créer une Forme Personnalisée -1. Calculez les points pour la forme. -2. Créez une instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -3. Remplissez le chemin avec les points. -4. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -5. Appliquez le chemin à la forme. +![Points supprimés](custom_shape_2.png) -Ce code python vous montre comment créer une forme personnalisée : +## **Créer des formes personnalisées** +Créez des formes vectorielles sur mesure en définissant un [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) et en le composant à partir de lignes, d’arcs et de courbes de Bézier. Cette section montre comment construire une géométrie personnalisée à partir de zéro et ajouter la forme résultante à votre diapositive. + +1. Calculez les points de la forme. +2. Créez une instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) . +3. Remplissez le tracé avec les points. +4. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) . +5. Appliquez le tracé à la forme. + +Le code Python suivant montre comment créer une forme personnalisée : ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -178,128 +225,149 @@ for angle in range(-90, 270, step): y = r * math.sin(radians) points.append(draw.PointF(x + R, y + R)) -starPath = slides.GeometryPath() -starPath.move_to(points[0]) +star_path = slides.GeometryPath() +star_path.move_to(points[0]) for i in range(len(points)): - starPath.line_to(points[i]) + star_path.line_to(points[i]) + +star_path.close_figure() -starPath.close_figure() +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) + shape.set_geometry_path(star_path) -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) - shape.set_geometry_path(starPath) + presentation.save("custom_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example3_image](custom_shape_3.png) -## Créer une Forme Composite Personnalisée +![Forme personnalisée](custom_shape_3.png) + +## **Créer des formes personnalisées composites** -1. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -2. Créez une première instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -3. Créez une deuxième instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -4. Appliquez les chemins à la forme. +Créer une forme personnalisée composite vous permet de combiner plusieurs tracés géométriques en une seule forme réutilisable sur une diapositive. Définissez et fusionnez ces tracés afin de construire des visuels complexes qui vont au-delà de l’ensemble de formes standard. -Ce code python vous montre comment créer une forme composite personnalisée : +1. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) . +2. Créez la première instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) . +3. Créez la deuxième instance de la classe [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) . +4. Appliquez les deux tracés à la forme. +Le code Python suivant montre comment créer une forme personnalisée composite : ```py import aspose.slides as slides -import aspose.pydrawing as draw -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath0 = slides.GeometryPath() - geometryPath0.move_to(0, 0) - geometryPath0.line_to(shape.width, 0) - geometryPath0.line_to(shape.width, shape.height/3) - geometryPath0.line_to(0, shape.height / 3) - geometryPath0.close_figure() + geometry_path_0 = slides.GeometryPath() + geometry_path_0.move_to(0, 0) + geometry_path_0.line_to(shape.width, 0) + geometry_path_0.line_to(shape.width, shape.height/3) + geometry_path_0.line_to(0, shape.height / 3) + geometry_path_0.close_figure() - geometryPath1 = slides.GeometryPath() - geometryPath1.move_to(0, shape.height/3 * 2) - geometryPath1.line_to(shape.width, shape.height / 3 * 2) - geometryPath1.line_to(shape.width, shape.height) - geometryPath1.line_to(0, shape.height) - geometryPath1.close_figure() + geometry_path_1 = slides.GeometryPath() + geometry_path_1.move_to(0, shape.height/3 * 2) + geometry_path_1.line_to(shape.width, shape.height / 3 * 2) + geometry_path_1.line_to(shape.width, shape.height) + geometry_path_1.line_to(0, shape.height) + geometry_path_1.close_figure() - shape.set_geometry_paths([ geometryPath0, geometryPath1]) + shape.set_geometry_paths([ geometry_path_0, geometry_path_1]) + + presentation.save("composite_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example4_image](custom_shape_4.png) -## **Créer une Forme Personnalisée Avec des Coins Arrondis** -Ce code python vous montre comment créer une forme personnalisée avec des coins arrondis (vers l'intérieur) : +![Forme composite](custom_shape_4.png) + +## **Créer des formes personnalisées avec coins arrondis** + +Cette section montre comment dessiner une forme personnalisée avec des coins lisses en utilisant un tracé géométrique. Vous combinerez des segments droits et des arcs circulaires pour former le contour, puis ajouterez la forme finie à votre diapositive. +Le code Python suivant montre comment créer une forme personnalisée avec des coins arrondis : ```py import aspose.slides as slides import aspose.pydrawing as draw -shapeX = 20 -shapeY = 20 -shapeWidth = 300 -shapeHeight = 200 +shape_x = 20 +shape_y = 20 +shape_width = 300 +shape_height = 200 -leftTopSize = 50 -rightTopSize = 20 -rightBottomSize = 40 -leftBottomSize = 10 +left_top_size = 50 +right_top_size = 20 +right_bottom_size = 40 +left_bottom_size = 10 with slides.Presentation() as presentation: - childShape = presentation.slides[0].shapes.add_auto_shape( - slides.ShapeType.CUSTOM, shapeX, shapeY, shapeWidth, shapeHeight) + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape( + slides.ShapeType.CUSTOM, shape_x, shape_y, shape_width, shape_height) + + point1 = draw.PointF(left_top_size, 0) + point2 = draw.PointF(shape_width - right_top_size, 0) + point3 = draw.PointF(shape_width, shape_height - right_bottom_size) + point4 = draw.PointF(left_bottom_size, shape_height) + point5 = draw.PointF(0, left_top_size) + + geometry_path = slides.GeometryPath() + geometry_path.move_to(point1) + geometry_path.line_to(point2) + geometry_path.arc_to(right_top_size, right_top_size, 180, -90) + geometry_path.line_to(point3) + geometry_path.arc_to(right_bottom_size, right_bottom_size, -90, -90) + geometry_path.line_to(point4) + geometry_path.arc_to(left_bottom_size, left_bottom_size, 0, -90) + geometry_path.line_to(point5) + geometry_path.arc_to(left_top_size, left_top_size, 90, -90) + geometry_path.close_figure() + + shape.set_geometry_path(geometry_path) + + presentation.save("curved_corners.pptx", slides.export.SaveFormat.PPTX) +``` - geometryPath = slides.GeometryPath() - point1 = draw.PointF(leftTopSize, 0) - point2 = draw.PointF(shapeWidth - rightTopSize, 0) - point3 = draw.PointF(shapeWidth, shapeHeight - rightBottomSize) - point4 = draw.PointF(leftBottomSize, shapeHeight) - point5 = draw.PointF(0, leftTopSize) +![Coins arrondis](custom_shape_6.png) - geometryPath.move_to(point1) - geometryPath.line_to(point2) - geometryPath.arc_to(rightTopSize, rightTopSize, 180, -90) - geometryPath.line_to(point3) - geometryPath.arc_to(rightBottomSize, rightBottomSize, -90, -90) - geometryPath.line_to(point4) - geometryPath.arc_to(leftBottomSize, leftBottomSize, 0, -90) - geometryPath.line_to(point5) - geometryPath.arc_to(leftTopSize, leftTopSize, 90, -90) +## **Déterminer si la géométrie d’une forme est fermée** - geometryPath.close_figure() +Une forme fermée est définie comme une forme dont tous les côtés sont connectés, formant une seule bordure sans trous. Une telle forme peut être une forme géométrique simple ou un contour personnalisé complexe. L’exemple de code suivant montre comment vérifier si la géométrie d’une forme est fermée : +```py +def is_geometry_closed(geometry_shape): + is_closed = None - childShape.set_geometry_path(geometryPath) + for geometry_path in geometry_shape.get_geometry_paths(): + data_length = len(geometry_path.path_data) + if data_length == 0: + continue - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` + last_segment = geometry_path.path_data[data_length - 1] + is_closed = last_segment.path_command == PathCommandType.CLOSE -## Conversion de GeometryPath en GraphicsPath (System.Drawing.Drawing2D) + if not is_closed: + return False -1. Créez une instance de la classe [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -2. Créez une instance de la classe [GrpahicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) du namespace [System.Drawing.Drawing2D](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -3. Convertissez l'instance [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) en instance de [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) à l'aide de [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/). -4. Appliquez les chemins à la forme. + return is_closed +``` -Ce code python — une implémentation des étapes ci-dessus — démontre le processus de conversion de **GeometryPath** à **GraphicsPath** : -```py -import aspose.slides as slides -import aspose.pydrawing as draw +## **FAQ** -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 100) +**Que se passe-t-il pour le remplissage et le contour après avoir remplacé la géométrie ?** - originalPath = shape.get_geometry_paths()[0] - originalPath.fill_mode = slides.PathFillModeType.NONE +Le style reste attaché à la forme ; seul le contour change. Le remplissage et le contour sont appliqués automatiquement à la nouvelle géométrie. - gPath = draw.drawing2d.GraphicsPath() +**Comment faire pivoter correctement une forme personnalisée avec sa géométrie ?** - gPath.add_string("Texte dans la forme", draw.FontFamily("Arial"), 1, 40, draw.PointF(10, 10), draw.StringFormat.generic_default) +Utilisez la propriété [rotation](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/rotation/) de la forme ; la géométrie pivote avec la forme car elle est liée au système de coordonnées de la forme elle‑même. - textPath = slides.util.ShapeUtil.graphics_path_to_geometry_path(gPath) - textPath.fill_mode = slides.PathFillModeType.NORMAL +**Puis‑je convertir une forme personnalisée en image pour « verrouiller » le résultat ?** - shape.set_geometry_paths([originalPath, textPath]) -``` -![example5_image](custom_shape_5.png) \ No newline at end of file +Oui. Exportez la zone de la [slide](/slides/fr/python-net/convert-powerpoint-to-png/) requise ou la [shape](/slides/fr/python-net/create-shape-thumbnails/) elle‑même vers un format raster ; cela simplifie le travail ultérieur avec des géométries lourdes. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md index 86c23b4cf2..26a5aad322 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md @@ -16,72 +16,83 @@ keywords: - présentation - Python - Aspose.Slides -description: "Découvrez comment créer, formater et manipuler des formes d'ellipse dans Aspose.Slides for Python via .NET pour les présentations PPT, PPTX et ODP — exemples de code inclus." +description: "Apprenez à créer, formater et manipuler des formes d'ellipse dans Aspose.Slides pour Python via .NET pour les présentations PPT, PPTX et ODP — exemples de code inclus." --- +## **Créer une ellipse** +Dans ce sujet, nous présenterons aux développeurs comment ajouter des formes d'ellipse à leurs diapositives en utilisant Aspose.Slides pour Python via .NET. Aspose.Slides pour Python via .NET fournit un ensemble d'API plus simple pour dessiner différents types de formes en quelques lignes de code seulement. Pour ajouter une ellipse simple à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci-dessous : -## **Créer une Ellipse** -Dans ce sujet, nous allons introduire les développeurs à l'ajout de formes ellipse à leurs diapositives en utilisant Aspose.Slides pour Python via .NET. Aspose.Slides pour Python via .NET fournit un ensemble d'APIs plus facile à utiliser pour dessiner différents types de formes en quelques lignes de code. Pour ajouter une simple ellipse à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci-dessous : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) -1. Obtenez la référence d'une diapositive en utilisant son index -1. Ajoutez une AutoShape de type Ellipse en utilisant la méthode AddAutoShape exposée par l'objet IShapes -1. Écrivez la présentation modifiée sous forme de fichier PPTX - -Dans l'exemple donné ci-dessous, nous avons ajouté une ellipse à la première diapositive. +1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. Obtenez la référence d'une diapositive en utilisant son Index +3. Ajoutez une AutoShape de type Ellipse en utilisant la méthode AddAutoShape exposée par l'objet IShapes +4. Enregistrez la présentation modifiée sous forme de fichier PPTX +Dans l'exemple ci‑dessous, nous avons ajouté une ellipse à la première diapositive. ```py import aspose.slides as slides -# Instanciez la classe Presentation qui représente le PPTX +# Instancier la classe Presentation qui représente le PPTX with slides.Presentation() as pres: - # Obtenez la première diapositive + # Obtenir la première diapositive sld = pres.slides[0] - # Ajoutez une autoshape de type ellipse + # Ajouter une autoshape de type ellipse sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Écrivez le fichier PPTX sur le disque + #Écrire le fichier PPTX sur le disque pres.save("EllipseShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` +## **Créer une ellipse formatée** +Pour ajouter une ellipse mieux formatée à une diapositive, veuillez suivre les étapes ci‑dessous : -## **Créer une Ellipse Formatée** -Pour ajouter une ellipse mieux formatée à une diapositive, veuillez suivre les étapes ci-dessous : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive en utilisant son index. -1. Ajoutez une AutoShape de type Ellipse en utilisant la méthode AddAutoShape exposée par l'objet IShapes. -1. Définissez le type de remplissage de l'ellipse sur Solide. -1. Définissez la couleur de l'ellipse en utilisant la propriété SolidFillColor.Color exposée par l'objet FillFormat associé à l'objet IShape. -1. Définissez la couleur des lignes de l'ellipse. -1. Définissez la largeur des lignes de l'ellipse. -1. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Dans l'exemple donné ci-dessous, nous avons ajouté une ellipse formatée à la première diapositive de la présentation. +1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. Obtenez la référence d'une diapositive en utilisant son Index. +3. Ajoutez une AutoShape de type Ellipse en utilisant la méthode AddAutoShape exposée par l'objet IShapes. +4. Définissez le type de remplissage de l'ellipse sur Solid. +5. Définissez la couleur de l'ellipse en utilisant la propriété SolidFillColor.Color exposée par l'objet FillFormat associé à l'objet IShape. +6. Définissez la couleur des lignes de l'ellipse. +7. Définissez la largeur des lignes de l'ellipse. +8. Enregistrez la présentation modifiée sous forme de fichier PPTX. +Dans l'exemple ci‑dessus, nous avons ajouté une ellipse formatée à la première diapositive de la présentation. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instanciez la classe Presentation qui représente le PPTX +# Instancier la classe Presentation qui représente le PPTX with slides.Presentation() as pres: - # Obtenez la première diapositive + # Obtenir la première diapositive sld = pres.slides[0] - # Ajoutez une autoshape de type ellipse + # Ajouter une autoshape de type ellipse shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Appliquez quelques formats à la forme ellipse + # Appliquer un certain format à la forme ellipse shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Appliquez quelques formats à la ligne de l'ellipse + # Appliquer un certain format à la ligne de l'ellipse shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # Écrivez le fichier PPTX sur le disque + #Écrire le fichier PPTX sur le disque pres.save("EllipseShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment définir la position exacte et la taille d'une ellipse par rapport aux unités de la diapositive ?** + +Les coordonnées et les tailles sont généralement spécifiées **en points**. Pour obtenir des résultats prévisibles, basez vos calculs sur la taille de la diapositive et convertissez les millimètres ou pouces requis en points avant d'attribuer les valeurs. + +**Comment placer une ellipse au-dessus ou en dessous d'autres objets (contrôler l'ordre d'empilement) ?** + +Ajustez l'ordre de dessin de l'objet en le plaçant au premier plan ou en l'envoyant à l'arrière. Cela permet à l'ellipse de chevaucher d'autres objets ou de révéler ceux qui se trouvent en dessous. + +**Comment animer l'apparition ou l'emphase d'une ellipse ?** + +[Apply](/slides/fr/python-net/shape-animation/) des effets d'entrée, d'emphase ou de sortie à la forme, et configurez les déclencheurs et le timing pour orchestrer quand et comment l'animation se lance. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md index a156d2adb4..236f6fb256 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md @@ -1,79 +1,112 @@ --- -title: Ligne +title: Créer des formes de ligne dans les présentations avec Python +linktitle: Ligne type: docs weight: 50 url: /fr/python-net/line/ -keywords: "Ligne, forme PowerPoint, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Ajouter une ligne dans une présentation PowerPoint en Python" +keywords: +- ligne +- créer une ligne +- ajouter une ligne +- ligne simple +- configurer la ligne +- personnaliser la ligne +- style de tiret +- tête de flèche +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Apprenez à manipuler le formatage des lignes dans les présentations PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET. Découvrez les propriétés, les méthodes et des exemples." --- -Aspose.Slides pour Python via .NET prend en charge l'ajout de différents types de formes aux diapositives. Dans ce sujet, nous allons commencer à travailler avec des formes en ajoutant des lignes aux diapositives. Grâce à Aspose.Slides pour Python via .NET, les développeurs peuvent non seulement créer des lignes simples, mais aussi dessiner des lignes plus élaborées sur les diapositives. -## **Créer une Ligne Simple** -Pour ajouter une simple ligne à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci-dessous : +## **Vue d'ensemble** -- Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Obtenez la référence d'une diapositive en utilisant son Index. -- Ajoutez une AutoShape de type Ligne en utilisant la méthode [add_auto_shape](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) exposée par l'objet Shapes. -- Écrivez la présentation modifiée sous forme de fichier PPTX. +Aspose.Slides for Python via .NET prend en charge l'ajout de différents types de formes aux diapositives. Dans ce sujet, nous allons commencer à travailler avec les formes en ajoutant des lignes aux diapositives. Avec Aspose.Slides, les développeurs peuvent non seulement créer des lignes simples, mais aussi dessiner des lignes sophistiquées sur les diapositives. -Dans l'exemple ci-dessous, nous avons ajouté une ligne à la première diapositive de la présentation. +## **Créer des lignes simples** +Utilisez Aspose.Slides pour ajouter une ligne simple à une diapositive en tant que séparateur ou connecteur simple. Pour ajouter une ligne simple à une diapositive sélectionnée dans une présentation, suivez les étapes suivantes : + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenez une référence à la diapositive par indice. +1. Ajoutez un [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) de type `LINE` en utilisant la méthode `add_auto_shape` sur l'objet [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Enregistrez la présentation au format PPTX. + +Dans l'exemple ci-dessous, une ligne est ajoutée à la première diapositive de la présentation. ```py import aspose.slides as slides -# Instancier la classe PresentationEx qui représente le fichier PPTX -with slides.Presentation() as pres: - # Obtenir la première diapositive - sld = pres.slides[0] +# Instanciez la classe Presentation. +with slides.Presentation() as presentation: + + # Obtenez la première diapositive. + slide = presentation.slides[0] - # Ajouter une autoshape de type ligne - sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + # Ajoutez une forme auto de type LINE. + slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) - #Écrire le PPTX sur le disque - pres.save("LineShape1_out.pptx", slides.export.SaveFormat.PPTX) + # Enregistrez la présentation au format PPTX. + presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX) ``` -## **Créer une Ligne en Forme de Flèche** -Aspose.Slides pour Python via .NET permet également aux développeurs de configurer certaines propriétés de la ligne pour la rendre plus attrayante. Essayons de configurer quelques propriétés d'une ligne pour lui donner l'apparence d'une flèche. Veuillez suivre les étapes ci-dessous pour ce faire : +## **Créer des lignes en forme de flèche** -- Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Obtenez la référence d'une diapositive en utilisant son Index. -- Ajoutez une AutoShape de type Ligne en utilisant la méthode AddAutoShape exposée par l'objet Shapes. -- Définissez le style de la ligne sur l'un des styles proposés par Aspose.Slides pour Python via .NET. -- Définissez la largeur de la ligne. -- Définissez le [Style de Tiret](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) de la ligne sur l'un des styles proposés par Aspose.Slides pour Python via .NET. -- Définissez le [Style de Tête de Flèche](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) et la longueur du point de départ de la ligne. -- Définissez le Style de Tête de Flèche et la Longueur du point final de la ligne. -- Écrivez la présentation modifiée sous forme de fichier PPTX. +Aspose.Slides vous permet de configurer les propriétés des lignes pour les rendre plus attrayantes visuellement. Ci‑dessous, nous configurons quelques propriétés d’une ligne afin qu’elle ressemble à une flèche. Suivez les étapes suivantes : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenez une référence à une diapositive par indice. +1. Ajoutez un [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) de type `LINE` en utilisant la méthode `add_auto_shape` sur l'objet [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +1. Définissez le [line style](https://reference.aspose.com/slides/python-net/aspose.slides/linestyle/). +1. Définissez la largeur de la ligne. +1. Définissez le [dash style](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) de la ligne. +1. Définissez le [arrowhead style](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) et la longueur pour le point de départ de la ligne. +1. Définissez le style de tête de flèche et la longueur pour le point d'arrivée de la ligne. +1. Enregistrez la présentation au format PPTX. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instancier la classe PresentationEx qui représente le fichier PPTX -with slides.Presentation() as pres: - # Obtenir la première diapositive - sld = pres.slides[0] +# Instanciez la classe Presentation qui représente le fichier PPTX. +with slides.Presentation() as presentation: + # Obtenez la première diapositive. + slide = presentation.slides[0] + + # Ajoutez une forme auto de type LINE. + shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # Appliquez le formatage à la ligne. + shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN + shape.line_format.width = 10 + + shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT + + shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT + shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL + + shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG + shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE + + shape.line_format.fill_format.fill_type = slides.FillType.SOLID + shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon + + # Enregistrez la présentation au format PPTX. + presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX) +``` + - # Ajouter une autoshape de type ligne - shp = sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) +## **FAQ** - # Appliquer un formatage sur la ligne - shp.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN - shp.line_format.width = 10 +**Puis-je convertir une ligne normale en connecteur afin qu'elle s'aligne automatiquement aux formes ?** - shp.line_format.dash_style = slides.LineDashStyle.DASH_DOT +Non. Une ligne normale (un [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) de type [LINE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/)) ne devient pas automatiquement un connecteur. Pour qu'elle s'aligne aux formes, utilisez le type dédié [Connector](https://reference.aspose.com/slides/python-net/aspose.slides/connector/) ainsi que les [corresponding APIs](/slides/fr/python-net/connector/) pour les connexions. - shp.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT - shp.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL +**Que faire si les propriétés d’une ligne sont héritées du thème et qu’il est difficile de déterminer les valeurs finales ?** - shp.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG - shp.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE +Lisez les [propriétés effectives](/slides/fr/python-net/shape-effective-properties/) via les classes [ILineFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilineformateffectivedata/)/[ILineFillFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilinefillformateffectivedata/) qui tiennent déjà compte de l'héritage et des styles du thème. - shp.line_format.fill_format.fill_type = slides.FillType.SOLID - shp.line_format.fill_format.solid_fill_color.color = draw.Color.maroon +**Puis-je verrouiller une ligne contre la modification (déplacement, redimensionnement) ?** - #Écrire le PPTX sur le disque - pres.save("LineShape2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Oui. Les formes offrent des [lock objects](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) qui vous permettent de [disallow editing operations](/slides/fr/python-net/applying-protection-to-presentation/). \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md index c8b99c3310..945426150c 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md @@ -1,34 +1,45 @@ --- -title: Paragraphe +title: Obtenir les limites du paragraphe à partir des présentations en Python +linktitle: Paragraphe type: docs weight: 60 url: /fr/python-net/paragraph/ -keywords: "Paragraphe, portion, coordonnées de paragraphe, coordonnées de portion, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Paragraphe et portion dans une présentation PowerPoint en Python" +keywords: +- limites du paragraphe +- limites de la portion de texte +- coordonnée du paragraphe +- coordonnée de la portion +- taille du paragraphe +- taille de la portion de texte +- cadre de texte +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Apprenez à récupérer les limites du paragraphe et de la portion de texte dans Aspose.Slides pour Python via .NET afin d'optimiser le positionnement du texte dans les présentations PowerPoint et OpenDocument." --- -## **Obtenir les coordonnées de paragraphe et de portion dans TextFrame** -En utilisant Aspose.Slides pour Python via .NET, les développeurs peuvent désormais obtenir les coordonnées rectangulaires pour le Paragraphe à l'intérieur de la collection de paragraphes de TextFrame. Cela permet également d'obtenir les coordonnées de la portion à l'intérieur de la collection de portions d'un paragraphe. Dans ce sujet, nous allons démontrer avec l'aide d'un exemple comment obtenir les coordonnées rectangulaires pour le paragraphe ainsi que la position de la portion à l'intérieur d'un paragraphe. - -## **Obtenir les coordonnées rectangulaires du paragraphe** -La nouvelle méthode **GetRect()** a été ajoutée. Elle permet d'obtenir le rectangle de limites du paragraphe. +## **Obtenir les coordonnées du paragraphe et de la portion dans TextFrame** +En utilisant Aspose.Slides for Python via .NET, les developpeurs peuvent desormais obtenir les coordonnees rectangulaires d'un Paragraph a l'interieur de la collection de paragraphes d'un TextFrame. Cela permet egalement d'obtenir les coordonnees d'une portion a l'interieur de la collection de portions d'un paragraphe. Dans cet article, nous allons montrer, a l'aide d'un exemple, comment obtenir les coordonnees rectangulaires d'un paragraphe ainsi que la position d'une portion a l'interieur d'un paragraphe. +## **Obtenir les coordonnees rectangulaires du Paragraph** +La nouvelle methode **GetRect()** a ete ajoutee. Elle permet d'obtenir le rectangle des limites du paragraphe. ```py import aspose.slides as slides -# Instancier un objet Presentation qui représente un fichier de présentation +# Instancie un objet Presentation qui représente un fichier de présentation with slides.Presentation(path + "Shapes.pptx") as presentation: shape = presentation.slides[0].shapes[0] textFrame = shape.text_frame rect = textFrame.paragraphs[0].get_rect() ``` -## **Obtenir la taille du paragraphe et de la portion à l'intérieur de la cellule de texte du tableau** ## - -Pour obtenir la taille et les coordonnées de la [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) ou du [Paragraphe](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) dans une cellule de texte de tableau, vous pouvez utiliser les méthodes [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) et [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). -Cet exemple de code montre l'opération décrite : +## **Obtenir la taille du paragraphe et de la portion a l'interieur du texte d'une cellule de tableau** ## +Pour obtenir la taille et les coordonnees du [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) ou du [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) dans le texte d'une cellule de tableau, vous pouvez utiliser les methodes [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) et [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). +Ce code d'exemple montre l'operation descrite: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -61,4 +72,19 @@ with slides.Presentation(path + "source.pptx") as pres: rect.x + x, rect.y + y, rect.width, rect.height) shape.fill_format.fill_type = slides.FillType.NO_FILL -``` \ No newline at end of file +``` + + +## **FAQ** + +**Dans quelles unites les coordonnees d'un paragraphe et des portions de texte sont-elles renvoyees ?** +En points, ou 1 pouce = 72 points. Cela s'applique a toutes les coordonnees et dimensions sur la diapositive. + +**L'habillage du texte affecte-t-il les limites du paragraphe ?** +Oui. Si le [wrapping](https://reference.aspose.com/slides/python-net/aspose.slides/textframeformat/wrap_text/) est active dans le [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), le texte se coupe pour s'adapter a la largeur de la zone, ce qui modifie les limites reelles du paragraphe. + +**Les coordonnees du paragraphe peuvent-elles etre mappees de facon fiable aux pixels dans l'image exportee ?** +Oui. Convertissez les points en pixels en utilisant : pixels = points x (DPI / 72). Le resultat depend du DPI choisi pour le rendu ou l'exportation. + +**Comment obtenir les parametres de mise en forme "effective" du paragraphe, en tenant compte de l'heritage des styles ?** +Utilisez la [structure de donnees de mise en forme effective du paragraphe](/slides/fr/python-net/shape-effective-properties/) ; elle renvoie les valeurs finales consolidees pour les retraits, l'espacement, le wrapping, le RTL, etc. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md index 16a064d71d..a99eddaa1d 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md @@ -1,5 +1,5 @@ --- -title: Gérer les parties de texte dans les présentations avec Python +title: Gérer les portions de texte dans les présentations avec Python linktitle: Portion de texte type: docs weight: 70 @@ -14,21 +14,40 @@ keywords: - présentation - Python - Aspose.Slides -description: "Découvrez comment gérer les portions de texte dans les présentations PowerPoint et OpenDocument à l'aide d'Aspose.Slides for Python via .NET, afin d'améliorer les performances et la personnalisation." +description: "Apprenez à gérer les portions de texte dans les présentations PowerPoint et OpenDocument en utilisant Aspose.Slides pour Python via .NET, améliorant les performances et la personnalisation." --- -## **Obtenir les Coordonnées de Position de la Portion** -La méthode **GetCoordinates()** a été ajoutée à l'interface IPortion et à la classe Portion, ce qui permet de récupérer les coordonnées du début de la portion : +## **Obtenir les coordonnées des portions de texte** +La méthode [get_coordinates](https://reference.aspose.com/slides/python-net/aspose.slides/portion/get_coordinates/) a été ajoutée à la classe [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) qui permet de récupérer les coordonnées des portions de texte : ```py import aspose.slides as slides -with slides.Presentation(path + "HelloWorld.pptx") as presentation: +with slides.Presentation("HelloWorld.pptx") as presentation: shape = presentation.slides[0].shapes[0] - textFrame = shape.text_frame + text_frame = shape.text_frame - for paragraph in textFrame.paragraphs: + for paragraph in text_frame.paragraphs: for portion in paragraph.portions: point = portion.get_coordinates() - print("Coordonnées X =" + str(point.x) + " Coordonnées Y =" + str(point.y)) -``` \ No newline at end of file + print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y)) +``` + + +## **FAQ** + +**Puis-je appliquer un hyperlien à seulement une partie du texte au sein d'un même paragraphe ?** + +Oui, vous pouvez [assigner un hyperlien](/slides/fr/python-net/manage-hyperlinks/) à une portion individuelle ; seul ce fragment sera cliquable, pas le paragraphe entier. + +**Comment fonctionne l'héritage de style : qu'est‑ce qu'une Portion remplace, et qu'est‑ce qui est tiré du Paragraph/TextFrame ?** + +Les propriétés au niveau de la Portion ont la priorité la plus élevée. Si une propriété n'est pas définie sur la [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/), le moteur la récupère depuis le [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/); si elle n'est pas définie non plus là, depuis le [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) ou le style du [theme](https://reference.aspose.com/slides/python-net/aspose.slides.theme/theme/). + +**Que se passe-t-il si la police spécifiée pour une Portion est absente sur la machine/serveur cible ?** + +[Les règles de substitution de police](/slides/fr/python-net/font-selection-sequence/) s'appliquent. Le texte peut se reformater : les métriques, la césure et la largeur peuvent changer, ce qui importe pour le positionnement précis. + +**Puis‑je définir une transparence ou un dégradé de remplissage du texte spécifique à une Portion, indépendamment du reste du paragraphe ?** + +Oui, la couleur du texte, le remplissage et la transparence au niveau de la [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) peuvent différer des fragments voisins. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md index 209bd7430f..7aa96cbd1d 100644 --- a/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md +++ b/fr/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md @@ -1,73 +1,113 @@ --- -title: Rectangle +title: Ajouter des rectangles aux présentations en Python +linktitle: Rectangle type: docs weight: 80 url: /fr/python-net/rectangle/ -keywords: "Créer un rectangle, forme PowerPoint, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Créer un rectangle dans une présentation PowerPoint en Python" +keywords: +- ajouter rectangle +- créer rectangle +- forme rectangle +- rectangle simple +- rectangle formaté +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Améliorez vos présentations PowerPoint et OpenDocument en ajoutant des rectangles avec Aspose.Slides for Python via .NET--concevez et modifiez facilement des formes par programmation." --- +## **Créer un rectangle simple** +Comme les sujets précédents, celui‑ci porte également sur l’ajout d’une forme et, cette fois, la forme dont nous allons parler est le Rectangle. Dans ce sujet, nous avons décrit comment les développeurs peuvent ajouter des rectangles simples ou formatés à leurs diapositives en utilisant Aspose.Slides for Python via .NET. Pour ajouter un rectangle simple à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci‑dessous : -## **Créer un Rectangle Simple** -Comme les sujets précédents, celui-ci concerne également l'ajout d'une forme et cette fois la forme dont nous allons discuter est le Rectangle. Dans ce sujet, nous avons décrit comment les développeurs peuvent ajouter des rectangles simples ou formatés à leurs diapositives en utilisant Aspose.Slides pour Python via .NET. Pour ajouter un rectangle simple à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci-dessous : - -1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive en utilisant son Index. -1. Ajoutez une IAutoShape de type Rectangle en utilisant la méthode AddAutoShape exposée par l'objet IShapes. -1. Écrivez la présentation modifiée en tant que fichier PPTX. - -Dans l'exemple ci-dessous, nous avons ajouté un rectangle simple à la première diapositive de la présentation. +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez la référence d’une diapositive en utilisant son Index. +3. Ajoutez un IAutoShape de type Rectangle en utilisant la méthode AddAutoShape exposée par l’objet IShapes. +4. Enregistrez la présentation modifiée en tant que fichier PPTX. +Dans l’exemple ci‑dessous, nous avons ajouté un rectangle simple à la première diapositive de la présentation. ```py import aspose.slides as slides -# Instancier la classe Prseetation qui représente le PPTX +# Instancier la classe Presentation qui représente le PPTX with slides.Presentation() as pres: - # Obtenez la première diapositive + # Obtenir la première diapositive sld = pres.slides[0] - # Ajoutez une autoshape de type rectangle + # Ajouter une forme auto de type rectangle sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - #Écrivez le fichier PPTX sur le disque + #Écrire le fichier PPTX sur le disque pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Créer un Rectangle Formaté** -Pour ajouter un rectangle formaté à une diapositive, veuillez suivre les étapes ci-dessous : +## **Créer un rectangle formaté** +Pour ajouter un rectangle formaté à une diapositive, veuillez suivre les étapes ci‑dessous : -1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence d'une diapositive en utilisant son Index. -1. Ajoutez une IAutoShape de type Rectangle en utilisant la méthode AddAutoShape exposée par l'objet IShapes. -1. Réglez le type de remplissage du Rectangle sur Solide. -1. Réglez la couleur du Rectangle en utilisant la propriété SolidFillColor.Color exposée par l'objet FillFormat associé à l'objet IShape. -1. Réglez la couleur des lignes du Rectangle. -1. Réglez la largeur des lignes du Rectangle. -1. Écrivez la présentation modifiée en tant que fichier PPTX. - Les étapes ci-dessus sont mises en œuvre dans l'exemple ci-dessous. +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Obtenez la référence d’une diapositive en utilisant son Index. +3. Ajoutez un IAutoShape de type Rectangle en utilisant la méthode AddAutoShape exposée par l’objet IShapes. +4. Définissez le type de remplissage du Rectangle sur Solid. +5. Définissez la couleur du Rectangle en utilisant la propriété SolidFillColor.Color exposée par l’objet FillFormat associé à l’objet IShape. +6. Définissez la couleur des lignes du Rectangle. +7. Définissez la largeur des lignes du Rectangle. +8. Enregistrez la présentation modifiée en tant que fichier PPTX. +Les étapes ci‑dessus sont implémentées dans l’exemple ci‑dessous. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Instancier la classe Prseetation qui représente le PPTX +# Instancier la classe Presentation qui représente le PPTX with slides.Presentation() as pres: - # Obtenez la première diapositive + # Obtenir la première diapositive sld = pres.slides[0] - # Ajoutez une autoshape de type rectangle + # Ajouter une forme auto de type rectangle shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # Appliquez un certain formatage à la forme rectangle + # Appliquer un formatage à la forme rectangle shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Appliquez un certain formatage à la ligne du rectangle + # Appliquer un formatage à la ligne du rectangle shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - #Écrivez le fichier PPTX sur le disque + #Écrire le fichier PPTX sur le disque pres.save("RectShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment ajouter un rectangle avec des coins arrondis ?** + +Utilisez le [type de forme](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) à coins arrondis et ajustez le rayon des coins dans les propriétés de la forme ; l’arrondissement peut également être appliqué coin par coin via des ajustements de géométrie. + +**Comment remplir un rectangle avec une image (texture) ?** + +Sélectionnez le [type de remplissage d’image](https://reference.aspose.com/slides/python-net/aspose.slides/filltype/), fournissez la source de l’image, et configurez les [modes d’étirement/tuile](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillmode/). + +**Un rectangle peut‑il avoir une ombre et une lueur ?** + +Oui. Les [ombres externes/intérieures, la lueur et les bords doux](/slides/fr/python-net/shape-effect/) sont disponibles avec des paramètres réglables. + +**Puis‑je transformer un rectangle en bouton avec un hyperlien ?** + +Oui. [Attribuez un hyperlien](/slides/fr/python-net/manage-hyperlinks/) au clic de la forme (vers une diapositive, un fichier, une adresse web ou un e‑mail). + +**Comment protéger un rectangle contre le déplacement et les modifications ?** + +[Utilisez les verrous de forme](/slides/fr/python-net/applying-protection-to-presentation/) : vous pouvez interdire le déplacement, le redimensionnement, la sélection ou la modification du texte afin de préserver la mise en page. + +**Puis‑je convertir un rectangle en image matricielle ou en SVG ?** + +Oui. Vous pouvez [rendre la forme](http://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) en image avec une taille/échelle spécifiée ou [l’exporter en SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) pour une utilisation vectorielle. + +**Comment obtenir rapidement les propriétés réelles (effectives) d’un rectangle en tenant compte du thème et de l’héritage ?** + +[Utilisez les propriétés effectives de la forme](/slides/fr/python-net/shape-effective-properties/) : l’API renvoie les valeurs calculées qui tiennent compte des styles du thème, de la disposition et des paramètres locaux, simplifiant l’analyse du formatage. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md index e324b380ed..6e4c6ee031 100644 --- a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md +++ b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md @@ -1,27 +1,39 @@ --- -title: Police par défaut +title: Personnaliser les polices par défaut dans les présentations avec Python +linktitle: Police par défaut type: docs weight: 30 url: /fr/python-net/default-font/ -keywords: "Polices, polices par défaut, présentation PowerPoint de rendu Python, Aspose.Slides pour Python via .NET" -description: "Polices par défaut PowerPoint en Python" +keywords: +- police par défaut +- police régulière +- police normale +- police asiatique +- export PDF +- export XPS +- export d'images +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Définissez les polices par défaut dans Aspose.Slides pour Python afin d'assurer une conversion correcte de PowerPoint (PPT, PPTX) et OpenDocument (ODP) vers PDF, XPS et images." --- -## **Utiliser des Polices par Défaut pour le Rendu de Présentation** -Aspose.Slides vous permet de définir la police par défaut pour le rendu de la présentation en PDF, XPS ou vignettes. Cet article montre comment définir DefaultRegular Font et DefaultAsian Font à utiliser comme polices par défaut. Veuillez suivre les étapes ci-dessous pour charger des polices à partir de répertoires externes en utilisant Aspose.Slides pour Python via l'API .NET : +## **Utilisation des polices par défaut pour le rendu de la présentation** +Aspose.Slides vous permet de définir la police par défaut pour le rendu de la présentation en PDF, XPS ou vignettes. Cet article montre comment définir DefaultRegularFont et DefaultAsianFont à utiliser comme polices par défaut. Veuillez suivre les étapes ci-dessous pour charger des polices depuis des répertoires externes en utilisant Aspose.Slides pour Python via l'API .NET : -1. Créez une instance de LoadOptions. -1. Définissez le DefaultRegularFont sur la police souhaitée. Dans l'exemple suivant, j'ai utilisé Wingdings. -1. Définissez le DefaultAsianFont sur la police souhaitée. J'ai utilisé Wingdings dans l'exemple suivant. -1. Chargez la présentation en utilisant Presentation et en définissant les options de chargement. -1. Maintenant, générez la vignette de la diapositive, le PDF et le XPS pour vérifier les résultats. - -L'implémentation ci-dessus est donnée ci-dessous. +1. Créez une instance de LoadOptions. +2. Définissez DefaultRegularFont sur la police souhaitée. Dans l'exemple suivant, j'ai utilisé Wingdings. +3. Définissez DefaultAsianFont sur la police souhaitée. J'ai utilisé Wingdings dans l'exemple suivant. +4. Chargez la présentation avec Presentation en définissant les options de chargement. +5. Maintenant, générez la vignette de diapositive, le PDF et le XPS pour vérifier les résultats. +L'implémentation ci-dessus est fournie ci-dessous. ```py import aspose.slides as slides -# Utiliser les options de chargement pour définir les polices régulières et asiatiques par défaut +# Utilisez les options de chargement pour définir les polices par défaut régulières et asiatiques# Utilisez les options de chargement pour définir les polices par défaut régulières et asiatiques loadOptions = slides.LoadOptions(slides.LoadFormat.AUTO) loadOptions.default_regular_font = "Wingdings" loadOptions.default_asian_font = "Wingdings" @@ -37,4 +49,27 @@ with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: # Générer le XPS pptx.save("output_out.xps", slides.export.SaveFormat.XPS) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Que affectent exactement default_regular_font et default_asian_font — uniquement l’exportation ou également les vignettes, PDF, XPS, HTML et SVG ?** + +Ils participent au pipeline de rendu pour toutes les sorties prises en charge. Cela inclut les vignettes de diapositive, [PDF](/slides/fr/python-net/convert-powerpoint-to-pdf/), [XPS](/slides/fr/python-net/convert-powerpoint-to-xps/), [images raster](/slides/fr/python-net/convert-powerpoint-to-png/), [HTML](/slides/fr/python-net/convert-powerpoint-to-html/), et [SVG](/slides/fr/python-net/render-a-slide-as-an-svg-image/), car Aspose.Slides utilise la même logique de mise en page et de résolution des glyphes pour ces cibles. + +**Les polices par défaut sont‑elles appliquées lors d’une simple lecture et sauvegarde d’un PPTX sans aucun rendu ?** + +Non. Les polices par défaut sont importantes lorsque le texte doit être mesuré et dessiné. Un simple enregistrement‑ouverture d’une présentation ne modifie pas les runs de police stockés ni la structure du fichier. Les polices par défaut interviennent lors des opérations qui rendent ou ré‑organisent le texte. + +**Si j’ajoute mes propres dossiers de polices ou fournis des polices depuis la mémoire, seront‑elles prises en compte lors du choix des polices par défaut ?** + +Oui. [Sources de polices personnalisées](/slides/fr/python-net/custom-font/) élargissent le catalogue des familles et glyphes disponibles que le moteur peut utiliser. Les polices par défaut et les [règles de secours](/slides/fr/python-net/fallback-font/) seront résolues d’abord par rapport à ces sources, offrant une couverture plus fiable sur les serveurs et dans les conteneurs. + +**Les polices par défaut affecteront‑elles les métriques du texte (crénage, avances) et donc les sauts de ligne et le retour à la ligne ?** + +Oui. Modifier la police modifie les métriques des glyphes et peut changer les sauts de ligne, le retour à la ligne et la pagination lors du rendu. Pour la stabilité de la mise en page, [intégrez les polices d’origine](/slides/fr/python-net/embedded-font/) ou choisissez des familles par défaut et de secours compatibles métriquement. + +**Y a‑t‑il un intérêt à définir des polices par défaut si toutes les polices utilisées dans la présentation sont intégrées ?** + +Souvent ce n’est pas nécessaire, car les [polices intégrées](/slides/fr/python-net/embedded-font/) garantissent déjà une apparence cohérente. Les polices par défaut restent utiles comme filet de sécurité pour les caractères non couverts par le sous‑ensemble intégré ou lorsqu’un fichier mélange du texte intégré et non intégré. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md index 39463a27e3..d6d73b98dc 100644 --- a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md +++ b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md @@ -1,19 +1,44 @@ --- -title: Police de secours +title: Gérer les polices de secours pour les présentations en Python +linktitle: Police de secours type: docs weight: 50 url: /fr/python-net/fallback-font/ -keywords: "Police de secours, police, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Police de secours PowerPoint en Python" +keywords: +- police de secours +- police disponible +- remplacement de glyphe +- spécifier la police +- spécifier la règle +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Découvrez comment Aspose.Slides pour Python via .NET utilise les polices de secours pour garder le texte lisible dans les présentations PowerPoint et OpenDocument lorsque les polices d'origine ne sont pas disponibles." --- ## **Police de secours** -La police de secours est utilisée lorsque la police spécifiée pour le texte est disponible dans le système, mais que cette police ne contient pas le glyphe nécessaire. Dans ce cas, il est possible d'utiliser l'une des polices de secours spécifiées pour le remplacement des glyphes. +La police de secours est utilisée lorsque la police spécifiée pour le texte est disponible dans le système, mais que cette police ne contient pas le glyphe nécessaire. Dans ce cas, il est possible d’utiliser l’une des polices de secours spécifiées pour le remplacement du glyphe. -Aspose.Slides permet de créer des polices de secours, de les ajouter à la collection de polices de secours, de définir la collection de polices de secours pour une certaine présentation, de retirer des polices de secours de la présentation, de spécifier les règles à appliquer aux polices de secours, et d'autres encore. +Aspose.Slides permet de créer des polices de secours, de les ajouter à la collection de polices de secours, de définir la collection de polices de secours pour une présentation donnée, de supprimer des polices de secours d’une présentation, de spécifier les règles d’application des polices de secours et d’autres opérations. Pour vous familiariser avec ces fonctionnalités, utilisez les liens suivants : - [Créer une police de secours](/slides/fr/python-net/create-fallback-font) - [Créer une collection de polices de secours](/slides/fr/python-net/create-fallback-fonts-collection) -- [Rendre une présentation avec une police de secours](/slides/fr/python-net/render-presentation-with-fallback-font) \ No newline at end of file +- [Rendre la présentation avec une police de secours](/slides/fr/python-net/render-presentation-with-fallback-font) + +## **FAQ** + +**Comment les polices de secours diffèrent-elles de la substitution de police ?** + +La police de secours est appliquée caractère par caractère ou par plage Unicode lorsque la police principale ne contient pas de glyphes spécifiques ; elle ne remplace que les caractères manquants. La [Substitution](/slides/fr/python-net/font-substitution/) remplace une police manquante ou indisponible pour l’ensemble d’une série ou d’une portion de texte par une autre police. Elles peuvent être combinées, mais leur portée et leur logique de sélection sont différentes. + +**Les paramètres de secours sont-ils enregistrés dans le fichier de présentation ?** + +Non. La configuration de secours vit au moment du traitement/rendu dans la bibliothèque et n’est pas sérialisée dans le PPTX. La présentation ne conserve pas vos règles de secours. + +**La police de secours affecte-t‑elle les éléments créés par les objets PowerPoint (SmartArt, graphiques, WordArt) ?** + +Oui. Le texte à l’intérieur de ces objets suit le même pipeline de rendu, de sorte que les mêmes règles de secours s’appliquent à ce texte comme au texte ordinaire. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md index b0daa85a32..0d97dc5c43 100644 --- a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md +++ b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md @@ -1,14 +1,28 @@ --- -title: Créer une police de secours +title: Spécifier les polices de secours pour les présentations en Python +linktitle: Police de secours type: docs weight: 10 url: /fr/python-net/create-fallback-font/ -keywords: "Polices, police de secours, présentation PowerPoint Python, Aspose.Slides pour Python via .NET" -description: "Police de secours dans PowerPoint en Python" +keywords: +- police de secours +- règle de secours +- appliquer la police +- remplacer la police +- plage Unicode +- glyphe manquant +- glyphe correct +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Maîtrisez Aspose.Slides pour Python via .NET afin de définir des polices de secours dans les fichiers PPT, PPTX et ODP, garantissant un affichage texte cohérent sur tout appareil ou système d'exploitation." --- -Aspose.Slides prend en charge l'interface [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) et la classe [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) pour spécifier les règles d'application d'une police de secours. La classe [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) représente une association entre la plage Unicode spécifiée, utilisée pour rechercher des glyphes manquants, et une liste de polices pouvant contenir des glyphes appropriés : +## **Spécifier les polices de secours** +Aspose.Slides prend en charge l'interface [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) et la classe [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) pour spécifier les règles d'application d'une police de secours. La classe [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) représente une association entre la plage Unicode spécifiée, utilisée pour rechercher les glyphes manquants, et une liste de polices pouvant contenir les glyphes appropriés : ```py startUnicodeIndex = 0x0B80 endUnicodeIndex = 0x0BFF @@ -23,11 +37,32 @@ thirdRule = slides.FontFallBackRule(0x1F300, 0x1F64F, fontNames) ``` +Il est également possible de [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) la police de secours ou [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) dans un objet [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) existant. -Il est également possible de [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) une police de secours ou [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) à un objet [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) existant. +[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) peut être utilisé pour organiser une liste d'objets [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/), lorsqu'il faut spécifier des règles de remplacement de police de secours pour plusieurs plages Unicode. -[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) peut être utilisée pour organiser une liste d'objets [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/), lorsqu'il est nécessaire de spécifier des règles de remplacement de polices de secours pour plusieurs plages Unicode. - -{{% alert color="primary" title="Voir aussi" %}} +{{% alert color="primary" title="See also" %}} - [Créer une collection de polices de secours](/slides/fr/python-net/create-fallback-fonts-collection/) -{{% /alert %}} \ No newline at end of file +{{% /alert %}} + +## **FAQ** + +**Quelle est la différence entre une police de secours, une substitution de police et l'incorporation de police ?** + +Une police de secours n'est utilisée que pour les caractères manquants dans la police principale. La [substitution de police](/slides/fr/python-net/font-substitution/) remplace toute la police spécifiée par une autre police. L'[incorporation de police](/slides/fr/python-net/embedded-font/) intègre les polices dans le fichier de sortie afin que les destinataires puissent voir le texte tel qu'il est prévu. + +**Les polices de secours sont‑elles appliquées lors des exportations comme PDF, PNG ou SVG, ou uniquement lors du rendu à l'écran ?** + +Oui. La police de secours affecte toutes les [opérations de rendu et d'exportation](/slides/fr/python-net/convert-presentation/) où des caractères doivent être dessinés mais sont absents de la police source. + +**La configuration d'une police de secours modifie‑t‑elle le fichier de présentation lui‑même, et le paramètre persistera‑t‑il lors des ouvertures ultérieures ?** + +Non. Les règles de secours sont des paramètres de rendu à l'exécution dans votre code ; elles ne sont pas stockées dans le fichier .pptx et n'apparaîtront pas dans PowerPoint. + +**Le système d'exploitation (Windows/Linux/macOS) et l'ensemble des répertoires de polices influencent‑ils la sélection de la police de secours ?** + +Oui. Le moteur résout les polices à partir des dossiers système disponibles et de tout [chemin supplémentaire](/slides/fr/python-net/custom-font/) que vous fournissez. Si une police n'est pas physiquement disponible, une règle la référencant ne peut pas être appliquée. + +**La police de secours fonctionne‑t‑elle pour WordArt, SmartArt et les graphiques ?** + +Oui. Lorsque ces objets contiennent du texte, le même mécanisme de substitution de glyphes s'applique pour rendre les caractères manquants. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md index 4218531cc7..bde77fef38 100644 --- a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md +++ b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md @@ -1,24 +1,35 @@ --- -title: Remplacement de police +title: Simplifier le remplacement de police dans les présentations en Python +linktitle: Remplacement de police type: docs weight: 60 url: /fr/python-net/font-replacement/ -keywords: "Police, remplacer police, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Remplacer des polices explicitement dans PowerPoint en Python" +keywords: +- police +- remplacer police +- remplacement de police +- changer police +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Remplacez sans effort les polices dans Aspose.Slides Python via .NET pour garantir une typographie cohérente dans les présentations PowerPoint et OpenDocument." --- -Si vous changez d'avis sur l'utilisation d'une police, vous pouvez remplacer cette police par une autre police. Toutes les instances de l'ancienne police seront remplacées par la nouvelle police. +## **Remplacer les polices** -Aspose.Slides vous permet de remplacer une police de cette manière : +Si vous changez d’avis concernant l’utilisation d’une police, vous pouvez la remplacer par une autre police. Toutes les occurrences de l’ancienne police seront remplacées par la nouvelle police. -1. Chargez la présentation pertinente. -2. Chargez la police qui sera remplacée. -3. Chargez la nouvelle police. -4. Remplacez la police. -5. Écrivez la présentation modifiée en tant que fichier PPTX. +Aspose.Slides vous permet de remplacer une police de cette façon : -Ce code Python démontre le remplacement de police : +1. Charger la présentation concernée. +2. Charger la police qui sera remplacée. +3. Charger la nouvelle police. +4. Remplacer la police. +5. Enregistrer la présentation modifiée au format PPTX. +Ce code Python montre le remplacement de police : ```py import aspose.pydrawing as draw import aspose.slides as slides @@ -38,8 +49,43 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: presentation.save("UpdatedFont_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="Remarque" color="warning" %}} -Pour définir des règles qui déterminent ce qui se passe dans certaines conditions (si une police ne peut pas être accessible, par exemple), voir [**Substitution de police**](/slides/fr/python-net/font-substitution/). +{{% alert title="Note" color="warning" %}} -{{% /alert %}} \ No newline at end of file +Pour définir des règles qui déterminent ce qui se passe dans certaines conditions (par exemple si une police est inaccessible), consultez [**Substitution de police**](/slides/fr/python-net/font-substitution/). + +{{% /alert %}} + +## **FAQ** + +**Quelle est la différence entre « remplacement de police », « substitution de police » et « polices de secours » ?** + +Le remplacement est un basculement intentionnel d’une famille à une autre sur l’ensemble du document. [Substitution](/slides/fr/python-net/font-substitution/) est une règle du type « si la police n’est pas disponible, utiliser X ». [Fallback](/slides/fr/python-net/fallback-font/) s’applique de façon chirurgicale aux glyphes manquants individuels lorsque la police de base est installée mais ne contient pas les caractères requis. + +**Le remplacement s’applique‑t‑il aux masques de diapositives, aux mises en page, aux notes et aux commentaires ?** + +Oui. Le remplacement affecte tous les objets de la présentation qui utilisent la police d’origine, y compris les masques de diapositives et les notes ; les commentaires font également partie du document et sont pris en compte par le moteur de police. + +**La police sera‑t‑elle modifiée à l’intérieur des objets OLE incorporés (par exemple Excel) ?** + +Non. Le [contenu OLE](/slides/fr/python-net/manage-ole/) est contrôlé par son application propre. Le remplacement dans la présentation ne reformate pas les données OLE internes ; elles peuvent être affichées sous forme d’image ou de contenu éditable à l’extérieur. + +**Puis‑je remplacer une police uniquement dans une partie de la présentation (par diapositive ou région) ?** + +Un remplacement ciblé est possible si vous changez la police au niveau des objets/plages requis plutôt que d’appliquer un remplacement global à l’ensemble du document. La logique de sélection de police globale lors du rendu reste la même. + +**Comment déterminer à l’avance quelles polices la présentation utilise réellement ?** + +Utilisez le [gestionnaire de polices]**(https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/)** de la présentation : il fournit une liste des [familles utilisées]**(https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/)** et des informations sur les [substitutions / « polices inconnues »]**(https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_substitutions/)**, ce qui aide à planifier le remplacement. + +**Le remplacement de police fonctionne‑t‑il lors de la conversion en PDF/images ?** + +Oui. Lors de l’exportation, Aspose.Slides applique la même [séquence de sélection/substitution de police](/slides/fr/python-net/font-selection-sequence/), de sorte qu’un remplacement effectué au préalable sera respecté pendant la conversion. + +**Dois‑je installer la police cible sur le système ou puis‑je simplement joindre un dossier de polices ?** + +L’installation n’est pas obligatoire : la bibliothèque permet le [chargement de polices externes](/slides/fr/python-net/custom-font/) depuis des dossiers utilisateur pour une utilisation lors du [rendu et de l’export](/slides/fr/python-net/convert-powerpoint/). + +**Le remplacement éliminera‑t‑il les « tofu » (carrés) à la place des caractères ?** + +Uniquement si la police cible contient réellement les glyphes requis. Dans le cas contraire, [configurez une police de secours](/slides/fr/python-net/fallback-font/) pour couvrir les caractères manquants. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md index 15f88cd815..c5c92896eb 100644 --- a/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md +++ b/fr/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md @@ -1,23 +1,37 @@ --- -title: Substitution de police +title: Configurer la substitution de police dans les présentations avec Python +linktitle: Substitution de police type: docs weight: 70 url: /fr/python-net/font-substitution/ -keywords: "Police, police de substitution, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Substituer une police dans PowerPoint en Python" +keywords: +- police +- police de substitution +- substitution de police +- remplacer la police +- remplacement de police +- règle de substitution +- règle de remplacement +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Activez la substitution de police optimale dans Aspose.Slides pour Python via .NET lors de la conversion des présentations PowerPoint et OpenDocument en d'autres formats de fichier." --- -Aspose.Slides vous permet de définir des règles pour les polices qui déterminent ce qui doit être fait dans certaines conditions (par exemple, lorsqu'une police ne peut pas être accédée) de cette manière : +## **Définir les règles de substitution** -1. Charger la présentation pertinente. -2. Charger la police qui sera remplacée. -3. Charger la nouvelle police. -4. Ajouter une règle pour le remplacement. -5. Ajouter la règle à la collection de règles de remplacement de police de la présentation. -6. Générer l'image de la diapositive pour observer l'effet. +Aspose.Slides vous permet de définir des règles pour les polices qui déterminent ce qui doit être fait dans certaines conditions (par exemple, lorsqu’une police est inaccessible) de cette manière : -Ce code Python démontre le processus de substitution de police : +1. Charger la présentation concernée. +2. Charger la police qui sera remplacée. +3. Charger la nouvelle police. +4. Ajouter une règle pour le remplacement. +5. Ajouter la règle à la collection de règles de remplacement de police de la présentation. +6. Générer l’image de la diapositive pour observer l’effet. +Ce code Python montre le processus de substitution de police : ```python import aspose.slides as slides @@ -29,7 +43,7 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: # Charge la nouvelle police destFont = slides.FontData("Arial") - # Ajoute une règle de police pour le remplacement de police + # Ajoute une règle de police pour le remplacement fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE) # Ajoute la règle à la collection de règles de substitution de police @@ -39,14 +53,45 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: # Ajoute la collection de règles de police à la liste des règles presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection - # La police Arial sera utilisée à la place de SomeRareFont lorsque cette dernière est inaccessible + #Arial sera utilisée à la place de SomeRareFont lorsque cette dernière est inaccessible with presentation.slides[0].get_image(1, 1) as bmp: # Enregistre l'image sur le disque au format JPEG bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG) ``` -{{% alert title="NOTE" color="warning" %}} -Vous voudrez peut-être voir [**Remplacement de police**](/slides/fr/python-net/font-replacement/). +{{% alert title="NOTE" color="warning" %}} -{{% /alert %}} \ No newline at end of file +Vous pouvez consulter [**Remplacement de police**](/slides/fr/python-net/font-replacement/). + +{{% /alert %}} + +## **FAQ** + +**Quelle est la différence entre le remplacement de police et la substitution de police ?** + +[Replacement](/slides/fr/python-net/font-replacement/) est une substitution forcée d’une police par une autre sur l’ensemble de la présentation. La substitution est une règle qui se déclenche sous une condition spécifique, par exemple lorsque la police d’origine n’est pas disponible, et une police de secours désignée est alors utilisée. + +**Quand les règles de substitution sont‑elles appliquées exactement ?** + +Les règles participent à la séquence standard de [sélection de police](/slides/fr/python-net/font-selection-sequence/) qui est évaluée lors du chargement, du rendu et de la conversion ; si la police choisie n’est pas disponible, le remplacement ou la substitution est appliqué. + +**Quel est le comportement par défaut si ni le remplacement ni la substitution ne sont configurés et que la police manque sur le système ?** + +La bibliothèque tentera de choisir la police système disponible la plus proche, de la même manière que PowerPoint le ferait. + +**Puis‑je ajouter des polices externes personnalisées à l’exécution pour éviter la substitution ?** + +Oui. Vous pouvez [ajouter des polices externes](/slides/fr/python-net/custom-font/) à l’exécution afin que la bibliothèque les prenne en compte pour la sélection et le rendu, y compris pour les conversions ultérieures. + +**Aspose distribue‑t‑il des polices avec la bibliothèque ?** + +Non. Aspose ne distribue aucune police payante ou gratuite ; vous ajoutez et utilisez les polices à votre propre discrétion et responsabilité. + +**Existe‑t‑il des différences de comportement de substitution sous Windows, Linux et macOS ?** + +Oui. La découverte des polices commence à partir des répertoires de polices du système d’exploitation. L’ensemble des polices disponibles par défaut et les chemins de recherche diffèrent selon les plateformes, ce qui influence la disponibilité et le besoin de substitution. + +**Comment préparer l’environnement pour minimiser les substitutions inattendues lors de conversions en lot ?** + +Synchronisez l’ensemble de polices entre les machines ou les conteneurs, [ajouter les polices externes](/slides/fr/python-net/custom-font/) requises pour les documents de sortie, et [intégrer les polices](/slides/fr/python-net/embedded-font/) dans les présentations lorsque c’est possible afin que les polices choisies soient disponibles lors du rendu. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-notes/_index.md b/fr/python-net/developer-guide/presentation-notes/_index.md index f7cb1f0b7c..b772f29c5e 100644 --- a/fr/python-net/developer-guide/presentation-notes/_index.md +++ b/fr/python-net/developer-guide/presentation-notes/_index.md @@ -1,38 +1,47 @@ --- -title: Notes de présentation +title: Gérer les notes de présentation en Python +linktitle: Notes de présentation type: docs weight: 110 url: /fr/python-net/presentation-notes/ -keywords: "Notes, notes PowerPoint, ajouter des notes, supprimer des notes, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Ajouter et supprimer des notes dans des présentations PowerPoint en Python" +keywords: +- notes +- diapositive de notes +- ajouter des notes +- supprimer des notes +- style de notes +- notes maîtres +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Personnalisez les notes de présentation avec Aspose.Slides pour Python via .NET. Travaillez sans effort avec les notes PowerPoint et OpenDocument pour augmenter votre productivité." --- +Aspose.Slides prend en charge la suppression des diapositives de notes d’une présentation. Dans ce sujet, nous présenterons cette nouvelle fonctionnalité de suppression des notes ainsi que l’ajout de diapositives de style de notes à partir de n’importe quelle présentation. Aspose.Slides for Python via .NET fournit la fonctionnalité de suppression des notes de n’importe quelle diapositive ainsi que d’ajouter un style aux notes existantes. Les développeurs peuvent supprimer les notes de les manières suivantes : +- Supprimer les notes d’une diapositive spécifique d’une présentation. +- Supprimer les notes de toutes les diapositives d’une présentation. -Aspose.Slides prend en charge la suppression des diapositives de notes d'une présentation. Dans ce sujet, nous allons introduire cette nouvelle fonctionnalité de suppression de notes ainsi que l'ajout de diapositives de style de notes à partir de n'importe quelle présentation. Aspose.Slides pour Python via .NET fournit la fonctionnalité de suppression des notes de n'importe quelle diapositive ainsi que d'ajouter un style aux notes existantes. Les développeurs peuvent supprimer des notes de la manière suivante : - -- Supprimer les notes d'une diapositive spécifique d'une présentation. -- Supprimer les notes de toutes les diapositives d'une présentation. -## **Supprimer des notes d'une diapositive** -Les notes d'une diapositive spécifique peuvent être supprimées comme montré dans l'exemple ci-dessous : - +## **Supprimer les notes d'une diapositive** +Les notes d’une diapositive spécifique peuvent être supprimées comme le montre l’exemple ci-dessous : ```py import aspose.slides as slides -# Instancier un objet Presentation qui représente un fichier de présentation +# Instancier un objet Presentation qui représente un fichier de présentation with slides.Presentation(path + "AccessSlides.pptx") as presentation: # Suppression des notes de la première diapositive mgr = presentation.slides[0].notes_slide_manager mgr.remove_notes_slide() - # enregistrer la présentation sur le disque + # Enregistrer la présentation sur le disque presentation.save("RemoveNotesAtSpecificSlide_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Supprimer des notes de toutes les diapositives** -Les notes de toutes les diapositives d'une présentation peuvent être supprimées comme montré dans l'exemple ci-dessous : - +## **Supprimer les notes de toutes les diapositives** +Les notes de toutes les diapositives d’une présentation peuvent être supprimées comme le montre l’exemple ci-dessous : ```py import aspose.slides as slides @@ -42,14 +51,13 @@ with slides.Presentation(path + "AccessSlides.pptx") as presentation: for i in range(len(presentation.slides)): mgr = presentation.slides[i].notes_slide_manager mgr.remove_notes_slide() - # enregistrer la présentation sur le disque + # Enregistrer la présentation sur le disque presentation.save("RemoveNotesFromAllSlides_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **Ajouter NotesStyle** -La propriété NotesStyle a été ajoutée à l'interface [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) et à la classe [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) respectivement. Cette propriété spécifie le style d'un texte de notes.  L'implémentation est démontrée dans l'exemple ci-dessous. - +La propriété NotesStyle a été ajoutée à l’interface [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) et à la classe [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) respectivement. Cette propriété spécifie le style du texte des notes. L’implémentation est démontrée dans l’exemple ci-dessous. ```py import aspose.slides as slides @@ -60,10 +68,21 @@ with slides.Presentation(path + "AccessSlides.pptx") as presentation: # Obtenir le style de texte du MasterNotesSlide notesStyle = notesMaster.notes_style - # Définir un symbole de puce pour les paragraphes de premier niveau + #Définir puce symbole pour les paragraphes de premier niveau paragraphFormat = notesStyle.get_level(0) paragraphFormat.bullet.type = slides.BulletType.SYMBOL # enregistrer le fichier PPTX sur le disque presentation.save("AddNotesSlideWithNotesStyle_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quelle entité de l'API permet d'accéder aux notes d'une diapositive spécifique ?** + +Les notes sont accessibles via le gestionnaire de notes de la diapositive : la diapositive possède un [NotesSlideManager](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/) et une [property](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/notes_slide/) qui renvoie l'objet notes, ou `None` s'il n'y a pas de notes. + +**Existe-t-il des différences de prise en charge des notes selon les versions de PowerPoint avec lesquelles la bibliothèque fonctionne ?** + +La bibliothèque cible un large éventail de formats Microsoft PowerPoint (97‑plus récents) et ODP ; les notes sont prises en charge dans ces formats sans dépendre d’une copie installée de PowerPoint. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-properties/_index.md b/fr/python-net/developer-guide/presentation-properties/_index.md index 38fce6a996..c350c8621a 100644 --- a/fr/python-net/developer-guide/presentation-properties/_index.md +++ b/fr/python-net/developer-guide/presentation-properties/_index.md @@ -1,103 +1,116 @@ --- -title: Propriétés de Présentation +title: Gérer les propriétés de présentation avec Python +linktitle: Propriétés de présentation type: docs weight: 70 url: /fr/python-net/presentation-properties/ -keywords: "propriétés PowerPoint, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Propriétés de présentation PowerPoint en Python" +keywords: +- Propriétés PowerPoint +- Propriétés de présentation +- Propriétés de document +- Propriétés intégrées +- Propriétés personnalisées +- Propriétés avancées +- Gérer les propriétés +- Modifier les propriétés +- Métadonnées de document +- Modifier les métadonnées +- Langue de vérification +- Langue par défaut +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Maîtrisez les propriétés de présentation dans Aspose.Slides for Python via .NET et simplifiez la recherche, le branding et le flux de travail dans vos fichiers PowerPoint." --- -## **Exemple en Direct** -Essayez [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) l'application en ligne pour voir comment travailler avec les propriétés de document via Aspose.Slides API : +## **À propos des propriétés de présentation** -[](https://products.aspose.app/slides/metadata) - -[![todo:image_alt_text](slides-metadata.png)](https://products.aspose.app/slides/metadata) - - -## **À propos des Propriétés de Présentation** -Comme nous l'avons décrit précédemment, Aspose.Slides pour Python via .NET prend en charge deux types de propriétés de document, qui sont des propriétés **Intégrées** et **Personnalisées**. Ainsi, les développeurs peuvent accéder à ces deux types de propriétés à l'aide d'Aspose.Slides pour Python via .NET API. Aspose.Slides pour Python via .NET fournit une classe [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) qui représente les propriétés de document associées à un fichier de présentation via la propriété [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/). Les développeurs peuvent utiliser la propriété [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) exposée par l'objet **Presentation** pour accéder aux propriétés de document des fichiers de présentation comme décrit ci-dessous : +Comme nous l'avons décrit précédemment, Aspose.Slides for Python via .NET prend en charge deux types de propriétés de document, à savoir les propriétés **Built-in** et **Custom**. Ainsi, les développeurs peuvent accéder aux deux types de propriétés à l'aide de l'API Aspose.Slides for Python via .NET. Aspose.Slides for Python via .NET fournit une classe [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) qui représente les propriétés du document associées à un fichier de présentation via la propriété [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/). Les développeurs peuvent utiliser la propriété [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) exposée par l'objet **Presentation** pour accéder aux propriétés du document des fichiers de présentation comme décrit ci-dessous : {{% alert color="primary" %}} - -Veuillez noter que vous ne pouvez pas définir de valeurs pour les champs **Application** et **Producer**, car Aspose Ltd. et Aspose.Slides pour Python via .NET x.x.x seront affichés dans ces champs. - +Veuillez noter que vous ne pouvez pas définir de valeurs pour les champs **Application** et **Producer**, car Aspose Ltd. et Aspose.Slides for Python via .NET x.x.x seront affichés dans ces champs. {{% /alert %}} +## **Gestion des propriétés de présentation** + +Microsoft PowerPoint propose une fonction permettant d'ajouter des propriétés aux fichiers de présentation. Ces propriétés de document permettent de stocker des informations utiles avec les documents (fichiers de présentation). Il existe deux types de propriétés de document comme suit -## **Gérer les Propriétés de Présentation** -Microsoft PowerPoint offre une fonctionnalité permettant d'ajouter certaines propriétés aux fichiers de présentation. Ces propriétés de document permettent de stocker des informations utiles avec les documents (fichiers de présentation). Il existe deux types de propriétés de document comme suit : +- Propriétés définies par le système (Built-in) +- Propriétés définies par l'utilisateur (Custom) -- Propriétés Définies par le Système (Intégrées) -- Propriétés Définies par l'Utilisateur (Personnalisées) +Les propriétés **Built-in** contiennent des informations générales sur le document, telles que le titre du document, le nom de l'auteur, les statistiques du document, etc. Les propriétés **Custom** sont celles définies par les utilisateurs sous forme de paires **Name/Value**, où le nom et la valeur sont définis par l'utilisateur. En utilisant Aspose.Slides for Python via .NET, les développeurs peuvent accéder aux valeurs des propriétés built-in ainsi qu'aux propriétés custom et les modifier. Microsoft PowerPoint 2007 permet de gérer les propriétés de document des fichiers de présentation. Il suffit de cliquer sur l'icône Office puis sur le menu **Prepare | Properties | Advanced Properties** de Microsoft PowerPoint 2007. Après avoir sélectionné l'élément de menu **Advanced Properties**, une boîte de dialogue apparaît, vous permettant de gérer les propriétés du fichier PowerPoint. Dans la **Properties Dialog**, vous constatez plusieurs onglets tels que **General, Summary, Statistics, Contents and Custom**. Tous ces onglets permettent de configurer différents types d'informations liées aux fichiers PowerPoint. L'onglet **Custom** est utilisé pour gérer les propriétés custom des fichiers PowerPoint. -Les propriétés **Intégrées** contiennent des informations générales sur le document, telles que le titre du document, le nom de l'auteur, les statistiques du document, etc. Les propriétés **Personnalisées** sont celles qui sont définies par les utilisateurs sous forme de paires **Nom/Valeur**, où à la fois le nom et la valeur sont définis par l'utilisateur. En utilisant Aspose.Slides pour Python via .NET, les développeurs peuvent accéder et modifier les valeurs des propriétés intégrées ainsi que des propriétés personnalisées. Microsoft PowerPoint 2007 permet de gérer les propriétés de document des fichiers de présentation. Tout ce que vous avez à faire est de cliquer sur l'icône Office et ensuite sur le menu **Préparer | Propriétés | Propriétés Avancées** de Microsoft PowerPoint 2007. Après avoir sélectionné le menu **Propriétés Avancées**, une boîte de dialogue apparaîtra vous permettant de gérer les propriétés de document du fichier PowerPoint. Dans la **Boîte de Dialogue des Propriétés**, vous pouvez voir qu'il existe de nombreux onglets comme **Général, Résumé, Statistiques, Contenu et Personnalisé**. Tous ces onglets permettent de configurer différents types d'informations liées aux fichiers PowerPoint. L'onglet **Personnalisé** est utilisé pour gérer les propriétés personnalisées des fichiers PowerPoint. +## **Accéder aux propriétés Built-in** -## **Accéder aux Propriétés Intégrées** -Ces propriétés exposées par l'objet **IDocumentProperties** comprennent : **Creator(Author)**, **Description**, **Keywords** **Created** (Date de Création), **Modified** Date de Modification, **Printed** Dernière Date d'Impression, **LastModifiedBy**, **Keywords**, **SharedDoc** (Est partagé entre différents producteurs ?), **PresentationFormat**, **Subject** et **Title** +Ces propriétés exposées par l'objet **IDocumentProperties** comprennent : **Creator(Author)**, **Description**, **Keywords**, **Created** (date de création), **Modified** (date de modification), **Printed** (date du dernier impression), **LastModifiedBy**, **Keywords**, **SharedDoc** (est‑il partagé entre différents producteurs ?), **PresentationFormat**, **Subject** et **Title**. ```py import aspose.slides as slides # Instancier la classe Presentation qui représente la présentation with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: - # Créer une référence à l'objet associé à la Présentation + # Créer une référence à l'objet associé à la présentation documentProperties = pres.document_properties # Afficher les propriétés intégrées - print("catégorie : " + documentProperties.category) - print("Statut Actuel : " + documentProperties.content_status) - print("Date de Création : " + str(documentProperties.created_time)) - print("Auteur : " + documentProperties.author) + print("category : " + documentProperties.category) + print("Current Status : " + documentProperties.content_status) + print("Creation Date : " + str(documentProperties.created_time)) + print("Author : " + documentProperties.author) print("Description : " + documentProperties.comments) - print("Mots-Clés : " + documentProperties.keywords) - print("Dernier Modifié par : " + documentProperties.last_saved_by) - print("Superviseur : " + documentProperties.manager) - print("Date de Modification : " + str(documentProperties.last_saved_time)) - print("Format de Présentation : " + documentProperties.presentation_format) - print("Dernière Date d'Impression : " + str(documentProperties.last_printed)) - print("Est Partagé entre producteurs : " + str(documentProperties.shared_doc)) - print("Sujet : " + documentProperties.subject) - print("Titre : " + documentProperties.title) + print("KeyWords : " + documentProperties.keywords) + print("Last Modified By : " + documentProperties.last_saved_by) + print("Supervisor : " + documentProperties.manager) + print("Modified Date : " + str(documentProperties.last_saved_time)) + print("Presentation Format : " + documentProperties.presentation_format) + print("Last Print Date : " + str(documentProperties.last_printed)) + print("Is Shared between producers : " + str(documentProperties.shared_doc)) + print("Subject : " + documentProperties.subject) + print("Title : " + documentProperties.title) ``` -## **Modifier les Propriétés Intégrées** -Modifier les propriétés intégrées des fichiers de présentation est aussi facile que d'y accéder. Vous pouvez simplement attribuer une valeur de chaîne à n'importe quelle propriété désirée et la valeur de la propriété serait modifiée. Dans l'exemple ci-dessous, nous avons démontré comment nous pouvons modifier les propriétés de document intégrées du fichier de présentation. + +## **Modifier les propriétés Built-in** + +Modifier les propriétés built-in des fichiers de présentation est aussi simple que de les accéder. Il suffit d'assigner une chaîne de caractères à la propriété souhaitée et la valeur de la propriété sera modifiée. Dans l'exemple ci‑dessus, nous montrons comment modifier les propriétés de document built-in du fichier de présentation. ```py import aspose.slides as slides -# Instancier la classe Presentation qui représente la Présentation +# Instancier la classe Presentation qui représente la présentation with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation: - # Créer une référence à l'objet associé à la Présentation + # Créer une référence à l'objet associé à la présentation documentProperties = presentation.document_properties # Définir les propriétés intégrées - documentProperties.author = "Aspose.Slides pour .NET" - documentProperties.title = "Modification des Propriétés de Présentation" - documentProperties.subject = "Sujet Aspose" - documentProperties.comments = "Description Aspose" - documentProperties.manager = "Gestionnaire Aspose" + documentProperties.author = "Aspose.Slides for .NET" + documentProperties.title = "Modifying Presentation Properties" + documentProperties.subject = "Aspose Subject" + documentProperties.comments = "Aspose Description" + documentProperties.manager = "Aspose Manager" - # enregistrez votre présentation dans un fichier + # Enregistrer votre présentation dans un fichier presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Ajouter des Propriétés Personnalisées de Présentation** -Aspose.Slides pour Python via .NET permet également aux développeurs d'ajouter des valeurs personnalisées pour les propriétés de Document de présentation. Un exemple est donné ci-dessous qui montre comment définir les propriétés personnalisées pour une présentation. +## **Ajouter des propriétés Custom à la présentation** + +Aspose.Slides for Python via .NET permet également aux développeurs d'ajouter des valeurs custom aux propriétés de document d'une présentation. Un exemple est fourni ci‑dessus montrant comment définir les propriétés custom d'une présentation. ```py import aspose.slides as slides # Instancier la classe Presentation with slides.Presentation() as presentation: - # Obtenir les Propriétés du Document + # Récupérer les propriétés du document documentProperties = presentation.document_properties - # Ajout de Propriétés Personnalisées - documentProperties.set_custom_property_value("Nouvelle Personnalisée", 12) - documentProperties.set_custom_property_value("Mon Nom", "Mudassir") - documentProperties.set_custom_property_value("Personnalisé", 124) + # Ajouter des propriétés personnalisées + documentProperties.set_custom_property_value("New Custom", 12) + documentProperties.set_custom_property_value("My Nam", "Mudassir") + documentProperties.set_custom_property_value("Custom", 124) - # Obtenir le nom de la propriété à un index particulier + # Obtenir le nom de la propriété à un indice particulier getPropertyName = documentProperties.get_custom_property_name(2) # Supprimer la propriété sélectionnée @@ -107,9 +120,10 @@ with slides.Presentation() as presentation: presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Accéder et Modifier les Propriétés Personnalisées** -Aspose.Slides pour Python via .NET permet également aux développeurs d'accéder aux valeurs des propriétés personnalisées. Un exemple est donné ci-dessous qui montre comment accéder et modifier toutes ces propriétés personnalisées pour une présentation. +## **Accéder et modifier les propriétés Custom** + +Aspose.Slides for Python via .NET permet également aux développeurs d'accéder aux valeurs des propriétés custom. Un exemple est fourni ci‑dessus montrant comment accéder et modifier toutes ces propriétés custom pour une présentation. ```py import aspose.slides as slides @@ -120,35 +134,22 @@ with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentatio # Accéder et modifier les propriétés personnalisées for i in range(documentProperties.count_of_custom_properties): - # Afficher les noms et valeurs des propriétés personnalisées - print("Nom de la Propriété Personnalisée : " + documentProperties.get_custom_property_name(i)) - print("Valeur de la Propriété Personnalisée : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) + # Afficher les noms et les valeurs des propriétés personnalisées + print("Custom Property Name : " + documentProperties.get_custom_property_name(i)) + print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) # Modifier les valeurs des propriétés personnalisées - documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "Nouvelle Valeur " + str(i + 1)) - # enregistrez votre présentation dans un fichier + documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1)) + # enregistrer votre présentation dans un fichier presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Vérifier si la Présentation est Modifiée ou Créée** -Aspose.Slides pour Python via .NET fournit une fonctionnalité pour vérifier si une présentation est modifiée ou créée. Un exemple est donné ci-dessous qui montre comment vérifier si la présentation est créée ou modifiée. - -```py -import aspose.slides as slides - -info =slides.PresentationFactory.instance.get_presentation_info(path + "AccessModifyingProperties.pptx") -props = info.read_document_properties() - -print(props.name_of_application) -print(props.app_version) -``` - -## **Définir la Langue de Vérification** -Aspose.Slides fournit la propriété `Language_Id` (exposée par la classe [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)) pour vous permettre de définir la langue de vérification pour un document PowerPoint. La langue de vérification est la langue pour laquelle les orthographes et la grammaire dans PowerPoint sont vérifiées. +## **Définir la langue de vérification** -Ce code Python vous montre comment définir la langue de vérification pour un PowerPoint : +Aspose.Slides fournit la propriété `Language_Id` (exposée par la classe [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)) permettant de définir la langue de vérification d'un document PowerPoint. La langue de vérification est la langue pour laquelle l'orthographe et la grammaire du PowerPoint sont contrôlées. +Ce code Python montre comment définir la langue de vérification pour un PowerPoint : ```python import aspose.slides as slides @@ -164,17 +165,17 @@ with slides.Presentation(path + "SetProofingLanguage.pptx") as pres: portion_format.east_asian_font = font portion_format.latin_font = font - # définir l'Id d'une langue de vérification + # définir l'Id de la langue de vérification portion_format.language_id = "zh-CN" new_portion.text = "1。" paragraph.portions.add(new_portion) ``` -## **Définir la Langue par Défaut** -Ce code Python vous montre comment définir la langue par défaut pour l'ensemble d'une présentation PowerPoint : +## **Définir la langue par défaut** +Ce code Python montre comment définir la langue par défaut pour l’ensemble d’une présentation PowerPoint : ```python import aspose.slides as slides @@ -184,7 +185,28 @@ load_options.default_text_language = "en_US" with slides.Presentation(load_options) as pres: shp = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 150) text_frame = shp.text_frame - text_frame.text = "Nouveau Texte" + text_frame.text = "New Text" print(text_frame.paragraphs[0].portions[0].portion_format.language_id) -``` \ No newline at end of file +``` + + +## **Exemple en direct** + +Essayez l'application en ligne [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) pour découvrir comment travailler avec les propriétés de document via l'API Aspose.Slides : + +[![View & Edit PowerPoint Metadata](slides-metadata.png)](https://products.aspose.app/slides/metadata) + +## **FAQ** + +**Comment puis‑je supprimer une propriété built‑in d’une présentation ?** + +Les propriétés built‑in font partie intégrante de la présentation et ne peuvent pas être entièrement supprimées. Cependant, vous pouvez soit modifier leurs valeurs, soit les définir à vide si la propriété le permet. + +**Que se passe‑t‑il si j’ajoute une propriété custom qui existe déjà ?** + +Si vous ajoutez une propriété custom qui existe déjà, sa valeur actuelle sera écrasée par la nouvelle. Vous n’avez pas besoin de supprimer ou de vérifier la propriété au préalable, Aspose.Slides met automatiquement à jour la valeur de la propriété. + +**Puis‑je accéder aux propriétés d’une présentation sans charger complètement la présentation ?** + +Oui, il est possible d’accéder aux propriétés d’une présentation sans la charger entièrement en utilisant la méthode [get_presentation_info](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/get_presentation_info/) de la classe [PresentationFactory](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/). Ensuite, utilisez la méthode [read_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/read_document_properties/) de la classe [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) afin de lire les propriétés de manière efficace, ce qui économise de la mémoire et améliore les performances. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md b/fr/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md index f5d4c87f2a..a696d178c5 100644 --- a/fr/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md +++ b/fr/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md @@ -14,53 +14,53 @@ keywords: - présentation - Python - Aspose.Slides -description: "Apprenez à signer numériquement des fichiers PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET. Sécurisez vos diapositives en quelques secondes grâce à des exemples de code clairs." +description: "Apprenez comment signer numériquement des fichiers PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET. Sécurisez vos diapositives en quelques secondes avec des exemples de code clairs." --- -**Le certificat numérique** est utilisé pour créer une présentation PowerPoint protégée par mot de passe, marquée comme créée par une organisation ou une personne particulière. Le certificat numérique peut être obtenu en contactant une organisation autorisée - une autorité de certification. Après avoir installé le certificat numérique dans le système, il peut être utilisé pour ajouter une signature numérique à la présentation via Fichier -> Informations -> Protéger la présentation : +**Digital certificate** est utilisé pour créer une présentation PowerPoint protégée par mot de passe, indiquée comme créée par une organisation ou une personne particulière. Le certificat numérique peut être obtenu en contactant une organisation autorisée – une autorité de certification. Après avoir installé le certificat numérique dans le système, il peut être utilisé pour ajouter une signature numérique à la présentation via Fichier -> Info -> Protéger la présentation : ![todo:image_alt_text](https://lh5.googleusercontent.com/OPGhgHMb_L54PGJztP5oIO9zhxGXzhtnbcrC-z7yLUrc_NkRX1obBfwffXhPV1NWBiqhidiupCphixNGl25LkfQhliG6MCM6E-x16ZuQgMyLABC9bQ446ohMluZr6-ThgQLXCOyy) -La présentation peut contenir plus d'une signature numérique. Après l'ajout de la signature numérique à la présentation, un message spécial apparaîtra dans PowerPoint : +Une présentation peut contenir plus d'une signature numérique. Après l'ajout de la signature numérique à la présentation, un message spécial apparaîtra dans PowerPoint : ![todo:image_alt_text](https://lh3.googleusercontent.com/7ZfH7wElhwcvgJ_btF3C32zasBRbT1yA4tFOpnNnUm0q57ayBKJr0Pb43Oi4RgeCoOmwhyxxz_g8kw3H3Qw8Iqeaka5Xipip9cqvwbadY4E40D_NhXnUnbtdXSHFX6fjNm_UBvLJ) -Pour signer la présentation ou vérifier l'authenticité des signatures de présentation, **l'API Aspose.Slides** fournit [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/)interface, [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/)interface et[ **IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/) propriété. Actuellement, les signatures numériques ne sont prises en charge que pour le format PPTX. -## **Ajouter une signature numérique depuis un certificat PFX** -L'exemple de code ci-dessous démontre comment ajouter une signature numérique à partir d'un certificat PFX : +Pour signer une présentation ou vérifier l'authenticité des signatures de la présentation, **Aspose.Slides API** fournit l'[**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/) interface, l'[**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) interface et la propriété [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/). Actuellement, les signatures numériques sont prises en charge uniquement pour le format PPTX. -1. Ouvrez le fichier PFX et passez le mot de passe PFX à [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/)objet. -1. Ajoutez la signature créée à l'objet présentation. +## **Ajouter une signature numérique à partir d'un certificat PFX** +L'exemple de code ci-dessous montre comment ajouter une signature numérique à partir d'un certificat PFX : +1. Ouvrez le fichier PFX et transmettez le mot de passe PFX à l'objet [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/). +1. Ajoutez la signature créée à l'objet présentation. ```py -#[TODO:Exception] RuntimeError: Proxy error(FichierNonTrouvéException): Impossible de charger le fichier ou l'assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Le fichier est introuvable. +#[TODO:Exception] RuntimeError: Erreur de proxy (FileNotFoundException) : Impossible de charger le fichier ou l'assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Le fichier est introuvable. import aspose.slides as slides with slides.Presentation() as pres: - # Créer un objet DigitalSignature avec le fichier PFX et le mot de passe PFX + # Créer l'objet DigitalSignature avec le fichier PFX et le mot de passe PFX signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1") # Commenter la nouvelle signature numérique - signature.comments = "Test de signature numérique Aspose.Slides." + signature.comments = "Aspose.Slides digital signing test." # Ajouter la signature numérique à la présentation pres.digital_signatures.add(signature) - # sauvegarder la présentation + # enregistrer la présentation pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX) ``` -Il est maintenant possible de vérifier si la présentation a été signée numériquement et n'a pas été modifiée : +Il est maintenant possible de vérifier si la présentation a été signée numériquement et n'a pas été modifiée : ```py # Ouvrir la présentation with slides.Presentation("SomePresentationSigned.pptx") as pres: if len(pres.digital_signatures) > 0: allSignaturesAreValid = True - print("Signatures utilisées pour signer la présentation : ") + print("Signatures used to sign the presentation: ") # Vérifier si toutes les signatures numériques sont valides for signature in pres.digital_signatures : print(signature.certificate.subject_name.name + ", " @@ -69,7 +69,22 @@ with slides.Presentation("SomePresentationSigned.pptx") as pres: if allSignaturesAreValid: - print("La présentation est authentique, toutes les signatures sont valides.") + print("Presentation is genuine, all signatures are valid.") else: - print("La présentation a été modifiée depuis la signature.") -``` \ No newline at end of file + print("Presentation has been modified since signing.") +``` + + +## **FAQ** + +**Puis-je supprimer les signatures existantes d'un fichier ?** + +Oui. La collection de signatures numériques prend en charge [la suppression d'éléments individuels](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/remove_at/) et [la suppression complète](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/clear/); après avoir enregistré le fichier, la présentation n'aura aucune signature. + +**Le fichier devient-il "lecture seule" après la signature ?** + +Non. Une signature préserve l'intégrité et l'attribution, mais ne bloque pas les modifications. Pour restreindre l'édition, combinez-la avec ["Lecture seule" ou un mot de passe](/slides/fr/python-net/password-protected-presentation/). + +**La signature s'affichera-t-elle correctement dans différentes versions de PowerPoint ?** + +La signature est créée pour le conteneur OOXML (PPTX). Les versions modernes de PowerPoint qui prennent en charge les signatures OOXML affichent correctement l'état de ces signatures. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md b/fr/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md index 12c09233fe..5cf1664f31 100644 --- a/fr/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md +++ b/fr/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md @@ -1,86 +1,109 @@ --- -title: Présentation protégée par mot de passe +title: Sécuriser les présentations avec des mots de passe en Python +linktitle: Protection par mot de passe type: docs weight: 20 -url: /fr/python-net/presentation-protegee-par-mot-de-passe/ -keywords: "Verrouiller PowerPoint, déverrouiller PowerPoint, protéger PowerPoint, définir un mot de passe, ajouter un mot de passe, chiffrer PowerPoint, déchiffrer PowerPoint, Protection en écriture, sécurité PowerPoint, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Protection par mot de passe de PowerPoint, cryptage et sécurité en Python" - +url: /fr/python-net/password-protected-presentation/ +keywords: +- verrouiller PowerPoint +- verrouiller la présentation +- déverrouiller PowerPoint +- déverrouiller la présentation +- protéger PowerPoint +- protéger la présentation +- définir un mot de passe +- ajouter un mot de passe +- chiffrer PowerPoint +- chiffrer la présentation +- déchiffrer PowerPoint +- déchiffrer la présentation +- protection en écriture +- sécurité PowerPoint +- sécurité de la présentation +- supprimer le mot de passe +- supprimer la protection +- supprimer le chiffrement +- désactiver le mot de passe +- désactiver la protection +- supprimer la protection en écriture +- présentation PowerPoint +- Python +- Aspose.Slides +description: "Apprenez à verrouiller et déverrouiller facilement les présentations PowerPoint et OpenDocument protégées par mot de passe avec Aspose.Slides pour Python via .NET. Augmentez votre productivité et sécurisez vos présentations grâce à notre guide étape par étape." --- -## **À propos de la Protection par Mot de Passe** -### **Comment fonctionne la protection par mot de passe pour une présentation?** -Lorsque vous protégez par mot de passe une présentation, cela signifie que vous définissez un mot de passe qui impose certaines restrictions sur la présentation. Pour supprimer les restrictions, le mot de passe doit être saisi. Une présentation protégée par mot de passe est considérée comme une présentation verrouillée. +## **À propos de la protection par mot de passe** +### **Comment fonctionne la protection par mot de passe pour une présentation ?** +Lorsque vous protégez une présentation par mot de passe, cela signifie que vous définissez un mot de passe qui applique certaines restrictions sur la présentation. Pour lever ces restrictions, il faut saisir le mot de passe. Une présentation protégée par mot de passe est considérée comme une présentation verrouillée. -Typiquement, vous pouvez définir un mot de passe pour imposer ces restrictions sur une présentation : +Typiquement, vous pouvez définir un mot de passe pour appliquer ces restrictions sur une présentation : - **Modification** - Si vous souhaitez que seuls certains utilisateurs puissent modifier votre présentation, vous pouvez définir une restriction de modification. La restriction ici empêche les personnes de modifier, changer ou copier des éléments dans votre présentation (à moins qu'elles fournissent le mot de passe). + Si vous souhaitez que seuls certains utilisateurs puissent modifier votre présentation, vous pouvez définir une restriction de modification. Cette restriction empêche les personnes de modifier, changer ou copier des éléments de votre présentation (sauf si elles fournissent le mot de passe). - Cependant, dans ce cas, même sans le mot de passe, un utilisateur pourra accéder à votre document et l'ouvrir. En mode lecture seule, l'utilisateur peut voir le contenu ou d'autres éléments—hyperliens, animations, effets, etc.—à l'intérieur de votre présentation, mais il ne peut pas copier d'éléments ou enregistrer la présentation. + Cependant, dans ce cas, même sans le mot de passe, un utilisateur pourra accéder à votre document et l’ouvrir. En mode lecture seule, l’utilisateur peut visualiser le contenu ou les éléments — hyperliens, animations, effets, etc. — dans votre présentation, mais il ne peut pas copier d’éléments ni enregistrer la présentation. - **Ouverture** - Si vous souhaitez que seuls certains utilisateurs puissent ouvrir votre présentation, vous pouvez définir une restriction d'ouverture. La restriction ici empêche les personnes de même voir le contenu de votre présentation (à moins qu'elles fournissent le mot de passe). + Si vous voulez que seuls certains utilisateurs puissent ouvrir votre présentation, vous pouvez définir une restriction d’ouverture. Cette restriction empêche les personnes de même voir le contenu de votre présentation (sauf si elles fournissent le mot de passe). + + Techniquement, la restriction d’ouverture empêche également les utilisateurs de modifier vos présentations : lorsqu’ils ne peuvent pas ouvrir une présentation, ils ne peuvent pas la modifier ni y apporter des changements. - Techniquement, la restriction d'ouverture empêche également les utilisateurs de modifier vos présentations : Lorsque les personnes ne peuvent pas ouvrir une présentation, elles ne peuvent pas la modifier ni y apporter des changements. - - **Remarque** que lorsque vous protégez par mot de passe une présentation pour empêcher son ouverture, le fichier de présentation devient chiffré. + **Note** que lorsque vous protégez une présentation par mot de passe pour empêcher son ouverture, le fichier de présentation devient chiffré. -## Comment Protéger une Présentation par Mot de Passe en Ligne +## Comment protéger une présentation par mot de passe en ligne -1. Allez sur notre page [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). +1. Rendez‑vous sur notre page [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). ![todo:image_alt_text](slides-lock.png) -2. Cliquez sur **Glisser ou télécharger vos fichiers**. +2. Cliquez sur **Drop or upload your files**. -3. Sélectionnez le fichier que vous souhaitez protéger par mot de passe sur votre ordinateur. +3. Sélectionnez le fichier que vous souhaitez protéger par mot de passe sur votre ordinateur. -4. Entrez votre mot de passe préféré pour la protection de l'édition ; entrez votre mot de passe préféré pour la protection de la vue. +4. Saisissez le mot de passe de protection en écriture ; saisissez le mot de passe de protection en lecture. -5. Si vous souhaitez que les utilisateurs voient votre présentation comme la copie finale, cochez la case **Marquer comme final**. +5. Si vous voulez que les utilisateurs voient votre présentation comme copie finale, cochez la case **Mark as final**. -6. Cliquez sur **PROTÉGER MAINTENANT.** +6. Cliquez sur **PROTECT NOW.** -7. Cliquez sur **TÉLÉCHARGER MAINTENANT.** +7. Cliquez sur **DOWNLOAD NOW.** -## **Protection par Mot de Passe pour les Présentations dans Aspose.Slides** +## **Protection par mot de passe pour les présentations dans Aspose.Slides** **Formats pris en charge** -Aspose.Slides prend en charge la protection par mot de passe, le cryptage et des opérations similaires pour les présentations dans ces formats : +Aspose.Slides prend en charge la protection par mot de passe, le chiffrement et des opérations similaires pour les présentations dans les formats suivants : -- PPTX et PPT - Présentation Microsoft PowerPoint -- ODP - Présentation OpenDocument -- OTP - Modèle de Présentation OpenDocument +- PPTX et PPT – Microsoft PowerPoint Presentation +- ODP – OpenDocument Presentation +- OTP – OpenDocument Presentation Template **Opérations prises en charge** -Aspose.Slides vous permet d'utiliser la protection par mot de passe sur les présentations pour empêcher les modifications de ces manières : +Aspose.Slides vous permet d’utiliser la protection par mot de passe sur les présentations afin d’empêcher les modifications de ces manières : -- Chiffrer une présentation -- Définir une protection en écriture pour une présentation +- Chiffrement d’une présentation +- Définition d’une protection en écriture sur une présentation **Autres opérations** -Aspose.Slides vous permet d'effectuer d'autres tâches impliquant la protection par mot de passe et le cryptage de ces manières : - -- Déchiffrer une présentation ; ouvrir une présentation chiffrée -- Supprimer le cryptage ; désactiver la protection par mot de passe -- Supprimer la protection en écriture d'une présentation -- Obtenir les propriétés d'une présentation chiffrée -- Vérifier si une présentation est chiffrée -- Vérifier si une présentation est protégée par mot de passe. +Aspose.Slides vous permet d’effectuer d’autres tâches liées à la protection par mot de passe et au chiffrement de ces manières : -## **Chiffrer une Présentation** +- Déchiffrement d’une présentation ; ouverture d’une présentation chiffrée +- Suppression du chiffrement ; désactivation de la protection par mot de passe +- Suppression de la protection en écriture d’une présentation +- Obtention des propriétés d’une présentation chiffrée +- Vérification si une présentation est chiffrée +- Vérification si une présentation est protégée par mot de passe. -Vous pouvez chiffrer une présentation en définissant un mot de passe. Ensuite, pour modifier la présentation verrouillée, un utilisateur doit fournir le mot de passe. +## **Chiffrement d’une présentation** -Pour chiffrer ou protéger par mot de passe une présentation, vous devez utiliser la méthode encrypt (de [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)) pour définir un mot de passe pour la présentation. Vous passez le mot de passe à la méthode encrypt et utilisez la méthode save pour enregistrer la présentation désormais chiffrée. +Vous pouvez chiffrer une présentation en définissant un mot de passe. Ensuite, pour modifier la présentation verrouillée, l’utilisateur doit fournir le mot de passe. -Cet exemple de code vous montre comment chiffrer une présentation : +Pour chiffrer ou protéger par mot de passe une présentation, vous devez utiliser la méthode encrypt (de [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)) pour définir un mot de passe pour la présentation. Vous passez le mot de passe à la méthode encrypt et utilisez la méthode save pour enregistrer la présentation désormais chiffrée. +Ce code d’exemple montre comment chiffrer une présentation : ```py import aspose.slides as slides @@ -89,14 +112,14 @@ with slides.Presentation() as pres: pres.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Définir une Protection en Écriture pour une Présentation** -Vous pouvez ajouter une mention indiquant "Ne pas modifier" à une présentation. De cette manière, vous indiquez aux utilisateurs que vous ne souhaitez pas qu'ils apportent des modifications à la présentation. +## **Définition d’une protection en écriture sur une présentation** -**Remarque** que le processus de protection en écriture ne chiffre pas la présentation. Par conséquent, les utilisateurs—s'ils le souhaitent vraiment—peuvent modifier la présentation, mais pour enregistrer les changements, ils devront créer une présentation avec un nom différent. +Vous pouvez ajouter une marque indiquant « Ne pas modifier » à une présentation. Ainsi, vous indiquez aux utilisateurs que vous ne souhaitez pas qu’ils apportent des modifications à la présentation. -Pour définir une protection en écriture, vous devez utiliser la méthode setWriteProtection. Cet exemple de code vous montre comment définir une protection en écriture pour une présentation : +**Note** que le processus de protection en écriture ne chiffre pas la présentation. Par conséquent, les utilisateurs — s’ils le souhaitent vraiment — peuvent modifier la présentation, mais pour enregistrer les changements, ils devront créer une présentation sous un autre nom. +Pour définir une protection en écriture, vous devez utiliser la méthode setWriteProtection. Ce code d’exemple montre comment définir une protection en écriture sur une présentation : ```py import aspose.slides as slides @@ -105,12 +128,12 @@ with slides.Presentation() as pres: pres.save("write-protected-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Déchiffrer une Présentation ; Ouvrir une Présentation Chiffrée** -Aspose.Slides vous permet de charger un fichier chiffré en passant son mot de passe. Pour déchiffrer une présentation, vous devez appeler la méthode [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) sans paramètres. Vous devrez ensuite entrer le mot de passe correct pour charger la présentation. +## **Déchiffrement d’une présentation ; ouverture d’une présentation chiffrée** -Cet exemple de code vous montre comment déchiffrer une présentation : +Aspose.Slides vous permet de charger un fichier chiffré en transmettant son mot de passe. Pour déchiffrer une présentation, vous devez appeler la méthode [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) sans paramètres. Vous devrez ensuite saisir le mot de passe correct pour charger la présentation. +Ce code d’exemple montre comment déchiffrer une présentation : ```py import aspose.slides as slides @@ -120,12 +143,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: print(pres.document_properties.author) ``` -## **Supprimer le Cryptage ; Désactiver la Protection par Mot de Passe** -Vous pouvez supprimer le cryptage ou la protection par mot de passe d'une présentation. De cette manière, les utilisateurs peuvent accéder ou modifier la présentation sans restrictions. +## **Suppression du chiffrement ; désactivation de la protection par mot de passe** -Pour supprimer le cryptage ou la protection par mot de passe, vous devez appeler la méthode [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Cet exemple de code vous montre comment supprimer le cryptage d'une présentation : +Vous pouvez supprimer le chiffrement ou la protection par mot de passe d’une présentation. Ainsi, les utilisateurs peuvent accéder ou modifier la présentation sans restrictions. +Pour supprimer le chiffrement ou la protection par mot de passe, vous devez appeler la méthode [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Ce code d’exemple montre comment supprimer le chiffrement d’une présentation : ```py import aspose.slides as slides @@ -136,12 +159,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: pres.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Supprimer la Protection en Écriture d'une Présentation** -Vous pouvez utiliser Aspose.Slides pour supprimer la protection en écriture utilisée sur un fichier de présentation. De cette manière, les utilisateurs peuvent modifier à leur guise—et ils ne reçoivent aucun avertissement lorsqu'ils effectuent de telles tâches. +## **Suppression de la protection en écriture d’une présentation** -Vous pouvez supprimer la protection en écriture d'une présentation en utilisant la méthode [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Cet exemple de code vous montre comment supprimer la protection en écriture d'une présentation : +Vous pouvez utiliser Aspose.Slides pour supprimer la protection en écriture appliquée à un fichier de présentation. Ainsi, les utilisateurs peuvent modifier à leur guise et ne reçoivent aucun avertissement lors de ces actions. +Vous pouvez supprimer la protection en écriture d’une présentation en utilisant la méthode [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Ce code d’exemple montre comment supprimer la protection en écriture d’une présentation : ```py import aspose.slides as slides @@ -150,14 +173,14 @@ with slides.Presentation("write-protected-pres.pptx") as pres: pres.save("write-protection-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Obtenir les Propriétés d'une Présentation Chiffrée** -En général, les utilisateurs ont des difficultés à obtenir les propriétés du document d'une présentation chiffrée ou protégée par mot de passe. Cependant, Aspose.Slides propose un mécanisme qui vous permet de protéger par mot de passe une présentation tout en permettant aux utilisateurs d'accéder aux propriétés de cette présentation. +## **Obtention des propriétés d’une présentation chiffrée** -**Remarque** que lorsque Aspose.Slides chiffre une présentation, les propriétés du document de la présentation sont également protégées par mot de passe par défaut. Mais si vous avez besoin de rendre les propriétés de la présentation accessibles (même après que la présentation ait été chiffrée), Aspose.Slides vous permet de le faire précisément. +Typiquement, les utilisateurs ont du mal à obtenir les propriétés du document d’une présentation chiffrée ou protégée par mot de passe. Aspose.Slides propose toutefois un mécanisme qui vous permet de protéger une présentation par mot de passe tout en conservant la possibilité pour les utilisateurs d’accéder aux propriétés de cette présentation. -Si vous souhaitez que les utilisateurs conservent la possibilité d'accéder aux propriétés d'une présentation que vous avez chiffrée, vous pouvez définir la propriété [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) sur `True`. Cet exemple de code vous montre comment chiffrer une présentation tout en fournissant aux utilisateurs la possibilité d'accéder à ses propriétés de document : +**Note** que lorsque Aspose.Slides chiffre une présentation, les propriétés du document de la présentation sont également protégées par mot de passe par défaut. Mais si vous devez rendre les propriétés de la présentation accessibles (même après le chiffrement), Aspose.Slides vous permet de le faire précisément. +Si vous souhaitez que les utilisateurs conservent la capacité d’accéder aux propriétés d’une présentation que vous avez chiffrée, vous pouvez définir la propriété [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) sur `True`. Ce code d’exemple montre comment chiffrer une présentation tout en permettant aux utilisateurs d’accéder à ses propriétés de document : ```py import aspose.slides as slides @@ -166,25 +189,25 @@ with slides.Presentation() as pres: pres.protection_manager.encrypt("123123") ``` -## **Vérifier si une Présentation est Protégée par Mot de Passe Avant de la Charger** -Avant de charger une présentation, vous souhaiterez peut-être vérifier et confirmer que la présentation n'a pas été protégée par mot de passe. De cette manière, vous évitez les erreurs et les problèmes similaires qui surviennent lorsque une présentation protégée par mot de passe est chargée sans son mot de passe. +## **Vérification si une présentation est protégée par mot de passe avant de la charger** -Ce code Python vous montre comment examiner une présentation pour voir si elle est protégée par mot de passe (sans charger la présentation elle-même) : +Avant de charger une présentation, vous pouvez vouloir vérifier et confirmer que la présentation n’est pas protégée par un mot de passe. Ainsi, vous évitez les erreurs et problèmes similaires qui surviennent lorsqu’une présentation protégée est chargée sans son mot de passe. +Ce code Python montre comment examiner une présentation pour savoir si elle est protégée par mot de passe (sans charger la présentation elle‑même) : ```python import aspose.slides as slides presentationInfo = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -print("La présentation est protégée par mot de passe : " + str(presentationInfo.is_password_protected)) +print("The presentation is password protected: " + str(presentationInfo.is_password_protected)) ``` -## **Vérifier si une Présentation est Chiffrée** -Aspose.Slides vous permet de vérifier si une présentation est chiffrée. Pour effectuer cette tâche, vous pouvez utiliser la propriété [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), qui renvoie `True` si la présentation est chiffrée ou `False` si la présentation n'est pas chiffrée. +## **Vérification si une présentation est chiffrée** -Cet exemple de code vous montre comment vérifier si une présentation est chiffrée : +Aspose.Slides vous permet de vérifier si une présentation est chiffrée. Pour réaliser cette tâche, vous pouvez utiliser la propriété [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), qui renvoie `True` si la présentation est chiffrée ou `False` sinon. +Ce code d’exemple montre comment vérifier si une présentation est chiffrée : ```py import aspose.slides as slides @@ -192,12 +215,12 @@ with slides.Presentation() as pres: print(str(pres.protection_manager.is_encrypted)) ``` -## **Vérifier si une Présentation est Protégé en Écriture** -Aspose.Slides vous permet de vérifier si une présentation est protégée en écriture. Pour effectuer cette tâche, vous pouvez utiliser la propriété [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), qui renvoie `True` si la présentation est protégée en écriture ou `False` si la présentation ne l'est pas. +## **Vérification si une présentation est protégée en écriture** -Cet exemple de code vous montre comment vérifier si une présentation est protégée en écriture : +Aspose.Slides vous permet de vérifier si une présentation est protégée en écriture. Pour réaliser cette tâche, vous pouvez utiliser la propriété [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), qui renvoie `True` si la présentation est protégée en écriture ou `False` sinon. +Ce code d’exemple montre comment vérifier si une présentation est protégée en écriture : ```py import aspose.slides as slides @@ -205,12 +228,12 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(pres.protection_manager.is_write_protected)) ``` -## **Valider ou Confirmer qu'un Mot de Passe Spécifique a été Utilisé pour Protéger une Présentation** -Vous souhaiterez peut-être vérifier et confirmer qu'un mot de passe spécifique a été utilisé pour protéger un document de présentation. Aspose.Slides vous fournit les moyens de valider un mot de passe. +## **Validation ou confirmation qu’un mot de passe spécifique a été utilisé pour protéger une présentation** -Cet exemple de code vous montre comment valider un mot de passe : +Vous pouvez vouloir vérifier et confirmer qu’un mot de passe spécifique a été utilisé pour protéger un document de présentation. Aspose.Slides fournit les moyens de valider un mot de passe. +Ce code d’exemple montre comment valider un mot de passe : ```py import aspose.slides as slides @@ -220,8 +243,23 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(matched)) ``` -Cela renvoie `True` si la présentation a été chiffrée avec le mot de passe spécifié. Sinon, cela renvoie `False`. -{{% alert color="primary" title="Voir aussi" %}} -- [Signature Numérique dans PowerPoint](/slides/fr/python-net/digital-signature-in-powerpoint/) -{{% /alert %}} \ No newline at end of file +Il renvoie `True` si la présentation a été chiffrée avec le mot de passe indiqué. Sinon, il renvoie `False`. + +{{% alert color="primary" title="See also" %}} +- [Digital Signature in PowerPoint](/slides/fr/python-net/digital-signature-in-powerpoint/) +{{% /alert %}} + +## **FAQ** + +**Quelles méthodes de chiffrement sont prises en charge par Aspose.Slides ?** + +Aspose.Slides prend en charge les méthodes de chiffrement modernes, notamment les algorithmes basés sur AES, garantissant un haut niveau de sécurité des données pour vos présentations. + +**Que se passe‑t‑il si un mot de passe incorrect est saisi lors de la tentative d’ouverture d’une présentation ?** + +Une exception est levée si un mot de passe incorrect est utilisé, indiquant que l’accès à la présentation est refusé. Cela aide à prévenir les accès non autorisés et protège le contenu de la présentation. + +**Y a‑t‑il des répercussions sur les performances lorsqu’on travaille avec des présentations protégées par mot de passe ?** + +Le processus de chiffrement et de déchiffrement peut introduire un léger surcoût lors des opérations d’ouverture et d’enregistrement. Dans la plupart des cas, cet impact sur les performances est minime et n’affecte pas de façon significative le temps de traitement global de vos tâches de présentation. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md b/fr/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md index f42f7ba01d..7ade575a4f 100644 --- a/fr/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md +++ b/fr/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md @@ -1,25 +1,34 @@ --- -title: Présentation en Lecture Seule +title: Enregistrer les présentations en mode lecture seule avec Python +linktitle: Présentation en lecture seule type: docs weight: 30 url: /fr/python-net/read-only-presentation/ -keywords: "Paramètre en lecture seule, présentation PowerPoint, Python, Aspose.Slides pour Python via .NET" -description: "Présentation PowerPoint en lecture seule en Python" +keywords: +- lecture seule +- protéger la présentation +- empêcher la modification +- PowerPoint +- présentation +- Python +- Aspose.Slides +description: "Charger et enregistrer des fichiers PowerPoint (PPT, PPTX) en mode lecture seule avec Aspose.Slides for Python via .NET, offrant des aperçus de diapositives précis sans modifier vos présentations." --- -Dans PowerPoint 2019, Microsoft a introduit le paramètre **Toujours Ouvrir en Lecture Seule** comme l'une des options que les utilisateurs peuvent utiliser pour protéger leurs présentations. Vous pouvez souhaiter utiliser ce paramètre en lecture seule pour protéger une présentation lorsque +## **Appliquer le mode lecture seule** -- Vous souhaitez éviter des modifications accidentelles et garder le contenu de votre présentation en sécurité. -- Vous souhaitez alerter les personnes que la présentation que vous avez fournie est la version finale. +Dans PowerPoint 2019, Microsoft a introduit le paramètre **Always Open Read-Only** comme l’une des options que les utilisateurs peuvent utiliser pour protéger leurs présentations. Vous pouvez souhaiter utiliser ce paramètre Lecture seule pour protéger une présentation lorsque -Après avoir sélectionné l'option **Toujours Ouvrir en Lecture Seule** pour une présentation, lorsque les utilisateurs ouvrent la présentation, ils voient la recommandation **Lecture Seule** et peuvent voir un message sous cette forme : *Pour éviter des modifications accidentelles, l'auteur a défini ce fichier pour s'ouvrir en lecture seule.* +- Vous voulez empêcher les modifications accidentelles et garder le contenu de votre présentation en sécurité. +- Vous souhaitez avertir les personnes que la présentation que vous avez fournie est la version finale. -La recommandation en lecture seule est un moyen simple mais efficace de décourager l'édition car les utilisateurs doivent effectuer une tâche pour la supprimer avant d'être autorisés à modifier une présentation. Si vous ne souhaitez pas que les utilisateurs apportent des modifications à une présentation et souhaitez leur en parler de manière polie, alors la recommandation en lecture seule peut être une bonne option pour vous. +Après avoir sélectionné l’option **Always Open Read-Only** pour une présentation, lorsque les utilisateurs ouvrent la présentation, ils voient la recommandation **Read-Only** et peuvent voir un message sous cette forme : *Pour éviter les modifications accidentelles, l’auteur a configuré ce fichier pour s’ouvrir en lecture seule.* -> Si une présentation avec la protection **Lecture Seule** est ouverte dans une ancienne application Microsoft PowerPoint—qui ne prend pas en charge la fonction récemment introduite—la recommandation **Lecture Seule** est ignorée (la présentation s'ouvre normalement). +La recommandation **Read-Only** est un moyen simple mais efficace de dissuasion qui décourage la modification car les utilisateurs doivent effectuer une action pour la supprimer avant de pouvoir éditer une présentation. Si vous ne souhaitez pas que les utilisateurs modifient une présentation et que vous voulez leur indiquer cela de manière polie, la recommandation **Read-Only** peut être une bonne option pour vous. -Aspose.Slides pour Python via .NET vous permet de définir une présentation en **Lecture Seule**, ce qui signifie que les utilisateurs (après avoir ouvert la présentation) voient la recommandation **Lecture Seule**. Ce code d'exemple vous montre comment définir une présentation en **Lecture Seule** en Python en utilisant Aspose.Slides : +> Si une présentation protégée par **Read-Only** est ouverte dans une ancienne version de Microsoft PowerPoint—qui ne prend pas en charge la fonction récemment introduite—la recommandation **Read-Only** est ignorée (la présentation s’ouvre normalement). +Aspose.Slides for Python via .NET vous permet de définir une présentation en **Read-Only**, ce qui signifie que les utilisateurs (après avoir ouvert la présentation) voient la recommandation **Read-Only**. Ce code d’exemple montre comment définir une présentation en **Read-Only** en Python avec Aspose.Slides : ```py import aspose.slides as slides @@ -28,8 +37,27 @@ with slides.Presentation() as pres: pres.save("ReadOnlyPresentation.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -**Remarque** : La recommandation **Lecture Seule** est simplement destinée à décourager l'édition ou à empêcher les utilisateurs d'apporter des modifications accidentelles à une présentation PowerPoint. Si une personne motivée—qui sait ce qu'elle fait—décide de modifier votre présentation, elle peut facilement supprimer le paramètre en lecture seule. Si vous devez sérieusement empêcher la modification non autorisée, il vaut mieux utiliser [des protections plus strictes impliquant des encryptions et des mots de passe](https://docs.aspose.com/slides/python-net/password-protected-presentation/). +**Note** : La recommandation **Read-Only** vise simplement à décourager la modification ou à empêcher les utilisateurs d’apporter des changements accidentels à une présentation PowerPoint. Si une personne motivée—qui sait ce qu’elle fait— décide de modifier votre présentation, elle peut facilement supprimer le paramètre Read-Only. Si vous avez réellement besoin de prévenir les modifications non autorisées, il est préférable d’utiliser [des protections plus strictes qui impliquent le chiffrement et les mots de passe](https://docs.aspose.com/slides/python-net/password-protected-presentation/). + +{{% /alert %}} + +## **FAQ** + +**En quoi le 'Read-Only recommended' diffère-t-il d’une protection complète par mot de passe ?** + +« Read-Only recommended » ne fait qu’afficher une suggestion d’ouvrir le fichier en mode lecture seule et est facile à contourner. [Password protection](/slides/fr/python-net/password-protected-presentation/) restreint réellement l’ouverture ou la modification et convient lorsque vous avez besoin de véritables contrôles de sécurité. + +**Le 'Read-Only recommended' peut-il être combiné avec des filigranes pour décourager davantage les modifications ?** + +Oui. La recommandation peut être associée aux [watermarks](/slides/fr/python-net/watermark/) comme dissuasion visuelle ; ce sont des mécanismes séparés qui fonctionnent bien ensemble. + +**Une macro ou un outil externe peut-il toujours modifier le fichier lorsque la recommandation est activée ?** + +Oui. La recommandation n’empêche pas les modifications programmatiques. Pour prévenir les modifications automatisées, utilisez les [les mots de passe et le chiffrement](/slides/fr/python-net/password-protected-presentation/). + +**Comment le 'Read-Only recommended' se rapporte-t-il aux indicateurs 'is_encrypted' et 'is_write_protected' ?** -{{% /alert %}} \ No newline at end of file +Ce sont des signaux différents. « Read-Only recommended » est une invite douce et optionnelle ; [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_write_protected/) et [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_encrypted/) indiquent de réelles restrictions d’écriture ou de lecture qui dépendent de mots de passe ou de chiffrement. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-security/watermark/_index.md b/fr/python-net/developer-guide/presentation-security/watermark/_index.md index e98ecfb3e7..29c128c799 100644 --- a/fr/python-net/developer-guide/presentation-security/watermark/_index.md +++ b/fr/python-net/developer-guide/presentation-security/watermark/_index.md @@ -1,42 +1,55 @@ --- -title: Filigrane +title: Ajouter des filigranes aux présentations en Python +linktitle: Filigrane type: docs weight: 40 url: /fr/python-net/watermark/ keywords: - filigrane -- ajouter filigrane -- filigrane de texte -- filigrane d'image +- filigrane texte +- filigrane image +- ajouter un filigrane +- modifier le filigrane +- supprimer le filigrane +- effacer le filigrane +- ajouter un filigrane à PPT +- ajouter un filigrane à PPTX +- ajouter un filigrane à ODP +- supprimer le filigrane de PPT +- supprimer le filigrane de PPTX +- supprimer le filigrane de ODP +- effacer le filigrane de PPT +- effacer le filigrane de PPTX +- effacer le filigrane de ODP - PowerPoint +- OpenDocument - présentation - Python -- Aspose.Slides pour Python via .NET -description: "Ajouter des filigranes de texte et d'image aux présentations PowerPoint en Python" +- Aspose.Slides +description: "Apprenez à gérer les filigranes texte et image dans les présentations PowerPoint et OpenDocument avec Python pour indiquer un brouillon, des informations confidentielles, des droits d’auteur, et plus encore." --- -## **À propos des Filigranes** +## **À propos des filigranes** -**Un filigrane** dans une présentation est un texte ou une image utilisé sur une diapositive ou sur toutes les diapositives de la présentation. En général, un filigrane est utilisé pour indiquer que la présentation est un brouillon (par exemple, un filigrane "Brouillon"), qu'elle contient des informations confidentielles (par exemple, un filigrane "Confidentiel"), pour spécifier à quelle entreprise elle appartient (par exemple, un filigrane "Nom de l'entreprise"), pour identifier l'auteur de la présentation, etc. Un filigrane aide à prévenir les violations de droits d'auteur en indiquant que la présentation ne doit pas être copiée. Les filigranes sont utilisés dans les formats de présentation PowerPoint et OpenOffice. Dans Aspose.Slides, vous pouvez ajouter un filigrane aux formats de fichiers PowerPoint PPT, PPTX et OpenOffice ODP. +**Un filigrane** dans une présentation est un tampon texte ou image utilisé sur une diapositive ou sur l’ensemble des diapositives d’une présentation. Habituellement, un filigrane sert à indiquer que la présentation est un brouillon (par ex. un filigrane « Brouillon »), qu’elle contient des informations confidentielles (par ex. un filigrane « Confidentiel »), à préciser à quelle société elle appartient (par ex. un filigrane « Nom de l’entreprise »), à identifier l’auteur de la présentation, etc. Un filigrane contribue à prévenir les violations de droits d’auteur en indiquant que la présentation ne doit pas être copiée. Les filigranes sont utilisés à la fois dans les formats PowerPoint et OpenOffice. Dans Aspose.Slides, vous pouvez ajouter un filigrane aux formats de fichiers PowerPoint PPT, PPTX et OpenOffice ODP. -Dans [**Aspose.Slides**](https://products.aspose.com/slides/python-net/), il existe plusieurs façons de créer des filigranes dans les documents PowerPoint ou OpenOffice et de modifier leur design et leur comportement. L'aspect commun est que pour ajouter des filigranes de texte, vous devez utiliser la classe [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), et pour ajouter des filigranes d'image, utilisez la classe [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) ou remplissez une forme de filigrane avec une image. `PictureFrame` implémente la classe [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), vous permettant d'utiliser tous les paramètres flexibles de l'objet de forme. Puisque `TextFrame` n'est pas une forme et que ses paramètres sont limités, il est encapsulé dans un objet [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). +Dans [**Aspose.Slides**](https://products.aspose.com/slides/python-net/), il existe différentes manières de créer des filigranes dans des documents PowerPoint ou OpenOffice et de modifier leur conception et leur comportement. L’aspect commun est que, pour ajouter des filigranes texte, vous devez utiliser la classe [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), et pour ajouter des filigranes image, utilisez la classe [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) ou remplissez une forme de filigrane avec une image. `PictureFrame` implémente la classe [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), vous permettant d’utiliser tous les réglages flexibles de l’objet forme. Comme `TextFrame` n’est pas une forme et que ses paramètres sont limités, il est encapsulé dans un objet [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). -Il existe deux façons d'appliquer un filigrane : à une seule diapositive ou à toutes les diapositives de la présentation. Le Slide Master est utilisé pour appliquer un filigrane à toutes les diapositives de la présentation — le filigrane est ajouté au Slide Master, entièrement conçu là, et appliqué à toutes les diapositives sans affecter la permission de modifier le filigrane sur les diapositives individuelles. +Il existe deux façons d’appliquer un filigrane : à une seule diapositive ou à toutes les diapositives de la présentation. Le Masque des diapositives (Slide Master) est utilisé pour appliquer un filigrane à toutes les diapositives — le filigrane est ajouté au Masque des diapositives, entièrement conçu à cet endroit, et appliqué à toutes les diapositives sans affecter la permission de modifier le filigrane sur les diapositives individuelles. -Un filigrane est généralement considéré comme indisponible pour l'édition par d'autres utilisateurs. Pour empêcher que le filigrane (ou plutôt la forme parent du filigrane) soit modifié, Aspose.Slides propose une fonctionnalité de verrouillage des formes. Une forme spécifique peut être verrouillée sur une diapositive normale ou sur un Slide Master. Lorsque la forme du filigrane est verrouillée sur le Slide Master, elle sera verrouillée sur toutes les diapositives de la présentation. +Un filigrane est généralement considéré comme non modifiable par d’autres utilisateurs. Pour empêcher le filigrane (ou plutôt la forme parent du filigrane) d’être édité, Aspose.Slides fournit une fonctionnalité de verrouillage de forme. Une forme spécifique peut être verrouillée sur une diapositive normale ou sur un Masque des diapositives. Lorsque la forme du filigrane est verrouillée sur le Masque des diapositives, elle le sera sur toutes les diapositives de la présentation. -Vous pouvez définir un nom pour le filigrane afin qu'à l'avenir, si vous souhaitez le supprimer, vous puissiez le trouver dans les formes de la diapositive par son nom. +Vous pouvez attribuer un nom au filigrane afin que, ultérieurement, si vous devez le supprimer, vous puissiez le retrouver parmi les formes de la diapositive par son nom. -Vous pouvez concevoir le filigrane de n'importe quelle manière ; cependant, il existe généralement des caractéristiques communes dans les filigranes, telles que l'alignement centré, la rotation, la position avant, etc. Nous allons examiner comment utiliser ces éléments dans les exemples ci-dessous. +Vous pouvez concevoir le filigrane comme vous le souhaitez ; toutefois, il existe généralement des caractéristiques communes aux filigranes, telles que l’alignement centré, la rotation, la position en avant-plan, etc. Nous verrons comment les exploiter dans les exemples ci‑dessous. -## **Filigrane de Texte** +## **Filigrane texte** -### **Ajouter un Filigrane de Texte à une Diapositive** - -Pour ajouter un filigrane de texte dans PPT, PPTX ou ODP, vous pouvez d'abord ajouter une forme à la diapositive, puis ajouter un cadre de texte à cette forme. Le cadre de texte est représenté par la classe [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). Ce type n'est pas hérité de [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), qui possède un large éventail de propriétés pour positionner le filigrane de manière flexible. Par conséquent, l'objet [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) est encapsulé dans un objet [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). Pour ajouter un texte de filigrane à la forme, utilisez la méthode [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) comme montré ci-dessous. +### **Ajouter un filigrane texte à une diapositive** +Pour ajouter un filigrane texte dans PPT, PPTX ou ODP, vous pouvez d’abord ajouter une forme à la diapositive, puis ajouter un cadre texte à cette forme. Le cadre texte est représenté par la classe [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). Ce type n’est pas hérité de [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), qui possède un large éventail de propriétés pour positionner le filigrane de façon flexible. Ainsi, l’objet [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) est encapsulé dans un objet [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). Pour ajouter du texte de filigrane à la forme, utilisez la méthode [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) comme indiqué ci‑dessous. ```py -watermark_text = "CONFIDENTIEL" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: slide = presentation.slides[0] @@ -45,16 +58,16 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` + {{% alert color="primary" title="Voir aussi" %}} -- [Comment utiliser la classe TextFrame](/slides/fr/python-net/text-formatting/) +- [How to Use the TextFrame Class](/slides/fr/python-net/text-formatting/) {{% /alert %}} -### **Ajouter un Filigrane de Texte à une Présentation** - -Si vous souhaitez ajouter un filigrane de texte à l'ensemble de la présentation (c'est-à-dire à toutes les diapositives en même temps), ajoutez-le au [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). Le reste de la logique est le même que pour ajouter un filigrane à une seule diapositive — créez un objet [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) puis ajoutez le filigrane en utilisant la méthode [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str). +### **Ajouter un filigrane texte à une présentation** +Si vous souhaitez ajouter un filigrane texte à l’ensemble de la présentation (c’est‑à‑dire à toutes les diapositives en une fois), ajoutez‑le au [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). Le reste de la logique est identique à celui de l’ajout d’un filigrane à une seule diapositive — créez un objet [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) puis ajoutez le filigrane à l’aide de la méthode [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str). ```py -watermark_text = "CONFIDENTIEL" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: master_slide = presentation.masters[0] @@ -63,33 +76,33 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` + {{% alert color="primary" title="Voir aussi" %}} -- [Comment utiliser le Slide Master](/slides/fr/python-net/slide-master/) +- [How to Use the Slide Master](/slides/fr/python-net/slide-master/) {{% /alert %}} -### **Définir la Transparence de la Forme du Filigrane** - -Par défaut, la forme rectangulaire est stylisée avec des couleurs de remplissage et de ligne. Les lignes de code suivantes rendent la forme transparente. +### **Définir la transparence de la forme du filigrane** +Par défaut, la forme rectangulaire possède des couleurs de remplissage et de contour. Les lignes de code suivantes rendent la forme transparente. ```py watermark_shape.fill_format.fill_type = FillType.NO_FILL watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL ``` -### **Définir la Police pour un Filigrane de Texte** -Vous pouvez changer la police du filigrane de texte comme montré ci-dessous. +### **Définir la police d’un filigrane texte** +Vous pouvez modifier la police du texte du filigrane comme indiqué ci‑dessous. ```py text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format text_format.latin_font = FontData("Arial") text_format.font_height = 50 ``` -### **Définir la Couleur du Texte du Filigrane** -Pour définir la couleur du texte du filigrane, utilisez ce code : +### **Définir la couleur du texte du filigrane** +Pour définir la couleur du texte du filigrane, utilisez ce code : ```py alpha = 150 red = 200 @@ -101,10 +114,10 @@ fill_format.fill_type = FillType.SOLID fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue) ``` -### **Centrer un Filigrane de Texte** -Il est possible de centrer le filigrane sur une diapositive, et pour cela, vous pouvez faire ce qui suit : +### **Centrer un filigrane texte** +Il est possible de centrer le filigrane sur une diapositive, et pour cela vous pouvez procéder comme suit : ```py slide_size = presentation.slide_size.size @@ -119,16 +132,16 @@ watermark_shape = slide.shapes.add_auto_shape( watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -L'image ci-dessous montre le résultat final. -![Le filigrane de texte](text_watermark.png) +L’image ci‑dessous montre le résultat final. -## **Filigrane d'Image** +![Le filigrane texte](text_watermark.png) -### **Ajouter un Filigrane d'Image à une Présentation** +## **Filigrane image** -Pour ajouter un filigrane d'image à une diapositive de présentation, vous pouvez faire ce qui suit : +### **Ajouter un filigrane image à une présentation** +Pour ajouter un filigrane image à une diapositive de présentation, vous pouvez procéder comme suit : ```py with open("watermark.png", "rb") as image_stream: image = presentation.images.add_image(image_stream.read()) @@ -138,12 +151,12 @@ with open("watermark.png", "rb") as image_stream: watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH ``` -## **Verrouiller un Filigrane pour Éviter son Édition** -S'il est nécessaire d'empêcher un filigrane d'être modifié, utilisez la propriété [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) sur la forme. Avec cette propriété, vous pouvez protéger la forme contre la sélection, le redimensionnement, le repositionnement, le regroupement avec d'autres éléments, verrouiller son texte contre l'édition, et bien plus encore : +## **Verrouiller un filigrane contre l’édition** +S’il est nécessaire d’empêcher la modification d’un filigrane, utilisez la propriété [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) sur la forme. Grâce à cette propriété, vous pouvez protéger la forme contre la sélection, le redimensionnement, le repositionnement, le groupement avec d’autres éléments, le verrouillage du texte contre l’édition, et bien plus encore : ```py -# Verrouiller la forme du filigrane pour modification +# Verrouiller la forme du filigrane contre la modification watermark_shape.auto_shape_lock.select_locked = True watermark_shape.auto_shape_lock.size_locked = True watermark_shape.auto_shape_lock.text_locked = True @@ -151,37 +164,37 @@ watermark_shape.auto_shape_lock.position_locked = True watermark_shape.auto_shape_lock.grouping_locked = True ``` -## **Amener un Filigrane au Premier Plan** -Dans Aspose.Slides, l'ordre Z des formes peut être défini via la méthode [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape). Pour cela, vous devez appeler cette méthode à partir de la liste des diapositives de la présentation et passer la référence de la forme et son numéro d'ordre dans la méthode. De cette manière, il est possible d'amener une forme au premier plan ou de l'envoyer à l'arrière de la diapositive. Cette fonctionnalité est particulièrement utile si vous devez placer un filigrane devant la présentation : +## **Mettre un filigrane au premier plan** +Dans Aspose.Slides, l’ordre Z des formes peut être défini via la méthode [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape). Pour ce faire, vous devez appeler cette méthode depuis la liste des diapositives de la présentation en passant la référence de la forme et son numéro d’ordre. Ainsi, il est possible de mettre une forme au premier plan ou de l’envoyer à l’arrière de la diapositive. Cette fonctionnalité est particulièrement utile si vous devez placer un filigrane devant le contenu de la présentation : ```py shape_count = len(slide.shapes) slide.shapes.reorder(shape_count - 1, watermark_shape) ``` -## **Définir la Rotation du Filigrane** -Voici un exemple de code sur la façon d'ajuster la rotation du filigrane afin qu'il soit positionné en diagonale sur la diapositive : +## **Définir la rotation du filigrane** +Voici un exemple de code montrant comment ajuster la rotation du filigrane afin qu’il soit positionné en diagonale sur la diapositive : ```py diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi watermark_shape.rotation = float(diagonal_angle) ``` -## **Définir un Nom pour un Filigrane** -Aspose.Slides vous permet de définir le nom d'une forme. En utilisant le nom de la forme, vous pouvez y accéder à l'avenir pour la modifier ou la supprimer. Pour définir le nom de la forme du filigrane, attribuez-le à la propriété [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) : +## **Attribuer un nom à un filigrane** +Aspose.Slides vous permet de définir le nom d’une forme. En utilisant le nom de la forme, vous pouvez y accéder ultérieurement pour la modifier ou la supprimer. Pour définir le nom de la forme du filigrane, affectez‑le à la propriété [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/): ```py watermark_shape.name = "watermark" ``` -## **Supprimer un Filigrane** -Pour supprimer la forme du filigrane, utilisez la méthode [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) pour la trouver dans les formes de la diapositive. Ensuite, passez la forme de filigrane dans la méthode [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape) : +## **Supprimer un filigrane** +Pour supprimer la forme du filigrane, utilisez la méthode [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) afin de la retrouver parmi les formes de la diapositive. Ensuite, transmettez la forme du filigrane à la méthode [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape): ```py slide_shapes = list(slide.shapes) for shape in slide_shapes: @@ -189,8 +202,35 @@ for shape in slide_shapes: slide.shapes.remove(watermark_shape) ``` -## **Un Exemple en Direct** -Vous pouvez consulter les outils en ligne **gratuits d'Aspose.Slides** [Ajouter un Filigrane](https://products.aspose.app/slides/watermark) et [Supprimer un Filigrane](https://products.aspose.app/slides/watermark/remove-watermark). +## **Exemple en direct** + +Vous pouvez essayer les outils en ligne gratuits **Aspose.Slides** [Add Watermark](https://products.aspose.app/slides/watermark) et [Remove Watermark](https://products.aspose.app/slides/watermark/remove-watermark). + +![Outils en ligne pour ajouter et supprimer des filigranes](online_tools.png) + +## **FAQ** + +**Qu’est‑ce qu’un filigrane et pourquoi l’utiliser ?** + +Un filigrane est une superposition texte ou image appliquée aux diapositives qui aide à protéger la propriété intellectuelle, à renforcer la reconnaissance de la marque ou à empêcher l’utilisation non autorisée des présentations. + +**Puis‑je ajouter un filigrane à toutes les diapositives d’une présentation ?** + +Oui, Aspose.Slides vous permet d’ajouter un filigrane à chaque diapositive d’une présentation. Vous pouvez parcourir toutes les diapositives et appliquer les paramètres du filigrane individuellement. + +**Comment ajuster la transparence du filigrane ?** + +Vous pouvez ajuster la transparence du filigrane en modifiant les paramètres de remplissage ([FillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/fillformat/)) de la forme. Cela garantit que le filigrane reste discret et ne détourne pas l’attention du contenu de la diapositive. + +**Quels formats d’image sont pris en charge pour les filigranes ?** + +Aspose.Slides prend en charge divers formats d’image tels que PNG, JPEG, GIF, BMP, SVG, et plus encore. + +**Puis‑je personnaliser la police et le style d’un filigrane texte ?** + +Oui, vous pouvez choisir n’importe quelle police, taille et style afin qu’ils correspondent à la conception de votre présentation et maintiennent la cohérence de la marque. + +**Comment modifier la position ou l’orientation d’un filigrane ?** -![Outils en ligne pour ajouter et supprimer des filigranes](online_tools.png) \ No newline at end of file +Vous pouvez ajuster la position et l’orientation du filigrane en modifiant les coordonnées, la taille et les propriétés de rotation de la [shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md b/fr/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md index 816195bf4b..ccbef89938 100644 --- a/fr/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md +++ b/fr/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md @@ -6,105 +6,106 @@ weight: 20 url: /fr/python-net/access-slide-in-presentation/ keywords: - accéder à la diapositive -- index de diapositive -- ID de diapositive -- position de la diapositive -- changer la position -- propriétés de la diapositive +- indice de diapositive +- id de diapositive +- position de diapositive +- modifier la position +- propriétés de diapositive - numéro de diapositive - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Apprenez à accéder et à gérer les diapositives dans les présentations PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET. Améliorez votre productivité grâce à des exemples de code." +description: "Apprenez comment accéder aux diapositives et les gérer dans les présentations PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET. Augmentez votre productivité grâce à des exemples de code." --- -Aspose.Slides vous permet d'accéder aux diapositives de deux manières : par index et par ID. +## **Vue d'ensemble** -## **Accéder à une Diapositive par Index** +Cet article explique comment accéder à des diapositives spécifiques dans une présentation PowerPoint à l’aide d’Aspose.Slides pour Python. Il montre comment ouvrir une présentation, référencer les diapositives par indice ou par ID unique, et lire les informations de base sur la diapositive nécessaires à la navigation dans le fichier. Avec ces techniques, vous pouvez localiser de manière fiable la diapositive exacte que vous souhaitez inspecter ou traiter. -Toutes les diapositives d'une présentation sont disposées numériquement en fonction de la position de la diapositive, en commençant à partir de 0. La première diapositive est accessible par l'index 0 ; la deuxième diapositive est accessible par l'index 1 ; etc. +## **Accéder à une diapositive par indice** -La classe Presentation, qui représente un fichier de présentation, expose toutes les diapositives en tant que collection [ISlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/islidecollection/) (collection d'objets [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/)). Ce code Python vous montre comment accéder à une diapositive via son index : +Les diapositives d’une présentation sont indexées par position à partir de 0. La première diapositive a l’indice 0, la deuxième diapositive a l’indice 1, et ainsi de suite. +La classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) (qui représente un fichier de présentation) expose les diapositives via une [SlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) d’objets [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). + +Le code Python suivant montre comment accéder à une diapositive par son indice : ```python import aspose.slides as slides -# Instancie un objet Presentation qui représente un fichier de présentation -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Obtient la référence d'une diapositive par son index +# Créez une présentation qui représente un fichier de présentation. +with slides.Presentation("sample.pptx") as presentation: + # Obtenez une diapositive par son indice. slide = presentation.slides[0] ``` -## **Accéder à une Diapositive par ID** -Chaque diapositive d'une présentation a un ID unique qui lui est associé. Vous pouvez utiliser la méthode `get_slide_by_id(id)` (exposée par la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) pour cibler cet ID. Ce code Python vous montre comment fournir un ID de diapositive valide et accéder à cette diapositive via la méthode `get_slide_by_id(id)` : +## **Accéder à une diapositive par ID** + +Chaque diapositive d’une présentation possède un ID unique qui lui est associé. Vous pouvez utiliser la méthode [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) (exposée par la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) pour cibler cet ID. +Le code Python suivant montre comment fournir un ID de diapositive valide et accéder à cette diapositive via la méthode [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) : ```python import aspose.slides as slides -# Instancie un objet Presentation qui représente un fichier de présentation -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Obtient un ID de diapositive +# Créez une présentation qui représente un fichier de présentation. +with slides.Presentation("sample.pptx") as presentation: + # Obtenez un ID de diapositive. id = presentation.slides[0].slide_id - # Accède à la diapositive via son ID + # Accédez à la diapositive par son ID. slide = presentation.get_slide_by_id(id) ``` -## **Changer la Position de la Diapositive** -Aspose.Slides vous permet de changer la position d'une diapositive. Par exemple, vous pouvez spécifier que la première diapositive doit devenir la deuxième diapositive. +## **Modifier la position d’une diapositive** + +Aspose.Slides vous permet de modifier la position d’une diapositive. Par exemple, vous pouvez faire en sorte que la première diapositive devienne la deuxième. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez la référence de la diapositive (dont vous souhaitez changer la position) par son index. -1. Définissez une nouvelle position pour la diapositive via la propriété `slide_number`. +1. Obtenez une référence à la diapositive dont vous souhaitez modifier la position en utilisant son indice. +1. Définissez une nouvelle position pour la diapositive via la propriété [slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/slide/slide_number/). 1. Enregistrez la présentation modifiée. -Ce code Python illustre une opération où la diapositive en position 1 est déplacée à la position 2 : - +Le code Python suivant déplace la diapositive en position 1 vers la position 2 : ```python import aspose.slides as slides -# Instancie un objet Presentation qui représente un fichier de présentation -with slides.Presentation(path + "ChangePosition.pptx") as pres: - # Obtient la diapositive dont la position sera changée - sld = pres.slides[0] - # Définit la nouvelle position pour la diapositive - sld.slide_number = 2 - # Enregistre la présentation modifiée - pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX) +# Instancier un objet Presentation qui représente un fichier de présentation. +with slides.Presentation("sample.pptx") as presentation: + # Obtenez la diapositive dont la position sera modifiée. + slide = presentation.slides[0] + # Définissez la nouvelle position de la diapositive. + slide.slide_number = 2 + # Enregistrez la présentation modifiée. + presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -La première diapositive est devenue la deuxième ; la deuxième diapositive est devenue la première. Lorsque vous changez la position d'une diapositive, les autres diapositives s'ajustent automatiquement. +La première diapositive devient la deuxième ; la deuxième diapositive devient la première. Lorsque vous modifiez la position d’une diapositive, les autres diapositives sont ajustées automatiquement. -## **Définir le Numéro de la Diapositive** +## **Définir le numéro de diapositive** -En utilisant la propriété `first_slide_number` (exposée par la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)), vous pouvez spécifier un nouveau numéro pour la première diapositive d'une présentation. Cette opération entraîne le recalcul des numéros des autres diapositives. +En utilisant la propriété [first_slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) (exposée par la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)), vous pouvez spécifier un nouveau numéro pour la première diapositive d’une présentation. Cette opération entraîne le recalcul des numéros des autres diapositives. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenez le numéro de la diapositive. 1. Définissez le numéro de la diapositive. 1. Enregistrez la présentation modifiée. -Ce code Python illustre une opération où le numéro de la première diapositive est défini sur 10 : - +Le code Python suivant illustre une opération où le numéro de la première diapositive est fixé à 10 : ```python import aspose.slides as slides -# Instancie un objet Presentation qui représente un fichier de présentation -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Obtient le numéro de la diapositive - firstSlideNumber = presentation.first_slide_number - # Définit le numéro de la diapositive +# Instancier un objet Presentation qui représente un fichier de présentation. +with slides.Presentation("sample.pptx") as presentation: + # Définissez le numéro de la diapositive. presentation.first_slide_number = 10 - # Enregistre la présentation modifiée - presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX) + # Enregistrez la présentation modifiée. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -Si vous préférez passer la première diapositive, vous pouvez commencer la numérotation à partir de la deuxième diapositive (et masquer la numérotation pour la première diapositive) de cette manière : +Si vous préférez sauter la première diapositive, vous pouvez commencer la numérotation à partir de la deuxième diapositive (et masquer le numéro sur la première diapositive) comme ceci : ```python import aspose.slides as slides @@ -114,15 +115,30 @@ with slides.Presentation() as presentation: presentation.slides.add_empty_slide(layout_slide) presentation.slides.add_empty_slide(layout_slide) - # Définit le numéro pour la première diapositive de la présentation + # Définir le numéro de la première diapositive dans la présentation. presentation.first_slide_number = 0 - # Affiche les numéros de diapositives pour toutes les diapositives + # Afficher les numéros de diapositive pour toutes les diapositives. presentation.header_footer_manager.set_all_slide_numbers_visibility(True) - # Masque le numéro de la diapositive pour la première diapositive + # Masquer le numéro de la diapositive sur la première diapositive. presentation.slides[0].header_footer_manager.set_slide_number_visibility(False) - # Enregistre la présentation modifiée - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + # Enregistrer la présentation modifiée. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**Le numéro de diapositive vu par l’utilisateur correspond‑il à l’indice basé sur zéro de la collection ?** + +Le numéro affiché sur une diapositive peut commencer à partir d’une valeur arbitraire (p. ex., 10) et ne doit pas nécessairement correspondre à l’indice ; la relation est contrôlée par le paramètre [first slide number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) de la présentation. + +**Les diapositives masquées affectent‑elles l’indexation ?** + +Oui. Une diapositive masquée reste dans la collection et est comptée dans l’indexation ; « masquée » fait référence à l’affichage, pas à sa position dans la collection. + +**L’indice d’une diapositive change‑t‑il lorsque d’autres diapositives sont ajoutées ou supprimées ?** + +Oui. Les indices reflètent toujours l’ordre actuel des diapositives et sont recalculés lors des opérations d’insertion, de suppression et de déplacement. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-slide/compare-slides/_index.md b/fr/python-net/developer-guide/presentation-slide/compare-slides/_index.md index 683a11c8d5..5d2165bf6d 100644 --- a/fr/python-net/developer-guide/presentation-slide/compare-slides/_index.md +++ b/fr/python-net/developer-guide/presentation-slide/compare-slides/_index.md @@ -1,17 +1,24 @@ --- -title: Comparer les Diapositives +title: Comparer les diapositives de présentation en Python +linktitle: Comparer les diapositives type: docs weight: 50 url: /fr/python-net/compare-slides/ -keywords: "Comparer les diapositives PowerPoint, Comparer deux diapositives, Présentation, Python, Aspose.Slides" -description: "Comparer les diapositives de présentation PowerPoint en Python" +keywords: +- comparer les diapositives +- comparaison de diapositives +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Comparez les présentations PowerPoint et OpenDocument de manière programmatique avec Aspose.Slides pour Python via .NET. Identifiez rapidement les différences de diapositives dans le code." --- -## **Comparer Deux Diapositives** -La méthode Equals a été ajoutée à l'interface [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) et à la classe [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). Elle retourne vrai pour les diapositives/layout et les diapositives/master qui sont identiques par leur structure et leur contenu statique. - -Deux diapositives sont égales si toutes les formes, styles, textes, animations et autres paramètres, etc. sont identiques. La comparaison ne prend pas en compte les valeurs d'identificateur uniques, par exemple, SlideId et le contenu dynamique, par exemple, la valeur de la date actuelle dans l'espace réservé à la date. +## **Comparer deux diapositives** +La méthode Equals a été ajoutée à l'interface [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) et à la classe [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). Elle renvoie true pour les diapositives/layout et les diapositives master qui sont identiques par leur structure et leur contenu statique. +Deux diapositives sont égales si toutes les formes, styles, textes, animations et autres paramètres, etc. La comparaison ne prend pas en compte les valeurs d'identifiants uniques, par exemple SlideId, et le contenu dynamique, par exemple la valeur de la date actuelle dans le contrôle de texte Date. ```py import aspose.slides as slides @@ -20,5 +27,20 @@ with slides.Presentation(path + "AccessSlides.pptx") as p1: for i in range(len(p1.masters)): for j in range(len(p2.masters)): if p1.masters[i] == p2.masters[j]: - print("La MasterSlide#{0} de la Présentation1 est égale à la MasterSlide#{1} de la Présentation2".format(i,j)) -``` \ No newline at end of file + print("Presentation1 MasterSlide#{0} is equal to Presentation2 MasterSlide#{1}".format(i,j)) +``` + + +## **FAQ** + +**Le fait qu'une diapositive soit masquée affecte-t-il la comparaison des diapositives elles‑mêmes ?** + +[Hidden status](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) est une propriété au niveau de la présentation/playback, pas un contenu visuel. L'égalité de deux diapositives spécifiques est déterminée par leur structure et leur contenu statique ; le simple fait qu'une diapositive soit masquée ne rend pas les diapositives différentes. + +**Les hyperliens et leurs paramètres sont-ils pris en compte ?** + +Oui. Les liens font partie du contenu statique d'une diapositive. Si l'URL ou l'action de l'hyperlien diffèrent, cela est généralement considéré comme une différence dans le contenu statique. + +**Si un graphique fait référence à un fichier Excel externe, le contenu de ce fichier sera-t-il pris en compte ?** + +Non. La comparaison est effectuée en se basant sur les diapositives elles‑elles. Les sources de données externes ne sont généralement pas lues lors de la comparaison ; seul ce qui est présent dans la structure et l'etat statique de la diapositive est pris en compte. \ No newline at end of file diff --git a/fr/python-net/developer-guide/presentation-via-vba/_index.md b/fr/python-net/developer-guide/presentation-via-vba/_index.md index 6714d6207f..70a11e4628 100644 --- a/fr/python-net/developer-guide/presentation-via-vba/_index.md +++ b/fr/python-net/developer-guide/presentation-via-vba/_index.md @@ -8,118 +8,167 @@ keywords: - macro - VBA - macro VBA -- ajouter une macro -- supprimer une macro -- extraire une macro -- ajouter du VBA -- supprimer le VBA -- extraire le VBA +- ajouter macro +- supprimer macro +- extraire macro +- ajouter VBA +- supprimer VBA +- extraire VBA - PowerPoint - OpenDocument - présentation - Python - Aspose.Slides -description: "Découvrez comment générer et manipuler des présentations PowerPoint et OpenDocument via VBA avec Aspose.Slides for Python via .NET afin de rationaliser votre flux de travail." +description: "Découvrez comment générer et manipuler des présentations PowerPoint et OpenDocument via VBA avec Aspose.Slides pour Python via .NET afin d'optimiser votre flux de travail." --- -L'espace de noms [Aspose.Slides.Vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) contient des classes et des interfaces pour travailler avec des macros et du code VBA. +## **Vue d'ensemble** -{{% alert title="Note" color="warning" %}} +Cet article examine les fonctionnalités clés d'Aspose.Slides for Python via .NET pour travailler avec les macros dans les présentations PowerPoint. La bibliothèque fournit des outils pratiques pour ajouter, supprimer et extraire des macros, ce qui vous permet d'automatiser la création et la modification des présentations. -Lorsque vous convertissez une présentation contenant des macros dans un autre format de fichier (PDF, HTML, etc.), Aspose.Slides ignore toutes les macros (les macros ne sont pas transférées dans le fichier résultant). +- Accélérer le développement des présentations — l'automatisation des tâches routinières réduit le temps nécessaire à la préparation du matériel. +- Garantir la flexibilité — la capacité de gérer les macros vous permet d'adapter les présentations à des tâches et scénarios spécifiques. +- Intégrer les données — une intégration simple avec des sources de données externes aide à maintenir le contenu des diapositives à jour. +- Simplifier la maintenance — la gestion centralisée des macros facilite l'application des changements et la mise à jour des présentations. -Lorsque vous ajoutez des macros à une présentation ou que vous enregistrez à nouveau une présentation contenant des macros, Aspose.Slides écrit simplement les octets pour les macros. +L'article poursuit en présentant des exemples pratiques sur la façon d'utiliser Aspose.Slides pour travailler efficacement avec les macros dans PowerPoint. -Aspose.Slides **n'exécute **jamais** les macros d'une présentation. +L'espace de noms [aspose.slides.vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) fournit des classes pour travailler avec les macros et le code VBA. -{{% /alert %}} +{{% alert title="Note" color="warning" %}} +Lorsque vous convertissez une présentation contenant des macros vers un autre format (PDF, HTML, etc.), Aspose.Slides ignore les macros — elles ne sont pas transférées dans le fichier de sortie. -## **Ajouter des Macros VBA** +Lorsque vous ajoutez des macros à une présentation ou réenregistrez une présentation contenant des macros, Aspose.Slides écrit les octets de macro tels quels. -Aspose.Slides fournit la classe [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) pour vous permettre de créer des projets VBA (et des références de projet) et d'éditer des modules existants. Vous pouvez utiliser l'interface [IVbaProject](https://reference.aspose.com/slides/net/aspose.slides.vba/ivbaproject/) pour gérer le VBA intégré dans une présentation. +Aspose.Slides **ne** exécute **jamais** les macros dans une présentation. +{{% /alert %}} -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Utilisez le constructeur [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) pour ajouter un nouveau projet VBA. -1. Ajoutez un module au VbaProject. -1. Définissez le code source du module. -1. Ajoutez des références à . -1. Ajoutez des références à **Microsoft Office**. -1. Associez les références au projet VBA. -1. Enregistrez la présentation. +## **Ajouter des macros VBA** -Ce code Python montre comment ajouter une macro VBA à partir de zéro à une présentation : +Aspose.Slides fournit la classe [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) pour créer des projets VBA (et des références de projet) et pour modifier des modules existants. +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Utilisez le constructeur [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) pour ajouter un nouveau projet VBA. +3. Ajoutez un module au projet VBA. +4. Définissez le code source du module. +5. Ajoutez une référence à ``. +6. Ajoutez une référence à **Microsoft Office**. +7. Associez les références au projet VBA. +8. Enregistrez la présentation. + +Le code Python suivant montre comment ajouter une macro VBA à partir de zéro à une présentation : ```python import aspose.slides as slides -# Crée une instance de la classe de présentation +# Créez une instance de la classe Presentation. with slides.Presentation() as presentation: - # Crée un nouveau projet VBA + + # Créez un nouveau projet VBA. presentation.vba_project = slides.vba.VbaProject() - # Ajoute un module vide au projet VBA + # Ajoutez un module vide au projet VBA. module = presentation.vba_project.modules.add_empty_module("Module") - - # Définit le code source du module - module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub" - # Crée une référence à - stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") + # Définissez le code source du module. + module.source_code = """ + Sub Test(oShape As Shape) + MsgBox "Hello, world!" + End Sub + """ - # Crée une référence à Office - officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") + # Créez une référence à . + stdole_reference = slides.vba.VbaReferenceOleTypeLib("stdole", + "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - # Ajoute des références au projet VBA - presentation.vba_project.references.add(stdoleReference) - presentation.vba_project.references.add(officeReference) + # Créez une référence à Microsoft Office. + office_reference = slides.vba.VbaReferenceOleTypeLib("Office", + "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") - - # Enregistre la Présentation - presentation.save("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) -``` + # Ajoutez les références au projet VBA. + presentation.vba_project.references.add(stdole_reference) + presentation.vba_project.references.add(office_reference) -{{% alert color="primary" %}} + # Enregistrez la présentation. + presentation.save("macros.pptm", slides.export.SaveFormat.PPTM) +``` -Vous voudrez peut-être découvrir **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros), qui est une application web gratuite utilisée pour supprimer des macros de documents PowerPoint, Excel et Word. -{{% /alert %}} +{{% alert color="primary" %}} +Vous pouvez essayer le **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros), une application web gratuite permettant de supprimer les macros de documents PowerPoint, Excel et Word. +{{% /alert %}} -## **Supprimer des Macros VBA** +## **Supprimer des macros VBA** -En utilisant la propriété [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/#properties) sous la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), vous pouvez supprimer une macro VBA. +En utilisant la propriété [vba_project](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/vba_project/) de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), vous pouvez supprimer une macro VBA. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) et chargez la présentation contenant la macro. -1. Accédez au module Macro et supprimez-le. -1. Enregistrez la présentation modifiée. - -Ce code Python montre comment supprimer une macro VBA : +2. Accédez au module de macro et supprimez-le. +3. Enregistrez la présentation modifiée. +Le code Python suivant montre comment supprimer une macro VBA : ```python import aspose.slides as slides -# Charge la présentation contenant la macro -with slides.Presentation(path + "VBA.pptm") as presentation: - # Accède au module Vba et le supprime - presentation.vba_project.modules.remove(presentation.vba_project.modules[0]) +# Chargez la présentation qui contient la macro. +with slides.Presentation("VBA.pptm") as presentation: + + # Accédez au module VBA. + vba_module = presentation.vba_project.modules[0] + + # Supprimez le module VBA. + presentation.vba_project.modules.remove(vba_module) - # Enregistre la Présentation - presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) + # Enregistrez la présentation. + presentation.save("removed_macro.pptm", slides.export.SaveFormat.PPTM) ``` -## **Extraire des Macros VBA** + +## **Extraire des macros VBA** + +En utilisant la propriété `modules` de la classe [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/), vous pouvez accéder à tous les modules d'un projet VBA. La classe [VbaModule](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbamodule/) peut être utilisée pour extraire les propriétés d'un module, telles que le nom et le code. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) et chargez la présentation contenant la macro. 2. Vérifiez si la présentation contient un projet VBA. -3. Parcourez tous les modules contenus dans le projet VBA pour voir les macros. - -Ce code Python montre comment extraire des macros VBA d'une présentation contenant des macros : +3. Parcourez tous les modules du projet VBA pour visualiser les macros. +Le code Python suivant montre comment extraire des macros VBA d'une présentation : ```python import aspose.slides as slides -with slides.Presentation(path + "VBA.pptm") as pres: - if pres.vba_project is not None: # Vérifie si la Présentation contient un projet VBA - for module in pres.vba_project.modules: +with slides.Presentation("VBA.pptm") as presentation: + # Vérifiez si la présentation contient un projet VBA. + if presentation.vba_project is not None: + for module in presentation.vba_project.modules: print(module.name) print(module.source_code) -``` \ No newline at end of file +``` + + +## **Vérifier si un projet VBA est protégé par un mot de passe** + +En utilisant la propriété [VbaProject.is_password_protected](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/is_password_protected/), vous pouvez déterminer si les propriétés d'un projet sont protégées par un mot de passe. + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) et chargez une présentation contenant une macro. +2. Vérifiez si la présentation contient un [projet VBA](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/). +3. Vérifiez si le projet VBA est protégé par un mot de passe pour visualiser ses propriétés. +```py +import aspose.slides as slides + +with slides.Presentation("VBA.pptm") as presentation: + # Vérifiez si la présentation contient un projet VBA. + if presentation.vba_project is not None: + if presentation.vba_project.is_password_protected: + print(f"The VBA Project '{presentation.vba_project.name}' is protected by password to view project properties.") +``` + + +## **FAQ** + +**Que se passe-t-il avec les macros si j’enregistre la présentation au format PPTX ?** +Les macros seront supprimées car le format PPTX ne prend pas en charge VBA. Pour conserver les macros, choisissez PPTM, PPSM ou POTM. + +**Aspose.Slides peut‑il exécuter des macros à l'intérieur d'une présentation pour, par exemple, actualiser des données ?** +Non. La bibliothèque n’exécute jamais de code VBA ; l’exécution n’est possible qu’à l’intérieur de PowerPoint avec les paramètres de sécurité appropriés. + +**Le travail avec des contrôles ActiveX liés au code VBA est‑il pris en charge ?** +Oui, vous pouvez accéder aux [contrôles ActiveX](/slides/fr/python-net/activex/) existants, modifier leurs propriétés et les supprimer. Cela est utile lorsque les macros interagissent avec ActiveX. \ No newline at end of file diff --git a/fr/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md b/fr/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md index 4f215f955d..ce1fc5d1f0 100644 --- a/fr/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md +++ b/fr/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md @@ -1,145 +1,135 @@ --- -title: Appliquer la protection à la présentation +title: Empêcher les modifications de la présentation avec les verrous de forme en Python +linktitle: Empêcher les modifications de la présentation type: docs weight: 70 url: /fr/python-net/applying-protection-to-presentation/ +keywords: +- empêcher les modifications +- protéger contre la modification +- verrouiller la forme +- verrouiller la position +- verrouiller la sélection +- verrouiller la taille +- verrouiller le regroupement +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Découvrez comment Aspose.Slides pour Python via .NET verrouille ou déverrouille les formes dans les fichiers PPT, PPTX et ODP, sécurisant les présentations tout en permettant des modifications contrôlées et une livraison plus rapide." --- -{{% alert color="primary" %}} +## **Contexte** -Une utilisation courante d'Aspose.Slides est de créer, mettre à jour et enregistrer des présentations Microsoft PowerPoint 2007 (PPTX) dans le cadre d'un flux de travail automatisé. Les utilisateurs de l'application qui utilise Aspose.Slides de cette manière ont accès aux présentations de sortie. Les protéger contre la modification est une préoccupation courante. Il est important que les présentations générées automatiquement conservent leur formatage et leur contenu d'origine. +Une utilisation courante d’Aspose.Slides consiste à créer, mettre à jour et enregistrer des présentations Microsoft PowerPoint (PPTX) dans le cadre d’un flux de travail automatisé. Les utilisateurs d’applications qui emploient Aspose.Slides de cette façon ont accès aux présentations générées, il est donc fréquent de vouloir les protéger contre toute modification. Il est important que les présentations générées automatiquement conservent leur mise en forme et leur contenu d’origine. -Cet article explique comment [les présentations et les diapositives sont construites](/slides/fr/python-net/applying-protection-to-presentation/) et comment Aspose.Slides pour Python via .NET peut [appliquer une protection à](/slides/fr/python-net/applying-protection-to-presentation/) puis [la supprimer de](/slides/fr/python-net/applying-protection-to-presentation/) une présentation. Cette fonctionnalité est exclusive à Aspose.Slides et, au moment de la rédaction, n'est pas disponible dans Microsoft PowerPoint. Cela donne aux développeurs un moyen de contrôler comment les présentations créées par leurs applications sont utilisées. +Cet article explique comment les présentations et les diapositives sont structurées et comment Aspose.Slides pour Python peut appliquer une protection à une présentation et la retirer ultérieurement. Il fournit aux développeurs un moyen de contrôler l’utilisation des présentations générées par leurs applications. -{{% /alert %}} -## **Composition d'une Diapositive** -Une diapositive PPTX est composée d'un certain nombre de composants comme des formes automatiques, des tableaux, des objets OLE, des formes groupées, des cadres d'image, des cadres vidéo, des connecteurs et d'autres éléments divers disponibles pour constituer une présentation. +## **Composition d’une diapositive** -Dans Aspose.Slides pour Python via .NET, chaque élément sur une diapositive est transformé en un objet Shape. En d'autres termes, chaque élément sur la diapositive est soit un objet Shape, soit un objet dérivé de l'objet Shape. +Une diapositive de présentation est composée d’éléments tels que des formes automatiques, des tableaux, des objets OLE, des formes groupées, des cadres d’image, des cadres vidéo, des connecteurs et d’autres éléments utilisés pour construire une présentation. Dans Aspose.Slides pour Python, chaque élément d’une diapositive est représenté par un objet qui hérite de la classe [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). -La structure de PPTX est complexe, donc contrairement à PPT, où un verrou générique peut être utilisé pour tous les types de formes, il existe différents types de verrous pour différents types de formes. La classe BaseShapeLock est la classe de verrouillage générique pour PPTX. Les types de verrous suivants sont pris en charge dans Aspose.Slides pour Python via .NET pour PPTX. +La structure du PPTX est complexe, de sorte qu’à la différence du PPT, où un verrou générique peut être utilisé pour tous les types de formes, différents types de formes nécessitent des verrous différents. La classe [BaseShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/baseshapelock/) est la classe de verrouillage générique pour le PPTX. Les types de verrous suivants sont pris en charge dans Aspose.Slides pour Python pour le PPTX : -- AutoShapeLock verrouille les formes automatiques. -- ConnectorLock verrouille les formes connecteurs. -- GraphicalObjectLock verrouille les objets graphiques. -- GroupshapeLock verrouille les formes groupées. -- PictureFrameLock verrouille les cadres d'image. +- [AutoShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshapelock/) verrouille les formes automatiques. +- [ConnectorLock](https://reference.aspose.com/slides/python-net/aspose.slides/connectorlock/) verrouille les formes connecteurs. +- [GraphicalObjectLock](https://reference.aspose.com/slides/python-net/aspose.slides/graphicalobjectlock/) verrouille les objets graphiques. +- [GroupShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/groupshapelock/) verrouille les formes groupées. +- [PictureFrameLock](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/) verrouille les cadres d’image. + +Toute action effectuée sur tous les objets forme dans un objet [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) est appliquée à l’ensemble de la présentation. -Toute action effectuée sur tous les objets Shape dans un objet Presentation est appliquée à l'ensemble de la présentation. ## **Appliquer et supprimer la protection** -Appliquer une protection garantit qu'une présentation ne peut pas être modifiée. C'est une technique utile pour protéger le contenu d'une présentation. -### **Appliquer la protection aux formes PPTX** -Aspose.Slides pour Python via .NET fournit la classe Shape pour gérer une forme sur la diapositive. -Comme mentionné précédemment, chaque classe de forme a une classe de verrou associée pour la protection. Cet article se concentre sur les verrous NoSelect, NoMove et NoResize. Ces verrous garantissent que les formes ne peuvent pas être sélectionnées (par des clics de souris ou d'autres méthodes de sélection), et qu'elles ne peuvent pas être déplacées ou redimensionnées. +Appliquer une protection garantit qu’une présentation ne peut pas être modifiée. C’est une technique utile pour protéger le contenu de la présentation. + +### **Appliquer une protection aux formes PPTX** + +Aspose.Slides pour Python fournit la classe [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) pour travailler avec les formes d’une diapositive. -Les exemples de code qui suivent appliquent la protection à tous les types de formes dans une présentation. +Comme indiqué précédemment, chaque classe de forme possède une classe de verrouillage de forme associée pour la protection. Cet article se concentre sur les verrous NoSelect, NoMove et NoResize. Ces verrous garantissent que les formes ne peuvent pas être sélectionnées (par clics de souris ou autres méthodes de sélection) et qu’elles ne peuvent pas être déplacées ou redimensionnées. +L’exemple de code qui suit applique une protection à tous les types de formes d’une présentation. ```py import aspose.slides as slides -#Instatiate Presentation class that represents a PPTX file -with slides.Presentation(path + "RectPicFrame.pptx") as pres: - #ISlide object for accessing the slides in the presentation - slide = pres.slides[0] - - #Traversing through all the slides in the presentation - for slide in pres.slides: +# Instancier la classe Presentation qui représente un fichier PPTX. +with slides.Presentation("Sample.pptx") as presentation: + # Parcourir toutes les diapositives de la présentation. + for slide in presentation.slides: + # Parcourir toutes les formes de la diapositive. for shape in slide.shapes: - #if shape is autoshape if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Applying shapes locks - auto_shape_lock.position_locked = True - auto_shape_lock.select_locked = True - auto_shape_lock.size_locked = True - - #if shape is group shape + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Applying shapes locks - group_shape_lock.grouping_locked = True - group_shape_lock.position_locked = True - group_shape_lock.select_locked = True - group_shape_lock.size_locked = True - - #if shape is a connector + shape.shape_lock.grouping_locked = True + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Applying shapes locks - connector_lock.position_move = True - connector_lock.select_locked = True - connector_lock.size_locked = True - #if shape is picture frame + shape.shape_lock.position_move = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.PictureFrame: - #Type casting to pitcture frame shape and getting picture frame shape lock - picture_lock = shape.shape_lock - - #Applying shapes locks - picture_lock.position_locked = True - picture_lock.select_locked = True - picture_lock.size_locked = True - - #Saving the presentation file - pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True + # Enregistrer le fichier de présentation. + presentation.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) ``` ### **Supprimer la protection** -La protection appliquée à l'aide d'Aspose.Slides pour Python via .NET ne peut être supprimée qu'avec Aspose.Slides pour Python via .NET. Pour déverrouiller une forme, il suffit de définir la valeur du verrou appliqué sur false. L'exemple de code qui suit montre comment déverrouiller des formes dans une présentation verrouillée. +Pour déverrouiller une forme, définissez la valeur du verrou appliqué sur `False`. L’exemple de code suivant montre comment déverrouiller les formes dans une présentation verrouillée. ```py import aspose.slides as slides -#Open the desired presentation -with slides.Presentation("ProtectedSample.pptx") as pres: - for slide in pres.slides: +# Instancier la classe Presentation qui représente un fichier PPTX. +with slides.Presentation("ProtectedSample.pptx") as presentation: + # Parcourir toutes les diapositives de la présentation. + for slide in presentation.slides: + # Parcourir toutes les formes de la diapositive. for shape in slide.shapes: - - if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Applying shapes locks - auto_shape_lock.position_locked = False - auto_shape_lock.select_locked = False - auto_shape_lock.size_locked = False - - elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Applying shapes locks - group_shape_lock.grouping_locked = False - group_shape_lock.position_locked = False - group_shape_lock.select_locked = False - group_shape_lock.size_locked = False + if type(shape) is slides.AutoShape: + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + elif type(shape) is slides.GroupShape: + shape.shape_lock.grouping_locked = False + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Applying shapes locks - connector_lock.position_move = False - connector_lock.select_locked = False - connector_lock.size_locked = False + shape.shape_lock.position_move = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.PictureFrame: - picture_lock = shape.shape_lock - - #Applying shapes locks - picture_lock.position_locked = False - picture_lock.select_locked = False - picture_lock.size_locked = False - #Saving the presentation file - pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + # Enregistrer le fichier de présentation. + presentation.save("RemovedProtectionSample.pptx", slides.export.SaveFormat.PPTX) ``` +### **Conclusion** + +Aspose.Slides propose plusieurs options pour protéger les formes d’une présentation. Vous pouvez verrouiller une forme individuelle ou parcourir toutes les formes d’une présentation et verrouiller chacune d’elles afin de sécuriser efficacement l’ensemble du fichier. Vous pouvez supprimer la protection en définissant la valeur du verrou sur `False`. + +## **FAQ** + +**Puis-je combiner les verrous de forme et la protection par mot de passe dans la même présentation ?** + +Oui. Les verrous limitent la modification des objets à l’intérieur du fichier, tandis que la [protection par mot de passe](/slides/fr/python-net/password-protected-presentation/) contrôle l’accès à l’ouverture et/ou à l’enregistrement des modifications. Ces mécanismes se complètent et fonctionnent ensemble. -### **Résumé** -{{% alert color="primary" %}} +**Puis-je restreindre la modification de diapositives spécifiques sans affecter les autres ?** -Aspose.Slides propose plusieurs options pour appliquer une protection aux formes d'une présentation. Il est possible de verrouiller une forme particulière ou de parcourir toutes les formes d'une présentation et de les verrouiller toutes pour verrouiller efficacement la présentation. +Oui. Appliquez des verrous aux formes des diapositives sélectionnées ; les diapositives restantes resteront modifiables. -Seule Aspose.Slides pour Python via .NET peut supprimer la protection d'une présentation qui a été précédemment protégée. Retirez la protection en définissant la valeur d'un verrou sur false. +**Les verrous de forme s’appliquent‑ils aux objets groupés et aux connecteurs ?** -{{% /alert %}} \ No newline at end of file +Oui. Des types de verrous dédiés sont pris en charge pour les groupes, les connecteurs, les objets graphiques et les autres catégories de formes. \ No newline at end of file diff --git a/fr/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md b/fr/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md index c6ec5921ee..e6001ee055 100644 --- a/fr/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md +++ b/fr/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md @@ -1,31 +1,32 @@ --- -title: Extraire des images à partir de formes de présentation en Python -linktitle: Image d’une forme +title: Extraire des images des formes de présentation en Python +linktitle: Image depuis une forme type: docs weight: 90 url: /fr/python-net/extracting-images-from-presentation-shapes/ keywords: - extraire image - récupérer image -- arrière‑plan de diapositive -- arrière‑plan de forme +- arrière-plan de diapositive +- arrière-plan de forme - PowerPoint - présentation - Python - Aspose.Slides -description: "Extrayez des images à partir de formes dans des présentations PowerPoint et OpenDocument avec Aspose.Slides for Python via .NET — une solution rapide et adaptée au code." +description: "Extraire des images des formes dans les présentations PowerPoint et OpenDocument avec Aspose.Slides pour Python via .NET — solution rapide et conviviale pour le code." --- +## **Extraire des images des formes** + {{% alert color="primary" %}} -Les images sont souvent ajoutées aux formes et sont également fréquemment utilisées comme arrière-plans de diapositives. Les objets image sont ajoutés via [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/), qui est une collection d'objets [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). +Les images sont souvent ajoutées aux formes et sont également fréquemment utilisées comme arrière‑plans des diapositives. Les objets image sont ajoutés via [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/), qui est une collection d'objets [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). -Cet article explique comment vous pouvez extraire les images ajoutées aux présentations. +Cet article explique comment extraire les images ajoutées aux présentations. {{% /alert %}} -Pour extraire une image d'une présentation, vous devez d'abord localiser l'image en parcourant chaque diapositive, puis en parcourant chaque forme. Une fois l'image trouvée ou identifiée, vous pouvez l'extraire et la sauvegarder sous un nouveau fichier. XXX - +Pour extraire une image d’une présentation, vous devez d’abord localiser l’image en parcourant chaque diapositive, puis chaque forme. Une fois l’image trouvée ou identifiée, vous pouvez l’extraire et l’enregistrer comme un nouveau fichier. XXX ```py import aspose.slides as slides @@ -40,14 +41,14 @@ def get_image_format(image_type): }.get(image_type, slides.ImageFormat.JPEG) with slides.Presentation("pres.pptx") as pres: - #Accéder à la présentation + #Accès à la présentation slideIndex = 0 image_type = "" ifImageFound = False for slide in pres.slides: slideIndex += 1 - #Accéder à la première diapositive + #Accès à la première diapositive image_format = slides.ImageFormat.JPEG back_image = None @@ -55,15 +56,15 @@ with slides.Presentation("pres.pptx") as pres: is_layout = False if slide.background.fill_format.fill_type == slides.FillType.PICTURE: - #Obtenir l'image de fond + #Obtention de l'image d'arrière-plan back_image = slide.background.fill_format.picture_fill_format.picture.image elif slide.layout_slide.background.fill_format.fill_type == slides.FillType.PICTURE: - #Obtenir l'image de fond + #Obtention de l'image d'arrière-plan back_image = slide.layout_slide.background.fill_format.picture_fill_format.picture.image is_layout = True if back_image is not None: - #Définir le format d'image souhaité + #Définition du format d'image souhaité image_type = back_image.content_type.split("/")[1] image_format = get_image_format(image_type) @@ -87,4 +88,23 @@ with slides.Presentation("pres.pptx") as pres: shape_image.image.save( file_name.format("shape_"+str(i)+"_", slideIndex, image_type), image_format) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis‑je extraire l’image originale sans aucun recadrage, effet ou transformation de forme ?** + +Oui. Lorsque vous accédez à l’image d’une forme, vous obtenez l’objet image de la [collection d’images](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) de la présentation, c’est‑à‑dire les pixels originaux sans recadrage ni effets de style. Le processus parcourt la collection d’images de la présentation et les objets [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/), qui stockent les données brutes. + +**Existe‑t‑il un risque de duplication de fichiers identiques lors de l’enregistrement de nombreuses images à la fois ?** + +Oui, si vous enregistrez tout sans discernement. La [collection d’images](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) d’une présentation peut contenir des données binaires identiques référencées par différentes formes ou diapositives. Pour éviter les duplications, comparez les hachages, tailles ou contenus des données extraites avant l’écriture. + +**Comment déterminer quelles formes sont liées à une image spécifique de la collection de la présentation ?** + +Aspose.Slides ne stocke pas de liens inverses de [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) vers les formes. Créez manuellement une correspondance lors du parcours : chaque fois que vous trouvez une référence à un [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/), enregistrez les formes qui l’utilisent. + +**Puis‑je extraire des images intégrées dans des objets OLE, comme des documents joints ?** + +Pas directement, car un objet OLE est un conteneur. Vous devez extraire le paquet OLE lui‑même, puis analyser son contenu à l’aide d’outils séparés. Les formes d’image de présentation fonctionnent via [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/); OLE est un type d’objet différent. \ No newline at end of file diff --git a/fr/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md b/fr/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md index 96ca3e5312..f1c60fcec8 100644 --- a/fr/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md +++ b/fr/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md @@ -1,5 +1,6 @@ --- -title: Obtenir l'Arrière-Plan de la Diapositive de Présentation Complète en Tant qu'Image +title: Obtenir l'arrière-plan complet d'une diapositive d'une présentation sous forme d'image +linktitle: Arrière-plan complet de diapositive type: docs weight: 95 url: /fr/python-net/get-the-entire-presentation-slide-background-as-an-image/ @@ -7,28 +8,34 @@ keywords: - diapositive - arrière-plan - arrière-plan de diapositive -- arrière-plan en une image +- arrière-plan final +- arrière-plan en image - PowerPoint +- OpenDocument +- présentation - PPT - PPTX -- présentation PowerPoint +- ODP - Python -- Aspose.Slides pour Python +- Aspose.Slides +description: "Extraire les arrière-plans complets des diapositives sous forme d'images à partir des présentations PowerPoint et OpenDocument à l'aide d'Aspose.Slides pour Python via .NET, en simplifiant les flux de travail visuels." --- -Dans les présentations PowerPoint, l'arrière-plan de la diapositive peut se composer de nombreux éléments. En plus de l'image définie comme [arrière-plan de diapositive](/slides/fr/python-net/presentation-background/), l'arrière-plan final peut être influencé par le thème de la présentation, le schéma de couleurs et les formes placées sur la diapositive principale et la diapositive de mise en page. +## **Obtenir l'arrière-plan complet de la diapositive** -Aspose.Slides pour Python ne fournit pas de méthode simple pour extraire l'arrière-plan complet de la diapositive de présentation en tant qu'image, mais vous pouvez suivre les étapes ci-dessous pour le faire : -1. Charger la présentation à l'aide de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Obtenir la taille de la diapositive à partir de la présentation. -1. Sélectionner une diapositive. -1. Créer une présentation temporaire. -1. Définir la même taille de diapositive dans la présentation temporaire. -1. Cloner la diapositive sélectionnée dans la présentation temporaire. -1. Supprimer les formes de la diapositive clonée. -1. Convertir la diapositive clonée en une image. +Dans les présentations PowerPoint, l'arrière-plan d'une diapositive peut être composé de plusieurs éléments. En plus de l'image définie comme [arrière-plan de la diapositive](/slides/fr/python-net/presentation-background/), l'arrière-plan final peut être influencé par le thème de la présentation, le jeu de couleurs et les formes placées sur la diapositive maître et la diapositive de mise en page. -L'exemple de code suivant extrait l'arrière-plan complet de la diapositive de présentation en tant qu'image. +Aspose.Slides for Python ne fournit pas de méthode simple pour extraire l'arrière-plan complet d'une diapositive de présentation sous forme d'image, mais vous pouvez suivre les étapes ci-dessous pour le faire : +1. Chargez la présentation en utilisant la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Obtenez la taille de la diapositive à partir de la présentation. +1. Sélectionnez une diapositive. +1. Créez une présentation temporaire. +1. Définissez la même taille de diapositive dans la présentation temporaire. +1. Clonez la diapositive sélectionnée dans la présentation temporaire. +1. Supprimez les formes de la diapositive clonée. +1. Convertissez la diapositive clonée en image. + +L'exemple de code suivant extrait l'arrière-plan complet d'une diapositive de présentation sous forme d'image. ```py slide_index = 0 image_scale = 1 @@ -46,4 +53,23 @@ with slides.Presentation("sample.pptx") as presentation: with cloned_slide.get_image(image_scale, image_scale) as background: background.save("output.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Les dégradés complexes, textures ou remplissages d'images provenant d'une diapositive maître seront-ils conservés dans l'image d'arrière-plan résultante ?** + +Oui. Aspose.Slides rend les remplissages de type dégradé, image et texture définis sur la diapositive, la mise en page ou le maître. Si vous devez isoler l'apparence des maîtres hérités, [définissez un arrière-plan propre](/slides/fr/python-net/presentation-background/) sur la diapositive actuelle avant l'exportation. + +**Puis-je ajouter un filigrane à l'image d'arrière-plan résultante avant de l'enregistrer ?** + +Oui. Vous pouvez ajouter une forme ou une image [filigrane](/slides/fr/python-net/watermark/) sur une [copie de la diapositive](/slides/fr/python-net/clone-slides/) (placée derrière les autres contenus) puis exporter. Cela vous permet de générer une image d'arrière-plan avec le filigrane intégré. + +**Puis-je obtenir l'arrière-plan d'une mise en page ou d'un maître spécifique sans l'associer à une diapositive existante ?** + +Oui. Accédez au maître ou à la mise en page souhaité, appliquez-le à une [diapositive temporaire](/slides/fr/python-net/clone-slides/) avec la taille requise, puis exportez cette diapositive pour obtenir l'arrière-plan dérivé de cette mise en page ou de ce maître. + +**Existe-t-il des limitations de licence qui affectent l'exportation d'images ?** + +Les fonctionnalités de rendu sont entièrement disponibles avec une [licence valide](/slides/fr/python-net/licensing/). En mode d'évaluation, la sortie peut comporter des limitations comme un filigrane. Activez la licence une fois par processus avant d'exécuter les exportations par lots. \ No newline at end of file diff --git a/fr/python-net/developer-guide/technical-articles/multithreading/_index.md b/fr/python-net/developer-guide/technical-articles/multithreading/_index.md index 78a0d5f50c..cb9d01b098 100644 --- a/fr/python-net/developer-guide/technical-articles/multithreading/_index.md +++ b/fr/python-net/developer-guide/technical-articles/multithreading/_index.md @@ -1,31 +1,34 @@ --- -title: Multithreading dans Aspose.Slides +title: Multithreading dans Aspose.Slides pour Python +linktitle: Multithreading type: docs weight: 200 url: /fr/python-net/multithreading/ keywords: -- PowerPoint -- présentation -- multithreading +- multithread +- plusieurs threads - travail parallèle -- convertir les diapositives +- convertir des diapositives - diapositives en images +- PowerPoint +- OpenDocument +- présentation - Python -- Aspose.Slides pour Python +- Aspose.Slides +description: "Aspose.Slides pour Python via le multithreading .NET améliore le traitement PowerPoint et OpenDocument. Découvrez les meilleures pratiques pour des flux de travail de présentation efficaces." --- ## **Introduction** -Bien que le travail parallèle avec des présentations soit possible (en dehors de l'analyse/le chargement/le clonage) et que tout se passe bien (la plupart du temps), il y a une petite chance que vous obteniez des résultats incorrects lorsque vous utilisez la bibliothèque dans plusieurs threads. +Bien que le travail parallèle avec les présentations soit possible (en plus de l’analyse/le chargement/le clonage) et que tout se passe bien (la plupart du temps), il existe une petite probabilité d’obtenir des résultats incorrects lorsque vous utilisez la bibliothèque dans plusieurs threads. -Nous vous recommandons fortement de **ne pas** utiliser une seule instance de [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) dans un environnement multi-thread car cela peut entraîner des erreurs ou des échecs imprévisibles qui ne sont pas facilement détectés. +Nous vous recommandons vivement de **ne pas** utiliser une seule instance de [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) dans un environnement multithread, car cela pourrait entraîner des erreurs ou des pannes imprévisibles difficilement détectables. -Il est **non** sûr de charger, sauvegarder et/ou cloner une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) dans plusieurs threads. De telles opérations **ne sont pas** supportées. Si vous devez effectuer de telles tâches, vous devez paralléliser les opérations en utilisant plusieurs processus à thread unique—et chacun de ces processus doit utiliser sa propre instance de présentation. +Il n’est **pas** sûr de charger, enregistrer et/ou cloner une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) dans plusieurs threads. De telles opérations ne sont **pas** prises en charge. Si vous devez réaliser ces tâches, vous devez paralléliser les opérations en utilisant plusieurs processus monothreads — et chaque processus doit utiliser sa propre instance de présentation. ## **Convertir les diapositives de présentation en images en parallèle** -Supposons que nous voulons convertir toutes les diapositives d'une présentation PowerPoint en images PNG en parallèle. Étant donné qu'il n'est pas sûr d'utiliser une seule instance de `Presentation` dans plusieurs threads, nous divisons les diapositives de la présentation en présentations séparées et convertissons les diapositives en images en parallèle, en utilisant chaque présentation dans un thread séparé. L'exemple de code suivant montre comment procéder. - +Supposons que nous voulions convertir toutes les diapositives d’une présentation PowerPoint en images PNG en parallèle. Comme il n’est pas sûr d’utiliser une seule instance `Presentation` dans plusieurs threads, nous divisons les diapositives de la présentation en présentations séparées et convertissons les diapositives en images en parallèle, chaque présentation étant utilisée dans un thread distinct. L’exemple de code suivant montre comment procéder. ```py input_file_path = "sample.pptx" output_file_path_template = "slide_{0}.png" @@ -40,7 +43,7 @@ conversion_tasks = [] def convert_slide(slide_index): - # Extraire la diapositive i dans une présentation séparée. + # Extraire la diapositive i dans une présentation distincte. with Presentation() as slide_presentation: slide_presentation.slide_size.set_size(slide_size.width, slide_size.height, SlideSizeScaleType.DO_NOT_SCALE) slide_presentation.slides.remove_at(0) @@ -49,7 +52,7 @@ def convert_slide(slide_index): slide_number = slide_index + 1 slide = slide_presentation.slides[0] - # Convertir la diapositive en une image. + # Convertir la diapositive en image. with slide.get_image(image_scale, image_scale) as image: image_file_path = output_file_path_template.format(slide_number) image.save(image_file_path, ImageFormat.PNG) @@ -64,4 +67,23 @@ for task in conversion_tasks: task.result() del presentation -``` \ No newline at end of file +``` + + +## **FAQ** + +**Do I need to call license setup in every thread?** + +Non. Il suffit de le faire une fois par processus/domaine d’application avant le démarrage des threads. Si la [configuration de licence](/slides/fr/python-net/licensing/) peut être invoquée simultanément (par exemple, lors d’une initialisation paresseuse), synchronisez cet appel car la méthode de configuration de licence elle‑même n’est pas thread‑safe. + +**Can I pass `Presentation` or `Slide` objects between threads?** + +Il n’est pas recommandé de transmettre des objets de présentation « vivants » entre les threads : utilisez des instances indépendantes par thread ou créez à l’avance des présentations/conteneurs de diapositives séparés pour chaque thread. Cette approche suit la recommandation générale de ne pas partager une même instance de présentation entre les threads. + +**Is it safe to parallelize export to different formats (PDF, HTML, images) provided each thread has its own `Presentation` instance?** + +Oui. Avec des instances indépendantes et des chemins de sortie séparés, ces tâches se parallélisent généralement correctement ; évitez tout partage d’objets de présentation et de flux d’E/S. + +**What should I do with global font settings (folders, substitutions) in multithreading?** + +Initialisez tous les paramètres de police globaux avant de démarrer les threads et ne les modifiez pas pendant le travail parallèle. Cela élimine les courses d’accès aux ressources de police partagées. \ No newline at end of file diff --git a/fr/python-net/getting-started/features-overview/_index.md b/fr/python-net/getting-started/features-overview/_index.md index bc74048d70..5d6b64551b 100644 --- a/fr/python-net/getting-started/features-overview/_index.md +++ b/fr/python-net/getting-started/features-overview/_index.md @@ -5,7 +5,7 @@ weight: 20 url: /fr/python-net/features-overview/ keywords: - fonctionnalités -- plateformes prises en charge +- plates-formes prises en charge - format de fichier - conversion - rendu @@ -16,78 +16,104 @@ keywords: - présentation - Python - Aspose.Slides -description: "Découvrez Aspose.Slides for Python via .NET : une API puissante pour créer, modifier, automatiser et convertir des présentations PowerPoint et OpenDocument efficacement." +description: "Découvrez Aspose.Slides pour Python via .NET : une API puissante pour créer, modifier, automatiser et convertir efficacement les présentations PowerPoint et OpenDocument." --- ## **Plateformes prises en charge** -Les plateformes Aspose.Slides pour Python via .NET peuvent être utilisées sur Windows x64 ou x86 et sur un large éventail de distributions Linux avec Python 3.5 ou une version ultérieure installée. Il y a des exigences supplémentaires pour la plateforme Linux ciblée : -- Bibliothèques d'exécution GCC-6 (ou ultérieures) -- Dépendances de .NET Core Runtime. L'installation de .NET Core Runtime lui-même n'est PAS requise -- Pour Python 3.5-3.7 : La version `pymalloc` de Python est nécessaire. L'option de construction Python `--with-pymalloc` est activée par défaut. En général, la version `pymalloc` de Python est marquée avec le suffixe `m` dans le nom de fichier. -- Bibliothèque partagée Python `libpython`. L'option de construction Python `--enable-shared` est désactivée par défaut, certaines distributions Python ne contiennent pas la bibliothèque partagée `libpython`. Pour certaines plateformes Linux, la bibliothèque partagée `libpython` peut être installée à l'aide du gestionnaire de paquets, par exemple : `sudo apt-get install libpython3.7`. Le problème commun est que la bibliothèque `libpython` est installée dans un emplacement différent de l'emplacement standard du système pour les bibliothèques partagées. Ce problème peut être résolu en utilisant les options de construction Python pour définir des chemins de bibliothèque alternatifs lors de la compilation de Python, ou en créant un lien symbolique vers le fichier de bibliothèque `libpython` dans l'emplacement standard du système pour les bibliothèques partagées. En général, le nom de fichier de la bibliothèque partagée `libpython` est `libpythonX.Ym.so.1.0` pour Python 3.5-3.7, ou `libpythonX.Y.so.1.0` pour Python 3.8 ou ultérieur (par exemple : `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). - -Si vous avez besoin de support pour plus de plateformes, recherchez les produits "frères jumeaux", Aspose.Slides pour .NET ou Aspose.Slides pour Java. +Les plateformes Aspose.Slides pour Python via .NET peuvent être utilisées sous Windows x64 ou x86 et sur un large éventail de distributions Linux avec Python 3.5 ou version ultérieure installé. Des exigences supplémentaires s’appliquent à la plateforme Linux cible : +- Bibliothèques d’exécution GCC-6 (ou ultérieures) +- Dépendances du .NET Core Runtime. L’installation du .NET Core Runtime lui‑même n’est PAS requise +- Pour Python 3.5‑3.7 : la version `pymalloc` de Python est nécessaire. L’option de construction `--with-pymalloc` de Python est activée par défaut. Généralement, la version `pymalloc` de Python est marquée du suffixe `m` dans le nom du fichier. +- `libpython` bibliothèque Python partagée. L’option de construction `--enable-shared` de Python est désactivée par défaut, certaines distributions Python ne contiennent pas la bibliothèque partagée `libpython`. Pour certaines plateformes Linux, la bibliothèque partagée `libpython` peut être installée via le gestionnaire de paquets, par exemple : `sudo apt-get install libpython3.7`. Le problème fréquent est que la bibliothèque `libpython` est installée dans un emplacement différent de l’emplacement standard du système pour les bibliothèques partagées. Le problème peut être résolu en utilisant les options de construction de Python pour définir des chemins de bibliothèque alternatifs lors de la compilation de Python, ou en créant un lien symbolique vers le fichier de bibliothèque `libpython` dans l’emplacement standard du système pour les bibliothèques partagées. En général, le nom du fichier de la bibliothèque partagée `libpython` est `libpythonX.Ym.so.1.0` pour Python 3.5‑3.7, ou `libpythonX.Y.so.1.0` pour Python 3.8 ou version ultérieure (par exemple : `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). +Si vous avez besoin de prise en charge pour d’autres plateformes, recherchez les produits « frères jumeaux » Aspose.Slides pour .NET ou Aspose.Slides pour Java. ## **Formats de fichiers et conversions** -Aspose.Slides pour Python via .NET prend en charge la plupart des formats de documents PowerPoint. Il vous permet également de les exporter vers les formats populaires couramment utilisés et échangés par les organisations. Consultez ces détails : +Aspose.Slides pour Python via .NET prend en charge la plupart des formats de documents PowerPoint. Il vous permet également de les exporter vers les formats populaires largement utilisés et échangés par les organisations. Consultez ces détails : |**Fonctionnalité**|**Description**| | :- | :- | -|[Microsoft PowerPoint (PPT)](/slides/fr/python-net/ppt-vs-pptx/)|Aspose.Slides pour Python via .NET fournit le traitement le plus rapide pour ce format de document de présentation.| -|[Conversion PPT en PPTX](/slides/fr/python-net/convert-ppt-to-pptx/)|Aspose.Slides pour Python via .NET prend en charge la conversion de PPT en PPTX.| -|[Format de document portable (PDF)](/slides/fr/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Vous pouvez exporter tous les formats de fichiers pris en charge vers des documents au format PDF (Portable Document Format) d'Adobe avec une méthode unique.| -|[Spécification du parseur XML (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|Vous pouvez exporter tous les formats de fichiers pris en charge vers des documents au format XML Parser Specification (XPS) avec une méthode unique.| -|[Format de fichier image tagué (TIFF)](/slides/fr/python-net/convert-powerpoint-to-tiff/)|Vous pouvez exporter tous les formats de fichiers de présentation pris en charge vers le format de fichier image tagué (TIFF).| -|[Conversion PPTX en HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides pour Python via .NET prend en charge la conversion de PresentationEx au format HTML.| +|[Microsoft PowerPoint (PPT)](/slides/fr/python-net/ppt-vs-pptx/)|Aspose.Slides pour Python via .NET offre le traitement le plus rapide pour ce format de document de présentation.| +|[Conversion PPT vers PPTX](/slides/fr/python-net/convert-ppt-to-pptx/)|Aspose.Slides pour Python via .NET prend en charge la conversion de PPT vers PPTX.| +|[Portable Document Format (PDF)](/slides/fr/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Vous pouvez exporter tous les formats de fichiers pris en charge vers des documents Adobe Portable Document Format (PDF) avec une seule méthode.| +|[XML Paper Specification (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|Vous pouvez exporter tous les formats de fichiers pris en charge vers des documents XML Paper Specification (XPS) avec une seule méthode.| +|[Tagged Image File Format (TIFF)](/slides/fr/python-net/convert-powerpoint-to-tiff/)|Vous pouvez exporter tous les formats de fichiers de présentation pris en charge vers le format Tagged Image File Format (TIFF).| +|[Conversion PPTX vers HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides pour Python via .NET prend en charge la conversion de PresentationEx vers le format HTML.| ## **Rendu et impression** -Aspose.Slides pour Python via .NET prend en charge le rendu de haute fidélité des diapositives dans les documents de présentation vers divers formats graphiques. Consultez ces détails : +Aspose.Slides pour Python via .NET prend en charge le rendu haute fidélité des diapositives dans les documents de présentation vers divers formats graphiques. Consultez ces détails : |**Fonctionnalité**|**Description**| | :- | :- | -|Formats d'image pris en charge par .NET|Avec Aspose.Slides pour Python via .NET, vous obtenez un rendu des diapositives de présentation et des images sur diapositives dans tous les formats graphiques pris en charge par .NET tels que TIFF, PNG, BMP, JPEG, GIF et mét fichiers.| -|Format SVG|Aspose.Slides pour Python via .NET fournit également des méthodes intégrées qui vous permettent d'exporter des diapositives de présentation vers des formats Scalable Vector Graphics (SVG).| -|Impression de présentation|Les dernières versions d'Aspose.Slides pour Python via .NET fournissent des méthodes d'impression intégrées avec différentes options.| -## **Fonctionnalités du contenu** -Aspose.Slides pour Python via .NET vous permet d'accéder, de modifier ou de créer presque tous les éléments ou contenus des documents de présentation. Consultez ces détails : +|Formats d’image pris en charge par .NET|Avec Aspose.Slides pour Python via .NET, vous pouvez rendre les diapositives de présentation et les images sur les diapositives vers tous les formats graphiques pris en charge par .NET tels que TIFF, PNG, BMP, JPEG, GIF et les méta‑fichiers.| +|Format SVG|Aspose.Slides pour Python via .NET fournit également des méthodes intégrées qui permettent d’exporter les diapositives de présentation vers les formats Scalable Vector Graphics (SVG).| +|Impression de présentation|Les dernières versions d’Aspose.Slides pour Python via .NET offrent des méthodes d’impression intégrées avec différentes options.| + +## **Fonctionnalités de contenu** +Aspose.Slides pour Python via .NET vous permet d’accéder, de modifier ou de créer presque tous les éléments ou contenus des documents de présentation. Consultez ces détails : |**Fonctionnalité**|**Description**| | :- | :- | -|Diapositives maîtresses|Les diapositives maîtresses définissent la mise en page des diapositives normales. Aspose.Slides pour Python via .NET vous permet d'accéder et de modifier les diapositives maîtresses des documents de présentation.| +|Diapositives maîtres|Les diapositives maîtres définissent la disposition des diapositives normales. Aspose.Slides pour Python via .NET vous permet d’accéder et de modifier les diapositives maîtres des documents de présentation.| |Diapositives normales|Avec Aspose.Slides pour Python via .NET, vous pouvez créer de nouvelles diapositives de différents types ; vous pouvez également accéder et modifier les diapositives existantes dans les présentations.| -|Clonage / Copie de diapositives|Des méthodes intégrées fournies par Aspose.Slides pour Python via .NET vous permettent de cloner ou de copier des diapositives existantes au sein d'une présentation. Vous pouvez également utiliser des diapositives copiées et clonées d'une présentation à une autre. Étant donné qu'une diapositive hérite de sa mise en page de la diapositive maîtresse, les méthodes de clonage intégrées copient automatiquement la maîtresse lors du clonage.| -|Gestion des sections de diapositives|Méthodes pour organiser les diapositives dans différentes sections à l'intérieur d'une présentation.| -|Espaces réservés et zones de texte|Vous pouvez accéder aux espaces réservés et aux zones de texte dans une diapositive. De plus, vous pouvez créer une diapositive avec des zones de texte à partir de zéro en utilisant la méthode appropriée.| -|En-têtes et pieds de page|Aspose.Slides pour Python via .NET facilite la gestion des en-têtes/des pieds de page dans les diapositives.| -|Notes dans les diapositives|Avec Aspose.Slides pour Python via .NET, vous pouvez accéder et modifier les notes associées à une diapositive et également ajouter de nouvelles notes.| -|Recherche d'une forme|Vous pouvez également trouver une forme particulière à partir d'une diapositive en utilisant le texte alternatif associé à la forme.| -|Arrière-plans|Aspose.Slides pour Python via .NET vous permet de travailler avec les arrière-plans associés à une diapositive maîtresse ou normale dans une présentation.| -|Zones de texte|Les zones de texte peuvent être créées à partir de zéro. Vous pouvez accéder aux zones de texte existantes. Vous pouvez également modifier leur texte sans perdre le format texte d'origine.| +|Clonage / Copie de diapositives|Des méthodes intégrées fournies par Aspose.Slides pour Python via .NET permettent de cloner ou copier des diapositives existantes au sein d’une présentation. Vous pouvez également utiliser des diapositives copiées ou clonées d’une présentation à une autre. Comme une diapositive hérite de sa disposition de la diapositive maîtresse, les méthodes de clonage intègrent automatiquement la maître lors du clonage.| +|Gestion des sections de diapositives|Méthodes pour organiser les diapositives en différentes sections au sein d’une présentation.| +|Espaces réservés et zones de texte|Vous pouvez accéder aux espaces réservés et aux zones de texte d’une diapositive. De plus, vous pouvez créer une diapositive avec des zones de texte à partir de zéro en utilisant la méthode appropriée.| +|En‑têtes et pieds de page|Aspose.Slides pour Python via .NET facilite la gestion des en‑têtes/pieds de page dans les diapositives.| +|Notes dans les diapositives|Avec Aspose.Slides pour Python via .NET, vous pouvez accéder et modifier les notes associées à une diapositive ainsi qu’ajouter de nouvelles notes.| +|Recherche d’une forme|Vous pouvez également retrouver une forme particulière d’une diapositive en utilisant le texte alternatif associé à la forme.| +|Arrières‑plans|Aspose.Slides pour Python via .NET vous permet de travailler avec les arrières‑plans associés à une diapositive maîtresse ou normale dans une présentation.| +|Zone de texte|Des zones de texte peuvent être créées à partir de zéro. Vous pouvez accéder aux zones de texte existantes. Vous pouvez également modifier leurs textes sans perdre le format d’origine.| |Formes rectangulaires|Vous pouvez créer ou modifier des formes rectangulaires avec Aspose.Slides pour Python via .NET.| -|Formes en polyligne|Vous pouvez créer ou modifier des formes en polyligne avec Aspose.Slides pour Python via .NET.| -|Formes elliptiques|Vous pouvez créer ou modifier des formes elliptiques avec Aspose.Slides pour Python via .NET.| +|Formes de polyligne|Vous pouvez créer ou modifier des formes de polyligne avec Aspose.Slides pour Python via .NET.| +|Formes d’ellipse|Vous pouvez créer ou modifier des formes d’ellipse avec Aspose.Slides pour Python via .NET.| |Formes groupées|Aspose.Slides pour Python via .NET prend en charge les formes groupées.| |Formes automatiques|Aspose.Slides pour Python via .NET prend en charge les formes automatiques.| -|SmartArt|Aspose.Slides pour Python via .NET fournit un support pour les formes SmartArt dans MS PowerPoint.| -|Graphiques|Aspose.Slides pour Python via .NET fournit un support pour les graphiques MSO dans PowerPoint.| -|Sérialisation des formes|Aspose.Slides pour Python via .NET prend en charge un grand nombre de formes. Lorsque Aspose.Slides pour Python via .NET n'a pas de support pour une forme, vous pouvez utiliser une méthode de sérialisation par laquelle vous pouvez sérialiser cette forme à partir d'une diapositive existante. De cette manière, vous pouvez utiliser la forme plus tard selon vos besoins.| -|Cadres d'images|Vous pouvez gérer des images dans des cadres d'images avec Aspose.Slides pour Python via .NET.| +|SmartArt|Aspose.Slides pour Python via .NET fournit la prise en charge des formes SmartArt dans MS PowerPoint.| +|Graphiques|Aspose.Slides pour Python via .NET fournit la prise en charge des graphiques MSO dans PowerPoint.| +|Sérialisation des formes|Aspose.Slides pour Python via .NET prend en charge un grand nombre de formes. Lorsqu’Aspose.Slides pour Python via .NET ne supporte pas une forme, vous pouvez utiliser une méthode de sérialisation qui vous permet de sérialiser cette forme à partir d’une diapositive existante. Ainsi, vous pouvez réutiliser la forme selon vos besoins.| +|Cadres d’image|Vous pouvez gérer les images dans les cadres d’image avec Aspose.Slides pour Python via .NET.| |Cadres audio|Vous pouvez lier ou intégrer des fichiers audio dans des cadres audio sur les diapositives avec Aspose.Slides pour Python via .NET.| -|Cadres vidéo|Vous pouvez gérer des fichiers vidéo dans des cadres vidéo. Aspose.Slides pour Python via .NET fournit également un support pour les vidéos liées et intégrées.| -|Cadre OLE|Vous pouvez gérer des objets OLE dans des cadres OLE avec Aspose.Slides pour Python via .NET.| +|Cadres vidéo|Vous pouvez gérer les fichiers vidéo dans les cadres vidéo. Aspose.Slides pour Python via .NET fournit également la prise en charge des vidéos liées et intégrées.| +|Cadre OLE|Vous pouvez gérer les objets OLE dans les cadres OLE avec Aspose.Slides pour Python via .NET.| |Tableaux|Aspose.Slides pour Python via .NET prend en charge les tableaux dans les diapositives.| -|Contrôles ActiveX|Support pour les contrôles ActiveX.| -|Macros VBA|Support pour la gestion des macros VBA à l'intérieur des présentations.| -|Cadre de texte|Vous pouvez accéder au texte associé à n'importe quelle forme par le biais du cadre de texte associé à cette forme.| -|Analyse de texte|Vous pouvez analyser le texte d'une présentation au niveau de la présentation ou de la diapositive grâce à des méthodes d'analyse intégrées.| -|Animations|Vous pouvez appliquer des animations sur des formes.| +|Contrôles ActiveX|Prise en charge des contrôles ActiveX.| +|Macros VBA|Prise en charge de la gestion des macros VBA dans les présentations.| +|Cadre de texte|Vous pouvez accéder au texte de toute forme via le cadre de texte associé à cette forme.| +|Analyse de texte|Vous pouvez analyser le texte dans une présentation au niveau de la présentation ou de la diapositive grâce à des méthodes d’analyse intégrées.| +|Animations|Vous pouvez appliquer des animations sur les formes.| |Diaporamas|Aspose.Slides pour Python via .NET prend en charge les diaporamas et les transitions de diapositives.| ## **Fonctionnalités de mise en forme** -Avec Aspose.Slides pour Python via .NET, vous pouvez formater des textes et des formes sur des diapositives dans des présentations. Consultez ces détails : +Avec Aspose.Slides pour Python via .NET, vous pouvez formater les textes et les formes sur les diapositives des présentations. Consultez ces détails : |**Fonctionnalité**|**Description**| | :- | :- | -|Mise en forme du texte|

    Dans Aspose.Slides pour Python via .NET, vous pouvez gérer des textes à travers les cadres de texte associés aux formes. Ainsi, vous pouvez formater les textes en utilisant les paragraphes et les portions associés aux cadres de texte. Ces éléments de texte peuvent être formatés grâce à Aspose.Slides pour Python via .NET.

    - Type de police

    - Taille de police

    - Couleur de police

    - Ombres de police

    - Alignement des paragraphes

    - Puces des paragraphes

    - Orientation des paragraphes

    | -|Mise en forme des formes|

    Dans Aspose.Slides pour Python via .NET, l'élément de base d'une diapositive est une forme. Vous pouvez formater ces éléments de forme avec Aspose.Slides pour Python via .NET :

    - Position

    - Taille

    - Ligne

    - Remplissage (y compris le motif, le dégradé, le solide)

    - Texte

    - Image

    | \ No newline at end of file +|Mise en forme du texte|

    Dans Aspose.Slides pour Python via .NET, vous pouvez gérer le texte via les cadres de texte associés aux formes. Ainsi, vous pouvez mettre en forme le texte en utilisant les paragraphes et les portions associés aux cadres de texte. Ces éléments de texte peuvent être mis en forme avec Aspose.Slides pour Python via .NET.

    - Type de police

    - Taille de police

    - Couleur de police

    - Nuances de police

    - Alignement du paragraphe

    - Puces du paragraphe

    - Orientation du paragraphe

    | +|Mise en forme des formes|

    Dans Aspose.Slides pour Python via .NET, l’élément de base d’une diapositive est une forme. Vous pouvez mettre en forme ces éléments de forme avec Aspose.Slides pour Python via .NET :

    - Position

    - Taille

    - Ligne

    - Remplissage (y compris Motif, Dégradé, Uni)

    - Texte

    - Image

    | + +## **FAQ** + +**Dois‑je installer Microsoft PowerPoint sur le serveur/PC pour que la bibliothèque fonctionne ?** + +Non. PowerPoint n’est pas requis ; Aspose.Slides est un moteur autonome pour créer, modifier, convertir et rendre des présentations. + +**Comment le multithreading fonctionne‑t‑il ? Le traitement peut‑il être parallélisé ?** + +Il est sûr de traiter différents documents dans différents threads ; le même [présentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) ne doit pas être utilisé par [plusieurs threads](/slides/fr/python-net/multithreading/) en même temps. + +**Les mots de passe de fichiers et le chiffrement sont‑ils pris en charge ?** + +Oui. Vous pouvez [ouvrir](/slides/fr/python-net/password-protected-presentation/) des présentations chiffrées, définir ou supprimer un mot de passe d’ouverture et d’écriture, et vérifier le statut de protection. + +**Dois‑je m’occuper des packages de polices dans les conteneurs Linux ?** + +Oui. Il est recommandé d’installer des packages de polices courants et/ou de [spécifier explicitement les répertoires de polices](/slides/fr/python-net/custom-font/) dans votre application afin d’éviter des substitutions inattendues. + +**Existe‑t‑il des limitations dans la version d’évaluation ?** + +En [mode évaluation](/slides/fr/python-net/licensing/), un filigrane est ajouté à la sortie et certaines limitations s’appliquent ; une [licence temporaire de 30 jours](https://purchase.aspose.com/temporary-license/) est disponible pour des tests complets des fonctionnalités. + +**L’importation de formats externes dans une présentation (PDF/HTML → PPTX) est‑elle prise en charge ?** + +Oui. Vous pouvez ajouter des [pages PDF et du contenu HTML](/slides/fr/python-net/import-presentation/) à une présentation, les transformant en diapositives. \ No newline at end of file diff --git a/fr/python-net/getting-started/metered-licensing/_index.md b/fr/python-net/getting-started/metered-licensing/_index.md index 59a99a0e4a..c94d3d7d97 100644 --- a/fr/python-net/getting-started/metered-licensing/_index.md +++ b/fr/python-net/getting-started/metered-licensing/_index.md @@ -1,56 +1,88 @@ --- -title: Licence Mesurée +title: Licence à mesure type: docs weight: 90 url: /fr/python-net/metered-licensing/ +keywords: +- licence +- licence à mesure +- clés de licence +- clé publique +- clé privée +- quantité de consommation +- Python +- Aspose.Slides +description: "Découvrez comment la licence à mesure Aspose.Slides pour Python via .NET vous permet de traiter les fichiers PowerPoint et OpenDocument de manière flexible, en ne payant que ce que vous utilisez." --- +## **Appliquer les clés mesurées** + {{% alert color="primary" %}} -La licence mesurée est un nouveau mécanisme de licence qui peut être utilisé en parallèle avec les méthodes de licence existantes. Si vous souhaitez être facturé en fonction de votre utilisation des fonctionnalités de l'API Aspose.Slides, vous choisissez la licence mesurée. +La licence à mesure est un nouveau mécanisme de licence qui peut être utilisé en parallèle avec les méthodes de licence existantes. Si vous souhaitez être facturé en fonction de votre utilisation des fonctionnalités de l'API Aspose.Slides, choisissez la licence à mesure. -Lorsque vous achetez une licence mesurée, vous recevez des clés (et non un fichier de licence). Cette clé mesurée peut être appliquée à l'aide de la classe [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) fournie par Aspose pour les opérations de mesure. Pour plus de détails, consultez la [FAQ sur la Licence Mesurée](https://purchase.aspose.com/faqs/licensing/metered). +Lorsque vous achetez une licence à mesure, vous obtenez des clés (et non un fichier de licence). Cette clé à mesure peut être appliquée à l’aide de la classe [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) fournie par Aspose pour les opérations de métrologie. Pour plus de détails, consultez la [FAQ sur les licences à mesure](https://purchase.aspose.com/faqs/licensing/metered). {{% /alert %}} 1. Créez une instance de la classe [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). -1. Passez vos clés publiques et privées à la méthode `set_metered_key`. -1. Effectuez un traitement (réalisez des tâches). -1. Appelez la méthode `get_consumption_quantity()` de la classe Metered. - - Vous devriez voir le montant/quantité de requêtes API que vous avez consommées jusqu'à présent. +1. Transmettez vos clés publiques et privées à la méthode [set_metered_key](https://reference.aspose.com/slides/python-net/aspose.slides/metered/set_metered_key/#str-str). +1. Effectuez un traitement (exécutez des tâches). +1. Appelez la méthode [get_consumption_quantity](https://reference.aspose.com/slides/python-net/aspose.slides/metered/get_consumption_quantity/#) de la classe `Metered`. -Ce code Python vous montre comment définir les clés publiques et privées mesurées : +Vous devez voir la quantité de requêtes API que vous avez consommées jusqu’à présent. +Cet exemple de code montre comment utiliser la licence à mesure : ```python import aspose.slides as slides -# Crée une instance de la classe CAD Metered +# Crée une instance de la classe Metered metered = slides.Metered() -# Accède à la propriété set_metered_key et passe les clés publiques et privées en paramètres -metered.set_metered_key("*****", "*****") - -# Obtient le montant de données mesurées avant d'appeler l'API -amountbefore = slides.metered.get_consumption_quantity() -# Affiche l'information -print("Montant Consommé Avant : " + str(amountbefore)) - -# Charge le document depuis le disque. -with slides.Presentation("Presentation.pptx") as pres: - # Obtient le nombre de pages du document - print(len(pres.slides)) - # Sauvegarde en PDF - pres.save("out_pdf.pdf", slides.export.SaveFormat.PDF) - -# Obtient le montant de données mesurées après avoir appelé l'API -amountafter = slides.metered.get_consumption_quantity() -# Affiche l'information -print("Montant Consommé Après : " + str(amountafter)) +# Passe les clés publiques et privées à l'objet Metered +metered.set_metered_key("", "") + +# Obtient la valeur de quantité consommée avant les appels API +amount_before = slides.Metered.get_consumption_quantity() +print("Amount consumed before:", amount_before) + +# Faites quelque chose avec l'API Aspose.Slides ici +# ... + +# Obtient la valeur de quantité consommée après les appels API +amount_after = slides.Metered.get_consumption_quantity() +print("Amount consumed after:", amount_after) ``` + {{% alert color="warning" title="NOTE" %}} -Pour utiliser la licence mesurée, vous avez besoin d'une connexion Internet stable car le mécanisme de licence utilise Internet pour interagir constamment avec nos services et effectuer des calculs. +Pour utiliser la licence à mesure, vous avez besoin d’une connexion Internet stable, car le mécanisme de licence utilise Internet pour interagir constamment avec nos services et effectuer les calculs. + +{{% /alert %}} + +## **FAQ** + +**Puis‑je utiliser une licence à mesure conjointement avec une licence ordinaire (perpétuelle ou temporaire) dans la même application ?** + +Oui. La licence à mesure est un mécanisme de licence supplémentaire qui peut être utilisé parallèlement aux [méthodes de licence](/slides/fr/python-net/licensing/). Vous choisissez le mécanisme à appliquer au démarrage de l’application. + +**Qu’est‑ce qui est exactement comptabilisé comme consommation sous une licence à mesure : les opérations ou les fichiers ?** + +C’est l’utilisation de l’API qui est comptée, c’est‑à‑dire le nombre de requêtes ou d’opérations. Vous pouvez obtenir la consommation actuelle via les [méthodes de suivi de consommation](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). + +**La licence à mesure convient‑elle aux micro‑services et aux environnements serverless où les instances redémarrent fréquemment ?** + +Oui. Comme la facturation s’effectue au niveau de chaque appel d’API, les scénarios avec des démarrages à froid fréquents sont compatibles, à condition qu’un accès réseau stable soit disponible pour les calculs à mesure. + +**Les fonctionnalités de la bibliothèque diffèrent‑elles lorsqu’on utilise une licence à mesure par rapport à une licence perpétuelle ?** + +Non. Il s’agit uniquement du mécanisme de licence et de facturation ; les capacités du produit restent identiques. + +**Comment la licence à mesure se compare‑t‑elle à la version d’essai et à la licence temporaire ?** + +La version d’essai impose des limitations et des filigranes, la [licence temporaire](https://purchase.aspose.com/temporary-license/) supprime les limitations pendant 30 jours, et la licence à mesure supprime les limitations tout en facturant en fonction de l’utilisation réelle. + +**Puis‑je contrôler le budget en réagissant automatiquement lorsqu’un seuil de consommation est dépassé ?** -{{% /alert %}} \ No newline at end of file +Oui. Une pratique courante consiste à lire périodiquement la consommation actuelle via les [méthodes de suivi](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) et à implémenter vos propres limites ou alertes au niveau de l’application ou du système de surveillance. \ No newline at end of file diff --git a/fr/python-net/getting-started/system-requirements/_index.md b/fr/python-net/getting-started/system-requirements/_index.md index a60b6500f0..f1e8b1d729 100644 --- a/fr/python-net/getting-started/system-requirements/_index.md +++ b/fr/python-net/getting-started/system-requirements/_index.md @@ -3,16 +3,33 @@ title: Exigences système type: docs weight: 60 url: /fr/python-net/system-requirements/ +keywords: +- exigences système +- système d'exploitation +- installation +- dépendances +- Windows +- Linux +- macOS +- PowerPoint +- OpenDocument +- présentation +- Python +- Aspose.Slides +description: "Découvrez les exigences système d'Aspose.Slides for Python via .NET. Assurez une prise en charge transparente de PowerPoint et OpenDocument sur Windows, Linux et macOS." --- -Aspose.Slides pour Python via .NET ne nécessite aucun produit tiers tel que Microsoft PowerPoint à installer. Aspose.Slides lui-même est un moteur pour créer, modifier, convertir et rendre des documents dans divers formats, y compris les formats de présentation Microsoft PowerPoint. -## Systèmes d'exploitation pris en charge +## **Introduction** -Aspose.Slides pour Python via .NET prend en charge les systèmes d'exploitation Windows 64 bits et 32 bits, macOS, Linux 64 bits où Python 3.5 ou ultérieur est installé. +Aspose.Slides for Python via .NET ne nécessite aucun produit tiers, tel que Microsoft PowerPoint, installé. Aspose.Slides est un moteur permettant de créer, modifier, convertir et rendre des documents dans divers formats, y compris les formats de présentations Microsoft PowerPoint. + +## **Systèmes d’exploitation pris en charge** + +Aspose.Slides for Python prend en charge Windows (32 bits et 64 bits), macOS et Linux 64 bits sur des systèmes disposant de Python 3.5 ou ultérieur. - + @@ -41,7 +58,7 @@ Aspose.Slides pour Python via .NET prend en charge les systèmes d'exploitation
  • Ubuntu
  • OpenSUSE
  • CentOS
  • -
  • et d'autres
  • +
  • et d’autres
  • @@ -55,10 +72,24 @@ Aspose.Slides pour Python via .NET prend en charge les systèmes d'exploitation
    Système d'exploitationSystème d’exploitation Versions
    -## Exigences système pour les plateformes cibles Linux et macOS +## **Exigences système pour les plateformes cibles Linux et macOS** + +- Bibliothèques d’exécution GCC 6 (ou ultérieure). +- [libgdiplus](https://github.com/mono/libgdiplus), une implémentation open source de l’API GDI+. +- Dépendances du .NET Core Runtime. L’installation du .NET Core Runtime n’est PAS requise. +- Pour Python 3.5–3.7 : la version `pymalloc` de Python est requise. L’option de construction `--with-pymalloc` est activée par défaut. En général, la version `pymalloc` de Python porte le suffixe `m` dans le nom de fichier. +- La bibliothèque partagée `libpython`. L’option de construction Python `--enable-shared` est désactivée par défaut, et certaines distributions Python n’incluent pas la bibliothèque partagée `libpython`. Sur certaines plateformes Linux, vous pouvez installer la bibliothèque partagée `libpython` à l’aide du gestionnaire de paquets (par exemple, `sudo apt-get install libpython3.7`). Un problème fréquent est que la bibliothèque `libpython` est installée dans un emplacement non standard pour les bibliothèques partagées. Vous pouvez résoudre cela en utilisant les options de construction de Python pour définir des chemins de bibliothèque alternatifs lors de la compilation, ou en créant un lien symbolique vers le fichier de bibliothèque `libpython` dans l’emplacement standard des bibliothèques partagées du système. En général, le nom de fichier de la bibliothèque partagée `libpython` est `libpythonX.Ym.so.1.0` pour Python 3.5–3.7 ou `libpythonX.Y.so.1.0` pour Python 3.8 ou ultérieur (par exemple, `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). + +## **FAQ** + +**Dois‑je installer Microsoft PowerPoint pour les conversions et le rendu ?** + +Non, PowerPoint n’est pas requis ; Aspose.Slides est un moteur autonome pour [créer](/slides/fr/python-net/create-presentation/), modifier, [convertir](/slides/fr/python-net/convert-presentation/) et [rendre](/slides/fr/python-net/convert-powerpoint-to-png/) des présentations. + +**Une version spécifique de .NET (Core/5+/6+) est‑elle requise sur la machine ?** + +L’installation du .NET Runtime n’est pas nécessaire, mais ses dépendances doivent être présentes sous Linux/macOS. Cela signifie que le système doit contenir les paquets généralement installés en tant que dépendances de .NET, sans installer le runtime complet. + +**Quelles polices sont nécessaires pour un rendu correct ?** -- Bibliothèques d'exécution GCC-6 (ou ultérieures). -- [`libgdiplus`](https://github.com/mono/libgdiplus) : une implémentation Open Source de l'API GDI+. -- Dépendances de l'exécution .NET Core. L'installation de .NET Core Runtime elle-même n'est PAS requise. -- Pour Python 3.5-3.7 : La version `pymalloc` de Python est nécessaire. L'option de construction Python `--with-pymalloc` est activée par défaut. En général, la version `pymalloc` de Python est marquée par le suffixe `m` dans le nom de fichier. -- Bibliothèque Python partagée `libpython`. L'option de construction Python `--enable-shared` est désactivée par défaut, certaines distributions Python ne contiennent pas la bibliothèque partagée `libpython`. Pour certaines plateformes Linux, la bibliothèque partagée `libpython` peut être installée à l'aide du gestionnaire de paquets, par exemple : `sudo apt-get install libpython3.7`. Le problème courant est que la bibliothèque `libpython` est installée dans un emplacement différent de l'emplacement standard du système pour les bibliothèques partagées. Le problème peut être résolu en utilisant les options de construction Python pour définir des chemins de bibliothèque alternatifs lors de la compilation de Python, ou résolu en créant un lien symbolique vers le fichier de bibliothèque `libpython` dans l'emplacement standard du système pour les bibliothèques partagées. En général, le nom de fichier de la bibliothèque partagée `libpython` est `libpythonX.Ym.so.1.0` pour Python 3.5-3.7, ou `libpythonX.Y.so.1.0` pour Python 3.8 ou ultérieures (par exemple : libpython3.7m.so.1.0, libpython3.9.so.1.0). \ No newline at end of file +En pratique, les polices utilisées dans la présentation ou leurs [substituts](/slides/fr/python-net/font-substitution/) appropriés doivent être disponibles. Pour assurer un rendu cohérent sous Linux/macOS, il est conseillé d’installer les packages de polices courants. \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/_index.md index 540ba3b7dc..fa93e6c77b 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,59 +1,112 @@ --- -title: Python でプレゼンテーションを複数の形式に変換 -linktitle: プレゼンテーションの変換 +title: Python でプレゼンテーションを複数形式に変換 +linktitle: プレゼンテーションを変換 type: docs weight: 70 url: /ja/python-net/convert-presentation/ keywords: -- プレゼンテーション 変換 -- プレゼンテーション エクスポート -- PPT to PPTX -- PPT to PDF -- PPTX to PDF -- PPT to XPS -- PPTX to XPS -- PPT to TIFF -- PPTX to TIFF +- プレゼンテーションを変換 +- プレゼンテーションをエクスポート +- PPT から PPTX へ +- PPT から PDF へ +- PPTX から PDF へ +- PPT から XPS へ +- PPTX から XPS へ +- PPT から TIFF へ +- PPTX から TIFF へ - PowerPoint - OpenDocument - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションを PPTX、PDF、XPS、TIFF などに変換します。シンプルで高品質な変換。" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションを PPTX、PDF、XPS、TIFF などに変換します。シンプルで高品質な変換です。" --- -## **PPTからPPTXへの変換** -### **PPTからPPTXへの変換について** -Aspose.Slidesは、PPTからPPTXへの変換をサポートしています。 -### **Aspose.Slidesを使用したPPTからPPTXへの変換** -Aspose.Slides for Python via .NETは、PPTドキュメントファイル形式のプレゼンテーションをPPTXファイル形式のプレゼンテーションに変換する部分的なサポートを提供します。前述のプレゼンテーション変換機能のサポートは、Aspose.Slides for Python via .NETで新たに導入されたため、現在のところ限られた機能しか持っておらず、シンプルな形式のプレゼンテーションにのみ対応しています。Aspose.Slides for Python via .NET APIライブラリがPPTプレゼンテーションをPPTX形式プレゼンテーションに変換する際の主な利点は、目的を達成するためのAPIの使いやすさです。詳細については、こちらの[リンク](/slides/ja/python-net/convert-presentation/)を参照してください。次のセクションでは、PPT形式のプレゼンテーションをPPTX形式のプレゼンテーションに変換する際にサポートされている機能とサポートされていない機能を明確に示します。 -{{% alert color="primary" %}} -さらに詳しくは、[**PPTからPPTXに変換する方法**](/slides/ja/python-net/convert-ppt-to-pptx/)をお読みください。 +## **はじめに** + +このページでは、Aspose.Slides for Python via .NET を使用したプレゼンテーション変換の概要を提供します。サポートされているシナリオをまとめ、PDF、XPS、TIFF などの形式へのプレゼンテーションやスライドのエクスポート、PPT から PPTX への変換の正確なコードを示すガイドへリンクしています。関連する記事では、ノートのレンダリングや画像品質の調整といった形式固有のオプションや、PPT→PPTX パスでの部分的なサポートなど既知の制限事項がハイライトされています。このページを使って対象形式を選択し、リンクされたレシピに従ってください。 + +## **PPT から PPTX への変換** + +### **PPT/PPTX について** + +PPT は古いバイナリ形式の PowerPoint(97–2003)で、PPTX は PowerPoint 2007 で導入された ZIP パッケージ化された Open XML 形式です。PPT に比べて PPTX は通常、ファイルサイズが小さく、最新機能をサポートし、ドキュメント自動化に適しており、長期保存やクロスプラットフォーム ワークフローに推奨されます。 + +### **PPT を PPTX に変換する** + +Aspose.Slides は PPT プレゼンテーションを PPTX 形式に変換することをサポートしています。このタスクに Aspose.Slides API を使用する主な利点は、目的の結果を得るためのワークフローが非常にシンプルなことです。実際には、スライド、レイアウト、メディアの高忠実度を保ちながら、最小限のコードで変換を実行できます。 + +{{% alert color="primary" %}} +詳しく読む: [Python で PPT を PPTX に変換](/slides/ja/python-net/convert-ppt-to-pptx/). {{% /alert %}} -## **プレゼンテーションからPDFへの変換** -### **PDFについて** -[ポータブルドキュメントフォーマット](https://en.wikipedia.org/wiki/PDF)は、異なる組織間で文書を交換するためにAdobeシステムによって作成されたファイル形式です。この形式の目的は、文書の内容が表示されるプラットフォームに依存しない方法で視覚的な外観を表現できるようにすることでした。 -### **Aspose.Slides for Python via .NETにおけるPDF** -[PDF](https://docs.fileformat.com/pdf/)は、異なる組織間での文書交換のためにAdobeシステムによって作成されたファイル形式です。この形式の目的は、文書の内容の視覚的な外観が表示されるプラットフォームに依存しないようにすることでした。 -Aspose.Slides for Python via .NETにロード可能な任意のプレゼンテーションドキュメントは、PDFドキュメントに変換できます。プレゼンテーションドキュメントは、Aspose.Slides for Python via .NETコンポーネントを使用して直接PDFにエクスポートできます。この目的のために、他のサードパーティライブラリやAspose.PDFコンポーネントは必要ありません。 +## **プレゼンテーションを PDF に変換する** + +### **PDF について** + +[Portable Document Format](https://en.wikipedia.org/wiki/PDF) (PDF) は、Adobe Systems が組織間で文書を交換するために作成したファイル形式です。その目的は、閲覧プラットフォームに関係なく文書の内容が同じ視覚的外観で表示されることを保証することです。 + +### **プレゼンテーションを PDF に変換する** -{{% alert color="primary" %}} -さらに詳しくは、[**プレゼンテーションをPDFに変換する方法**](/slides/ja/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)をお読みください。 +Aspose.Slides で読み込めるプレゼンテーションはすべて PDF 文書に変換できます。Aspose.Slides コンポーネントだけでプレゼンテーションを直接 PDF にエクスポートでき、サードパーティのライブラリや Aspose.PDF コンポーネントは必要ありません。 + +{{% alert color="primary" %}} +詳しく読む: [Python で PPT と PPTX を PDF に変換](/slides/ja/python-net/convert-powerpoint-to-pdf/). {{% /alert %}} -## **プレゼンテーションからXPSへの変換** -### **XPSについて** -[XMLパーサ仕様](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification)は、Microsoftによって最初に開発されたページ記述言語および固定ドキュメント形式です。PDFと同様に、XPSは文書の忠実性を保持し、デバイスに依存しない文書の外観を提供するために設計された固定レイアウトの文書形式です。 -### **Aspose.Slidesを使用したプレゼンテーションからXPSへの変換** -Aspose.Slides for Python via .NETにロード可能な任意のプレゼンテーションドキュメントは、XPS形式に変換できます。Aspose.Slides for Python via .NETは、高忠実度のページレイアウトとレンダリングエンジンを使用して、固定レイアウトのXPSドキュメント形式で出力を生成します。特に、Aspose.Slides for Python via .NETは.NET Framework 3.5にパッケージされたWindows Presentation Foundation (WPF)クラスに依存せずにXPSを直接生成できるため、Aspose.Slides for Python via .NETがバージョン3.5より前の.NET FrameworkバージョンでXPSドキュメントを生成できる点が重要です。Aspose.Slides for Python via .NETを使用してプレゼンテーションドキュメントをXPSドキュメントにエクスポートする方法については、[このトピック](/slides/ja/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)を参照してください。 -{{% alert color="primary" %}} -さらに詳しくは、[**プレゼンテーションをXPSに変換する方法**](/slides/ja/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)をお読みください。 +## **プレゼンテーションを XPS に変換する** + +### **XPS について** + +[XML Paper Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) (XPS) は、Microsoft が元々開発したページ記述言語および固定文書形式です。PDF と同様に、XPS は固定レイアウトの文書形式で、文書の忠実度を保持し、デバイスに依存しない外観を提供します。 + +### **プレゼンテーションを XPS に変換する** + +Aspose.Slides で読み込めるプレゼンテーションはすべて XPS 形式に変換できます。Aspose.Slides は高忠実度のページレイアウトとレンダリングエンジンを使用して、固定レイアウトの XPS 形式で出力します。特筆すべきは、Windows Presentation Foundation (WPF) に依存せずに直接 XPS を生成する点です。 + +{{% alert color="primary" %}} +詳しく読む: [Python で PowerPoint プレゼンテーションを XPS に変換](/slides/ja/python-net/convert-powerpoint-to-xps/). +{{% /alert %}} + +## **プレゼンテーションを TIFF に変換する** + +### **TIFF について** + +[Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) (TIFF) は、単一ファイル内に複数の画像(ページ)を保存できるラスター画像形式です。もともとは Aldus によって開発され、スキャン、FAX、その他の画像処理アプリケーションで広くサポートされています。 + +### **プレゼンテーションを TIFF に変換する** + +Aspose.Slides で読み込めるドキュメントは、サードパーティ コンポーネントを使用せずに直接 TIFF ファイルに変換できます。さらに、生成される TIFF のページサイズをオプションで指定することも可能です。 + +{{% alert color="primary" %}} +詳しく読む: [Python で PowerPoint プレゼンテーションを TIFF に変換](/slides/ja/python-net/convert-powerpoint-to-tiff/). {{% /alert %}} -## **プレゼンテーションからTIFFへの変換** -### **TIFFについて** -[タグ付き画像ファイル形式](https://en.wikipedia.org/wiki/TIFF)は、1つのドキュメントに複数の画像を保存するために知られており、もともとAldusによって作成されました。この形式は、スキャン、ファックス、および他の画像処理アプリケーションで広くサポートされています。 -### **Aspose.Slidesを使用したプレゼンテーションからTIFFへの変換** -Aspose.Slide for .NETにロード可能な任意のドキュメントは、Aspose.Slides for Python via .NETを使用して直接TIFFドキュメントに変換できます。これにより、他のサードパーティコンポーネントは必要ありません。さらに、結果のTIFFドキュメント内の画像のサイズをオプションで定義できます。Aspose.Slides for Python via .NETを使用してプレゼンテーションドキュメントをTIFFドキュメントにエクスポートする方法については、[このトピック](/slides/ja/python-net/convert-powerpoint-ppt-and-pptx-to-tiff/)を参照してください。 -{{% alert color="primary" %}} -さらに詳しくは、[**プレゼンテーションをTIFFに変換する方法**](/slides/ja/python-net/convert-powerpoint-to-tiff/)をお読みください。 -{{% /alert %}} \ No newline at end of file + +## **FAQ** + +**PDF/XPS にエクスポートする際に非表示スライドを含めることはできますか?** + +はい。エクスポート時に[PDF](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/show_hidden_slides/) / [XPS](https://reference.aspose.com/slides/python-net/aspose.slides.export/xpsoptions/show_hidden_slides/) 設定の対応オプションで非表示スライドを含めることができます。 + +**アーカイブ保存用の PDF/A 形式での保存はサポートされていますか?** + +はい、エクスポート時に[PDF/A 準拠レベル](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfcompliance/)(A-2a/A-2b/A-2u および A-3a/A-3b を含む)を選択できます。 + +**変換時のフォントは埋め込まれますか、置き換えられますか?** + +柔軟なオプションがあります。すべての字形を埋め込むか使用されたサブセットのみを埋め込むかを[設定](/slides/ja/python-net/embedded-font/)でき、[代替フォント](/slides/ja/python-net/fallback-font/)を指定し、フォントに特定のスタイルがない場合の[動作](/slides/ja/python-net/font-substitution/)を制御できます。 + +**生成される PDF の品質とサイズはどのように制御できますか?** + +[JPEG 品質](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/jpeg_quality/)、[テキスト圧縮](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/text_compression/)、画像の[十分な解像度](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/sufficient_resolution/)閾値、さらに[画像の最適圧縮率](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/best_images_compression_ratio/)を選択するモードが利用可能です。 + +**スライドの範囲(例: 5–12)だけをエクスポートできますか?** + +はい、エクスポート時にスライドのサブセットを選択できます。 + +**複数ファイルを同時にマルチコアで処理することはサポートされていますか?** + +別々のプロセスで異なるプレゼンテーションを並列に処理することは可能です。重要なのは、同じ[プレゼンテーション]([https://reference.aspose.com/slides/python-net/aspose.slides/presentation/])オブジェクトを[複数スレッド](/slides/ja/python-net/multithreading/)からロードまたは保存しないことです。 + +**異なるスレッドからライセンスを適用する際のリスクはありますか?** + +はい、[ライセンス設定](/slides/ja/python-net/licensing/)の呼び出しはスレッドセーフではなく、同期が必要です。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 5f7a76ba48..b683a05c26 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,18 +1,18 @@ --- -title: PythonでプレゼンテーションをアニメーションGIFに変換 -linktitle: プレゼンテーションをGIFに変換 +title: PythonでプレゼンテーションをアニメーションGIFに変換する +linktitle: プレゼンテーションからGIFへ type: docs weight: 65 url: /ja/python-net/convert-powerpoint-to-animated-gif/ keywords: - アニメーションGIF -- PowerPointを変換 -- OpenDocumentを変換 -- プレゼンテーションを変換 -- スライドを変換 -- PPTを変換 -- PPTXを変換 -- ODPを変換 +- PowerPoint変換 +- OpenDocument変換 +- プレゼンテーション変換 +- スライド変換 +- PPT変換 +- PPTX変換 +- ODP変換 - PowerPointからGIFへ - OpenDocumentからGIFへ - プレゼンテーションからGIFへ @@ -24,13 +24,12 @@ keywords: - カスタム設定 - Python - Aspose.Slides -description: "PowerPoint プレゼンテーション (PPT, PPTX) と OpenDocument ファイル (ODP) を Aspose.Slides for Python via .NET で簡単にアニメーション GIF に変換します。高速かつ高品質な結果を実現します。" +description: "Aspose.Slides for Python を使用して、PowerPoint プレゼンテーション(PPT、PPTX)や OpenDocument ファイル(ODP)を簡単にアニメーションGIFに変換します。高速で高品質な結果を実現します。" --- -## デフォルト設定を使用したプレゼンテーションのアニメーションGIFへの変換 ## - -このPythonのサンプルコードは、標準設定を使用してプレゼンテーションをアニメーションGIFに変換する方法を示しています: +## **デフォルト設定でプレゼンテーションをアニメーションGIFに変換する** +このPythonサンプルコードは、標準設定でプレゼンテーションをアニメーションGIFに変換する方法を示しています。 ```py import aspose.slides as slides @@ -38,17 +37,16 @@ pres = slides.Presentation(path + "pres.pptx") pres.save("pres.gif", slides.export.SaveFormat.GIF) ``` -アニメーションGIFはデフォルトのパラメータで作成されます。 - -{{% alert title="ヒント" color="primary" %}} -GIFのパラメータをカスタマイズしたい場合は、[GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/)クラスを使用できます。以下のサンプルコードを参照してください。 +アニメーションGIFはデフォルトのパラメーターで作成されます。 +{{% alert title="TIP" color="primary" %}} +GIF のパラメーターをカスタマイズしたい場合は、[GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/)クラスを使用できます。以下のサンプルコードをご覧ください。 {{% /alert %}} -## カスタム設定を使用したプレゼンテーションのアニメーションGIFへの変換 ## -このサンプルコードは、カスタム設定を使用してプレゼンテーションをアニメーションGIFに変換する方法をPythonで示しています: +## **カスタム設定でプレゼンテーションをアニメーションGIFに変換する** +このサンプルコードは、Python でカスタム設定を使用してプレゼンテーションをアニメーションGIFに変換する方法を示しています。 ```py import aspose.slides as slides import aspose.pydrawing as drawing @@ -56,15 +54,24 @@ import aspose.pydrawing as drawing pres = slides.Presentation(path + "pres.pptx") options = slides.export.GifOptions() -options.frame_size = drawing.Size(960, 720) # 結果のGIFのサイズ -options.default_delay = 2000 # 各スライドが次に変更されるまでの表示時間 -options.transition_fps = 35 # トランジションアニメーションの品質を向上させるためにFPSを増加 +options.frame_size = drawing.Size(960, 720) # 結果として得られる GIF のサイズ +options.default_delay = 2000 # 各スライドが次のスライドに切り替わるまでの表示時間 +options.transition_fps = 35 # トランジションアニメーションの品質向上のために FPS を上げる pres.save("pres.gif", slides.export.SaveFormat.GIF, options) ``` -{{% alert title="情報" color="info" %}} -Asposeが開発した無料の[Text to GIF](https://products.aspose.app/slides/text-to-gif)コンバータをチェックしてみてください。 +{{% alert title="Info" color="info" %}} +Aspose が開発した無料の[Text to GIF](https://products.aspose.app/slides/text-to-gif)コンバーターをご利用いただけます。 +{{% /alert %}} + +## **よくある質問** + +**プレゼンテーションで使用されているフォントがシステムにインストールされていない場合はどうなりますか?** + +不足しているフォントをインストールするか、[フォールバックフォントを構成](/slides/ja/python-net/powerpoint-fonts/)してください。Aspose.Slides は代替フォントを使用しますが、見た目が異なる場合があります。ブランディングのためには、必要なフォントが確実に利用可能であることを常に確認してください。 + +**GIF フレームにウォーターマークを重ねることはできますか?** -{{% /alert %}} \ No newline at end of file +はい。エクスポート前にマスタースライドまたは個々のスライドに[半透明のオブジェクト/ロゴ](/slides/ja/python-net/watermark/)を追加すると、ウォーターマークがすべてのフレームに表示されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 0549487b1f..530d25ab21 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,45 +1,84 @@ --- -title: Python でノート付き PowerPoint プレゼンテーションを TIFF に変換する -linktitle: ノート付き TIFF 変換 +title: Pythonでノート付きPowerPointプレゼンテーションをTIFFに変換 +linktitle: ノート付きPowerPointをTIFFに変換 type: docs weight: 100 url: /ja/python-net/convert-powerpoint-to-tiff-with-notes/ keywords: -- PowerPoint を変換 +- PowerPointを変換 - プレゼンテーションを変換 - スライドを変換 -- PPT を変換 -- PPTX を変換 -- PowerPoint を TIFF に -- プレゼンテーションを TIFF に -- スライドを TIFF に -- PPT を TIFF に -- PPTX を TIFF に -- ノート付き PowerPoint +- PPTを変換 +- PPTXを変換 +- PowerPointからTIFFへ +- プレゼンテーションをTIFFへ +- スライドをTIFFへ +- PPTをTIFFへ +- PPTXをTIFFへ +- ノート付きPowerPoint - ノート付きプレゼンテーション - ノート付きスライド -- ノート付き PPT -- ノート付き PPTX -- ノート付き TIFF +- ノート付きPPT +- ノート付きPPTX +- ノート付きTIFF - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、ノート付き PowerPoint プレゼンテーションを TIFF に変換する方法を学びます。スピーカーノート付きスライドのエクスポートを効率的に行う方法を紹介します。" +description: "Aspose.Slides for Python via .NET を使用して、ノート付きPowerPointプレゼンテーションをTIFFに変換します。スライドとスピーカーノートを効率的にエクスポートする方法を学びましょう。" --- -{{% alert title="ヒント" color="primary" %}} +## **概要** -Asposeの[無料のPowerPointからポスターへの変換ツール](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)をチェックすることをお勧めします。 +Aspose.Slides for Python via .NET は、PowerPoint および OpenDocument プレゼンテーション (PPT、PPTX、ODP) とノートを TIFF 形式に変換するシンプルなソリューションを提供します。この形式は、高品質な画像保存、印刷、文書アーカイブに広く使用されています。Aspose.Slides を使用すると、スピーカーノート付きのプレゼンテーション全体をエクスポートするだけでなく、Notes Slide ビューでスライドサムネイルを生成することもできます。変換プロセスはシンプルで効率的で、`save` メソッドを利用して [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのプレゼンテーション全体を一連の TIFF 画像に変換し、ノートとレイアウトを保持します。 -{{% /alert %}} +## **ノート付き TIFF へのプレゼンテーション変換** + +Aspose.Slides for Python via .NET でノート付きの PowerPoint または OpenDocument プレゼンテーションを TIFF に保存する手順は次のとおりです。 + +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスをインスタンス化します: PowerPoint または OpenDocument ファイルを読み込みます。 +2. 出力レイアウトオプションを設定します: [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/notescommentslayoutingoptions/) クラスを使用して、ノートとコメントの表示方法を指定します。 +3. プレゼンテーションを TIFF で保存します: 設定したオプションを [save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/save/#str-asposeslidesexportsaveformat-asposeslidesexportisaveoptions) メソッドに渡します。 + +例えば、次のスライドを含む "speaker_notes.pptx" ファイルがあるとします。 -TIFFは、Aspose.Slides for Python via .NETがノート付きのPowerPoint PPTおよびPPTXプレゼンテーションを画像に変換するためにサポートしている広く使用される画像フォーマットの1つです。また、ノートスライドビューでスライドのサムネイルを生成することもできます。Presentationクラスによって公開された[Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)メソッドを使用して、ノートスライドビューの全体のプレゼンテーションをTIFFに変換できます。Aspose.Slides for Python via .NETを使用してMicrosoft PowerPointプレゼンテーションをTIFFノートに保存するのは、2行のプロセスです。プレゼンテーションを開き、TIFFノートとして保存するだけです。また、各スライドに対してノートスライドビューのサムネイルを生成することもできます。以下のコードスニペットは、サンプルプレゼンテーションをノートスライドビューのTIFF画像に更新します。 +![The presentation slide with speaker notes](slide_with_notes.png) +以下のコードスニペットは、[slides_layout_options](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) プロパティを使用して Notes Slide ビューでプレゼンテーションを TIFF 画像に変換する方法を示しています。 ```py -import aspose.slides as slides +# プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成します。 +with slides.Presentation("speaker_notes.pptx") as presentation: + + notes_options = slides.export.NotesCommentsLayoutingOptions() + notes_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL # スライドの下にノートを表示します。 + + # Notes レイアウトを使用して TIFF オプションを構成します。 + tiff_options = slides.export.TiffOptions() + tiff_options.dpi_x = 300 + tiff_options.dpi_y = 300 + tiff_options.slides_layout_options = notes_options + + # スピーカーノート付きでプレゼンテーションを TIFF に保存します。 + presentation.save("TIFF_with_notes.tiff", slides.export.SaveFormat.TIFF, tiff_options) +``` + + +結果: + +![The TIFF image with speaker notes](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +Aspose の [無料 PowerPoint からポスターへのコンバータ](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) をチェックしてください。 +{{% /alert %}} + +## **FAQ** + +**結果となる TIFF のノート領域の位置を制御できますか?** + +はい。[notes layout settings](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) を使用して、`NONE`、`BOTTOM_TRUNCATED`、`BOTTOM_FULL` のようなオプションから選択できます。これにより、ノートを非表示にしたり、1 ページに収めたり、追加ページに流すことができます。 + +**品質の目に見える低下なしにノート付き TIFF ファイルのサイズを削減するには?** + +[効率的な圧縮](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/compression_type/)(例: `LZW` または `RLE`)を選び、適切な DPI を設定し、許容できれば低い [pixel format](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/pixel_format/)(例: 8 bpp や 1 bpp のモノクロ)を使用します。また、[image dimensions](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/image_size/) をわずかに縮小することでも、可読性を大きく損なうことなくサイズ削減が可能です。 -# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 -presentation = slides.Presentation("pres.pptx") +**ノートのフォントがシステムにない場合、結果に影響しますか?** -# プレゼンテーションをTIFFノートに保存 -presentation.save("Notes_In_Tiff_out.tiff", slides.export.SaveFormat.TIFF) -``` \ No newline at end of file +はい。フォントが欠如していると [substitution](/slides/ja/python-net/font-selection-sequence/) が発生し、テキストのメトリクスや外観が変わります。これを防ぐには、[必要なフォントを提供](/slides/ja/python-net/custom-font/) するか、デフォルトの [fallback font](/slides/ja/python-net/fallback-font/) を設定して、意図した書体が使用されるようにします。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 9eb32ae51e..15ea6191ea 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,52 +1,68 @@ --- -title: PPT と PPTX の違いを理解する +title: "違いの理解:PPT vs PPTX" linktitle: PPT と PPTX type: docs weight: 10 url: /ja/python-net/ppt-vs-pptx/ keywords: -- PPT と PPTX の違い -- PPTX と PPT の違い -- PowerPoint 形式 -- プレゼンテーション形式 -- PPT を PPTX に変換 -- レガシー形式 +- PPT と PPTX +- PPT または PPTX +- レガシーフォーマット +- モダンフォーマット +- バイナリ形式 - 最新標準 -- .NET -- C# +- PowerPoint +- プレゼンテーション +- Python - Aspose.Slides -description: "PPT と PPTX 形式の主な違いを探り、C# と .NET 環境での利用方法を学びます。" +description: "Aspose.Slides Python を使用した .NET での PowerPoint の PPT と PPTX を比較し、フォーマットの違い、メリット、互換性、変換のヒントを探ります。" --- - ## **PPTとは?** -[**PPT**](https://docs.fileformat.com/presentation/ppt/)はバイナリファイルフォーマットであり、特別なツールなしにはその内容を表示することはできません。最初のPowerPoint 97-2003バージョンはPPTファイルフォーマットで動作していましたが、その拡張性は制限されています。 +[**PPT**](https://docs.fileformat.com/presentation/ppt/)はバイナリファイル形式であり、特別なツールなしではその内容を表示することはできません。最初のPowerPoint 97-2003バージョンはPPTファイル形式で動作しましたが、拡張性は限定的です。 + ## **PPTXとは?** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/)は、新しいプレゼンテーションファイルフォーマットで、Office Open XML(ISO 29500:2008-2016、ECMA-376)標準に基づいています。PPTXはXMLおよびメディアファイルのアーカイブセットです。PPTXフォーマットは簡単に拡張可能です。例えば、新しいチャートタイプや形状タイプをサポートすることが容易であり、すべての新しいPowerPointバージョンでPPTXフォーマットを変更する必要はありません。PPTXフォーマットはPowerPoint 2007から使用されています。 +[**PPTX**](https://docs.fileformat.com/presentation/pptx/)はOffice Open XML(ISO 29500:2008-2016、ECMA-376)標準に基づく新しいプレゼンテーションファイル形式です。PPTXはXMLとメディアファイルのアーカイブされた集合です。PPTX形式は容易に拡張できます。例えば、新しいチャートタイプやシェイプタイプへのサポートを追加することが、各新しいPowerPointバージョンでPPTX形式を変更せずに容易に行えます。PowerPoint 2007以降でPPTX形式が使用されています。 -## **PPTとPPTX** -PPTXははるかに広い機能を提供しますが、PPTは依然として非常に人気があります。PPTからPPTXへの変換とその逆の必要性は非常に高いです。 +## **PPTとPPTXの比較** +PPTXははるかに広範な機能を提供しますが、PPTは依然としてかなり人気があります。PPTからPPTX、またはその逆への変換の必要性は非常に高いです。 -しかし、古いPPTと新しいPPTXフォーマット間の変換は、他のMicrosoft Officeフォーマットの中で最も複雑な課題です。PPTフォーマットの仕様はオープンですが、扱うのは難しいです。PowerPointは、PPTフォーマットではサポートされておらず、古いPowerPointバージョンでは表示できない情報を保存するために、PPTファイル内に特別な部分(MetroBlob)を作成することができます。この情報は、PPTファイルが新しいPowerPointバージョンでロードされるか、PPTXフォーマットに変換されると復元されることができます。 +しかし、古いPPTと新しいPPTX形式間の変換は、他のMicrosoft Office形式の中でも最も複雑な課題です。PPT形式の仕様は公開されていますが、取り扱いは難しいです。PowerPointはPPTファイル内に特別なパーツ(MetroBlob)を作成し、PPT形式でサポートされていないPPTXからの情報を保存できます。この情報は古いPowerPointバージョンでは表示できません。この情報は、最新のPowerPointバージョンでPPTファイルが読み込まれるか、PPTX形式に変換される際に復元できます。 -Aspose.Slidesは、すべてのプレゼンテーションフォーマットを扱うための共通インターフェースを提供します。これにより、PPTからPPTXへ、PPTXからPPTへ非常に簡単に変換できます。Aspose.SlidesはPPTからPPTXへの変換を完全にサポートしており、またPPTXからPPTへの変換もいくつかの制限付きでサポートしています。可能な限りPPTXフォーマットを使用することをお勧めします。 +Aspose.Slidesはすべてのプレゼンテーション形式を扱う共通インターフェイスを提供します。これにより、PPTからPPTX、PPTXからPPTへの変換を非常に簡単に行うことができます。Aspose.SlidesはPPTからPPTXへの変換を完全にサポートし、いくつかの制限はありますがPPTXからPPTへの変換もサポートしています。可能な限りPPTX形式の使用を推奨します。 {{% alert color="primary" %}} - -オンラインでPPTからPPTXおよびPPTXからPPTへの変換の品質を確認するには、[**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/)をチェックしてください。 - +オンラインの[**Aspose.Slides 変換アプリ**](https://products.aspose.app/slides/conversion/)でPPTからPPTX、PPTXからPPTへの変換品質を確認してください。 {{% /alert %}} - ```py import aspose.slides as slides -# PPTXファイルを表すPresentationオブジェクトをインスタンス化します +# PPTX ファイルを表す Presentation オブジェクトをインスタンス化します pres = slides.Presentation("PPTtoPPTX.ppt") -# PPTXプレゼンテーションをPPTXフォーマットに保存します +# PPTX プレゼンテーションを PPTX 形式で保存します pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -プレゼンテーションPPTをPPTXに変換する方法について、さらに読むには [**こちら**](/slides/ja/python-net/convert-ppt-to-pptx/)をクリックしてください。 -{{% /alert %}} \ No newline at end of file +さらに読む[**PPTをPPTXに変換する方法**.](/slides/ja/python-net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **FAQ** + +**古いプレゼンテーションをエラーなく開けるなら、PPTのままにしておく意味はありますか?** + +プレゼンテーションが確実に開き、共同作業や新機能が不要であれば、PPTのままでも構いません。しかし、将来的な互換性と拡張性を考えると、[convert to PPTX](/slides/ja/python-net/convert-ppt-to-pptx/)する方が良いです。PPTXはオープンなOOXML標準に基づいており、最新のツールでより容易にサポートされます。 + +**どのファイルを最初にPPTXに変換すべきか、どう判断すればよいですか?** + +まず、以下の条件に該当するプレゼンテーションを変換してください:複数のユーザーで編集されている、複雑な[charts](/slides/ja/python-net/create-chart/)/[shapes](/slides/ja/python-net/shape-manipulations/)を含む、外部コミュニケーションで使用されている、または[opened](/slides/ja/python-net/open-presentation/)時に警告が出るものです。 + +**PPTからPPTX、またはその逆に変換する際にパスワード保護は保持されますか?** + +パスワードは、使用するツールが正しい変換と暗号化をサポートしている場合にのみ引き継がれます。より確実なのは、[remove protection](/slides/ja/python-net/password-protected-presentation/)、[convert](/slides/ja/python-net/convert-ppt-to-pptx/)を行い、その後セキュリティポリシーに従って保護を再適用することです。 + +**PPTXをPPTに戻すと、一部のエフェクトが消えるまたは簡略化されるのはなぜですか?** + +PPTは一部の新しいオブジェクトやプロパティをサポートしていないためです。PowerPointやツールはこの情報の「痕跡」を特別なブロックに保存して後で復元できるようにしますが、古いバージョンのPowerPointではそれらを表示できません。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index a27238ce62..b0ff3849e0 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,38 +1,58 @@ --- -title: スライドをSVG画像としてレンダリングする +title: PythonでプレゼンテーションスライドをSVG画像としてレンダリング +linktitle: スライドをSVGへ type: docs weight: 50 url: /ja/python-net/render-a-slide-as-an-svg-image/ +keywords: +- スライドをSVGへ +- プレゼンテーションをSVGへ +- PowerPointをSVGへ +- OpenDocumentをSVGへ +- PPTをSVGへ +- PPTXをSVGへ +- ODPをSVGへ +- スライドをレンダリング +- スライドを変換 +- スライドをエクスポート +- ベクター画像 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument のスライドを SVG 画像としてレンダリングする方法を学びます。シンプルなコード例で高品質なビジュアルを実現します。" --- -SVG(スケーラブルベクターグラフィックスの略)は、二次元画像をレンダリングするために使用される標準的なグラフィックタイプまたはフォーマットです。SVGは、XMLでベクターとして画像を保存し、その挙動や外観を定義する詳細を含んでいます。 +## **スライドをSVGに変換** -SVGは、スケーラビリティ、インタラクティブ性、パフォーマンス、アクセシビリティ、プログラマビリティなどの点で非常に高い基準を満たす数少ない画像フォーマットの一つです。このため、ウェブ開発で一般的に使用されます。 +SVG(Scalable Vector Graphics の略)は、二次元画像を描画するために使用される標準的なグラフィックタイプまたはフォーマットです。SVG は画像を XML 内のベクターとして保存し、その動作や外観を定義する詳細情報を含みます。 -次の場合にSVGファイルを使用することを検討するかもしれません。 +SVG は、拡張性、インタラクティブ性、パフォーマンス、アクセシビリティ、プログラマビリティなど、非常に高い基準を満たす数少ない画像フォーマットの一つです。そのため、ウェブ開発で広く使用されています。 -- **プレゼンテーションを*非常に大きな形式*で印刷する**。SVG画像は、任意の解像度やレベルに拡大できます。品質を犠牲にすることなく、SVG画像を何度でもサイズ変更できます。 -- **スライドのチャートやグラフを*異なるメディアやプラットフォーム*で使用する**。ほとんどのリーダーはSVGファイルを解釈できます。 -- **画像の*可能な限り小さいサイズ*を使用する**。SVGファイルは、一般的に他のフォーマットの高解像度の代替品よりも小さいです。特にビットマップ(JPEGまたはPNG)に基づくフォーマットではそうです。 +以下のような場合に SVG ファイルを使用したくなるでしょう -Aspose.Slides for Python via .NETを使用すると、プレゼンテーション内のスライドをSVG画像としてエクスポートできます。SVG画像を生成する手順は次のとおりです。 +- **プレゼンテーションを *非常に大きなサイズ* で印刷する**。SVG 画像は任意の解像度やレベルに拡大でき、品質を損なうことなく必要なだけリサイズできます。 +- **スライドからチャートやグラフを *異なるメディアやプラットフォーム* で使用する**。ほとんどの閲覧者は SVG ファイルを解釈できます。 +- **画像を *可能な限り最小のサイズ* で使用する**。SVG ファイルは、他のフォーマットの高解像度版に比べて一般的にサイズが小さく、特にビットマップベース(JPEG や PNG)のフォーマットよりも小さくなります。 -1. Presentationクラスのインスタンスを作成します。 -2. プレゼンテーション内のすべてのスライドを繰り返します。 -3. 各スライドをFileStreamを通じて独自のSVGファイルに書き込みます。 +Aspose.Slides for Python via .NET を使用すると、プレゼンテーション内のスライドを SVG 画像としてエクスポートできます。以下の手順で SVG 画像を生成してください: + +1. Presentation クラスのインスタンスを作成します。 +2. プレゼンテーション内のすべてのスライドを反復処理します。 +3. 各スライドを FileStream を使用して個別の SVG ファイルに書き出します。 {{% alert color="primary" %}} -Aspose.Slides for Python via .NETからのPPTからSVGへの変換機能を実装した[無料のウェブアプリケーション](https://products.aspose.app/slides/conversion/ppt-to-svg)を試してみることをお勧めします。 +次の[無料ウェブアプリケーション](https://products.aspose.app/slides/conversion/ppt-to-svg)を試してみるとよいでしょう。このアプリケーションでは Aspose.Slides for Python via .NET の PPT から SVG への変換機能を実装しています。 {{% /alert %}} -以下のPythonのサンプルコードは、Aspose.Slidesを使用してPPTをSVGに変換する方法を示しています。 - +この Python のサンプルコードは、Aspose.Slides を使用して PPT を SVG に変換する方法を示しています: ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 +# プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します pres = slides.Presentation("pres.pptx") for index in range(pres.slides.length): @@ -40,4 +60,19 @@ for index in range(pres.slides.length): with open("slide-{index}.svg".format(index = index), "wb") as file: slide.write_as_svg(file) -``` \ No newline at end of file +``` + + +## **よくある質問** + +**なぜ生成された SVG がブラウザーごとに見た目が異なる可能性があるのでしょうか?** + +特定の SVG 機能のサポートは、ブラウザーエンジンによって実装が異なります。[SVGOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/svgoptions/) パラメーターは、互換性の問題を緩和するのに役立ちます。 + +**スライドだけでなく個々のシェイプも SVG にエクスポートできますか?** + +はい。任意の[シェイプを個別の SVG として保存できます](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/)、アイコンやピクトグラム、グラフィックの再利用に便利です。 + +**複数のスライドを単一の SVG(ストリップ/ドキュメント)に結合できますか?** + +標準的なシナリオは、1 スライド → 1 SVG です。複数のスライドを単一の SVG キャンバスに結合するのは、アプリケーションレベルで実行されるポストプロセスのステップです。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index b00a9d27c6..45e958716e 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,21 +1,21 @@ --- -title: Python でプレゼンテーションを HTML5 に変換 -linktitle: HTML5 へのエクスポート +title: PythonでプレゼンテーションをHTML5に変換 +linktitle: HTML5へエクスポート type: docs weight: 40 url: /ja/python-net/export-to-html5/ keywords: -- PowerPoint から HTML5 -- OpenDocument から HTML5 -- プレゼンテーションから HTML5 -- スライドから HTML5 -- PPT から HTML5 -- PPTX から HTML5 -- ODP から HTML5 +- PowerPoint を HTML5 に変換 +- OpenDocument を HTML5 に変換 +- プレゼンテーション を HTML5 に変換 +- スライド を HTML5 に変換 +- PPT を HTML5 に変換 +- PPTX を HTML5 に変換 +- ODP を HTML5 に変換 - PowerPoint を変換 - OpenDocument を変換 -- プレゼンテーションを変換 -- スライドを変換 +- プレゼンテーション を変換 +- スライド を変換 - HTML5 エクスポート - プレゼンテーションをエクスポート - スライドをエクスポート @@ -24,21 +24,20 @@ keywords: - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して PowerPoint と OpenDocument のプレゼンテーションをレスポンシブ HTML5 にエクスポートします。書式設定、アニメーション、インタラクティブ性を保持します。" +description: "PowerPoint と OpenDocument のプレゼンテーションを、.NET 経由で Python 用 Aspose.Slides を使用してレスポンシブな HTML5 にエクスポートします。書式、アニメーション、インタラクティブ機能を保持します。" --- -{{% alert title="情報" color="info" %}} +{{% alert title="Info" color="info" %}} -**Aspose.Slides 21.9** では、HTML5エクスポートのサポートを実装しました。ただし、Web拡張機能を使用してPowerPointをHTMLにエクスポートしたい場合は、[この記事](/slides/ja/net/web-extensions/)をご覧ください。 +Aspose.Slides 21.9 では、HTML5 エクスポートのサポートを実装しました。ただし、WebExtensions を使用して PowerPoint を HTML にエクスポートしたい場合は、代わりに[この記事](/slides/ja/net/web-extensions/)をご覧ください。 -{{% /alert %}} - -ここでは、Web拡張機能や依存関係なしにPowerPointをHTMLに変換するプロセスを説明します。この方法では、自分のテンプレートを使用して、エクスポートプロセスや生成されるHTML、CSS、JavaScript、およびアニメーション属性を定義する非常に柔軟なオプションを適用できます。 +{{% /alert %}} -## **PowerPointをHTML5にエクスポート** +ここでの HTML5 エクスポートプロセスにより、WebExtensions や依存関係なしで PowerPoint を HTML に変換できます。独自のテンプレートを使用することで、エクスポートプロセスや生成される HTML、CSS、JavaScript、アニメーション属性を定義する非常に柔軟なオプションを適用できます。 -このPythonコードは、Web拡張機能や依存関係なしにプレゼンテーションをHTML5にエクスポートする方法を示しています。 +## **PowerPoint を HTML5 にエクスポート** +この Python コードは、WebExtensions や依存関係なしでプレゼンテーションを HTML5 にエクスポートする方法を示しています。 ```py import aspose.slides as slides @@ -46,14 +45,14 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5) ``` -{{% alert color="primary" %}} -この場合、クリーンなHTMLが得られます。 +{{% alert color="primary" %}} -{{% /alert %}} +この場合、クリーンな HTML が得られます。 -次のように、シェイプアニメーションやスライドトランジションの設定を指定することができます。 +{{% /alert %}} +このように、シェイプ アニメーションとスライド トランジションの設定を指定することもできます。 ```py import aspose.slides as slides @@ -65,10 +64,10 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5, options) ``` -#### **PowerPointをHTMLにエクスポート** -このPythonコードは、標準のPowerPointからHTMLへのプロセスを示しています。 +## **PowerPoint を HTML にエクスポート** +この Python コードは、標準的な PowerPoint から HTML へのプロセスを示しています。 ```py import aspose.slides as slides @@ -76,35 +75,35 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML) ``` -この場合、プレゼンテーションの内容は、次のような形式でSVGを通じてレンダリングされます。 +この場合、プレゼンテーションのコンテンツは SVG を介して次のようにレンダリングされます。 ```html
    - スライドの内容がここに入ります + THE SLIDE CONTENT GOES HERE
    ``` -{{% alert title="注意" color="warning" %}} -この方法を使用してPowerPointをHTMLにエクスポートすると、SVGレンダリングのため、特定の要素にスタイルを適用したりアニメーションさせたりすることはできません。 +{{% alert title="Note" color="warning" %}} -{{% /alert %}} +この方法で PowerPoint を HTML にエクスポートすると、SVG でのレンダリングのため、特定の要素にスタイルを適用したりアニメーションを付けたりすることはできません。 -## **PowerPointをHTML5スライドビューにエクスポート** +{{% /alert %}} -**Aspose.Slides** は、PowerPointプレゼンテーションをスライドビューモードでスライドが表示されるHTML5ドキュメントに変換することを可能にします。この場合、生成されたHTML5ファイルをブラウザで開くと、ウェブページ上でスライドビューモードのプレゼンテーションを見ることができます。 +## **PowerPoint を HTML5 スライド ビューにエクスポート** -このPythonコードは、PowerPointからHTML5スライドビューエクスポートプロセスを示しています。 +**Aspose.Slides** を使用すると、PowerPoint プレゼンテーションをスライドがスライド ビュー モードで表示される HTML5 ドキュメントに変換できます。この場合、生成された HTML5 ファイルをブラウザーで開くと、Web ページ上でスライド ビュー モードのプレゼンテーションが表示されます。 +この Python コードは、PowerPoint から HTML5 スライド ビューへのエクスポートプロセスを示しています。 ```python import aspose.slides as slides with slides.Presentation("pres.pptx") as pres: - # スライドトランジション、アニメーション、およびシェイプアニメーションを含むプレゼンテーションをHTML5にエクスポート + # スライドの遷移、アニメーション、およびシェイプアニメーションを含むプレゼンテーションをHTML5にエクスポート options = slides.export.Html5Options() options.animate_shapes = True options.animate_transitions = True @@ -113,18 +112,18 @@ with slides.Presentation("pres.pptx") as pres: pres.save("HTML5-slide-view.html", slides.export.SaveFormat.HTML5, options) ``` -## コメント付きのプレゼンテーションをHTML5文書に変換 -PowerPointのコメントは、ユーザーがプレゼンテーションスライドにメモやフィードバックを残すためのツールです。特に複数の人が特定のスライド要素に対する提案やコメントを追加できる共同プロジェクトで便利です。各コメントは著者の名前を表示するため、誰がコメントを残したかを簡単に追跡できます。 +## **プレゼンテーションをコメント付き HTML5 ドキュメントに変換** -以下のPowerPointプレゼンテーションが「sample.pptx」ファイルに保存されているとしましょう。 +PowerPoint のコメントは、ユーザーがプレゼンテーション スライドにメモやフィードバックを残すためのツールです。特に共同プロジェクトでは、複数のユーザーがメインコンテンツを変更せずに特定のスライド要素に提案や意見を追加できるため便利です。各コメントには作成者の名前が表示されるので、誰がコメントしたかを追跡しやすくなります。 -![プレゼンテーションスライドに対する二つのコメント](two_comments_pptx.png) +例えば、以下の PowerPoint プレゼンテーションが "sample.pptx" ファイルに保存されているとします。 -PowerPointプレゼンテーションをHTML5文書に変換するとき、出力ドキュメントにプレゼンテーションからのコメントを含めるかどうかを簡単に指定できます。これを行うには、[Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/)クラスの`notes_comments_layouting`プロパティでコメントの表示パラメーターを指定する必要があります。 +![プレゼンテーション スライド上の 2 つのコメント](two_comments_pptx.png) -以下のコード例は、スライドの右側にコメントが表示されるHTML5文書にプレゼンテーションを変換します。 +PowerPoint プレゼンテーションを HTML5 ドキュメントに変換する際、出力ドキュメントにプレゼンテーションのコメントを含めるかどうかを簡単に指定できます。そのためには、[Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) クラスの `notes_comments_layouting` プロパティでコメントの表示パラメータを指定する必要があります。 +以下のコード例は、スライドの右側にコメントを表示した HTML5 ドキュメントにプレゼンテーションを変換します。 ```py html5_options = Html5Options() html5_options.notes_comments_layouting.comments_position = CommentsPositions.RIGHT @@ -133,6 +132,21 @@ with Presentation("sample.pptx") as presentation: presentation.save("output.html", SaveFormat.HTML5, html5_options) ``` -「output.html」ドキュメントは以下の画像のようになります。 -![出力HTML5文書のコメント](two_comments_html5.png) \ No newline at end of file +下の画像に「output.html」ドキュメントが示されています。 + +![出力された HTML5 ドキュメント内のコメント](two_comments_html5.png) + +## **よくある質問** + +**HTML5 でオブジェクト アニメーションやスライド トランジションの再生を制御できますか?** + +はい、HTML5 では、[shape animations](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) と [slide transitions](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/) を個別に有効化または無効化するオプションが提供されています。 + +**コメントの出力はサポートされていますか?また、スライドに対してどこに配置できますか?** + +はい、HTML5 でコメントを追加でき、[layout settings](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/notes_comments_layouting/) を使用してスライドの右側など任意の位置に配置できます。 + +**セキュリティや CSP の理由で JavaScript を呼び出すリンクをスキップできますか?** + +はい、保存時に JavaScript 呼び出し付きハイパーリンクをスキップできる[設定](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/skip_java_script_links/) があり、厳格なセキュリティ ポリシーへの準拠に役立ちます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index b24152717a..b084a4f7cd 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,45 +1,42 @@ --- -title: Python でプレゼンテーションを XAML にエクスポートする -linktitle: XAML にエクスポート +title: PythonでプレゼンテーションをXAMLにエクスポート +linktitle: XAMLにエクスポート type: docs weight: 30 url: /ja/python-net/export-to-xaml/ keywords: -- PowerPoint をエクスポート -- OpenDocument をエクスポート +- PowerPointをエクスポート +- OpenDocumentをエクスポート - プレゼンテーションをエクスポート -- PowerPoint を変換 -- OpenDocument を変換 +- PowerPointを変換 +- OpenDocumentを変換 - プレゼンテーションを変換 -- PowerPoint を XAML に変換 -- OpenDocument を XAML に変換 -- プレゼンテーションを XAML に変換 -- PPT を XAML に -- PPTX を XAML に -- ODP を XAML に +- PowerPointからXAMLへ +- OpenDocumentからXAMLへ +- プレゼンテーションからXAMLへ +- PPTからXAMLへ +- PPTXからXAMLへ +- ODPからXAMLへ - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument のスライドを XAML に変換する方法をご紹介します。Office 不要の高速ソリューションで、レイアウトをそのまま保持します。" +description: "Aspose.Slides を使用して Python で PowerPoint および OpenDocument のスライドを XAML に変換します—レイアウトを保持した高速かつ Office 不要のソリューションです。" --- -# プレゼンテーションをXAMLにエクスポートする +## **概要** -{{% alert title="情報" color="info" %}} +{{% alert title="Info" color="info" %}} -[Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/)では、XAMLエクスポートのサポートを実装しました。これにより、プレゼンテーションをXAMLにエクスポートできるようになりました。 +[Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/) では、XAML エクスポートのサポートを実装しました。これでプレゼンテーションを XAML にエクスポートできるようになりました。 {{% /alert %}} -# XAMLについて +XAML は、特に WPF(Windows Presentation Foundation)や UWP(Universal Windows Platform)、Xamarin Forms を使用するアプリのユーザーインターフェイスを構築または記述できる記述型プログラミング言語です。 -XAMLは、アプリケーションのユーザーインターフェイスを構築または記述するための記述型プログラミング言語であり、特にWPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)、Xamarinフォームを使用するアプリに使用されます。 +XML ベースの言語である XAML は、Microsoft が GUI を記述するために提供しているバリアントです。ほとんどの場合、デザイナーを使用して XAML ファイルを操作しますが、手動で GUI を記述・編集することも可能です。 -XAMLはXMLベースの言語で、MicrosoftのGUIを記述するためのバリアントです。XAMLファイル作成にはデザイナーを使用することが一般的ですが、GUIを手動で記述および編集することも可能です。 - -## デフォルトオプションを使用してプレゼンテーションをXAMLにエクスポートする - -以下のPythonコードは、デフォルト設定でプレゼンテーションをXAMLにエクスポートする方法を示しています: +## **デフォルトオプションでプレゼンテーションを XAML にエクスポートする** +以下の Python コードは、デフォルト設定でプレゼンテーションを XAML にエクスポートする方法を示しています: ```py import aspose.slides as slides @@ -47,12 +44,12 @@ pres = slides.Presentation("pres.pptx") pres.save(slides.export.xaml.XamlOptions()) ``` -## カスタムオプションを使用してプレゼンテーションをXAMLにエクスポートする -[IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/)インターフェイスからオプションを選択し、エクスポートプロセスを制御し、Aspose.SlidesがプレゼンテーションをXAMLにどのようにエクスポートするかを決定できます。 +## **カスタムオプションでプレゼンテーションを XAML にエクスポートする** -たとえば、XAMLにエクスポートする際に、プレゼンテーションから隠れたスライドを追加したい場合は、[ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/)プロパティをtrueに設定できます。以下はそのサンプルPythonコードです: +エクスポートプロセスを制御し、Aspose.Slides がプレゼンテーションを XAML にエクスポートする方法を決定するオプションは、[IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) インターフェイスから選択できます。 +たとえば、エクスポート時に非表示スライドも XAML に含めたい場合は、[ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) プロパティを true に設定します。以下のサンプル Python コードをご参照ください: ```py import aspose.slides as slides @@ -62,4 +59,19 @@ opt = slides.export.xaml.XamlOptions() opt.export_hidden_slides = True pres.save(opt) -``` \ No newline at end of file +``` + + +## **FAQ** + +**元のフォントがマシンに存在しない場合、予測可能なフォントを保証するにはどうすればよいですか?** + +[XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) の [default_regular_font](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/default_regular_font/) を設定します。元のフォントが見つからない場合のフォールバックフォントとして使用され、予期しない置き換えを防止します。 + +**エクスポートされた XAML は WPF のみを対象としていますか?それとも他の XAML スタックでも使用できますか?** + +XAML は WPF、UWP、Xamarin.Forms で使用される汎用 UI マークアップ言語です。エクスポートは Microsoft の XAML スタックとの互換性を目指していますが、具体的な動作や特定構文のサポートはターゲットプラットフォームに依存します。ご自身の環境でマークアップをテストしてください。 + +**非表示スライドはサポートされていますか?デフォルトでエクスポートされないようにするには?** + +デフォルトでは非表示スライドは含まれません。[XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) の [export_hidden_slides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/export_hidden_slides/) でこの動作を制御できます。エクスポートが不要な場合は無効にしたままにしてください。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/examine-presentation/_index.md b/ja/python-net/developer-guide/manage-presentation/examine-presentation/_index.md index 5055c1cb06..60157fb678 100644 --- a/ja/python-net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,38 +1,40 @@ --- -title: プレゼンテーションの調査 +title: Python でプレゼンテーション情報を取得し更新する +linktitle: プレゼンテーション情報 type: docs weight: 30 url: /ja/python-net/examine-presentation/ keywords: -- PowerPoint -- プレゼンテーション -- プレゼンテーションフォーマット -- プレゼンテーションプロパティ -- ドキュメントプロパティ +- プレゼンテーション形式 +- プレゼンテーション プロパティ +- ドキュメント プロパティ - プロパティの取得 -- プロパティの読み込み +- プロパティの読み取り - プロパティの変更 - プロパティの修正 -- PPTX -- PPT +- プロパティの更新 +- PPTX の検査 +- PPT の検査 +- ODP の検査 +- PowerPoint +- OpenDocument +- プレゼンテーション - Python -description: "PythonでPowerPointプレゼンテーションプロパティを読み取り、修正する" +- Aspose.Slides +description: "Python を使用して PowerPoint および OpenDocument プレゼンテーションのスライド、構造、メタデータを調査し、より迅速な洞察と賢いコンテンツ監査を実現します。" --- -Aspose.Slides for Python via .NETを使用すると、プレゼンテーションを調査してそのプロパティを知り、その動作を理解できます。 - -{{% alert title="情報" color="info" %}} - -[PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/)および[DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/)クラスには、ここでの操作に使用されるプロパティとメソッドが含まれています。 +Aspose.Slides for Python via .NET を使用すると、プレゼンテーションを調査してプロパティを確認し、その動作を理解できます。 +{{% alert title="Info" color="info" %}} +ここで使用される操作に必要なプロパティとメソッドは、[PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) と [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) クラスに含まれています。 {{% /alert %}} -## **プレゼンテーションフォーマットの確認** +## **プレゼンテーション形式の確認** -プレゼンテーションに取り組む前に、現在プレゼンテーションがどのフォーマット(PPT、PPTX、ODPなど)であるかを確認したい場合があります。 - -プレゼンテーションを読み込まずに、プレゼンテーションのフォーマットを確認できます。以下のPythonコードを参照してください。 +プレゼンテーションを操作する前に、現在の形式(PPT、PPTX、ODP など)を確認したい場合があります。 +プレゼンテーションを読み込まずに形式を確認できます。以下の Python コードをご参照ください: ```py import aspose.slides as slides @@ -46,10 +48,10 @@ info3 = slides.PresentationFactory.instance.get_presentation_info("pres.ppt") print(info3.load_format, info3.load_format == slides.LoadFormat.PPT) ``` -## **プレゼンテーションプロパティの取得** -このPythonコードは、プレゼンテーションプロパティ(プレゼンテーションに関する情報)を取得する方法を示しています。 +## **プレゼンテーションプロパティの取得** +この Python コードは、プレゼンテーションのプロパティ(プレゼンテーションに関する情報)を取得する方法を示しています: ```py import aspose.slides as slides @@ -60,40 +62,63 @@ print(props.subject) print(props.title) ``` -[DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties)クラスのプロパティを確認したい場合があります。 -## **プレゼンテーションプロパティの更新** +[DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties) クラスの **properties** を確認したくなることがあります。 -Aspose.Slidesは、プレゼンテーションプロパティを変更することを可能にする[PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties)メソッドを提供します。 +## **プレゼンテーションプロパティの更新** -PowerPointプレゼンテーションが以下に示すドキュメントプロパティを持っているとしましょう。 +Aspose.Slides は、[PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) メソッドを提供しており、プレゼンテーションのプロパティを変更できます。 -![PowerPointプレゼンテーションの元のドキュメントプロパティ](input_properties.png) +以下のような PowerPoint プレゼンテーションのドキュメントプロパティがあるとします。 -このコード例は、いくつかのプレゼンテーションプロパティを編集する方法を示しています。 +![PowerPoint プレゼンテーションの元のドキュメントプロパティ](input_properties.png) +このコード例は、いくつかのプレゼンテーションプロパティを編集する方法を示しています: ```py file_name = "sample.pptx" info = PresentationFactory.instance.get_presentation_info(file_name) properties = info.read_document_properties() -properties.title = "私のタイトル" +properties.title = "My title" properties.last_saved_time = datetime.now() info.update_document_properties(properties) info.write_binded_presentation(file_name) ``` -ドキュメントプロパティを変更した結果は以下に示されています。 -![PowerPointプレゼンテーションの変更されたドキュメントプロパティ](output_properties.png) +ドキュメントプロパティを変更した結果は以下の通りです。 + +![PowerPoint プレゼンテーションの変更後のドキュメントプロパティ](output_properties.png) ## **便利なリンク** -プレゼンテーションやそのセキュリティ属性に関する詳細情報を得るために、以下のリンクが役立つかもしれません。 +プレゼンテーションやそのセキュリティ属性に関する詳細情報を得るために、次のリンクが役立ちます: + +- [プレゼンテーションが暗号化されているかの確認](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [プレゼンテーションが書き込み保護(読み取り専用)されているかの確認](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [読み込む前にプレゼンテーションがパスワード保護されているかの確認](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [プレゼンテーションを保護するために使用されたパスワードの確認](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation) + +## **FAQ** + +**フォントが埋め込まれているか、どのフォントが埋め込まれているかを確認する方法は?** + +プレゼンテーションレベルで [embedded-font 情報](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_embedded_fonts/) を探し、[実際にコンテンツで使用されているフォント](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) の集合と比較して、レンダリングに必須のフォントを特定します。 + +**ファイルに非表示スライドが含まれているか、またその数をすばやく確認する方法は?** + +[スライドコレクション](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) を反復し、各スライドの [visibility フラグ](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) をチェックします。 + +**カスタムスライドサイズや向きが使用されているか、デフォルトと異なるかを検出できるか?** + +はい。現在の [スライドサイズ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/slide_size/) と向きを標準プリセットと比較し、印刷やエクスポート時の挙動を予測できます。 + +**チャートが外部データソースを参照しているかをすぐに確認する方法は?** + +はい。すべての [チャート](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/) を走査し、[データソース](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdata/data_source_type/) を確認して、内部データかリンクベースか、壊れたリンクがあるかを把握します。 + +**レンダリングや PDF エクスポートを遅くする可能性がある「重い」スライドを評価する方法は?** -- [プレゼンテーションが暗号化されているかどうかの確認](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [プレゼンテーションが書き込み保護されているかどうかの確認(読み取り専用)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [プレゼンテーションを読み込む前にパスワード保護されているかどうかを確認する](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [プレゼンテーションを保護するために使用されたパスワードの確認](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation) \ No newline at end of file +各スライドについてオブジェクト数を集計し、大きな画像、透明度、影、アニメーション、マルチメディアなどをチェックして、概算の複雑度スコアを付け、パフォーマンスのボトルネックとなり得るスライドをフラグ付けします。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/manage-blob/_index.md b/ja/python-net/developer-guide/presentation-content/manage-blob/_index.md index 4a54d03875..88aadf9a12 100644 --- a/ja/python-net/developer-guide/presentation-content/manage-blob/_index.md +++ b/ja/python-net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,66 +1,65 @@ --- -title: Python でプレゼンテーションの BLOB を管理してメモリを効率的に使用する -linktitle: BLOB を管理 +title: Python でプレゼンテーションの BLOB を管理し、効率的なメモリ使用を実現 +linktitle: BLOB 管理 type: docs weight: 10 url: /ja/python-net/manage-blob/ keywords: - 大きなオブジェクト -- 大きなアイテム +- 大きな項目 - 大きなファイル -- BLOB を追加 -- BLOB をエクスポート +- BLOB の追加 +- BLOB のエクスポート - 画像を BLOB として追加 -- メモリを削減 -- メモリ使用量 -- 大きなプレゼンテーション +- メモリ削減 +- メモリ消費 +- 大規模プレゼンテーション - 一時ファイル - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python における BLOB データを管理し、PowerPoint および OpenDocument ファイル操作を効率化して効果的なプレゼンテーション処理を実現します。" +description: "Aspose.Slides for Python via .NET における BLOB データを管理し、PowerPoint および OpenDocument ファイル操作を効率化して、プレゼンテーションの取り扱いを最適化します。" --- -### **BLOBについて** +## **BLOB について** -**BLOB** (**Binary Large Object**) は通常、バイナリ形式で保存された大きなアイテム(写真、プレゼンテーション、ドキュメント、メディアなど)を指します。 +**BLOB** (**Binary Large Object**) は通常、バイナリ形式で保存される大きな項目(写真、プレゼンテーション、文書、またはメディア)です。 -Aspose.Slides for Python via .NETは、大きなファイルが関与する場合にメモリ消費を減らす方法でオブジェクトにBLOBを使用することを可能にします。 +Aspose.Slides for Python via .NET を使用すると、大きなファイルが関与する場合にメモリ使用量を削減する方法でオブジェクトに BLOB を使用できます。 -# **メモリ消費を減らすためのBLOBの使用** +## **BLOB を使用してメモリ使用量を削減する** -### **プレゼンテーションにBLOBを介して大きなファイルを追加する** +### **BLOB を介して大きなファイルをプレゼンテーションに追加する** -[Aspose.Slides](/slides/ja/python-net/) for .NETは、メモリ消費を減らすためにBLOBを使用するプロセスを介して大きなファイル(この場合は大きな動画ファイル)をプレゼンテーションに追加することを可能にします。 - -このPythonコードは、BLOBプロセスを介して大きな動画ファイルをプレゼンテーションに追加する方法を示しています: +[Aspose.Slides](/slides/ja/python-net/) for .NET を使用すると、BLOB を介したプロセスで大きなファイル(この場合は大きなビデオ ファイル)を追加し、メモリ使用量を削減できます。 +この Python の例では、BLOB プロセスを使用して大きなビデオ ファイルをプレゼンテーションに追加する方法を示します: ```py import aspose.slides as slides pathToVeryLargeVideo = "veryLargeVideo.avi" -# 動画が追加される新しいプレゼンテーションを作成 +# 動画を追加する新しいプレゼンテーションを作成します with slides.Presentation() as pres: with open(pathToVeryLargeVideo, "br") as fileStream: - # プレゼンテーションに動画を追加します - "veryLargeVideo.avi"ファイルにアクセスするつもりはないので - # KeepLockedの動作を選択します。 + # 動画をプレゼンテーションに追加します - KeepLocked 動作を選択したのは + # 「veryLargeVideo.avi」ファイルにアクセスするつもりがないためです。 video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) pres.slides[0].shapes.add_video_frame(0, 0, 480, 270, video) - # プレゼンテーションを保存します。大きなプレゼンテーションが出力される間、presオブジェクトのライフサイクルを通じて - # メモリ消費は低く抑えられます。 + # プレゼンテーションを保存します。大きなプレゼンテーションが出力される間、メモリ消費は + # pres オブジェクトのライフサイクル全体で低く保たれます pres.save("presentationWithLargeVideo.pptx", slides.export.SaveFormat.PPTX) ``` -### **プレゼンテーションからBLOBを介して大きなファイルをエクスポートする** -Aspose.Slides for Python via .NETは、プレゼンテーションからBLOBを使用するプロセスを介して大きなファイル(この場合はオーディオまたは動画ファイル)をエクスポートすることを可能にします。たとえば、大きなメディアファイルをプレゼンテーションから抽出する必要があるが、コンピュータのメモリにファイルを読み込みたくない場合があります。BLOBプロセスを通じてファイルをエクスポートすることで、メモリ消費を低く抑えることができます。 -このPythonコードは、説明した操作を示しています: +### **BLOB を介してプレゼンテーションから大きなファイルをエクスポートする** +Aspose.Slides for Python via .NET を使用すると、BLOB を介したプロセスでプレゼンテーションから大きなファイル(この場合はオーディオまたはビデオ ファイル)をエクスポートできます。たとえば、プレゼンテーションから大きなメディア ファイルを抽出する必要があるが、そのファイルをコンピュータのメモリに読み込ませたくない場合です。BLOB プロセスを通じてファイルをエクスポートすることで、メモリ使用量を低く抑えることができます。 +以下の Python コードは、上記の操作を実演しています: ```py import aspose.slides as slides @@ -70,20 +69,21 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation(path + "Video.pptx", loadOptions) as pres: - # 各動画をファイルに保存します。高いメモリ使用を防ぐために、プレゼンテーションの動画ストリームから - # 新しく作成された動画ファイルのストリームにデータを転送するためのバッファが必要です。 - # byte[] buffer = new byte[8 * 1024]; + # 各ビデオをファイルに保存します。メモリ使用量が高くなるのを防ぐため、バッファが必要です + # プレゼンテーションのビデオストリームから新しく作成したビデオファイル用のストリームへデータを転送します + # byte[] buffer = new byte[8 * 1024]; bufferSize = 8 * 1024 - # 動画を反復処理 + # ビデオを反復処理します index = 0 - # 必要であれば、オーディオファイルにも同様の手順を適用することができます。 + # 必要に応じて、同じ手順をオーディオファイルにも適用できます for video in pres.videos: - # プレゼンテーション動画ストリームを開きます。注意してください、意図的にvideo.BinaryDataのようなプロパティにアクセスすることは - # 避けています - なぜならこのプロパティは全動画を含むバイト配列を返すため、その後バイトがメモリにロードされるからです。video.GetStreamを使用し、 - # ストリームを返します - そして全動画をメモリに読み込む必要はありません。 + # プレゼンテーションのビデオストリームを開きます。意図的にプロパティへのアクセスを避けたことに注意してください + # video.BinaryData のようなプロパティは、完全なビデオを含むバイト配列を返すため、 + # メモリにバイトがロードされます。video.GetStream を使用すると、Stream が返され、 + # メモリにビデオ全体をロードする必要はありません with video.get_stream() as presVideoStream: - with open("video{index}.avi".format(index=index), "wb") as outputFileStream: + with open("video{index}.avi".format(index = index), "wb") as outputFileStream: buffer = presVideoStream.read(8 * 1024) bytesRead = len(buffer) while bytesRead > 0: @@ -94,11 +94,11 @@ with slides.Presentation(path + "Video.pptx", loadOptions) as pres: index += 1 ``` -### **プレゼンテーションにBLOBとして画像を追加する** -[**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)インターフェースと[**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/)クラスのメソッドを使用すると、大きな画像をストリームとして追加してBLOBとして扱うことができます。 -このPythonコードは、BLOBプロセスを介して大きな画像を追加する方法を示しています: +### **プレゼンテーションに画像を BLOB として追加する** +インターフェイス [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) とクラス [**ImageCollection** ](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) のメソッドを使用すると、大きな画像をストリームとして追加し、BLOB として扱うことができます。 +この Python コードは、BLOB プロセスを介して大きな画像を追加する方法を示しています: ```py import aspose.slides as slides @@ -110,25 +110,24 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeImage.pptx", slides.export.SaveFormat.PPTX) ``` -## **メモリと大きなプレゼンテーション** -通常、大きなプレゼンテーションをロードするには、コンピュータは大量の一時メモリを必要とします。プレゼンテーションの内容はすべてメモリにロードされ、プレゼンテーションが読み込まれたファイルは使用されなくなります。 +## **メモリと大規模プレゼンテーション** -1.5 GBの動画ファイルを含む大きなPowerPointプレゼンテーション(large.pptx)を考えてみてください。プレゼンテーションをロードする標準的な方法は、このPythonコードで説明されています: +通常、大規模なプレゼンテーションをロードするには、コンピュータに大量の一時メモリが必要です。プレゼンテーションのすべての内容がメモリに読み込まれ、プレゼンテーションがロードされた元のファイルは使用されなくなります。 +たとえば、1.5 GB のビデオ ファイルを含む大規模な PowerPoint プレゼンテーション(large.pptx)を考えてみましょう。プレゼンテーションをロードする標準的な方法は、以下の Python コードで説明されています: ```py import aspose.slides as slides with slides.Presentation("large.pptx") as pres: - pres.save("large.pdf", slides.export.SaveFormat.PDF) + pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -しかし、この方法は約1.6 GBの一時メモリを消費します。 - -### **大きなプレゼンテーションをBLOBとしてロードする** -BLOBを使用するプロセスを介して、大きなプレゼンテーションを少ないメモリでロードすることができます。このPythonコードは、BLOBプロセスを使用して大きなプレゼンテーションファイル(large.pptx)をロードする実装を示しています: +しかし、この方法は約 1.6 GB の一時メモリを消費します。 +### **BLOB として大規模プレゼンテーションをロードする** +BLOB を使用したプロセスにより、少量のメモリで大規模なプレゼンテーションをロードできます。この Python コードは、BLOB プロセスを使用して大規模プレゼンテーション ファイル(large.pptx)をロードする実装を示しています: ```py import aspose.slides as slides @@ -138,13 +137,12 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation("large.pptx", loadOptions) as pres: - pres.save("large.pdf", slides.export.SaveFormat.PDF) + pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -#### **一時ファイルのフォルダーを変更する** - -BLOBプロセスを使用すると、コンピュータは一時ファイルを一時ファイル用のデフォルトフォルダーに作成します。一時ファイルを別のフォルダーに保持したい場合は、`temp_files_root_path`を使用してストレージの設定を変更できます: +### **一時ファイルのフォルダーを変更する** +BLOB プロセスを使用すると、コンピュータは既定の一時ファイル フォルダーに一時ファイルを作成します。別のフォルダーに一時ファイルを保存したい場合は、`temp_files_root_path` を使用して保存設定を変更できます: ```py import aspose.slides as slides @@ -155,8 +153,24 @@ loadOptions.blob_management_options.is_temporary_files_allowed = True loadOptions.blob_management_options.temp_files_root_path = "temp" ``` -{{% alert title="情報" color="info" %}} -`temp_files_root_path`を使用する際、Aspose.Slidesは一時ファイルを保存するために自動的にフォルダーを作成しません。手動でフォルダーを作成する必要があります。 +{{% alert title="Info" color="info" %}} +`temp_files_root_path` を使用すると、Aspose.Slides は一時ファイルを保存するフォルダーを自動的に作成しません。フォルダーは手動で作成する必要があります。 +{{% /alert %}} + +## **よくある質問** + +**Aspose.Slides のプレゼンテーション内でどのデータが BLOB とみなされ、BLOB オプションで制御されますか?** +画像、音声、ビデオなどの大きなバイナリ オブジェクトは BLOB として扱われます。プレゼンテーション全体のファイルも、ロードまたは保存時に BLOB の取り扱いが行われます。これらのオブジェクトは BLOB ポリシーにより管理され、メモリ使用量を制御し、必要に応じて一時ファイルにスピルできるようになります。 + +**プレゼンテーションのロード時に BLOB の取り扱いルールはどこで設定しますか?** +[LoadOptions](https://reference.aspose.com/slides/python-net/aspose.slides/loadoptions/) と [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) を使用します。ここで BLOB のメモリ上限を設定し、一時ファイルの使用許可・不許可、一次ファイルのルート パス、ソース ロック動作を選択できます。 + +**BLOB 設定はパフォーマンスに影響しますか?速度とメモリのバランスはどう取りますか?** +はい。BLOB をメモリに保持すると速度は最大化されますが、RAM 使用量が増加します。メモリ上限を下げると、作業の多くが一時ファイルにオフロードされ、RAM は削減されますが追加の I/O が発生します。ワークロードと環境に合わせて、[max_blobs_bytes_in_memory](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/max_blobs_bytes_in_memory/) の閾値を調整し、適切なバランスを取ってください。 + +**極めて大きなプレゼンテーション(例:数ギガバイト)を開く際に BLOB オプションは役立ちますか?** +はい。[BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) はこのようなシナリオ向けに設計されています。一時ファイルを有効にし、ソース ロックを使用することで、ピーク時の RAM 使用量を大幅に削減し、非常に大きなデッキの処理を安定させることができます。 -{{% /alert %}} \ No newline at end of file +**ディスク ファイルではなくストリームからロードする際にも BLOB ポリシーを使用できますか?** +はい。同じルールがストリームにも適用されます。プレゼンテーション インスタンスは入力ストリームを所有およびロックでき(選択したロック モードに依存)、許可されている場合は一時ファイルが使用され、処理中のメモリ使用量を予測可能に保ちます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/ja/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 0f5c0ceed4..3388641f9a 100644 --- a/ja/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/ja/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,5 +1,5 @@ --- -title: Python でプレゼンテーションに画像フレームを追加 +title: Pythonでプレゼンテーションに画像フレームを追加する linktitle: 画像フレーム type: docs weight: 10 @@ -11,116 +11,104 @@ keywords: - 画像を追加 - 画像を作成 - 画像を抽出 -- ラスター画像 -- ベクター画像 +- ラスタ画像 +- ベクタ画像 - 画像をトリミング - トリミング領域 - StretchOff プロパティ - 画像フレームの書式設定 - 画像フレームのプロパティ - 相対スケール -- 画像効果 +- 画像エフェクト - アスペクト比 -- 画像の透過性 +- 画像の透明度 - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Pythonと Aspose.Slides for Python via .NET を使用して、PowerPoint と OpenDocument プレゼンテーションに画像フレームを追加します。ワークフローを効率化し、スライドデザインを向上させましょう。" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションに画像フレームを追加します。ワークフローを効率化し、スライドデザインを向上させましょう。" --- -ピクチャーフレームは画像を含むシェイプで、フレームに入った写真のようなものです。 +## **概要** -ピクチャーフレームを通じてスライドに画像を追加できます。この方法で、ピクチャーフレームをフォーマットすることで画像のフォーマットも行えます。 +Aspose.Slides for Python の画像フレームを使用すると、ラスタ画像とベクタ画像をネイティブ スライド シェイプとして配置および管理できます。ファイルまたはストリームから画像を挿入し、正確な座標で位置合わせとサイズ変更を行い、回転を適用し、透明度を設定し、他のシェイプと同様に Z オーダーを制御できます。API は画像のトリミング、アスペクト比の維持、枠線や効果の設定、レイアウトを再構築せずに基になる画像を置き換えることもサポートします。画像フレームは通常のシェイプと同様に動作するため、アニメーション、ハイパーリンク、代替テキストを追加でき、視覚的にリッチでアクセシブルなプレゼンテーションを簡単に作成できます。 -{{% alert title="ヒント" color="primary" %}} +## **画像フレームの作成** -Asposeは無料のコンバーターを提供しています—[JPEG to PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) および [PNG to PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—これにより、ユーザーは画像から迅速にプレゼンテーションを作成できます。 +このセクションでは、Aspose.Slides for Python で [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) を作成してスライドに画像を挿入する方法を示します。画像の読み込み、スライド上への正確な配置、サイズと書式の制御を学びます。 -{{% /alert %}} - -## **ピクチャーフレームの作成** - -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. プレゼンテーションオブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)に画像を追加することで[IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/)オブジェクトを作成します。 -4. 画像の幅と高さを指定します。 -5. 参照されたスライドに関連するシェイプオブジェクトが公開する`AddPictureFrame`メソッドを通じて、画像の幅と高さに基づいて[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)を作成します。 -6. スライドに画像を含むピクチャーフレームを追加します。 -7. 変更されたプレゼンテーションをPPTXファイルとして保存します。 - -このPythonコードはピクチャーフレームの作成方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスでスライドを取得します。 +3. プレゼンテーションの [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) に画像を追加して [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) を作成します。この画像がシェイプのフィルに使用されます。 +4. フレームの幅と高さを指定します。 +5. [add_picture_frame](httpshttps://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) メソッドを使用してそのサイズの [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) を作成します。 +6. プレゼンテーションを PPTX ファイルとして保存します。 +以下の Python コードは画像フレームの作成方法を示しています: ```py import aspose.slides as slides -import aspose.pydrawing as draw -# PPTXファイルを表すPresentationクラスをインスタンス化します -with slides.Presentation() as pres: - # 最初のスライドを取得します - sld = pres.slides[0] - - # ImageExクラスをインスタンス化します - with open("img.jpeg", "rb") as in_file: - image = pres.images.add_image(in_file) +# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。 +with slides.Presentation() as presentation: + # 最初のスライドを取得します。 + slide = presentation.slides[0] - # 画像の等価な高さと幅でフレームを追加します - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, image.width, image.height, image) + # 画像をプレゼンテーションに追加します。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # PictureFrameExにいくつかのフォーマットを適用します - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # 画像と同サイズの画像フレームを追加します。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # PPTXファイルをディスクに書き込みます - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # プレゼンテーションを PPTX として保存します。 + presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="warning" %}} - -ピクチャーフレームを使用すると、画像に基づいてプレゼンテーションスライドを迅速に作成できます。Aspose.Slidesの保存オプションと組み合わせることで、画像のフォーマットを他の形式に変換するための入出力操作を操作できます。以下のページも参照することをお勧めします: [画像をJPGに変換](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); [JPGを画像に変換](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); [JPGをPNGに変換](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/), [PNGをJPGに変換](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); [PNGをSVGに変換](https://products.aspose.com/slides/python-net/conversion/png-to-svg/), [SVGをPNGに変換](https://products.aspose.com/slides/python-net/conversion/svg-to-png/)。 +{{% alert color="warning" %}} +画像フレームを使用すると、画像からプレゼンテーション スライドをすばやく作成できます。画像フレームと Aspose.Slides の保存オプションを組み合わせると、画像の形式変換の I/O 操作を制御できます。次のページも参考にしてください: 画像を JPG に変換([image to JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/)); JPG を画像に変換([JPG to image](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/)); JPG を PNG に変換([JPG to PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/)); PNG を JPG に変換([PNG to JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/)); PNG を SVG に変換([PNG to SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/)); SVG を PNG に変換([SVG to PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/)). {{% /alert %}} -## **相対スケールでピクチャーフレームを作成する** +## **相対スケールで画像フレームを作成する** -画像の相対スケーリングを変更することで、より複雑なピクチャーフレームを作成できます。 +このセクションでは、固定サイズで画像を配置し、幅と高さに対してパーセンテージ ベースのスケーリングを個別に適用する方法を示します。パーセンテージが異なる場合、アスペクト比が変化します。スケーリングは画像の元の寸法に対して相対的に行われます。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. プレゼンテーション画像コレクションに画像を追加します。 -4. プレゼンテーションオブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)に画像を追加することで[IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/)オブジェクトを作成します。 -5. ピクチャーフレーム内で画像の相対的な幅と高さを指定します。 -6. 変更されたプレゼンテーションをPPTXファイルとして保存します。 - -このPythonコードは相対スケールでのピクチャーフレームの作成方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスでスライドを取得します。 +3. プレゼンテーションの [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) に画像を追加して [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) を作成します。 +4. スライドに [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) を追加します。 +5. 画像フレームの相対的な幅と高さを設定します。 +6. プレゼンテーションを PPTX ファイルとして保存します。 +以下の Python コードは相対スケーリング付き画像フレームの作成方法を示しています: ```py import aspose.slides as slides -# PPTXファイルを表すPresentationクラスをインスタンス化します +# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。 with slides.Presentation() as presentation: - # プレゼンテーション画像コレクションに追加される画像を読み込みます - with open("img.jpeg", "rb") as in_file: - image = presentation.images.add_image(in_file) + # 最初のスライドを取得します。 + slide = presentation.slides[0] + + # 画像をプレゼンテーションの画像コレクションに追加します。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # スライドにピクチャーフレームを追加します - pf = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) + # スライドに画像フレームを追加します。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # 相対スケールの幅と高さを設定します - pf.relative_scale_height = 0.8 - pf.relative_scale_width = 1.35 + # 相対スケールの幅と高さを設定します。 + picture_frame.relative_scale_height = 0.8 + picture_frame.relative_scale_width = 1.35 - # プレゼンテーションを保存します - presentation.save("Adding Picture Frame with Relative Scale_out.pptx", slides.export.SaveFormat.PPTX) + # プレゼンテーションを保存します。 + presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX) ``` -## **ピクチャーフレームから画像を抽出する** -[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)オブジェクトから画像を抽出し、PNG、JPGなどの形式で保存することができます。以下のコード例は、「sample.pptx」というドキュメントから画像を抽出し、PNG形式で保存する方法を示しています。 +## **画像フレームからラスタ画像を抽出する** +[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) オブジェクトからラスタ画像を抽出し、PNG、JPG などの形式で保存できます。以下のコード例は、ドキュメント「sample.pptx」から画像を抽出し、PNG 形式で保存する方法を示しています。 ```python import aspose.slides as slides @@ -133,247 +121,289 @@ with slides.Presentation("sample.pptx") as presentation: image.save("slide_1_shape_1.png", slides.ImageFormat.PNG) ``` -## **画像の透過性を取得する** -Aspose.Slidesを使用すると、画像の透過性を取得できます。このPythonコードはその操作を示しています: +## **画像フレームから SVG 画像を抽出する** +プレゼンテーションに SVG グラフィックが [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) シェイプ内に配置されている場合、Aspose.Slides for Python via .NET を使用して元のベクタ画像をフル フィデリティで取得できます。スライドのシェイプコレクションを走査し、各 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) を特定し、基になる [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) が SVG コンテンツを保持しているか確認し、ネイティブ SVG 形式でディスクまたはストリームに保存します。 + +以下のコード例は画像フレームから SVG 画像を抽出する方法を示しています: +```py +import aspose.slides as slides + +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + if isinstance(shape, slides.PictureFrame): + svg_image = shape.picture_format.picture.image.svg_image + + if svg_image is not None: + with open("output.svg", "w", encoding="utf-8") as svg_stream: + svg_stream.write(svg_image.svg_content) +``` + + +## **画像の透明度を取得する** + +Aspose.Slides は画像に適用された透明度エフェクトを取得できます。この Python コードはその操作を示しています: ```python import aspose.slides as slides -with slides.Presentation("pres.pptx") as presentation: - pictureFrame = presentation.slides[0].shapes[0] - imageTransform = pictureFrame.picture_format.picture.image_transform - for effect in imageTransform: - if type(effect) is slides.AlphaModulateFixed: - transparencyValue = 100 - effect.amount - print("画像の透過性: " + str(transparencyValue)) +with slides.Presentation("sample.pptx") as presentation: + picture_frame = presentation.slides[0].shapes[0] + image_transform = picture_frame.picture_format.picture.image_transform + for effect in image_transform: + if isinstance(effect, slides.effects.AlphaModulateFixed): + transparency_value = 100 - effect.amount + print("Picture transparency: " + str(transparency_value)) ``` -## **ピクチャーフレームのフォーマット** -Aspose.Slidesは、ピクチャーフレームに適用できる多くのフォーマットオプションを提供しています。これらのオプションを使用することで、特定の要件に合ったピクチャーフレームを変更できます。 +{{% alert color="primary" %}} +画像に適用されたすべてのエフェクトは [aspose.slides.effects](https://reference.aspose.com/slides/python-net/aspose.slides.effects/) で確認できます。 +{{% /alert %}} + +## **画像フレームの書式設定** -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. プレゼンテーションオブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)に画像を追加することで[IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage)オブジェクトを作成します。 -4. 画像の幅と高さを指定します。 -5. 参照されたスライドに関連する[IShapes](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection)オブジェクトが公開する[AddPictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/)メソッドを使用して、画像の幅と高さに基づいて`PictureFrame`を作成します。 -6. 画像を含むピクチャーフレームをスライドに追加します。 -7. ピクチャーフレームの線の色を設定します。 -8. ピクチャーフレームの線の幅を設定します。 -9. ピクチャーフレームを回転させ、正または負の値を与えます。 - * 正の値は画像を時計回りに回転させます。 - * 負の値は画像を反時計回りに回転させます。 -10. 画像を含むピクチャーフレームをスライドに追加します。 -11. 変更されたプレゼンテーションをPPTXファイルとして保存します。 +Aspose.Slides は画像フレームに適用できる多数の書式設定オプションを提供します。これらのオプションを使用して、特定の要件に合わせて画像フレームを調整できます。 -このPythonコードは、ピクチャーフレームのフォーマットプロセスを示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスでスライドを取得します。 +3. プレゼンテーションの [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) に画像を追加して [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) を作成します。この画像がシェイプのフィルに使用されます。 +4. フレームの幅と高さを指定します。 +5. スライドの [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) メソッドを使用してそのサイズの [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) を作成します。 +6. 画像フレームの線色を設定します。 +7. 画像フレームの線幅を設定します。 +8. 正の値(時計回り)または負の値(反時計回り)を指定して画像フレームを回転させます。 +9. 変更したプレゼンテーションを PPTX ファイルとして保存します。 +以下の Python コードは画像フレームの書式設定プロセスを示しています: ```py import aspose.slides as slides import aspose.pydrawing as draw -# PPTXファイルを表すPresentationクラスをインスタンス化します -with slides.Presentation() as pres: - # 最初のスライドを取得します - sld = pres.slides[0] +# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。 +with slides.Presentation() as presentation: + # 最初のスライドを取得します。 + slide = presentation.slides[0] - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) + # 画像をプレゼンテーションの画像コレクションに追加します。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # 画像の等価な高さと幅でピクチャーフレームを追加します - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, imgx.width, imgx.height, imgx) + # 画像と同サイズの画像フレームを追加します。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # PictureFrameExにいくつかのフォーマットを適用します - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # 画像フレームに書式設定を適用します。 + picture_frame.line_format.fill_format.fill_type = slides.FillType.SOLID + picture_frame.line_format.fill_format.solid_fill_color.color = draw.Color.blue + picture_frame.line_format.width = 20 + picture_frame.rotation = 45 - # PPTXファイルをディスクに書き込みます - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # プレゼンテーションを PPTX として保存します。 + presentation.save("picture_formatting.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="ヒント" color="primary" %}} - -Asposeは最近[無料のコラージュメーカー](https://products.aspose.app/slides/collage)を開発しました。JPG/JPEGやPNG画像を[マージ](https://products.aspose.app/slides/collage/jpg)したり、[写真からグリッドを作成](https://products.aspose.app/slides/collage/photo-grid)したりする必要がある場合は、このサービスを利用できます。 +{{% alert title="Tip" color="primary" %}} +Aspose は無料の [Collage Maker](https://products.aspose.app/slides/collage) を提供しています。JPG/JPEG または PNG 画像を結合したり、フォトグリッドを作成したりする場合はこのサービスをご利用ください。 {{% /alert %}} -## **リンクとして画像を追加** - -大きなプレゼンテーションファイルサイズを避けるために、画像(または動画)をプレゼンテーションに直接埋め込むのではなく、リンクを通じて追加することができます。このPythonコードは、プレースホルダーに画像と動画を追加する方法を示しています: +## **リンクとして画像を追加する** +プレゼンテーション ファイルのサイズを小さく保つために、画像やビデオを埋め込む代わりにリンクとして追加できます。以下の Python コードはプレースホルダーに画像とビデオを挿入する方法を示しています: ```python import aspose.slides as slides with slides.Presentation("input.pptx") as presentation: - shapesToRemove = [] + slide = presentation.slides[0] + + shapes_to_remove = [] - for autoShape in presentation.slides[0].shapes: - if autoShape.placeholder is None: + for shape in slide.shapes: + if shape.placeholder is None: continue - - if autoShape.placeholder.type == slides.PlaceholderType.PICTURE: - pictureFrame = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, - autoShape.x, autoShape.y, autoShape.width, autoShape.height, None) - pictureFrame.picture_format.picture.link_path_long = \ + if shape.placeholder.type == slides.PlaceholderType.PICTURE: + picture_frame = slide.shapes.add_picture_frame( + slides.ShapeType.RECTANGLE, shape.x, shape.y, shape.width, shape.height, None) + + picture_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - shapesToRemove.append(autoShape) + shapes_to_remove.append(shape) - elif autoShape.placeholder.type == slides.PlaceholderType.MEDIA: - videoFrame = presentation.slides[0].shapes.add_video_frame( - autoShape.X, autoShape.Y, autoShape.width, autoShape.height, "") + elif shape.placeholder.type == slides.PlaceholderType.MEDIA: + video_frame = slide.shapes.add_video_frame(shape.X, shape.Y, shape.width, shape.height, "") - videoFrame.picture_format.picture.link_path_long = \ + video_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - videoFrame.link_path_long = "https://youtu.be/t_1LYZ102RA" - shapesToRemove.append(autoShape) - - + video_frame.link_path_long = "https://youtu.be/t_1LYZ102RA" + shapes_to_remove.append(shape) - for shape in shapesToRemove: - presentation.slides[0].shapes.remove(shape) + for shape in shapes_to_remove: + slide.shapes.remove(shape) presentation.save("output.pptx", slides.export.SaveFormat.PPTX) ``` + ## **画像のトリミング** -このPythonコードは、スライド上の既存の画像をトリミングする方法を示しています: +このセクションでは、画像フレーム内の画像の表示領域をソース ファイルを変更せずにトリミングする方法を学びます。また、トリミング マージンを適用してスライド上でクリーンでフォーカスされた構図を作成する基本的な方法も学びます。 -``` py +以下の Python コードはスライド上の画像をトリミングする方法を示しています: +```py import aspose.slides as slides with slides.Presentation() as presentation: - # 新しい画像オブジェクトを作成します - newImage = presentation.images.add_image(slides.Images.from_file(imagePath)) + slide = presentation.slides[0] - # スライドにPictureFrameを追加します - picFrame = presentation.slides[0].shapes.add_picture_frame( - slides.ShapeType.RECTANGLE, 100, 100, 420, 250, newImage) + # 画像をプレゼンテーションの画像コレクションに追加します。 + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # 画像をトリミングします(パーセンテージ値) - picFrame.picture_format.crop_left = 23.6 - picFrame.picture_format.crop_right = 21.5 - picFrame.picture_format.crop_top = 3 - picFrame.picture_format.crop_bottom = 31 + # スライドに画像フレームを追加します。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 100, 100, 420, 250, image) - # 結果を保存します - presentation.save(outPptxFile, slides.export.SaveFormat.PPTX) + # 画像をトリミングします(パーセンテージ値)。 + picture_frame.picture_format.crop_left = 23.6 + picture_frame.picture_format.crop_right = 21.5 + picture_frame.picture_format.crop_top = 3 + picture_frame.picture_format.crop_bottom = 31 + # 結果を保存します。 + presentation.save("cropped_image.pptx", slides.export.SaveFormat.PPTX) ``` -## ピクチャーのトリミングされた領域を削除する -フレーム内の画像のトリミングされた領域を削除したい場合は、[delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/)メソッドを使用できます。このメソッドは、トリミングされた画像またはトリミングが不要な場合は元の画像を返します。 +## **トリミング領域を削除する** -このPythonコードはその操作を示しています: +フレーム内の画像のトリミング領域を削除したい場合は、[delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) メソッドを使用します。このメソッドはトリミングされた画像を返すか、トリミングが不要な場合は元の画像を返します。 +以下の Python コードはその操作を示しています: ```python import aspose.slides as slides -with slides.Presentation(path + "PictureFrameCrop.pptx") as pres: - slide = pres.slides[0] +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # 最初のスライドからPictureFrameを取得します + # 最初のスライドから PictureFrame を取得します。 picture_frame = slides.shape[0] - # PictureFrame画像のトリミングされた領域を削除し、トリミングされた画像を返します + # 最初のスライドから PictureFrame を取得します。 cropped_image = picture_frame.picture_format.delete_picture_cropped_areas() - # 結果を保存します - pres.save(path + "PictureFrameDeleteCroppedAreas.pptx", slides.export.SaveFormat.PPTX) + # 結果を保存します。 + presentation.save("deleted_cropped_areas.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="注意" color="warning" %}} -delete_picture_cropped_areasメソッドは、トリミングされた画像をプレゼンテーション画像コレクションに追加します。画像が処理された[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)でのみ使用されている場合、この設定はプレゼンテーションのサイズを減らすことができます。そうでない場合、結果として得られるプレゼンテーションの画像数は増加します。 - -このメソッドは、トリミング操作中にWMF/EMFメタファイルをラスタPNG画像に変換します。 +{{% alert title="NOTE" color="warning" %}} +[delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) メソッドはトリミングされた画像をプレゼンテーションの画像コレクションに追加します。画像が処理された [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) のみで使用されている場合、プレゼンテーションのサイズを削減できますが、複数の場所で使用されている場合は画像数が増える可能性があります。 +トリミング中に、このメソッドは WMF/EMF メタファイルをラスタ PNG 画像に変換します。 {{% /alert %}} -## **アスペクト比を固定する** - -画像を含むシェイプが画像の寸法を変更してもアスペクト比を保持する必要がある場合、*aspect_ratio_locked*プロパティを使用して*アスペクト比を固定*の設定を行うことができます。 +## **アスペクト比をロックする** -このPythonコードは、シェイプのアスペクト比を固定する方法を示しています: +画像のサイズを変更した後も形状のアスペクト比を保持したい場合は、[aspect_ratio_locked](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/aspect_ratio_locked/) プロパティを `True` に設定します。 +以下の Python コードは形状のアスペクト比をロックする方法を示しています: ```python -from aspose.slides import SlideLayoutType, Presentation, ShapeType -from aspose.pydrawing import Image +import aspose.slides as slides -with Presentation("pres.pptx") as pres: - layout = pres.layout_slides.get_by_type(SlideLayoutType.CUSTOM) - emptySlide = pres.slides.add_empty_slide(layout) - image = Image.from_file("image.png") - presImage = pres.images.add_image(image) +with slides.Presentation("sample.pptx") as presentation: + layout = presentation.layout_slides.get_by_type(slides.SlideLayoutType.CUSTOM) + empty_slide = presentation.slides.add_empty_slide(layout) - pictureFrame = emptySlide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 150, presImage.width, presImage.height, presImage) + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # 形状のリサイズ時にアスペクト比を保持する設定をします - pictureFrame.picture_frame_lock.aspect_ratio_locked = True -``` + picture_frame = empty_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) + + # リサイズ時にアスペクト比をロックします。 + picture_frame.picture_frame_lock.aspect_ratio_locked = True -{{% alert title="注意" color="warning" %}} + presentation.save("aspect_ratio_locked.pptx", slides.export.SaveFormat.PPTX) +``` -この*アスペクト比を固定*の設定は、シェイプのアスペクト比を保持するのみで、含まれている画像のアスペクト比は保持されません。 +{{% alert title="NOTE" color="warning" %}} +この *Lock Aspect Ratio* 設定はシェイプ自体のアスペクト比だけを保持し、内部の画像のアスペクト比は保持しません。 {{% /alert %}} -## **StretchOffプロパティを使用する** - -[IPictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/)インターフェースおよび[PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/)クラスからの`StretchOffsetLeft`、`StretchOffsetTop`、`StretchOffsetRight`および`StretchOffsetBottom`プロパティを使用して、フィル矩形を指定できます。 +## **ストレッチオフセット プロパティを使用する** -画像のストレッチが指定されると、ソース矩形が指定されたフィル矩形に合わせてスケーリングされます。フィル矩形の各辺は、形状のバウンディングボックスの対応する辺からのパーセンテージオフセットによって定義されます。正のパーセンテージはインセットを指定し、負のパーセンテージはアウトセットを指定します。 +[PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/) クラスの `stretch_offset_left`、`stretch_offset_top`、`stretch_offset_right`、`stretch_offset_bottom` プロパティを使用すると、フィル矩形を定義できます。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. 四角形の`AutoShape`を追加します。 -4. 画像を作成します。 -5. 形状のフィルタイプを設定します。 -6. 形状の画像フィルモードを設定します。 -7. 形状を満たす画像を追加します。 -8. 形状のバウンディングボックスの対応する辺からの画像オフセットを指定します。 -9. 変更されたプレゼンテーションをPPTXファイルとして保存します。 +画像に対してストレッチが指定されると、ソース矩形はフィル矩形に合わせて拡大縮小されます。フィル矩形の各辺はシェイプのバウンディング ボックスの対応する辺からのパーセンテージ オフセットで定義されます。正のパーセンテージはインセット、負のパーセンテージはアウトセットを表します。 -このPythonコードは、StretchOffプロパティを使用するプロセスを示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスでスライドへの参照を取得します。 +3. 長方形の [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) を追加します。 +4. シェイプの塗りつぶしタイプを設定します。 +5. シェイプの画像塗りつぶしモードを設定します。 +6. 画像をロードします。 +7. 画像をシェイプのフィルとして割り当てます。 +8. シェイプのバウンディング ボックスの対応する辺からの画像オフセットを指定します。 +9. プレゼンテーションを PPTX ファイルとして保存します。 +以下の Python コードは Stretch Offset プロパティの使用方法を示しています: ```py import aspose.slides as slides -# PPTXファイルを表すPresentationクラスをインスタンス化します -with slides.Presentation() as pres: +# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。 +with slides.Presentation() as presentation: + # 最初のスライドを取得します。 + slide = presentation.slides[0] + + # 四角形の AutoShape を追加します。 + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 300, 300) + + # シェイプの塗りつぶしタイプを設定します。 + shape.fill_format.fill_type = slides.FillType.PICTURE + + # シェイプの画像塗りつぶしモードを設定します。 + shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH + + # 画像を読み込み、プレゼンテーションに追加します。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) + + # シェイプの塗りつぶしに画像を割り当てます。 + shape.fill_format.picture_fill_format.picture.image = image + + # シェイプのバウンディングボックスの対応する辺からの画像オフセットを指定します。 + shape.fill_format.picture_fill_format.stretch_offset_left = 25 + shape.fill_format.picture_fill_format.stretch_offset_right = 25 + shape.fill_format.picture_fill_format.stretch_offset_top = -20 + shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 + + # PPTX ファイルをディスクに保存します。 + presentation.save("stretch_offset.pptx", slides.export.SaveFormat.PPTX) +``` + + +{{% alert title="Tip" color="primary" %}} +Aspose は無料のコンバータ―を提供しています—[JPEG を PowerPoint に変換](https://products.aspose.app/slides/import/jpg-to-ppt) と [PNG を PowerPoint に変換](https://products.aspose.app/slides/import/png-to-ppt) —これにより画像からプレゼンテーションをすばやく作成できます。 +{{% /alert %}} + +## **FAQ** + +**画像フレームでサポートされている画像形式はどのように確認できますか?** - # 最初のスライドを取得します - slide = pres.slides[0] +Aspose.Slides はラスタ画像 (PNG、JPEG、BMP、GIF など) とベクタ画像 (例: SVG) の両方を、[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) に割り当てられた画像オブジェクトを通じてサポートします。サポートされている形式の一覧は、スライドおよび画像変換エンジンの機能と概ね重なります。 - # ImageExクラスをインスタンス化します - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) +**多数の大きな画像を追加すると PPTX のサイズとパフォーマンスにどのような影響がありますか?** - # 画像の等価な高さと幅でピクチャーフレームを追加します - shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 300) +大きな画像を埋め込むとファイル サイズとメモリ使用量が増加します。画像をリンクとして追加するとプレゼンテーションのサイズを抑えられますが、外部ファイルが利用可能である必要があります。Aspose.Slides はリンクによる画像追加機能を提供してファイル サイズ削減を支援します。 - # 形状のフィルタイプを設定します - shape.fill_format.fill_type = slides.FillType.PICTURE +**画像オブジェクトが誤って移動/サイズ変更されないようにロックするには?** - # 形状の画像フィルモードを設定します - shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH +[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 用の [shape locks](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/picture_frame_lock/) を使用します (例: 移動やサイズ変更を無効化)。ロック機構は別記事の [protection article](/slides/ja/python-net/applying-protection-to-presentation/) に記載されており、さまざまなシェイプタイプでサポートされています。 - # 形状を満たす画像を設定します - shape.fill_format.picture_fill_format.picture.image = imgx +**SVG ベクタの忠実度は PDF/画像へのエクスポート時に保持されますか?** - # 形状のバウンディングボックスの対応する辺からの画像オフセットを指定します - shape.fill_format.picture_fill_format.stretch_offset_left = 25 - shape.fill_format.picture_fill_format.stretch_offset_right = 25 - shape.fill_format.picture_fill_format.stretch_offset_top = -20 - shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 - - # PPTXファイルをディスクに書き込みます - pres.save("StretchOffsetLeftForPictureFrame_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Aspose.Slides は [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) から元のベクタとして SVG を抽出できます。[PDF にエクスポート](/slides/ja/python-net/convert-powerpoint-to-pdf/) や [ラスタ形式にエクスポート](/slides/ja/python-net/convert-powerpoint-to-png/) する際、エクスポート設定によりラスタ化されることがありますが、抽出時にベクタとして保持されていることが確認できます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/ja/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index 0b72919f81..d33a443cd7 100644 --- a/ja/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/ja/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,33 +1,45 @@ --- -title: ビデオフレーム +title: Pythonでプレゼンテーションにビデオを追加する +linktitle: ビデオフレーム type: docs weight: 10 url: /ja/python-net/video-frame/ -keywords: "ビデオを追加, ビデオフレームを作成, ビデオを抽出, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでPowerPointプレゼンテーションにビデオフレームを追加する" +keywords: +- ビデオを追加する +- ビデオを作成する +- ビデオを埋め込む +- ビデオを抽出する +- ビデオを取得する +- ビデオフレーム +- ウェブソース +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument スライドにビデオフレームをプログラムで追加および抽出する方法を学びます。迅速なハウツーガイド。" --- -プレゼンテーションに適切に配置されたビデオは、メッセージをより魅力的にし、聴衆とのエンゲージメントレベルを高めることができます。 +プレゼンテーションに適切に配置されたビデオは、メッセージをより説得力のあるものにし、聴衆とのエンゲージメントレベルを高めることができます。 -PowerPointでは、プレゼンテーションのスライドにビデオを追加する方法が2つあります。 +PowerPointでは、プレゼンテーションのスライドにビデオを追加する方法は次の2つがあります。 -* ローカルビデオ(マシンに保存されたもの)を追加または埋め込む -* オンラインビデオ(YouTubeなどのウェブソースから)を追加する。 +* ローカルビデオを追加または埋め込む(マシンに保存されているもの) +* オンラインビデオを追加する(YouTubeなどのウェブソースから) -ビデオ(ビデオオブジェクト)をプレゼンテーションに追加できるように、Aspose.Slidesは[IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)インターフェイス、[IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/)インターフェイス、およびその他の関連タイプを提供します。 +プレゼンテーションにビデオオブジェクトを追加できるように、Aspose.Slidesは[IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)インターフェイス、[IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/)インターフェイス、およびその他の関連型を提供します。 ## **埋め込みビデオフレームの作成** -スライドに追加したいビデオファイルがローカルに保存されている場合、プレゼンテーションにビデオを埋め込むためのビデオフレームを作成できます。 +スライドに追加したいビデオファイルがローカルに保存されている場合、プレゼンテーションにビデオを埋め込むビデオフレームを作成できます。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. インデックスを通じてスライドの参照を取得します。 -1. [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)オブジェクトを追加し、ビデオファイルのパスを渡してプレゼンテーションにビデオを埋め込みます。 -1. ビデオのためのフレームを作成するために[IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/)オブジェクトを追加します。 -1. 修正されたプレゼンテーションを保存します。 - -このPythonコードは、ローカルに保存されたビデオをプレゼンテーションに追加する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 +1. インデックスを使ってスライドの参照を取得します。 +1. [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)オブジェクトを追加し、ビデオファイルのパスを渡してプレゼンテーションにビデオを埋め込みます。 +1. [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/)オブジェクトを追加してビデオ用のフレームを作成します。 +1. 変更したプレゼンテーションを保存します。 +このPythonコードは、ローカルに保存されたビデオをプレゼンテーションに追加する方法を示しています: ```python import aspose.slides as slides @@ -35,15 +47,13 @@ with slides.Presentation(path + "pres.pptx") as pres: with open("Wildlife.mp4", "br") as fileStream: video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) - # 最初のスライドを取得してビデオフレームを追加 - pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video) - - # プレゼンテーションをディスクに保存 + # 最初のスライドを取得し、ビデオフレームを追加します + # プレゼンテーションをディスクに保存します pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX) ``` -また、`add_video_frame(x, y, width, height, fname)`メソッドにファイルパスを直接渡してビデオを追加することもできます: +あるいは、`add_video_frame(x, y, width, height, fname)`メソッドにファイルパスを直接渡してビデオを追加することもできます: ``` python import aspose.slides as slides @@ -53,28 +63,27 @@ with slides.Presentation() as pres: ``` -## **ウェブソースからのビデオを使用したビデオフレームの作成** +## **ウェブソースからのビデオフレームの作成** -Microsoft [PowerPoint 2013以降](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us)は、プレゼンテーションにYouTubeビデオをサポートしています。使用したいビデオがオンラインで利用可能な場合(例:YouTube)、ウェブリンクを介してプレゼンテーションに追加できます。 +Microsoft[PowerPoint 2013以降](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us)は、プレゼンテーションでYouTubeビデオをサポートしています。使用したいビデオがオンライン(例: YouTube)にある場合、そのウェブリンクを使ってプレゼンテーションに追加できます。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. インデックスを通じてスライドの参照を取得します。 -1. [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)オブジェクトを追加し、ビデオのリンクを渡します。 -1. ビデオフレームのサムネイルを設定します。 -1. プレゼンテーションを保存します。 - -このPythonコードは、ウェブからスライドにビデオを追加する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 +1. インデックスを使ってスライドの参照を取得します。 +1. [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/)オブジェクトを追加し、ビデオへのリンクを渡します。 +1. ビデオフレームのサムネイルを設定します。 +1. プレゼンテーションを保存します。 +このPythonコードは、ウェブ上のビデオをPowerPointプレゼンテーションのスライドに追加する方法を示しています: ```python import aspose.slides as slides from urllib.request import urlopen def add_video_from_youyube(pres, videoId): - # ビデオフレームを追加 + # ビデオフレームを追加します videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId) videoFrame.play_mode = slides.VideoPlayModePreset.AUTO - # サムネイルを読み込み + # サムネイルをロードします thumbnail_uri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg" f = urlopen(thumbnail_uri) videoFrame.picture_format.picture.image = pres.images.add_image(f.read()) @@ -85,21 +94,21 @@ with slides.Presentation() as pres: pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **スライドからのビデオの抽出** -スライドにビデオを追加することに加えて、Aspose.Slidesはプレゼンテーションに埋め込まれたビデオを抽出することを許可します。 +## **スライドからビデオを抽出する** -1. ビデオを含むプレゼンテーションをロードするために[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. すべての[ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/)オブジェクトを反復処理します。 -3. すべての[IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/)オブジェクトを反復処理して[VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/)を見つけます。 -4. ビデオをディスクに保存します。 +ビデオをスライドに追加するだけでなく、Aspose.Slidesはプレゼンテーションに埋め込まれたビデオを抽出することも可能です。 -このPythonコードは、プレゼンテーションスライド上のビデオを抽出する方法を示しています: +1. ビデオを含むプレゼンテーションを読み込むために、[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 +2. すべての[ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/)オブジェクトを列挙します。 +3. すべての[IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/)オブジェクトを列挙し、[VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/)を探します。 +4. ビデオをディスクに保存します。 +このPythonコードは、プレゼンテーションのスライドからビデオを抽出する方法を示しています: ```python import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 +# プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します with slides.Presentation(path + "Video.pptx") as presentation: for shape in presentation.slides[0].shapes: if type(shape) is slides.VideoFrame: @@ -107,4 +116,23 @@ with slides.Presentation(path + "Video.pptx") as presentation: buffer = shape.embedded_video.binary_data with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream: stream.write(buffer) -``` \ No newline at end of file +``` + + +## **FAQ** + +**VideoFrameの再生パラメータで変更できる項目は何ですか?** + +[再生モード](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_mode/)(自動またはクリック)と[ループ設定](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_loop_mode/)を制御できます。これらのオプションは[VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/)オブジェクトのプロパティで利用できます。 + +**ビデオを追加するとPPTXファイルのサイズは増えますか?** + +はい。ローカルビデオを埋め込むと、バイナリデータがドキュメントに含まれるため、プレゼンテーションのサイズはビデオファイルのサイズに比例して増加します。オンラインビデオを追加する場合は、リンクとサムネイルが埋め込まれるだけなので、サイズ増加は小さくなります。 + +**既存のVideoFrameの位置やサイズを変更せずにビデオだけを差し替えることは可能ですか?** + +はい。フレーム内の[ビデオ コンテンツ](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/embedded_video/)を入れ替えることで、シェイプのジオメトリを保持したままビデオを更新できます。これはレイアウト内のメディアを更新する一般的なシナリオです。 + +**埋め込みビデオのコンテンツタイプ(MIME)を取得できますか?** + +はい。埋め込みビデオには[コンテンツタイプ](https://reference.aspose.com/slides/python-net/aspose.slides/video/content_type/)があり、これを読み取ってディスクに保存する際などに利用できます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md b/ja/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md index 9336879f0b..fc2e9358aa 100644 --- a/ja/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/ja/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,5 +1,5 @@ --- -title: Python で WordArt 効果を作成および適用する +title: Python で WordArt 効果を作成して適用する linktitle: WordArt type: docs weight: 110 @@ -10,42 +10,41 @@ keywords: - WordArt テンプレート - WordArt 効果 - 影効果 -- 表示効果 +- ディスプレイ効果 - 光彩効果 -- WordArt 変換 +- WordArt 変形 - 3D 効果 -- 外側の影効果 -- 内側の影効果 +- 外側影効果 +- 内側影効果 - Python - Aspose.Slides -description: "Aspose.Slides for Python を使用して WordArt 効果を作成およびカスタマイズする方法を学びます。このステップバイステップ ガイドは、開発者が Python のプレゼンテーションでスタイリッシュかつプロフェッショナルなテキストを強化するのに役立ちます。" +description: "Aspose.Slides for Python via .NET で WordArt 効果を作成およびカスタマイズする方法を学びます。このステップバイステップガイドは、開発者が Python でスタイリッシュでプロフェッショナルなテキストを使用してプレゼンテーションを強化するのに役立ちます。" --- -## **WordArtとは?** -WordArtまたはWord Artは、テキストに効果を適用して際立たせる機能です。たとえば、WordArtを使えば、テキストをアウトライン化したり、色(またはグラデーション)で塗りつぶしたり、3D効果を追加したりできます。また、テキストの形を歪めたり、曲げたり、伸ばしたりすることもできます。 +## **WordArt とは?** +WordArt(Word Art)は、テキストに効果を適用して目立たせる機能です。たとえば、テキストにアウトラインを付けたり、色(またはグラデーション)で塗りつぶしたり、3D 効果を加えたりできます。また、テキストの形状を傾けたり、曲げたり、伸ばしたりすることもできます。 -{{% alert color="primary" %}} - -WordArtは、テキストをグラフィックオブジェクトのように扱うことを可能にします。WordArtは、テキストをより魅力的または目立たせるための効果や特別な変更で構成されています。 +{{% alert color="primary" %}} -{{% /alert %}} +WordArt は、テキストをグラフィックオブジェクトのように扱うことができます。WordArt は、テキストをより魅力的または目立たせるために加える効果や特別な加工のことです。 -**Microsoft PowerPointのWordArt** +{{% /alert %}} -Microsoft PowerPointでWordArtを使用するには、定義済みのWordArtテンプレートの1つを選択する必要があります。WordArtテンプレートは、テキストまたはその形に適用される効果のセットです。 +**Microsoft PowerPoint の WordArt** -**Aspose.SlidesのWordArt** +Microsoft PowerPoint で WordArt を使用するには、事前定義された WordArt テンプレートのいずれかを選択する必要があります。WordArt テンプレートは、テキストまたはその形状に適用される一連の効果です。 -Aspose.Slides for Python via .NET 20.10では、WordArtのサポートを実装し、その後のAspose.Slides for Python via .NETリリースで機能を改善しました。 +**Aspose.Slides の WordArt** -Aspose.Slides for Python via .NETを使用すると、Pythonで独自のWordArtテンプレート(効果または効果の組み合わせ)を簡単に作成し、それをテキストに適用できます。 +Aspose.Slides for Python via .NET 20.10 で WordArt のサポートを実装し、その後のリリースで機能を改善しました。 -## 簡単なWordArtテンプレートを作成し、テキストに適用する +Aspose.Slides for Python via .NET を使用すると、Python で独自の WordArt テンプレート(単一効果または効果の組み合わせ)を簡単に作成し、テキストに適用できます。 -**Aspose.Slidesの使用** +## シンプルな WordArt テンプレートの作成とテキストへの適用 -まず、このPythonコードを使用して簡単なテキストを作成します: +**Aspose.Slides の使用** +まず、次の Python コードでシンプルなテキストを作成します: ```py import aspose.slides as slides @@ -59,30 +58,30 @@ with slides.Presentation() as pres: pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX) ``` -次に、テキストのフォント高さを大きな値に設定して、効果をより目立たせるためにこのコードを使用します: +次に、以下のコードでテキストのフォント高さを大きく設定し、効果を目立たせます: ```py fontData = slides.FontData("Arial Black") portion.portion_format.latin_font = fontData portion.portion_format.font_height = 36 ``` -**Microsoft PowerPointの使用** -Microsoft PowerPointのWordArt効果メニューに移動します: +**Microsoft PowerPoint の使用** + +Microsoft PowerPoint の WordArt 効果メニューに移動します: ![todo:image_alt_text](image-20200930113926-1.png) -右側のメニューから、定義済みのWordArt効果を選択できます。左側のメニューから、新しいWordArtの設定を指定できます。 +右側のメニューから事前定義された WordArt 効果を選択できます。左側のメニューから新しい WordArt の設定を指定できます。 -これらは利用可能なパラメーターまたはオプションの一部です: +利用可能なパラメーターまたはオプションの一部は次のとおりです: ![todo:image_alt_text](image-20200930114015-3.png) -**Aspose.Slidesの使用** - -ここでは、SmallGridパターンカラーをテキストに適用し、このコードを使用して1幅の黒いテキスト境界線を追加します: +**Aspose.Slides の使用** +ここでは、SmallGrid パターンカラーをテキストに適用し、幅 1 の黒いテキスト枠線を追加するコードを示します: ```py portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange @@ -93,24 +92,24 @@ Microsoft PowerPointのWordArt効果メニューに移動します: portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black ``` -結果のテキスト: + +結果のテキスト: ![todo:image_alt_text](image-20200930114108-4.png) -## 他のWordArt効果を適用する +## 他の WordArt 効果の適用 -**Microsoft PowerPointの使用** +**Microsoft PowerPoint の使用** -プログラムのインターフェイスから、テキスト、テキストブロック、形状、または類似の要素にこれらの効果を適用できます: +プログラムのインターフェイスから、テキスト、テキストブロック、図形、または類似の要素に次の効果を適用できます: ![todo:image_alt_text](image-20200930114129-5.png) -たとえば、シャドウ、反射、グロー効果はテキストに適用できます。3Dフォーマットと3D回転効果はテキストブロックに適用できます。ソフトエッジプロパティは形状オブジェクトに適用できます(3Dフォーマットプロパティが設定されていない場合でも効果があります)。 +例として、影(Shadow)、反射(Reflection)、光彩(Glow)効果はテキストに適用でき、3D 形式(3D Format)と 3D 回転(3D Rotation)効果はテキストブロックに適用できます。ソフトエッジ(Soft Edges)プロパティは図形オブジェクトに適用でき(3D Format が設定されていなくても効果があります)。 -### シャドウ効果を適用する - -ここでは、テキストに関連するプロパティを設定することを目的としています。このコードを使用して、テキストにシャドウ効果を適用します: +### 影(Shadow)効果の適用 +ここではテキストのみのプロパティを設定します。次の Python コードでテキストに影効果を適用します: ```py portion.portion_format.effect_format.enable_outer_shadow_effect() portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black @@ -124,29 +123,29 @@ Microsoft PowerPointのWordArt効果メニューに移動します: portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32) ``` -Aspose.Slides APIは3種類のシャドウをサポートしています:OuterShadow、InnerShadow、PresetShadow。 -PresetShadowを使用すると、テキストにシャドウを適用できます(プリセット値を使用)。 +Aspose.Slides API は、OuterShadow、InnerShadow、PresetShadow の 3 種類の影をサポートしています。 -**Microsoft PowerPointの使用** +PresetShadow を使用すると、事前設定値でテキストに影を適用できます。 -PowerPointでは、1種類のシャドウを使用できます。以下に例を示します: +**Microsoft PowerPoint の使用** -![todo:image_alt_text](image-20200930114225-6.png) +PowerPoint では 1 種類の影だけを使用できます。例を示します: -**Aspose.Slidesの使用** +![todo:image_alt_text](image-20200930114225-6.png) -Aspose.Slidesでは、実際には2種類のシャドウを同時に適用できます:InnerShadowとPresetShadow。 +**Aspose.Slides の使用** -**注意:** +Aspose.Slides は、InnerShadow と PresetShadow の 2 種類の影を同時に適用できます。 -- OuterShadowとPresetShadowを同時に使用すると、OuterShadow効果のみが適用されます。 -- OuterShadowとInnerShadowを同時に使用すると、結果または適用される効果はPowerPointのバージョンによって異なります。たとえば、PowerPoint 2013では効果が2重になります。しかし、PowerPoint 2007ではOuterShadow効果のみが適用されます。 +**注意:** -### テキストに表示を適用する +- OuterShadow と PresetShadow を同時に使用すると、OuterShadow の効果のみが適用されます。 +- OuterShadow と InnerShadow を同時に使用した場合、適用される効果は PowerPoint のバージョンに依存します。たとえば、PowerPoint 2013 では効果が二重に適用されますが、PowerPoint 2007 では OuterShadow のみが適用されます。 -このコードサンプルを使用して、テキストに表示を追加します: +### テキストへのディスプレイ効果の適用 +次の Python サンプルでテキストにディスプレイ効果を追加します: ```py portion.portion_format.effect_format.enable_reflection_effect() portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5 @@ -161,10 +160,10 @@ Aspose.Slidesでは、実際には2種類のシャドウを同時に適用でき portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT ``` -### テキストにグロー効果を適用する -このコードを使用して、テキストにグロー効果を適用し、輝かせたり目立たせたりします: +### テキストへの光彩(Glow)効果の適用 +次のコードでテキストに光彩効果を適用し、輝かせます: ```py portion.portion_format.effect_format.enable_glow_effect() portion.portion_format.effect_format.glow_effect.color.r = 255 @@ -172,45 +171,46 @@ Aspose.Slidesでは、実際には2種類のシャドウを同時に適用でき portion.portion_format.effect_format.glow_effect.radius = 7 ``` -操作の結果: + +操作結果: ![todo:image_alt_text](image-20200930114621-7.png) {{% alert color="primary" %}} -シャドウ、表示、グローのパラメーターを変更できます。効果のプロパティはテキストの各部分に対して個別に設定されます。 +影、ディスプレイ、光彩のパラメーターは個別に変更できます。各テキスト部分ごとに効果のプロパティが設定されます。 {{% /alert %}} -### WordArtで変換を使用する +### WordArt の変形(Transform)使用 -このコードを通じて、テキスト全体のブロックに固有のTransformプロパティを使用します: +次のコードでテキスト全体に対して Transform プロパティ(固有の変形)を使用します: ```py textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR ``` -結果: + +結果: ![todo:image_alt_text](image-20200930114712-8.png) {{% alert color="primary" %}} -Microsoft PowerPointとAspose.Slides for Python via .NETの両方に、定義済みの変換タイプがいくつか用意されています。 +Microsoft PowerPoint と Aspose.Slides for Python via .NET の両方が、事前定義された変形タイプをいくつか提供しています。 {{% /alert %}} -**PowerPointの使用** - -定義済みの変換タイプにアクセスするには、**フォーマット** -> **テキスト効果** -> **変換**に進みます。 +**PowerPoint の使用** -**Aspose.Slidesの使用** +事前定義された変形タイプにアクセスするには、**Format** → **TextEffect** → **Transform** の順に選択します。 -変換タイプを選択するには、TextShapeType列挙体を使用します。 +**Aspose.Slides の使用** -### テキストおよび形状に3D効果を適用する +変形タイプを選択するには、`TextShapeType` 列挙型を使用します。 -このサンプルコードを使用して、テキスト形状に3D効果を設定します: +### テキストおよび図形への 3D 効果の適用 +次のサンプルコードでテキスト形状に 3D 効果を設定します: ```py autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE autoShape.three_d_format.bevel_bottom.height = 10.5 @@ -237,12 +237,12 @@ Microsoft PowerPointとAspose.Slides for Python via .NETの両方に、定義済 autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -結果のテキストとその形状: -![todo:image_alt_text](image-20200930114816-9.png) +結果のテキストと形状: -このPythonコードを使用してテキストに3D効果を適用します: +![todo:image_alt_text](image-20200930114816-9.png) +次の Python コードでテキストに 3D 効果を適用します: ```py textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5 @@ -269,42 +269,42 @@ Microsoft PowerPointとAspose.Slides for Python via .NETの両方に、定義済 textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -操作の結果: + +操作結果: ![todo:image_alt_text](image-20200930114905-10.png) {{% alert color="primary" %}} -テキストまたはその形状に3D効果を適用する場合、効果の相互作用は特定のルールに基づきます。 +テキストまたはその形状への 3D 効果の適用と効果間の相互作用は、特定の規則に基づいています。 -テキストとそのテキストを含む形状のシーンを考えてみてください。3D効果は3Dオブジェクトの表現と、そのオブジェクトが置かれるシーンを含みます。 +テキストとテキストを含む形状のシーンを考えてみてください。3D 効果は 3D オブジェクトの表現と、オブジェクトが配置されたシーンを含みます。 -- シーンが図形とテキストの両方に設定されている場合、図形のシーンが優先され、テキストのシーンは無視されます。 -- 図形に独自のシーンがなく、3D表現を持っている場合、テキストのシーンが使用されます。 -- それ以外の場合—形状が最初に3D効果を持たない場合、形状は平坦で、3D効果はテキストにのみ適用されます。 +- 図形とテキストの両方にシーンが設定されている場合、図形のシーンが優先され、テキストのシーンは無視されます。 +- 図形に固有のシーンがなく 3D 表現がある場合、テキストのシーンが使用されます。 +- それ以外の場合(図形に元々 3D 効果がない場合)は、図形は平面のままで、3D 効果はテキストのみに適用されます。 -これらの説明は、[ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/)および[ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/)プロパティに関連しています。 +これらの説明は、[ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) と [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) プロパティに関連しています。 {{% /alert %}} -## **テキストに外側シャドウ効果を適用する** -Aspose.Slides for Python via .NETは、[**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/)および[**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/)クラスを提供しており、TextFrameによって運ばれるテキストにシャドウ効果を適用できます。これらのステップを進めてください: - -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. インデックスを使用してスライドの参照を取得します。 -3. スライドに長方形のAutoShapeを追加します。 -4. AutoShapeに関連付けられたTextFrameにアクセスします。 -5. AutoShapeのFillTypeをNoFillに設定します。 -6. OuterShadowクラスのインスタンスを生成します。 -7. シャドウのBlurRadiusを設定します。 -8. シャドウのDirectionを設定します。 -9. シャドウのDistanceを設定します。 -10. RectangleAlignをTopLeftに設定します。 -11. シャドウのPresetColorをBlackに設定します。 -12. プレゼンテーションをPPTXファイルとして書き出します。 - -以下のPythonのサンプルコードは、上記のステップの実装であり、テキストに外側シャドウ効果を適用する方法を示しています: - +## **テキストへの外側影(Outer Shadow)効果の適用** +Aspose.Slides for Python via .NET は、テキストフレームが保持するテキストに影効果を適用できる [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) と [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) クラスを提供します。以下の手順に従ってください。 + +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. スライドに矩形タイプの AutoShape を追加します。 +4. AutoShape に関連付けられた TextFrame にアクセスします。 +5. AutoShape の FillType を NoFill に設定します。 +6. OuterShadow クラスのインスタンスを作成します。 +7. 影の BlurRadius を設定します。 +8. 影の Direction を設定します。 +9. 影の Distance を設定します。 +10. RectanglelAlign を TopLeft に設定します。 +11. 影の PresetColor を Black に設定します。 +12. プレゼンテーションを書き出して PPTX ファイルに保存します。 + +上記手順を実装した Python のサンプルコードは、テキストに外側影効果を適用する方法を示しています: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -314,16 +314,16 @@ with slides.Presentation() as pres: # スライドの参照を取得 sld = pres.slides[0] - # 長方形のAutoShapeを追加 + # 矩形タイプの AutoShape を追加 ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50) - # 長方形にTextFrameを追加 + # 矩形に TextFrame を追加 ashp.add_text_frame("Aspose TextBox") - # テキストのシャドウを取得するために形状の塗りつぶしを無効にします + # テキストの影を取得できるようにシェイプの塗りを無効化 ashp.fill_format.fill_type = slides.FillType.NO_FILL - # 外側シャドウを追加し、すべての必要なパラメーターを設定します + # 外側の影を追加し、必要なパラメータをすべて設定 ashp.effect_format.enable_outer_shadow_effect() shadow = ashp.effect_format.outer_shadow_effect shadow.blur_radius = 4.0 @@ -332,25 +332,24 @@ with slides.Presentation() as pres: shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT shadow.shadow_color.preset_color = slides.PresetColor.BLACK - # プレゼンテーションをディスクに書き込みます + #プレゼンテーションをディスクに保存 pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **形状に内側シャドウ効果を適用する** -次の手順を進めてください: - -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. スライドの参照を取得します。 -3. 長方形のAutoShapeを追加します。 -4. InnerShadowEffectを有効にします。 -5. 必要なすべてのパラメーターを設定します。 -6. ColorTypeをSchemeに設定します。 -7. Scheme Colorを設定します。 -8. プレゼンテーションを[PPTX](https://docs.fileformat.com/presentation/pptx/)ファイルとして書き出します。 +## **図形への内側影(Inner Shadow)効果の適用** +以下の手順に従ってください。 -以下のサンプルコード(上記の手順に基づく)は、Pythonで2つの形状の間にコネクタを追加する方法を示します: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. スライドの参照を取得します。 +3. 矩形タイプの AutoShape を追加します。 +4. InnerShadowEffect を有効にします。 +5. 必要なすべてのパラメーターを設定します。 +6. ColorType を Scheme に設定します。 +7. Scheme Color を設定します。 +8. プレゼンテーションを書き出して [PPTX](https://docs.fileformat.com/presentation/pptx/) ファイルに保存します。 +上記手順に基づくサンプルコードは、Python で 2 つの図形間にコネクタを追加する方法を示しています: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -359,32 +358,51 @@ with slides.Presentation() as presentation: # スライドの参照を取得 slide = presentation.slides[0] - # 長方形のAutoShapeを追加 + # 矩形タイプの AutoShape を追加 ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300) ashp.fill_format.fill_type = slides.FillType.NO_FILL - # 長方形にTextFrameを追加 + # 矩形に TextFrame を追加 ashp.add_text_frame("Aspose TextBox") port = ashp.text_frame.paragraphs[0].portions[0] pf = port.portion_format pf.font_height = 50 - # 内側シャドウ効果を有効にします + # inner_shadow_effect を有効化 ef = pf.effect_format ef.enable_inner_shadow_effect() - # 必要なすべてのパラメーターを設定します + # 必要なすべてのパラメータを設定 ef.inner_shadow_effect.blur_radius = 8.0 ef.inner_shadow_effect.direction = 90.0 ef.inner_shadow_effect.distance = 6.0 ef.inner_shadow_effect.shadow_color.b = 189 - # ColorTypeをSchemeに設定 + # ColorType を Scheme として設定 ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME - # Scheme Colorを設定 + # Scheme カラーを設定 ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1 - # プレゼンテーションを保存します + # プレゼンテーションを保存 presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**異なるフォントやスクリプト(例:アラビア語、中国語)でも WordArt 効果を使用できますか?** + +はい、Aspose.Slides は Unicode をサポートし、主要なフォントやスクリプトすべてで動作します。影、塗りつぶし、アウトラインなどの WordArt 効果は言語に関係なく適用できますが、フォントの有無や描画はシステムにインストールされているフォントに依存する場合があります。 + +**スライドマスタの要素に WordArt 効果を適用できますか?** + +はい、マスタースライド上の図形(タイトルプレースホルダー、フッター、背景テキストなど)に WordArt 効果を適用できます。マスターのレイアウトを変更すると、関連付けられたすべてのスライドに反映されます。 + +**WordArt 効果はプレゼンテーションのファイルサイズに影響しますか?** + +若干影響します。影、光彩、グラデーション塗りつぶしなどの効果は、追加の書式設定メタデータを含むためファイルサイズがわずかに増加しますが、差は通常は無視できる程度です。 + +**プレゼンテーションを保存せずに WordArt 効果の結果をプレビューできますか?** + +はい、[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) または [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/) クラスの `get_image` メソッドを使用して、WordArt を含むスライドを PNG や JPEG などの画像にレンダリングできます。これにより、プレゼンテーション全体を保存またはエクスポートする前に、メモリ上または画面上で結果をプレビューできます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index dd9709cda7..8ec0bebb64 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,44 @@ --- -title: チャートの軸 +title: プレゼンテーションのチャート軸をPythonでカスタマイズ +linktitle: チャート軸 type: docs url: /ja/python-net/chart-axis/ -keywords: "PowerPoint チャート軸, プレゼンテーション チャート, Python, チャート軸の操作, チャートデータ" -description: "PythonでPowerPointのチャート軸を編集する" +keywords: +- チャート軸 +- 垂直軸 +- 水平軸 +- 軸のカスタマイズ +- 軸の操作 +- 軸の管理 +- 軸プロパティ +- 最大値 +- 最小値 +- 軸ライン +- 日付形式 +- 軸タイトル +- 軸の位置 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、レポートや可視化のために PowerPoint および OpenDocument プレゼンテーションのチャート軸をカスタマイズする方法をご紹介します。" --- - -## **チャートの垂直軸の最大値を取得する** -Aspose.Slides for Python via .NETを使用すると、垂直軸の最小値と最大値を取得できます。これらのステップに従ってください: - -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. 最初のスライドにアクセスします。 -1. デフォルトデータを持つチャートを追加します。 -1. 軸の実際の最大値を取得します。 -1. 軸の実際の最小値を取得します。 -1. 軸の実際の主単位を取得します。 -1. 軸の実際の副単位を取得します。 -1. 軸の実際の主単位スケールを取得します。 +## **チャートの垂直軸の最大値を取得** +Aspose.Slides for Python via .NET を使用すると、垂直軸の最小値と最大値を取得できます。以下の手順を実行してください: + +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. 最初のスライドにアクセスします。 +1. デフォルト データでチャートを追加します。 +1. 軸の実際の最大値を取得します。 +1. 軸の実際の最小値を取得します。 +1. 軸の実際の主単位を取得します。 +1. 軸の実際の副単位を取得します。 +1. 軸の実際の主単位スケールを取得します。 1. 軸の実際の副単位スケールを取得します。 -このサンプルコード—上記のステップの実装—は、Pythonで必要な値を取得する方法を示しています: - +このサンプルコード(上記手順の実装)は、Python で必要な値を取得する方法を示します: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -41,30 +58,29 @@ with slides.Presentation() as pres: ``` -## **軸間でデータを入れ替える** -Aspose.Slidesを使用すると、軸間でデータを迅速に入れ替えることができます。垂直軸(y軸)のデータが水平軸(x軸)に移動し、その逆も同様です。 - -このPythonコードは、チャートの軸間でデータを入れ替えるタスクを実行する方法を示しています: +## **軸間のデータの入れ替え** +Aspose.Slides を使用すると、軸間のデータを簡単に入れ替えることができます。垂直軸(Y 軸)のデータが水平軸(X 軸)に、逆も同様に移動します。 +この Python コードは、チャートの軸間でデータを入れ替える方法を示します: ```py import aspose.slides.charts as charts import aspose.slides as slides -# 空のプレゼンテーションを作成します +# 空のプレゼンテーションを作成 with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300) - # 行と列を入れ替えます + # 行と列を入れ替える chart.chart_data.switch_row_column() - # プレゼンテーションを保存します + # プレゼンテーションを保存 pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **折れ線グラフの垂直軸を無効にする** -このPythonコードは、折れ線グラフの垂直軸を非表示にする方法を示しています: +## **折れ線グラフの垂直軸を無効化** +この Python コードは、折れ線グラフの垂直軸を非表示にする方法を示します: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -76,10 +92,10 @@ with slides.Presentation() as pres: pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX) ``` -## **折れ線グラフの水平軸を無効にする** -このコードは、折れ線グラフの水平軸を非表示にする方法を示しています: +## **折れ線グラフの水平軸を無効化** +このコードは、折れ線グラフの水平軸を非表示にする方法を示します: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -91,10 +107,10 @@ with slides.Presentation() as pres: pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX) ``` -## **カテゴリー軸を変更する** -**CategoryAxisType**プロパティを使用して、希望するカテゴリー軸のタイプ(**日付**または**テキスト**)を指定できます。このPythonコードは、操作を示しています: +## **カテゴリ軸の変更** +**CategoryAxisType** プロパティを使用して、希望するカテゴリ軸のタイプ(**date** または **text**)を指定できます。この Python のコードは、その操作を示しています: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -108,9 +124,10 @@ with slides.Presentation(path + "ExistingChart.pptx") as presentation: presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **カテゴリー軸値の日付形式を設定する** -Aspose.Slides for Python via .NETを使用すると、カテゴリー軸の値の日付形式を設定できます。この操作は、次のPythonコードで示されています: +## **カテゴリ軸値の日付形式の設定** + +Aspose.Slides for Python via .NET を使用すると、カテゴリ軸の値の日付形式を設定できます。この操作は以下の Python コードで示されています: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -146,9 +163,10 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **チャート軸タイトルの回転角を設定する** -Aspose.Slides for Python via .NETを使用すると、チャート軸タイトルの回転角を設定できます。このPythonコードが操作を示しています: +## **チャート軸タイトルの回転角度の設定** + +Aspose.Slides for Python via .NET を使用すると、チャート軸タイトルの回転角度を設定できます。この Python コードで操作を示します: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -161,9 +179,10 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **カテゴリー軸または値軸での位置軸の設定** -Aspose.Slides for Python via .NETを使用すると、カテゴリー軸または値軸の位置軸を設定できます。このPythonコードは、タスクを実行する方法を示しています: +## **カテゴリ軸または値軸の位置軸の設定** + +Aspose.Slides for Python via .NET を使用すると、カテゴリ軸または値軸の位置軸を設定できます。この Python コードは、その手順を示します: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -175,9 +194,10 @@ with slides.Presentation() as pres: pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX) ``` -## **チャート値軸に表示単位ラベルを有効にする** -Aspose.Slides for Python via .NETを使用すると、チャートが値軸に単位ラベルを表示するように構成できます。このPythonコードが操作を示しています: +## **チャート値軸に表示単位ラベルを有効化** + +Aspose.Slides for Python via .NET を使用すると、チャートの値軸に単位ラベルを表示するよう構成できます。この Python コードでその操作を示します: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -186,4 +206,15 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300) chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS pres.save("Result.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**軸が互いに交差する値(軸交点)を設定するにはどうすればよいですか?** + +軸には [crossing 設定](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/cross_type/) があり、0 で交差させるか、最大のカテゴリ/値で交差させるか、特定の数値で交差させるかを選択できます。これは X 軸を上下にずらしたり、基準線を強調したりするのに便利です。 + +**目盛ラベルを軸に対して(横に、外側、内側)どのように配置できますか?** + +[label position](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/major_tick_mark/) を "cross"、"outside"、または "inside" に設定します。これにより可読性が向上し、特に小さなチャートでスペースの節約に役立ちます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index aa698e10ca..0465d74379 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,41 +1,40 @@ --- -title: Python でプレゼンテーションのチャートデータマーカーを管理する -linktitle: データマーカー +title: Pythonでプレゼンテーションのチャート データ マーカーを管理 +linktitle: データ マーカー type: docs url: /ja/python-net/chart-data-marker/ keywords: - チャート - データポイント - マーカー -- マーカーオプション -- マーカーサイズ -- 塗りつぶしタイプ +- マーカー オプション +- マーカー サイズ +- 塗りつぶし タイプ - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides でチャートデータマーカーをカスタマイズする方法を学び、明確なコード例で PPT、PPTX、ODP 形式のプレゼンテーション効果を高めましょう。" +description: "Aspose.Slides でチャート データ マーカーをカスタマイズし、PPT、PPTX、ODP 形式のプレゼンテーションのインパクトを高める明確なコード例をご紹介します。" --- -## **チャートマーカーオプションを設定する** -マーカーは特定の系列内のチャートデータポイントに設定できます。チャートマーカーオプションを設定するには、以下の手順に従ってください。 +## **チャートマーカーオプションの設定** +マーカーは特定のシリーズ内のチャートデータポイントに設定できます。チャートマーカーオプションを設定するには、以下の手順に従ってください。 -- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスをインスタンス化します。 +- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 - デフォルトのチャートを作成します。 - 画像を設定します。 -- 最初のチャート系列を取得します。 +- 最初のチャートシリーズを取得します。 - 新しいデータポイントを追加します。 -- プレゼンテーションをディスクに書き込みます。 +- プレゼンテーションをディスクに書き出します。 以下の例では、データポイントレベルでチャートマーカーオプションを設定しています。 - ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Presentationクラスのインスタンスを作成 +# Presentation クラスのインスタンスを作成 with slides.Presentation() as presentation: slide = presentation.slides[0] @@ -43,17 +42,17 @@ with slides.Presentation() as presentation: # デフォルトのチャートを作成 chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 0, 0, 400, 400) - # デフォルトのチャートデータワークシートインデックスを取得 + # デフォルトのチャート データワークシート インデックスを取得 defaultWorksheetIndex = 0 - # チャートデータワークシートを取得 + # チャート データ ワークシートを取得 fact = chart.chart_data.chart_data_workbook - # デモシリーズを削除 + # デモ シリーズを削除 chart.chart_data.series.clear() - # 新しい系列を追加 - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "シリーズ 1"), chart.type) + # 新しいシリーズを追加 + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) # 画像を設定 image1 = draw.Bitmap(path + "aspose-logo.jpg") @@ -63,10 +62,10 @@ with slides.Presentation() as presentation: image2 = draw.Bitmap(path + "Tulips.jpg") imgx2 = presentation.images.add_image(image2) - # 最初のチャート系列を取得 + # 最初のチャートシリーズを取得 series = chart.chart_data.series[0] - # (1:3)に新しいポイントを追加 + # そこに新しいポイント (1:3) を追加 point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx1 @@ -83,9 +82,20 @@ with slides.Presentation() as presentation: point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx2 - # チャート系列マーカーを変更 + # チャートシリーズのマーカーを変更 series.marker.size = 15 - # プレゼンテーションをディスクに書き込む + # プレゼンテーションをディスクに保存 presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**利用できるマーカー形状は何ですか?** + +標準の形状(円、正方形、菱形、三角形など)が利用可能で、一覧は [MarkerStyleType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/markerstyletype/) 列挙体で定義されています。非標準の形状が必要な場合は、画像塗りつぶしのマーカーを使用してカスタムビジュアルをエミュレートしてください。 + +**チャートを画像や SVG にエクスポートした場合、マーカーは保持されますか?** + +はい。チャートを [raster formats](/slides/ja/python-net/convert-powerpoint-to-png/) にレンダリングしたり、[shapes as SVG](/slides/ja/python-net/render-a-slide-as-an-svg-image/) として保存したりすると、マーカーは外観や設定(サイズ、塗りつぶし、アウトライン)を保持します。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 9fcf426c40..b3263dac78 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,5 +1,5 @@ --- -title: Python でプレゼンテーションのチャート凡例をカスタマイズする +title: Python を使用したプレゼンテーションでのチャート凡例のカスタマイズ linktitle: チャート凡例 type: docs url: /ja/python-net/chart-legend/ @@ -12,98 +12,111 @@ keywords: - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python を使用してチャートの凡例をカスタマイズし、PowerPoint および OpenDocument プレゼンテーションを最適化する方法をご紹介します。" +description: "Aspose.Slides for Python を使用し、.NET 経由でチャート凡例をカスタマイズし、PowerPoint および OpenDocument のプレゼンテーションを最適化して凡例の書式設定を調整します。" --- -## **凡例の位置設定** -凡例のプロパティを設定するためには、次の手順に従ってください。 +## **Overview** -- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -- スライドの参照を取得します。 -- スライドにチャートを追加します。 -- 凡例のプロパティを設定します。 -- プレゼンテーションをPPTXファイルとして保存します。 +Aspose.Slides for Python は、チャートの凡例をフルコントロールでき、データ ラベルを明確かつプレゼンテーション向けにします。凡例の表示/非表示、スライド上での位置選択、プロット領域との重なりを防止するレイアウト調整が可能です。API を使用すると、テキストやマーカーのスタイル設定、余白や背景の微調整、テーマに合わせた枠線や塗りの書式設定が行えます。開発者は個々の凡例エントリにアクセスし、名前の変更やフィルタリングができ、最も関連性の高いシリーズのみを表示できます。これらの機能により、チャートは読みやすく、一貫性があり、プレゼンテーションのデザイン基準に合わせて整合します。 -以下の例では、チャートの凡例の位置とサイズを設定しています。 +## **Legend Positioning** + +Aspose.Slides を使用すると、チャート凡例の表示位置とスライドレイアウトへのフィット感を迅速に制御できます。凡例を正確に配置する方法をご紹介します。 + +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. スライドへの参照を取得します。 +1. スライドにチャートを追加します。 +1. 凡例のプロパティを設定します。 +1. プレゼンテーションを PPTX ファイルとして保存します。 ```py import aspose.slides.charts as charts import aspose.slides as slides -# Presentationクラスのインスタンスを作成します +# Presentation クラスのインスタンスを作成します。 with slides.Presentation() as presentation: - # スライドの参照を取得します + # スライドへの参照を取得します。 slide = presentation.slides[0] - # スライドにクラスタ化されたカラムチャートを追加します - chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 500, 500) + # スライドにクラスター化された縦棒グラフを追加します。 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 300) - # 凡例のプロパティを設定します - chart.legend.x = 50 / chart.width - chart.legend.y = 50 / chart.height + # 凡例のプロパティを設定します。 + chart.legend.x = 80 / chart.width + chart.legend.y = 20 / chart.height chart.legend.width = 100 / chart.width chart.legend.height = 100 / chart.height - # プレゼンテーションをディスクに保存します - presentation.save("Legend_out.pptx", slides.export.SaveFormat.PPTX) + # プレゼンテーションをディスクに保存します。 + presentation.save("legend_positioning.pptx", slides.export.SaveFormat.PPTX) ``` +## **Set the Legend Font Size** -## **凡例のフォントサイズを設定する** -Aspose.Slides for Python via .NETは、開発者が凡例のフォントサイズを設定できるようにします。次の手順に従ってください: +チャートの凡例は、説明するデータと同等に読みやすくあるべきです。このセクションでは、プレゼンテーションのタイポグラフィに合わせ、アクセシビリティを向上させるために凡例のフォントサイズを調整する方法を示します。 -- `Presentation`クラスをインスタンス化します。 -- デフォルトのチャートを作成します。 -- フォントサイズを設定します。 -- 最小軸値を設定します。 -- 最大軸値を設定します。 -- プレゼンテーションをディスクに保存します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. チャートを作成します。 +1. フォントサイズを設定します。 +1. プレゼンテーションをディスクに保存します。 ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - chart.legend.text_format.portion_format.font_height = 20 - chart.axes.vertical_axis.is_automatic_min_value = False - chart.axes.vertical_axis.min_value = -5 - chart.axes.vertical_axis.is_automatic_max_value = False - chart.axes.vertical_axis.max_value = 10 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + chart.legend.text_format.portion_format.font_height = 20 - pres.save("output.pptx", slides.export.SaveFormat.PPTX) + presentation.save("font_size.pptx", slides.export.SaveFormat.PPTX) ``` -## **個別の凡例のフォントサイズを設定する** -Aspose.Slides for Python via .NETは、開発者が個別の凡例エントリのフォントサイズを設定できるようにします。次の手順に従ってください: +## **Set the Font Size for a Legend Entry** + +Aspose.Slides を使用すると、個々のエントリをフォーマットしてチャート凡例の外観を細かく調整できます。以下の例では、特定の凡例項目を対象にし、他の凡例を変更せずにそのプロパティを設定する方法を示します。 -- `Presentation`クラスをインスタンス化します。 -- デフォルトのチャートを作成します。 -- 凡例エントリにアクセスします。 -- フォントサイズを設定します。 -- 最小軸値を設定します。 -- 最大軸値を設定します。 -- プレゼンテーションをディスクに保存します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. チャートを作成します。 +1. 凡例エントリにアクセスします。 +1. エントリのプロパティを設定します。 +1. プレゼンテーションをディスクに保存します。 ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw - - -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - tf = chart.legend.entries[1].text_format - - tf.portion_format.font_bold = 1 - tf.portion_format.font_height = 20 - tf.portion_format.font_italic = 1 - tf.portion_format.fill_format.fill_type = slides.FillType.SOLID - tf.portion_format.fill_format.solid_fill_color.color = draw.Color.blue - - pres.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + text_format = chart.legend.entries[1].text_format + + text_format.portion_format.font_bold = slides.NullableBool.TRUE + text_format.portion_format.font_height = 20 + text_format.portion_format.font_italic = slides.NullableBool.TRUE + text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID + text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.blue + + presentation.save("legend_entry.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**凡例を有効にして、チャートが自動的に凡例用のスペースを確保し、重ね合わせないようにできますか?** + +はい。非オーバーレイモード([overlay](https://reference.aspose.com/slides/python-net/aspose.slides.charts/legend/overlay/) = `false`)を使用します。この場合、プロット領域が縮小して凡例を収めます。 + +**複数行の凡例ラベルを作成できますか?** + +はい。スペースが不足すると長いラベルは自動的に折り返されます。シリーズ名に改行文字を入れることで強制改行もサポートされます。 + +**凡例をプレゼンテーションテーマのカラースキームに合わせるにはどうすればよいですか?** + +凡例やテキストに明示的な色・塗り・フォントを設定しないでください。これらはテーマから継承され、デザインが変更された際に正しく更新されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 829126df01..cb5e93f1ab 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,34 +1,33 @@ --- -title: Pythonでプレゼンテーションのチャートのプロット領域をカスタマイズする +title: Python でプレゼンテーションチャートのプロット領域をカスタマイズする linktitle: プロット領域 type: docs url: /ja/python-net/chart-plot-area/ keywords: - - チャート - - プロット領域 - - プロット領域の幅 - - プロット領域の高さ - - プロット領域のサイズ - - レイアウトモード - - PowerPoint - - プレゼンテーション - - Python - - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションのチャートのプロット領域をカスタマイズする方法を紹介します。スライドのビジュアルを手軽に向上させましょう。" +- チャート +- プロット領域 +- プロット領域の幅 +- プロット領域の高さ +- プロット領域のサイズ +- レイアウトモード +- PowerPoint +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションのチャートプロット領域をカスタマイズする方法を学びましょう。スライドのビジュアルを簡単に向上させることができます。" --- -## **チャートプロットエリアの幅と高さを取得する** -Aspose.Slides for Python via .NET はシンプルなAPIを提供します。 +## **Get Width, Height of Chart Plot Area** +Aspose.Slides for Python via .NET はシンプルな API を提供します。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. **[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)** クラスのインスタンスを作成します。 1. 最初のスライドにアクセスします。 1. デフォルトデータでチャートを追加します。 -1. 実際の値を取得する前にメソッド IChart.ValidateChartLayout() を呼び出します。 -1. チャートの左上隅に対するチャート要素の実際のX位置(左)を取得します。 -1. チャートの左上隅に対するチャート要素の実際の上部を取得します。 +1. 実際の値を取得するために、IChart.ValidateChartLayout() メソッドを呼び出します。 +1. チャート要素の左上隅からの実際の X 位置(左)を取得します。 +1. チャート要素の左上隅からの実際の上位置を取得します。 1. チャート要素の実際の幅を取得します。 1. チャート要素の実際の高さを取得します。 - ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -42,21 +41,21 @@ with slides.Presentation() as pres: w = chart.plot_area.actual_width h = chart.plot_area.actual_height - # チャート付きのプレゼンテーションを保存 + # チャート付きプレゼンテーションを保存 pres.save("Chart_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **チャートプロットエリアのレイアウトモードを設定する** -Aspose.Slides for Python via .NET はチャートプロットエリアのレイアウトモードを設定するためのシンプルなAPIを提供します。プロパティ **LayoutTargetType** が **ChartPlotArea** および **IChartPlotArea** クラスに追加されました。プロットエリアのレイアウトが手動で定義された場合、このプロパティはプロットエリアを内部(軸と軸ラベルを含まない)または外部(軸と軸ラベルを含む)でレイアウトするかどうかを指定します。 **LayoutTargetType** 列挙型で定義された2つの可能な値があります。 -- **LayoutTargetType.Inner** - プロットエリアのサイズは、ティックマークと軸ラベルを含まないプロットエリアのサイズを決定することを指定します。 -- **LayoutTargetType.Outer** - プロットエリアのサイズは、ティックマークと軸ラベルを含むプロットエリアのサイズを決定することを指定します。 +## **Set Layout Mode of Chart Plot Area** +Aspose.Slides for Python via .NET はチャートプロット領域のレイアウト モードを設定するシンプルな API を提供します。**LayoutTargetType** プロパティが **ChartPlotArea** と **IChartPlotArea** クラスに追加されました。プロット領域のレイアウトが手動で定義されている場合、このプロパティは領域を内部(軸や軸ラベルを含まない)でレイアウトするか、外部(軸や軸ラベルを含む)でレイアウトするかを指定します。**LayoutTargetType** 列挙体で定義されている 2 つの可能な値があります。 -サンプルコードは以下の通りです。 +- **LayoutTargetType.Inner** - プロット領域のサイズが領域のサイズを決定し、目盛りや軸ラベルは含まれません。 +- **LayoutTargetType.Outer** - プロット領域のサイズが領域、目盛り、軸ラベルのサイズを決定します。 +サンプルコードは以下です。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -71,4 +70,23 @@ with slides.Presentation() as presentation: chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**actual_x、actual_y、actual_width、actual_height はどの単位で返されますか?** + +ポイント単位です。1 インチ = 72 ポイント。これは Aspose.Slides の座標単位です。 + +**プロット領域はコンテンツの観点でチャート領域とどう違いますか?** + +プロット領域はデータ描画領域(系列、グリッド線、トレンドラインなど)です。チャート領域はタイトルや凡例などの周囲要素を含みます。3D チャートの場合、プロット領域は壁・床および軸も含みます。 + +**レイアウトが手動の場合、プロット領域の X、Y、幅、高さはどのように解釈されますか?** + +チャート全体サイズに対する割合(0–1)として扱われます。このモードでは自動位置決めが無効になり、設定した割合が使用されます。 + +**凡例を追加/移動した後にプロット領域の位置が変わったのはなぜですか?** + +凡例はプロット領域の外側にあるチャート領域に配置されますが、レイアウトと利用可能なスペースに影響を与えるため、自動位置決めが有効な場合にはプロット領域がシフトすることがあります。(これは PowerPoint のチャートで標準的な動作です。) \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md index b2019de608..5e415d0116 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md @@ -1,21 +1,28 @@ --- -title: エラーバー +title: Python を使用したプレゼンテーション チャートのエラーバーのカスタマイズ +linktitle: エラーバー type: docs url: /ja/python-net/error-bar/ -keywords: "エラーバー, エラーバー値 PowerPoint プレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "Python で PowerPoint プレゼンテーションにエラーバーを追加する" +keywords: +- エラーバー +- カスタム値 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用してチャートにエラーバーを追加およびカスタマイズする方法を学び、PowerPoint と OpenDocument プレゼンテーションのデータ可視化を最適化します。" --- -## **エラーバーを追加する** -Aspose.Slides for Python via .NET は、エラーバーの値を管理するための簡単な API を提供します。サンプルコードは、カスタム値タイプを使用する際に適用されます。値を指定するには、系列の **DataPoints** コレクション内の特定のデータポイントの **ErrorBarCustomValues** プロパティを使用します。 +## **エラーバーの追加** +Aspose.Slides for Python via .NET は、エラーバーの値を管理するためのシンプルな API を提供します。サンプルコードはカスタム値タイプを使用する場合に適用されます。値を指定するには、シリーズの **DataPoints** コレクション内の特定のデータポイントの **ErrorBarCustomValues** プロパティを使用します。 1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -1. 希望のスライドにバブルチャートを追加します。 -1. 最初のチャート系列にアクセスし、エラーバーの X フォーマットを設定します。 -1. 最初のチャート系列にアクセスし、エラーバーの Y フォーマットを設定します。 -1. バーの値とフォーマットを設定します。 -1. 修正したプレゼンテーションを PPTX ファイルに書き込みます。 - +1. 目的のスライドにバブルチャートを追加します。 +1. 最初のチャート系列にアクセスし、エラーバー X の書式を設定します。 +1. 最初のチャート系列にアクセスし、エラーバー Y の書式を設定します。 +1. バーの値と書式を設定します。 +1. 変更したプレゼンテーションを PPTX ファイルに書き出します。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -25,7 +32,7 @@ with slides.Presentation() as presentation: # バブルチャートを作成 chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # エラーバーを追加し、そのフォーマットを設定 + # エラーバーを追加し、その書式を設定 errBarX = chart.chart_data.series[0].error_bars_x_format errBarY = chart.chart_data.series[0].error_bars_y_format errBarX.is_visible = True @@ -43,18 +50,16 @@ with slides.Presentation() as presentation: ``` - -## **カスタムエラーバー値を追加する** -Aspose.Slides for Python via .NET は、カスタムエラーバー値を管理するための簡単な API を提供します。サンプルコードは、**IErrorBarsFormat.ValueType** プロパティが **Custom** に等しい場合に適用されます。値を指定するには、系列の **DataPoints** コレクション内の特定のデータポイントの **ErrorBarCustomValues** プロパティを使用します。 +## **カスタム エラーバー値の追加** +Aspose.Slides for Python via .NET は、カスタムエラーバー値を管理するためのシンプルな API を提供します。サンプルコードは **IErrorBarsFormat.ValueType** プロパティが **Custom** に等しい場合に適用されます。値を指定するには、シリーズの **DataPoints** コレクション内の特定のデータポイントの **ErrorBarCustomValues** プロパティを使用します。 1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -1. 希望のスライドにバブルチャートを追加します。 -1. 最初のチャート系列にアクセスし、エラーバーの X フォーマットを設定します。 -1. 最初のチャート系列にアクセスし、エラーバーの Y フォーマットを設定します。 +1. 目的のスライドにバブルチャートを追加します。 +1. 最初のチャート系列にアクセスし、エラーバー X の書式を設定します。 +1. 最初のチャート系列にアクセスし、エラーバー Y の書式を設定します。 1. チャート系列の個々のデータポイントにアクセスし、個々の系列データポイントのエラーバー値を設定します。 -1. バーの値とフォーマットを設定します。 -1. 修正したプレゼンテーションを PPTX ファイルに書き込みます。 - +1. バーの値と書式を設定します。 +1. 変更したプレゼンテーションを PPTX ファイルに書き出します。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -64,7 +69,7 @@ with slides.Presentation() as presentation: # バブルチャートを作成 chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # カスタムエラーバーを追加し、そのフォーマットを設定 + # カスタムエラーバーを追加し、その書式を設定 series = chart.chart_data.series[0] errBarX = series.error_bars_x_format errBarY = series.error_bars_y_format @@ -89,4 +94,19 @@ with slides.Presentation() as presentation: # プレゼンテーションを保存 presentation.save("ErrorBarsCustomValues_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**プレゼンテーションを PDF や画像にエクスポートするとき、エラーバーはどうなりますか?** + +エラーバーはチャートの一部として描画され、互換性のあるバージョンまたはレンダラーが使用されている限り、チャートの書式設定とともに変換時に保持されます。 + +**エラーバーはマーカーやデータ ラベルと組み合わせることができますか?** + +はい。エラーバーは別個の要素で、マーカーやデータ ラベルと互換性があります。要素が重なる場合は、書式設定を調整する必要がある場合があります。 + +**API でエラーバーを操作するためのプロパティや列挙体の一覧はどこで見つけられますか?** + +API リファレンスで確認できます: [ErrorBarsFormat](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarsformat/) クラスと、関連する列挙体 [ErrorBarType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbartype/) および [ErrorBarValueType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarvaluetype/)。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md index 51d03c5faf..708d2c4f08 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md @@ -1,90 +1,104 @@ --- -title: トレンドライン +title: Pythonでプレゼンテーションチャートにトレンドラインを追加 +linktitle: トレンドライン type: docs url: /ja/python-net/trend-line/ -keywords: "トレンドライン、カスタムライン PowerPoint プレゼンテーション、Python、Aspose.Slides for Python via .NET" -description: "Python で PowerPoint プレゼンテーションにトレンドラインとカスタムラインを追加する" +keywords: +- チャート +- トレンドライン +- 指数トレンドライン +- 線形トレンドライン +- 対数トレンドライン +- 移動平均トレンドライン +- 多項式トレンドライン +- べきトレンドライン +- カスタムトレンドライン +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint と OpenDocument のチャートにトレンドラインを迅速に追加およびカスタマイズできます。予測精度を向上させ、オーディエンスを引き付ける実用的なガイドとコード例をご紹介します。" --- -## **トレンドラインを追加する** -Aspose.Slides for Python via .NET は、さまざまなチャートのトレンドラインを管理するための簡単な API を提供します: - -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -1. インデックスを使用してスライドの参照を取得します。 -1. デフォルトデータを持つ任意の種類(この例では ChartType.CLUSTERED_COLUMN を使用)でチャートを追加します。 -1. チャートシリーズ 1 に指数的トレンドラインを追加します。 -1. チャートシリーズ 1 に線形トレンドラインを追加します。 -1. チャートシリーズ 2 に対数トレンドラインを追加します。 -1. チャートシリーズ 2 に移動平均トレンドラインを追加します。 -1. チャートシリーズ 3 に多項式トレンドラインを追加します。 -1. チャートシリーズ 3 にパワートレンドラインを追加します。 -1. 修正したプレゼンテーションを PPTX ファイルに書き込みます。 - -以下のコードは、トレンドラインを持つチャートを作成するために使用されます。 - +## **トレンドラインの追加** +Aspose.Slides for Python via .NET は、さまざまなチャートのトレンドラインを管理するためのシンプルな API を提供します: + +1. [プレゼンテーション](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. インデックスでスライドの参照を取得します。 +1. デフォルトデータを持つチャートを追加し、任意のタイプを指定します(この例では ChartType.CLUSTERED_COLUMN を使用)。 +1. 系列 1 に指数トレンドラインを追加します。 +1. 系列 1 に線形トレンドラインを追加します。 +1. 系列 2 に対数トレンドラインを追加します。 +1. 系列 2 に移動平均トレンドラインを追加します。 +1. 系列 3 に多項式トレンドラインを追加します。 +1. 系列 3 にべきトレンドラインを追加します。 +1. 変更されたプレゼンテーションを PPTX ファイルに書き出します。 + +以下のコードは、トレンドライン付きチャートを作成するために使用されます。 ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# 空のプレゼンテーションを作成する +# 空のプレゼンテーションを作成 with slides.Presentation() as pres: - # クラスタ化されたコラムチャートを作成する + # クラスタードカラムチャートを作成 chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) - # チャートシリーズ 1 に指数的トレンドラインを追加する + # 系列 1 に指数トレンドラインを追加 tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) tredLinep.display_equation = False tredLinep.display_r_squared_value = False - # チャートシリーズ 1 に線形トレンドラインを追加する + # 系列 1 に線形トレンドラインを追加 tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) tredLineLin.trendline_type = charts.TrendlineType.LINEAR tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red - # チャートシリーズ 2 に対数トレンドラインを追加する + # 系列 2 に対数トレンドラインを追加 tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC - tredLineLog.add_text_frame_for_overriding("新しい対数トレンドライン") + tredLineLog.add_text_frame_for_overriding("New log trend line") - # チャートシリーズ 2 に移動平均トレンドラインを追加する + # 系列 2 に移動平均トレンドラインを追加 tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE tredLineMovAvg.period = 3 - tredLineMovAvg.trendline_name = "新しいトレンドライン名" + tredLineMovAvg.trendline_name = "New TrendLine Name" - # チャートシリーズ 3 に多項式トレンドラインを追加する + # 系列 3 に多項式トレンドラインを追加 tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL tredLinePol.forward = 1 tredLinePol.order = 3 - # チャートシリーズ 3 にパワートレンドラインを追加する + # 系列 3 にべきトレンドラインを追加 tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) tredLinePower.trendline_type = charts.TrendlineType.POWER tredLinePower.backward = 1 - # プレゼンテーションを保存する + # プレゼンテーションを保存 pres.save("Charttrend_lines_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **カスタムラインを追加する** -Aspose.Slides for Python via .NET は、チャートにカスタムラインを追加するための簡単な API を提供します。プレゼンテーションの選択されたスライドに単純な平面ラインを追加するには、以下の手順に従ってください: -- Presentation クラスのインスタンスを作成します。 -- インデックスを使用してスライドの参照を取得します。 -- Shapes オブジェクトによって公開される AddChart メソッドを使用して新しいチャートを作成します。 -- Shapes オブジェクトによって公開される AddAutoShape メソッドを使用して、ラインタイプのオートシェイプを追加します。 -- シェイプのラインの色を設定します。 -- 修正したプレゼンテーションを PPTX ファイルとして書き込みます。 +## **カスタムラインの追加** +Aspose.Slides for Python via .NET は、チャートにカスタムラインを追加するためのシンプルな API を提供します。プレゼンテーションの選択されたスライドにシンプルな直線を追加するには、以下の手順に従ってください: -以下のコードは、カスタムラインを持つチャートを作成するために使用されます。 +- Presentation クラスのインスタンスを作成する +- インデックスを使用してスライドの参照を取得する +- Shapes オブジェクトが提供する AddChart メソッドを使用して新しいチャートを作成する +- Shapes オブジェクトが提供する AddAutoShape メソッドを使用して Line タイプの AutoShape を追加する +- 図形の線の色を設定する +- 変更されたプレゼンテーションを PPTX ファイルとして書き出す +以下のコードは、カスタムライン付きチャートを作成するために使用されます。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -96,4 +110,15 @@ with slides.Presentation() as pres: shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red pres.save("AddCustomLines.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**トレンドラインの「forward」および「backward」とは何ですか?** + +トレンドラインを前方/後方に投影した長さを表します。散布図(XY)チャートの場合は軸の単位で、散布図以外の場合はカテゴリ数で示します。負の値は許可されません。 + +**プレゼンテーションを PDF または SVG にエクスポートしたり、スライドを画像としてレンダリングしたりしたときにトレンドラインは保持されますか?** + +はい。Aspose.Slides はプレゼンテーションを [PDF](/slides/ja/python-net/convert-powerpoint-to-pdf/) / [SVG](/slides/ja/python-net/render-a-slide-as-an-svg-image/) に変換し、チャートを画像としてレンダリングします。チャートの一部であるトレンドラインはこれらの操作中に保持されます。また、チャート自体の画像を [エクスポート](/slides/ja/python-net/create-shape-thumbnails/)するメソッドも利用可能です。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md index 9d0a6e0058..d80cde799c 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md @@ -1,26 +1,34 @@ --- -title: 3Dチャート +title: Pythonでプレゼンテーションの3Dチャートをカスタマイズ +linktitle: 3Dチャート type: docs url: /ja/python-net/3d-chart/ -keywords: "3dチャート, rotationX, rotationY, depthpercent, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでPowerPointプレゼンテーションの3DチャートのためにrotationX、rotationY、およびdepthpercentsを設定します" +keywords: +- 3Dチャート +- 回転 +- 深さ +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET で 3-D チャートの作成とカスタマイズ方法を学び、PPT、PPTX、ODP ファイルに対応し、プレゼンテーションを今すぐ強化しましょう。" --- -## **3DチャートのRotationX、RotationYおよびDepthPercentsプロパティを設定する** -Aspose.Slides for Python via .NETは、これらのプロパティを設定するためのシンプルなAPIを提供します。この次の記事では、X、Y回転、**DepthPercents**などの異なるプロパティを設定する方法を説明します。サンプルコードでは、上記のプロパティを設定する方法を示します。 +## **3D チャートの RotationX、RotationY および DepthPercents プロパティを設定する** +Aspose.Slides for Python via .NET は、これらのプロパティを設定するためのシンプルな API を提供します。以下の記事では、X、Y の回転や **DepthPercents** などのさまざまなプロパティの設定方法を説明します。サンプルコードは、前述のプロパティを設定する方法を示しています。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 1. 最初のスライドにアクセスします。 -1. デフォルトデータでチャートを追加します。 -1. Rotation3Dプロパティを設定します。 -1. 修正されたプレゼンテーションをPPTXファイルに書き込みます。 - +1. 既定データでチャートを追加します。 +1. Rotation3D プロパティを設定します。 +1. 変更されたプレゼンテーションを PPTX ファイルに書き出します。 ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Presentationクラスのインスタンスを作成 +# Presentation クラスのインスタンスを作成する with slides.Presentation() as presentation: # 最初のスライドにアクセス @@ -29,31 +37,31 @@ with slides.Presentation() as presentation: # デフォルトデータでチャートを追加 chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN_3D, 0, 0, 500, 500) - # チャートデータシートのインデックスを設定 + # チャート データ シートのインデックスを設定 defaultWorksheetIndex = 0 - # チャートデータワークシートを取得 + # チャート データ ワークシートを取得 fact = chart.chart_data.chart_data_workbook - # シリーズを追加 - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "シリーズ 1"), chart.type) - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "シリーズ 2"), chart.type) + # 系列を追加 + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type) # カテゴリを追加 - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "カテゴリ 1")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "カテゴリ 2")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "カテゴリ 3")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")) - # Rotation3Dプロパティを設定 + # Rotation3D プロパティを設定 chart.rotation_3d.right_angle_axes = True chart.rotation_3d.rotation_x = 40 chart.rotation_3d.rotation_y = 270 chart.rotation_3d.depth_percents = 150 - # 2番目のチャートシリーズを取得 + # 2 番目のチャート系列を取得 series = chart.chart_data.series[1] - # シリーズデータを入力 + # 系列データを現在設定 series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) @@ -61,9 +69,24 @@ with slides.Presentation() as presentation: series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60)) - # OverLap値を設定 + # Overlap 値を設定 series.parent_series_group.overlap = 100 - # プレゼンテーションをディスクに書き込む + # プレゼンテーションをディスクに保存 presentation.save("Rotation3D_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Aspose.Slides で 3D モードをサポートするチャートタイプはどれですか?** + +Aspose.Slides は、Column 3D、Clustered Column 3D、Stacked Column 3D、100% Stacked Column 3D など、柱状チャートの 3D バリアントと、[ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) 列挙体で公開されている関連 3D タイプをサポートしています。正確で最新の一覧については、インストール済みバージョンの API リファレンス内の [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) メンバーをご確認ください。 + +**レポートやウェブ用に 3D チャートのラスター画像を取得できますか?** + +はい。チャートを画像としてエクスポートするには、[chart API](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) を使用するか、[スライド全体をレンダリング](/slides/ja/python-net/convert-powerpoint-to-png/) して PNG や JPEG 形式で出力できます。ピクセル単位で正確なプレビューが必要な場合や、PowerPoint を使用せずにチャートをドキュメント、ダッシュボード、ウェブページに埋め込む場合に便利です。 + +**大規模な 3D チャートの作成およびレンダリングのパフォーマンスはどの程度ですか?** + +パフォーマンスはデータ量やビジュアルの複雑さに依存します。最適な結果を得るには、3D エフェクトは最小限に抑え、壁やプロット領域への重いテクスチャの使用を避け、可能であればシリーズあたりのデータ点数を制限し、対象の表示や印刷要件に合わせた解像度とサイズの出力にレンダリングしてください。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md index 9fdd144578..e46b8b0ed7 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md @@ -1,11 +1,11 @@ --- -title: Python でプレゼンテーションのバブル チャートをカスタマイズする -linktitle: バブル チャート +title: Pythonでプレゼンテーションのバブルチャートをカスタマイズ +linktitle: バブルチャート type: docs url: /ja/python-net/bubble-chart/ keywords: -- バブル チャート -- バブルのサイズ +- バブルチャート +- バブルサイズ - サイズスケーリング - サイズ表現 - PowerPoint @@ -13,12 +13,11 @@ keywords: - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument で強力なバブル チャートを作成およびカスタマイズし、データ ビジュアライゼーションを簡単に強化する方法をご紹介します。" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument で強力なバブルチャートを作成・カスタマイズし、データ視覚化を簡単に強化します。" --- -## **バブルチャートサイズのスケーリング** -Aspose.Slides for Python via .NETはバブルチャートサイズのスケーリングをサポートしています。Aspose.Slides for Python via .NET **ChartSeries.bubble_size_scale**および**ChartSeriesGroup.bubble_size_scale**プロパティが追加されました。以下にサンプル例を示します。 - +## **バブルチャートのサイズスケーリング** +Aspose.Slides for Python via .NETはバブルチャートのサイズスケーリングをサポートします。Aspose.Slides for Python via .NETでは**ChartSeries.bubble_size_scale**および**ChartSeriesGroup.bubble_size_scale**プロパティが追加されました。以下にサンプル例を示します。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -29,9 +28,9 @@ with slides.Presentation() as pres: pres.save("Result.pptx", slides.export.SaveFormat.PPTX) ``` -## **バブルチャートサイズとしてデータを表現する** -プロパティ **bubble_size_representation**がChartSeriesとChartSeriesGroupクラスに追加されました。**bubble_size_representation**は、バブルチャートにおけるバブルサイズ値の表現方法を指定します。可能な値は、**BubbleSizeRepresentationType.AREA**および**BubbleSizeRepresentationType.WIDTH**です。それに応じて、**BubbleSizeRepresentationType**列挙型が追加され、データをバブルチャートサイズとして表現するための可能な方法を指定します。サンプルコードは以下に示します。 +## **バブルチャートサイズとしてデータを表す** +ChartSeries および ChartSeriesGroup クラスに **bubble_size_representation** プロパティが追加されました。**bubble_size_representation** はバブルチャートでバブルサイズの値をどのように表すかを指定します。可能な値は **BubbleSizeRepresentationType.AREA** と **BubbleSizeRepresentationType.WIDTH** です。これに伴い、データをバブルチャートのサイズとして表す方法を示す **BubbleSizeRepresentationType** 列挙体が追加されました。以下にサンプルコードを示します。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -40,4 +39,16 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True) chart.chart_data.series_groups[0].bubble_size_representation = charts.BubbleSizeRepresentationType.WIDTH pres.save("Presentation_BubbleSizeRepresentation.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**「3-D 効果付きバブルチャート」はサポートされていますか、通常のものとどう違いますか?** +はい。別個のチャートタイプ「Bubble with 3-D」があります。バブルに 3-D スタイルを適用しますが、追加の軸は追加されません。データは X-Y-S(サイズ)のままです。このタイプは [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) 列挙体で利用可能です。 + +**バブルチャートのシリーズ数やデータ点の数に制限はありますか?** +API レベルでの明確な上限はありません。制約はパフォーマンスと対象となる PowerPoint バージョンに依存します。可読性とレンダリング速度を考慮し、データ点の数は適切に抑えることを推奨します。 + +**エクスポート時にバブルチャートの外観はどのように変わりますか(PDF、画像)?** +サポートされている形式へエクスポートすると、チャートの外観は保持されます。レンダリングは Aspose.Slides エンジンが行います。ラスタ/ベクタ形式の場合、一般的なチャート描画の規則(解像度、アンチエイリアスなど)が適用されるため、印刷時は十分な DPI を選択してください。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md index 1240000778..61827f1c3f 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md @@ -1,91 +1,117 @@ --- -title: 階層型データのツリーマップとサンバーストチャート +title: PythonでTreemapとSunburstチャートのデータポイントをカスタマイズ +linktitle: TreemapとSunburstチャートのデータポイント type: docs url: /ja/python-net/data-points-of-treemap-and-sunburst-chart/ -keywords: "サンバーストチャート, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでPowerPointプレゼンテーションにサンバーストチャートを追加する" +keywords: +- Treemapチャート +- Sunburstチャート +- データポイント +- ラベルカラー +- ブランチカラー +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument 形式に対応した Treemap と Sunburst チャートのデータポイントの管理方法を学びます。" --- -他の種類のPowerPointチャートの中で、**ツリーマップ**と**サンバースト**チャート(サンバーストグラフ、サンバースト図、ラジアルチャート、ラジアルグラフ、またはマルチレベル円グラフとも呼ばれる)の2つの「階層型」チャートがあります。これらのチャートは、葉からブランチの上部までのツリーとして整理された階層データを表示します。葉はシリーズデータポイントによって定義され、各次の入れ子グルーピングレベルは対応するカテゴリによって定義されます。Aspose.Slides for Python via .NETを使用することで、Pythonでサンバーストチャートとツリーマップのデータポイントをフォーマットできます。 +## **概要** -以下はサンバーストチャートで、Series1列のデータが葉ノードを定義しており、他の列が階層データポイントを定義しています: - -![todo:image_alt_text](https://lh6.googleusercontent.com/TSSU5O7SLOi5NZD9JaubhgGU1QU5tYKc23RQX_cal3tlz5TpOvsgUFLV_rHvruwN06ft1XYgsLhbeEDXzVqdAybPIbpfGy-lwoQf_ydxDwcjAeZHWfw61c4koXezAAlEeCA7x6BZ) - -プレゼンテーションに新しいサンバーストチャートを追加して始めましょう: +PowerPoint の他のチャートタイプの中には、階層構造を持つものが 2 つあります—**Treemap** と **Sunburst**(サンバースト グラフ、サンバースト ダイアグラム、放射状チャート、放射状グラフ、またはマルチレベル パイ チャートとしても知られています)。これらのチャートは、ツリー構造として整理された階層データを表示します—リーフから枝の先端まで。リーフはシリーズのデータポイントで定義され、各ネストされたグループレベルは対応するカテゴリで定義されます。Aspose.Slides for Python via .NET を使用すると、Python で Sunburst チャートと Treemap のデータポイントの書式設定が可能です。 +以下は Series1 列のデータがリーフ ノードを定義し、他の列が階層データポイントを定義するサンバースト チャートの例です: +![サンバースト チャート例](sunburst_example.png) +プレゼンテーションに新しいサンバースト チャートを追加してみましょう: ```py -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) ``` -{{% alert color="primary" title="見出し" %}} -- [**サンバーストチャートの作成**](/slides/ja/python-net/adding-charts/#addingcharts-creatingsunburstchart) + +{{% alert color="primary" title="参照" %}} +- [**サンバースト チャートの作成**](/slides/ja/python-net/create-chart/#create-sunburst-charts) {{% /alert %}} +チャート データポイントの書式設定が必要な場合は、以下の API を使用してください: -チャートのデータポイントをフォーマットする必要がある場合、以下を使用するべきです: - -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/)、  -[IChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/)クラス  -および [**IChartDataPoint.DataPointLevels**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapoint/)プロパティ  -は、ツリーマップとサンバーストチャートのデータポイントをフォーマットするためのアクセスを提供します。  -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/) -はマルチレベルのカテゴリにアクセスするために使用され、 それは  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/)オブジェクトのコンテナを表します。 -基本的には、データポイント特有のプロパティが追加された  -[**IChartCategoryLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartCategoryLevelsManager/)のラッパーです。  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/)クラスには -2つのプロパティがあり、[**Format**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/)と  -[**DataLabel** ](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/)が -対応する設定にアクセスします。 -## **データポイントの値を表示** -「Leaf 4」データポイントの値を表示します: +[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/), [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/), および [ChartDataPoint.data_point_levels](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapoint/data_point_levels/) プロパティ。これらは Treemap と Sunburst チャートのデータポイントの書式設定にアクセスできるようにします。ChartDataPointLevelsManager はマルチレベル カテゴリにアクセスするために使用され、ChartDataPointLevel オブジェクトのコンテナを表します。実質的には [ChartCategoryLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartcategorylevelsmanager/) のラッパーであり、データポイント固有の追加プロパティを提供します。ChartDataPointLevel 型は、[format](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/format/) と [label](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/label/) の 2 つのプロパティを公開し、対応する設定にアクセスできるようにします。 +## **データポイントの値を表示する** +このセクションでは、Treemap および Sunburst チャートの個々のデータポイントの値を表示する方法を示します。選択したポイントの値ラベルを有効にする手順を確認できます。 +「Leaf 4」データポイントの値を表示します: ```py - dataPoints = chart.chart_data.series[0].data_points - dataPoints[3].data_point_levels[0].label.data_label_format.show_value = True +data_points = chart.chart_data.series[0].data_points +data_points[3].data_point_levels[0].label.data_label_format.show_value = True ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/bKHMf5Bj37ZkMwUE1OfXjw7_CRmDhafhQOUuVWDmitwbtdkwD68ibWluY6Q1HQz_z2Q-BR_SBrBPZ_gID5bGH0PUqI5w37S22RT-ZZal6k7qIDstKntYi5QXS8z-SgpnsI78WGiu) -## **データポイントラベルと色を設定** -「Branch 1」のデータラベルをカテゴリ名の代わりにシリーズ名(「Series1」)を表示するように設定します。その後、テキストの色を黄色に設定します: +![データポイントの値](data_point_value.png) + +## **データポイントのラベルと色を設定する** +このセクションでは、Treemap および Sunburst チャートの個々のデータポイントにカスタム ラベルと色を設定する方法を示します。特定のデータポイントにアクセスし、ラベルを割り当て、重要なノードを強調するために単色塗りつぶしを適用する手順を学びます。 +「Branch 1」データラベルをカテゴリ名ではなくシリーズ名(「Series1」)に設定し、テキストの色を黄色に変更します: ```py - branch1Label = dataPoints[0].data_point_levels[2].label - branch1Label.data_label_format.show_category_name = False - branch1Label.data_label_format.show_series_name = True +branch1_label = data_points[0].data_point_levels[2].label +branch1_label.data_label_format.show_category_name = False +branch1_label.data_label_format.show_series_name = True - branch1Label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID - branch1Label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow +branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID +branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/I9g0kewJnxkhUVlfSWRN39Ng-wzjWyRwF3yTbOD9HhLTLBt_sMJiEfDe7vOfqRNx89o9AVZsYTW3Vv_TIuj4EgM4_UEEi7zQ3jdvaO8FoG2JcsOqNRgbiE5HQZNz8xx_q9qdj8JQ) -## **データポイントのブランチ色を設定** -「Stem 4」ブランチの色を変更します: +![データポイントのラベルと色](data_point_color.png) +## **データポイントの枝色を設定する** + +枝色を使用して、Treemap および Sunburst チャートで親子ノードが視覚的にどのようにグループ化されるかを制御します。このセクションでは、特定のデータポイントにカスタム 枝色を設定し、重要なサブツリーをハイライトしてチャートの可読性を向上させる方法を示します。 + +「Stem 4」枝の色を変更します: ```py -import aspose.slides.charts as charts import aspose.slides as slides +import aspose.slides.charts as charts import aspose.pydrawing as draw -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) - dataPoints = chart.chart_data.series[0].data_points +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) + data_points = chart.chart_data.series[0].data_points - stem4branch = dataPoints[9].data_point_levels[1] + stem4_branch = data_points[9].data_point_levels[1] - stem4branch.format.fill.fill_type = slides.FillType.SOLID - stem4branch.format.fill.solid_fill_color.color = draw.Color.red + stem4_branch.format.fill.fill_type = slides.FillType.SOLID + stem4_branch.format.fill.solid_fill_color.color = draw.Color.red - pres.save("pres.pptx", slides.export.SaveFormat.PPTX) + presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX) ``` -![todo:image_alt_text](https://lh5.googleusercontent.com/Zll4cpQ5tTDdgwmJ4yuupolfGaANR8SWWTU3XaJav_ZVXVstV1pI1z1OFH-gov6FxPoDz1cxmMyrgjsdYGS24PlhaYa2daKzlNuL1a0xYcqEiyyO23AE6JMOLavWpvqA6SzOCA6_) \ No newline at end of file + +![枝の色](branch_color.png) + +## **FAQ** + +**Sunburst/Treemap のセグメントの順序(ソート)を変更できますか?** + +いいえ。PowerPoint はセグメントを自動的にソートします(通常は値の降順で時計回り)。Aspose.Slides も同様の動作をし、直接順序を変更することはできません。データを事前に加工することで順序を調整します。 + +**プレゼンテーションのテーマはセグメントやラベルの色にどのように影響しますか?** + +チャートの色はプレゼンテーションの [テーマ/パレット](/slides/ja/python-net/presentation-theme/) を継承します。明示的に塗りつぶしやフォントを設定しない限り、テーマの色が適用されます。一定の結果を得るには、必要なレベルで単色塗りつぶしとテキスト書式を固定してください。 + +**PDF/PNG へのエクスポート時にカスタム 枝色やラベル設定は保持されますか?** + +はい。プレゼンテーションをエクスポートすると、チャート設定(塗りつぶし、ラベル)は出力形式に保持されます。Aspose.Slides は書式設定されたチャートをそのままレンダリングします。 + +**チャート上にカスタム オーバーレイを配置するために、ラベルや要素の実際の座標を計算できますか?** + +はい。チャートのレイアウトが確定した後、要素(例: [DataLabel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/datalabel/))には `actual_x` と `actual_y` が利用可能になり、正確なオーバーレイ位置決めに役立ちます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md index c796c0e73c..7969f93a2e 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md @@ -1,41 +1,55 @@ --- -title: Python でプレゼンテーションのドーナツチャートをカスタマイズ +title: Python を使用したプレゼンテーションのドーナツチャートのカスタマイズ linktitle: ドーナツチャート type: docs weight: 30 url: /ja/python-net/doughnut-chart/ keywords: - ドーナツチャート -- 中央の余白 +- 中心ギャップ - 穴のサイズ - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET でドーナツチャートを作成・カスタマイズする方法を紹介します。PowerPoint および OpenDocument 形式をサポートし、動的なプレゼンテーションを実現します。" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint と OpenDocument 形式の動的プレゼンテーションに対応したドーナツチャートの作成とカスタマイズ方法を学びます。" --- -## **ドーナツチャートの中央の隙間を指定する** +## **ドーナツチャートの中心ギャップを指定する** ドーナツチャートの穴のサイズを指定するには、以下の手順に従ってください。 -- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 +- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスをインスタンス化します。 - スライドにドーナツチャートを追加します。 - ドーナツチャートの穴のサイズを指定します。 -- プレゼンテーションをディスクに書き込みます。 +- プレゼンテーションをディスクに書き出します。 以下の例では、ドーナツチャートの穴のサイズを設定しています。 - ```py import aspose.slides.charts as charts import aspose.slides as slides -# Presentationクラスのインスタンスを作成します +# Presentation クラスのインスタンスを作成する with slides.Presentation() as presentation: chart = presentation.slides[0].shapes.add_chart(charts.ChartType.DOUGHNUT, 50, 50, 400, 400) chart.chart_data.series_groups[0].doughnut_hole_size = 90 - # プレゼンテーションをディスクに書き込みます + # プレゼンテーションをディスクに保存する presentation.save("DoughnutHoleSize_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**複数のリングを持つマルチレベルのドーナツを作成できますか?** + +はい。単一のドーナツチャートに複数のシリーズを追加すると、各シリーズが別々のリングになります。リングの順序はコレクション内のシリーズの順序で決まります。 + +**「エクスプローデッド」ドーナツ(スライスが分離されたもの)はサポートされていますか?** + +はい。Exploded Doughnut [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) があり、データポイントに爆発プロパティがあるため、個々のスライスを分離できます。 + +**レポート用にドーナツチャートの画像(PNG/SVG)を取得するにはどうすればよいですか?** + +チャートはシェイプです。[raster image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) にレンダリングするか、[SVG image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) にエクスポートできます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md index 1ac30b2939..d7f0e823ac 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md @@ -1,26 +1,38 @@ --- -title: パイチャート +title: Python を使用したプレゼンテーションの円グラフのカスタマイズ +linktitle: 円グラフ type: docs url: /ja/python-net/pie-chart/ -keywords: "パイチャート, プロットオプション, スライスの色, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでのPowerPointプレゼンテーションにおけるパイチャートのプロットオプションとスライスの色" +keywords: +- 円グラフ +- チャートの管理 +- チャートのカスタマイズ +- チャートオプション +- チャート設定 +- プロットオプション +- スライスの色 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Python と Aspose.Slides を使用して円グラフを作成・カスタマイズする方法を学び、PowerPoint や OpenDocument へエクスポートでき、数秒でデータストーリーテリングを強化します。" --- -## **パイチャートおよびバーオブパイチャートの第2プロットオプション** -Aspose.Slides for Python via .NETは、パイオブパイまたはバーオブパイチャートの第2プロットオプションをサポートしています。このトピックでは、Aspose.Slidesを使用してこれらのオプションを指定する方法について、例を用いて見ていきます。プロパティを指定するために、以下の手順に従ってください。 +## **Pie of Pie と Bar of Pie チャートの二次プロットオプション** +Aspose.Slides for Python via .NET は、現在、Pie of Pie または Bar of Pie チャートの二次プロットオプションをサポートしています。このトピックでは、Aspose.Slides を使用してこれらのオプションを指定する方法をサンプルで確認します。プロパティを指定するには、以下の手順に従ってください: -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのオブジェクトをインスタンス化します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスオブジェクトをインスタンス化します。 1. スライドにチャートを追加します。 -1. チャートの第2プロットオプションを指定します。 -1. プレゼンテーションをディスクに書き込みます。 - -以下の例では、パイオブパイチャートのさまざまなプロパティを設定しています。 +1. チャートの二次プロットオプションを指定します。 +1. プレゼンテーションを書き出します。 +以下の例では、Pie of Pie チャートのさまざまなプロパティを設定しています。 ```py import aspose.slides.charts as charts import aspose.slides as slides -# Presentationクラスのインスタンスを作成 +# Presentation クラスのインスタンスを作成 with slides.Presentation() as presentation: # スライドにチャートを追加 chart = presentation.slides[0].shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 500, 400) @@ -31,71 +43,85 @@ with slides.Presentation() as presentation: chart.chart_data.series[0].parent_series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE chart.chart_data.series[0].parent_series_group.pie_split_position = 53 - # プレゼンテーションをディスクに書き込む + # プレゼンテーションをディスクに保存 presentation.save("SecondPlotOptionsforCharts_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **自動パイチャートスライスの色を設定** -Aspose.Slides for Python via .NETは、自動パイチャートスライドの色を設定するためのシンプルなAPIを提供しています。サンプルコードは、上記のプロパティを設定します。 -1. Presentationクラスのインスタンスを作成します。 + + + +## **自動 Pie チャート スライスの色を設定** +Aspose.Slides for Python via .NET は、円グラフスライスの自動色設定用のシンプルな API を提供します。サンプルコードは上記プロパティの設定を適用します。 + +1. Presentation クラスのインスタンスを作成します。 1. 最初のスライドにアクセスします。 -1. デフォルトデータを使用してチャートを追加します。 -1. チャートのタイトルを設定します。 -1. 最初のシリーズの値を表示するように設定します。 -1. チャートデータシートのインデックスを設定します。 -1. チャートデータワークシートを取得します。 -1. デフォルトで生成されたシリーズとカテゴリを削除します。 +1. デフォルトデータでチャートを追加します。 +1. チャート タイトルを設定します。 +1. 最初の系列で値の表示を有効にします。 +1. チャート データ シートのインデックスを設定します。 +1. チャート データ ワークシートを取得します。 +1. デフォルトで生成された系列とカテゴリを削除します。 1. 新しいカテゴリを追加します。 -1. 新しいシリーズを追加します。 - -修正されたプレゼンテーションをPPTXファイルに書き込みます。 +1. 新しい系列を追加します。 +変更したプレゼンテーションを PPTX ファイルに書き出します。 ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# PPTXファイルを表すPresentationクラスをインスタンス化 +# PPTX ファイルを表す Presentation クラスのインスタンス化 with slides.Presentation() as presentation: # 最初のスライドにアクセス slide = presentation.slides[0] - # デフォルトデータを使用してチャートを追加 + # デフォルトデータでチャートを追加 chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) # チャートのタイトルを設定 - chart.chart_title.add_text_frame_for_overriding("サンプルタイトル") + chart.chart_title.add_text_frame_for_overriding("Sample Title") chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1 chart.chart_title.height = 20 chart.has_title = True - # 最初のシリーズの値を表示 + # 最初の系列で値の表示を有効にする chart.chart_data.series[0].labels.default_data_label_format.show_value = True - # チャートデータシートのインデックスを設定 + # チャート データシートのインデックスを設定 defaultWorksheetIndex = 0 - # チャートデータワークシートを取得 + # チャート データ ワークシートを取得 fact = chart.chart_data.chart_data_workbook - # デフォルトで生成されたシリーズとカテゴリを削除 + # デフォルトで生成された系列とカテゴリを削除 chart.chart_data.series.clear() chart.chart_data.categories.clear() # 新しいカテゴリを追加 - chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "第1四半期")) - chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "第2四半期")) - chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "第3四半期")) + chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr")) - # 新しいシリーズを追加 - series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "シリーズ1"), chart.type) + # 新しい系列を追加 + series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type) - # シリーズデータを追加 + # 系列データを入力 series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) series.parent_series_group.is_color_varied = True presentation.save("Pie.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**「Pie of Pie」および「Bar of Pie」のバリエーションはサポートされていますか?** + +はい、ライブラリは二次プロットをサポートしており、[Pie of Pie](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) と [Bar of Pie](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) のタイプが利用可能です。 + +**チャートだけを画像(例: PNG)としてエクスポートできますか?** + +はい、プレゼンテーション全体ではなく、チャート自体を画像として[エクスポート](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/)できます(PNG など)。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md index bc3559e048..da50f61aa9 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md @@ -1,50 +1,45 @@ --- -title: Python でプレゼンテーションのチャート ワークシートに数式を適用する -linktitle: ワークシートの数式 +title: Python を使用したプレゼンテーションでのチャート ワークシート数式の適用 +linktitle: ワークシート数式 type: docs weight: 70 url: /ja/python-net/chart-worksheet-formulas/ keywords: - チャート スプレッドシート - チャート ワークシート -- チャート数式 -- ワークシート数式 -- スプレッドシート数式 -- データソース +- チャート 数式 +- ワークシート 数式 +- スプレッドシート 数式 +- データ ソース - 論理定数 - 数値定数 - 文字列定数 - エラー定数 - 算術定数 - 比較演算子 -- A1 形式 -- R1C1 形式 -- 定義済み関数 +- A1 スタイル +- R1C1 スタイル +- 事前定義関数 - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET のチャート ワークシートで Excel スタイルの数式を適用し、PPT、PPTX、ODP ファイル全体のレポートを自動化します。" +description: "Aspose.Slides for Python の .NET チャート ワークシートを使用して Excel スタイルの数式を適用し、PPT、PPTX、ODP ファイル間でレポートを自動化します。" --- -## **プレゼンテーションにおけるチャートスプレッドシート数式について** -**チャートスプレッドシート**(またはチャートワークシート)は、チャートのデータソースです。チャートスプレッドシートには、チャート上にグラフィック方式で表現されるデータが含まれています。PowerPointでチャートを作成すると、このチャートに関連付けられたワークシートも自動的に作成されます。チャートワークシートは、すべてのタイプのチャート(折れ線グラフ、棒グラフ、サンバーストチャート、円グラフなど)に対して作成されます。PowerPointでチャートスプレッドシートを見るには、チャートをダブルクリックする必要があります: +## **プレゼンテーションにおけるチャート スプレッドシート数式について** +**Chart spreadsheet**(または chart worksheet)は、プレゼンテーション内のチャートのデータ ソースです。Chart spreadsheet にはデータが格納されており、これらはグラフ上に視覚的に表現されます。PowerPoint でチャートを作成すると、そのチャートに関連付けられたワークシートが自動的に作成されます。チャート ワークシートは、折れ線グラフ、棒グラフ、サンバースト グラフ、円グラフなど、すべてのチャート タイプに対して作成されます。PowerPoint でチャート スプレッドシートを表示するには、チャートをダブルクリックします。 ![todo:image_alt_text](chart-worksheet-formulas_1.png) -チャートスプレッドシートには、チャート要素の名前(カテゴリー名:*Category1*、シリーズ名)と、これらのカテゴリーとシリーズに適した数値データのテーブルが含まれています。デフォルトでは、新しいチャートを作成すると、チャートスプレッドシートデータはデフォルトデータで設定されます。その後、ワークシート内のスプレッドシートデータを手動で変更することができます。 +Chart spreadsheet には、チャート要素の名前(カテゴリ名: *Category1*、系列名)と、これらのカテゴリおよび系列に対応する数値データの表が含まれます。既定では、新しいチャートを作成すると、チャート スプレッドシートのデータはデフォルト データで設定されます。その後、ワークシート内のデータを手動で変更できます。 -通常、チャートは複雑なデータを表現します(例:財務アナリスト、科学アナリスト)、他のセルの値や他の動的データから計算されるセルを持っています。セルの値を手動で計算し、それをセルにハードコーディングすると、将来的に変更が難しくなります。特定のセルの値を変更すると、それに依存するすべてのセルも更新する必要があります。さらに、テーブルデータは他のテーブルのデータに依存している可能性があり、簡単かつ柔軟な方法で更新する必要がある複雑なプレゼンテーションデータスキームを作成します。 +通常、チャートは複雑なデータ(例: 財務分析、科学分析)を表し、セルは他のセルの値や動的データから計算されます。セルの値を手動で計算しハードコードすると、将来変更しにくくなります。あるセルの値を変更すると、そのセルに依存するすべてのセルも更新する必要があります。さらに、表データは他の表のデータに依存することがあり、プレゼンテーション データのスキーマが複雑になり、容易かつ柔軟に更新できる必要があります。 -プレゼンテーションにおける**チャートスプレッドシート数式**は、チャートスプレッドシートデータを自動的に計算して更新するための式です。スプレッドシート数式は、特定のセルまたはセルのセットに対するデータ計算ロジックを定義します。スプレッドシート数式は、数式や論理式であり、セル参照、数学関数、論理演算子、算術演算子、変換関数、文字列定数などを使用します。数式の定義はセルに書き込まれ、このセルは単純な値を含まない状態になります。スプレッドシート数式は値を計算し、それを返し、この値がセルに割り当てられます。プレゼンテーションのチャートスプレッドシート数式は、実際にはExcel数式と同じであり、その実装のためにサポートされているデフォルト関数、演算子、および定数も同じです。 +**Chart spreadsheet formula** は、チャート スプレッドシート データを自動的に計算・更新する式です。スプレッドシート数式は、特定のセルまたはセルの集合のデータ計算ロジックを定義します。数式は、セル参照、数学関数、論理演算子、算術演算子、変換関数、文字列定数などを使用した数学式または論理式です。数式の定義はセルに記述され、そのセルは単純な値を保持しません。数式が値を計算して返し、その値がセルに割り当てられます。プレゼンテーション内のチャート スプレッドシート数式は Excel の数式と同じで、同じ既定の関数、演算子、定数がサポートされています。 -[**Aspose.Slides**](https://products.aspose.com/slides/python-net/)では、チャートスプレッドシートが -[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/)プロパティで表現されます。 -[**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/)型です。 -スプレッドシート数式は -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)プロパティで設定および変更できます。 -Aspose.Slidesの数式には、次の機能がサポートされています: +[**Aspose.Slides**](https://products.aspose.com/slides/python-net/) のチャート スプレッドシートは、[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) プロパティ([**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/) 型)で表されます。スプレッドシート数式は、[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) プロパティで割り当ておよび変更できます。Aspose.Slides でサポートされている数式機能は次のとおりです。 - 論理定数 - 数値定数 @@ -52,18 +47,14 @@ Aspose.Slidesの数式には、次の機能がサポートされています: - エラー定数 - 算術演算子 - 比較演算子 -- A1スタイルのセル参照 -- R1C1スタイルのセル参照 -- 事前定義された関数 +- A1 形式セル参照 +- R1C1 形式セル参照 +- 事前定義関数 -通常、スプレッドシートは最後に計算された数式の値を保存します。プレゼンテーションを読み込んだ後、チャートデータが変更されていない場合は、**IChartDataCell.Value**プロパティは、その値を読み込むときに返します。しかし、スプレッドシートデータが変更された場合、**ChartDataCell.Value**プロパティを読み込むと、サポートされていない数式に対して**CellUnsupportedDataException**がスローされます。これは、数式が正常に解析されるとセルの依存関係が決定され、最後の値の正確性が決定されるためです。しかし、数式が解析できない場合、セル値の正確性は保証されません。 - -## **プレゼンテーションにチャートスプレッドシート数式を追加する** -まず、新しいプレゼンテーションの最初のスライドにサンプルデータを持つチャートを追加します。 -[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/)を使って。 -チャートのワークシートは自動的に作成され、次の -[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/)プロパティでアクセスできます: +通常、スプレッドシートは最後に計算された数式の値を保存します。プレゼンテーションの読み込み後にチャート データが変更されていない場合、**IChartDataCell.Value** プロパティはその値を返します。しかし、スプレッドシート データが変更された場合、**ChartDataCell.Value** プロパティの読み取り時にサポートされていない数式に対して **CellUnsupportedDataException** がスローされます。これは、数式が正常に解析されたときにセル依存関係が確定し、最後の値の正確性が判定されるためです。数式が解析できない場合、セル値の正確性は保証できません。 +## **プレゼンテーションにチャート スプレッドシート数式を追加する** +まず、[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) を使用して新しいプレゼンテーションの最初のスライドにサンプル データ付きのチャートを追加します。チャートのワークシートは自動的に作成され、[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) プロパティでアクセスできます: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -74,113 +65,112 @@ with slides.Presentation() as presentation: # ... ``` -次に、**Object**型の -[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)プロパティを使用してセルにいくつかの値を書き込みます。このプロパティには任意の値を設定できます: +セルに値を書き込むには、**Object** 型の [**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) プロパティを使用します。これにより、任意の値を設定できます: ```py workbook.get_cell(0, "F2").value = -2.5 workbook.get_cell(0, "G3").value = 6.3 workbook.get_cell(0, "H4").value = 3 ``` -今、セルに数式を書き込むには、 -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)プロパティを使用できます: +数式をセルに書き込むには、[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) プロパティを使用します: ```py workbook.get_cell(0, "B2").formula = "F2+G3+H4+1" ``` -*注*: [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)プロパティは、A1スタイルのセル参照を設定するために使用されます。 -[r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)セル参照を設定するには、[**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)プロパティを使用できます: +*Note*: [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) プロパティは A1 形式のセル参照を設定するために使用されます。 +R1C1 形式のセル参照を設定するには、[**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) プロパティを使用します: ```py workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]" ``` -次に、[**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/)メソッドを使用して、ワークブック内のすべての数式を計算し、対応するセルの値を更新します: +その後、[**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) メソッドを呼び出して、ワークブック内のすべての数式を計算し、対応するセル値を更新します: ```py workbook.calculate_formulas() print(workbook.get_cell(0, "B2").value) # 7.8 print(workbook.get_cell(0, "C2").value) # 2.1 ``` + ## **論理定数** -セルの数式で*FALSE*や*TRUE*のような論理定数を使用できます: +セル数式では *FALSE* および *TRUE* のような論理定数を使用できます。 ## **数値定数** -数値は、チャートスプレッドシート数式を作成するために、一般的または科学的表記法で使用できます: +数値は通常表記や科学的表記で使用でき、チャート スプレッドシート数式を作成できます。 ## **文字列定数** -文字列(またはリテラル)定数は、特定の値であり、そのまま使用され、変更されません。文字列定数には、日付、テキスト、数値などがあります: +文字列(リテラル)定数は、そのまま使用され変更されない特定の値です。文字列定数には日付、テキスト、数値などが含まれます。 ## **エラー定数** -時には、数式で結果を計算することが不可能な場合があります。その場合、セルの値の代わりにエラーコードが表示されます。各種のエラーには特定のコードがあります: - -- #DIV/0! - 数式はゼロで割ろうとします。 -- #GETTING_DATA - 値がまだ計算中である間、セルに表示される場合があります。 -- #N/A - 情報が欠落または利用できない場合です。理由には、数式で使用されるセルが空であること、余分なスペース文字、スペルミスなどが考えられます。 -- #NAME? - 特定のセルまたは他の数式オブジェクトがその名前で見つけられません。 -- #NULL! - 数式に誤りがある場合、例えば:(,) またはコロン (:) の代わりにスペース文字が使用されることがあります。 -- #NUM! - 数式内の数値が無効である、長すぎる、または小さすぎるなどがあります。 +数式で結果を計算できない場合、セルにはエラーコードが表示されます。各エラーには固有のコードがあります。 + +- #DIV/0! - 数式がゼロ除算を試みた場合。 +- #GETTING_DATA - 値の計算中にセルに表示されることがあります。 +- #N/A - 情報が不足または利用できない場合。例: 参照セルが空、余分なスペース文字、綴り間違いなど。 +- #NAME? - 名前でセルや他の数式オブジェクトが見つからない場合。 +- #NULL! - 数式に誤りがある場合に発生します(例: (,) やコロン (:) の代わりにスペース文字が使用された場合)。 +- #NUM! - 数式内の数値が無効、桁数が多すぎる、または小さすぎる場合。 - #REF! - 無効なセル参照。 -- #VALUE! - 予期しない値のタイプ。例えば、文字列の値が数値セルに設定されています。 +- #VALUE! - 予期しないデータ型。例: 文字列が数値セルに設定された場合。 ## **算術演算子** -チャートワークシート数式で、すべての算術演算子を使用できます: +チャート ワークシートの数式ではすべての算術演算子を使用できます。 -|**演算子** |**意味** |**例**| +|**Operator**|**Meaning**|**Example**| | :- | :- | :- | -|+ (プラス記号) |加算または単項プラス|2 + 3| -|- (マイナス記号) |減算または否定 |2 - 3
    -3| -|* (アスタリスク)|乗算 |2 * 3| -|/ (スラッシュ)|除算 |2 / 3| -|% (パーセント記号) |パーセント |30%| -|^ (キャレット) |累乗 |2 ^ 3| +|+ (plus sign)|加算または単項プラス|2 + 3| +|- (minus sign)|減算または単項マイナス|2 - 3
    -3| +|* (asterisk)|乗算|2 * 3| +|/ (forward slash)|除算|2 / 3| +|% (percent sign)|パーセント|30%| +|^ (caret)|べき乗|2 ^ 3| -*注*: 評価の順序を変更するには、最初に計算される部分を括弧で囲みます。 +*Note*: 評価順序を変更するには、先に計算したい部分を丸括弧で囲みます。 ## **比較演算子** -比較演算子を使用して、セルの値を比較できます。これらの演算子を使用して二つの値を比較すると、結果は論理値のいずれかで、*TRUE*または*FALSE*です: +比較演算子を使用してセルの値を比較できます。これらの演算子で比較した結果は、論理値 *TRUE* または *FALSE* になります。 -|**演算子** |**意味** |**意味** | +|**Operator**|**Description**|**Example**| | :- | :- | :- | -|= (等号) |等しい |A2 = 3| -|<> (不等号) |等しくない|A2 <> 3| -|> (大なり) |より大きい|A2 > 3| -|>= (大なりまたは等しい)|より大きいまたは等しい|A2 >= 3| -|< (小なり)|より小さい|A2 < 3| -|<= (小なりまたは等しい)|より小さいまたは等しい|A2 <= 3| +|= (equal sign)|等しい|A2 = 3| +|<> (not equal sign)|等しくない|A2 <> 3| +|> (greater than sign)|大きい|A2 > 3| +|>= (greater than or equal to sign)|以上|A2 >= 3| +|< (less than sign)|小さい|A2 < 3| +|<= (less than or equal to sign)|以下|A2 <= 3| -## **A1スタイルのセル参照** -**A1スタイルのセル参照**は、列に文字識別子(例: "*A*")があり、行に数値識別子(例: "*1*")があるワークシートに使用されます。A1スタイルのセル参照は次のように使用できます: +## **A1 形式セル参照** +**A1 形式セル参照**は、列が文字識別子(例: *A*)で行が数字識別子(例: *1*)で表されるワークシートで使用されます。A1 形式セル参照は次のように使用できます。 -|**セル参照**|**例**||| +|**Cell reference**|**Example**||| | :- | :- | :- | :- | -||絶対 |相対 |混合| -|セル |$A$2 |A2|

    A$2

    $A2

    | -|行 |$2:$2 |2:2 |-| -|列 |$A:$A |A:A |-| -|範囲 |$A$2:$C$4 |A2:C4|

    $A$2:C4

    A$2:$C4

    | +||Absolute|Relative|Mixed| +|Cell|$A$2|A2|

    A$2

    $A2

    | +|Row|$2:$2|2:2|-| +|Column|$A:$A|A:A|-| +|Range|$A$2:$C$4|A2:C4|

    $A$2:C4

    A$2:$C4

    | -数式でA1スタイルのセル参照を使用する例は以下の通りです: +以下は A1 形式セル参照を数式で使用する例です: -## **R1C1スタイルのセル参照** -**R1C1スタイルのセル参照**は、どちらの行と列にも数値識別子があるワークシートに使用されます。R1C1スタイルのセル参照は次のように使用できます: +## **R1C1 形式セル参照** +**R1C1 形式セル参照**は、行と列の両方が数字識別子で表されるワークシートで使用されます。R1C1 形式セル参照は次のように使用できます。 -|**セル参照**|**例**||| +|**Cell reference**|**Example**||| | :- | :- | :- | :- | -||絶対 |相対 |混合| -|セル |R2C3|R[2]C[3]|R2C[3]
    R[2]C3| -|行 |R2|R[2]|-| -|列 |C3|C[3]|-| -|範囲 |R2C3:R5C7|R[2]C[3]:R[5]C[7] |R2C3:R[5]C[7]
    R[2]C3:R5C[7]| +||Absolute|Relative|Mixed| +|Cell|R2C3|R[2]C[3]|R2C[3]
    R[2]C3| +|Row|R2|R[2]|-| +|Column|C3|C[3]|-| +|Range|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]
    R[2]C3:R5C[7]| -数式でA1スタイルのセル参照を使用する例は以下の通りです: +以下は R1C1 形式セル参照を数式で使用する例です: -## **事前定義された関数** -数式の実装を簡素化するために、使用できる事前定義された関数があります。これらの関数は、最も一般的に使用される操作をカプセル化しています: +## **事前定義関数** +数式で使用できる事前定義関数があり、実装を簡素化できます。これらの関数は、以下のような一般的に使用される操作をカプセル化しています。 - ABS - AVERAGE @@ -188,14 +178,24 @@ with slides.Presentation() as presentation: - CHOOSE - CONCAT - CONCATENATE -- DATE (1900年日付システム) +- DATE (1900 date system) - DAYS - FIND - FINDB - IF -- INDEX (参照形式) -- LOOKUP (ベクトル形式) -- MATCH (ベクトル形式) +- INDEX (reference form) +- LOOKUP (vector form) +- MATCH (vector form) - MAX - SUM -- VLOOKUP \ No newline at end of file +- VLOOKUP + +## **FAQ** + +**外部 Excel ファイルを数式付きチャートのデータ ソースとして使用できますか?** + +はい。Aspose.Slides は外部ブックを [chart's data source](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatasourcetype/) としてサポートしており、プレゼンテーション外部の XLSX から数式を使用できます。 + +**チャート数式は、同じブック内のシート名でシートを参照できますか?** + +はい。数式は標準的な Excel 参照モデルに従うため、同じブック内または外部ブック内の他シートを参照できます。外部参照の場合は、Excel の構文でパスとブック名を含めます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md index b52b132c26..50c2365455 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md @@ -1,22 +1,24 @@ --- -title: チャートのエクスポート +title: "Pythonでプレゼンテーションのチャートをエクスポート" +linktitle: "チャートのエクスポート" type: docs weight: 90 url: /ja/python-net/export-chart/ keywords: -- チャート -- チャート画像 -- チャート画像の抽出 -- PowerPoint -- プレゼンテーション -- Python -- Aspose.Slides for Python -description: "PythonでPowerPointプレゼンテーションからチャート画像を取得する" +- "チャート" +- "チャートから画像へ" +- "画像としてのチャート" +- "チャート画像の抽出" +- "PowerPoint" +- "OpenDocument" +- "プレゼンテーション" +- "Python" +- "Aspose.Slides" +description: "Aspose.Slides for Python via .NET を使用して、PPT、PPTX、ODP 形式のプレゼンテーション チャートをエクスポートする方法を学び、任意のワークフローへレポートを効率化します。" --- ## **チャート画像の取得** -Aspose.Slides for Python via .NETは特定のチャートの画像を抽出するサポートを提供します。以下にサンプル例を示します。 - +Aspose.Slides for Python via .NET は、特定のチャートの画像抽出をサポートしています。以下にサンプル例を示します。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -27,4 +29,27 @@ with slides.Presentation("test.pptx") as presentation: with chart.get_image() as image: image.save("image.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **FAQ** + +**チャートをラスター画像ではなくベクター(SVG)としてエクスポートできますか?** + +はい。チャートはシェイプであり、その内容は[shape-to-SVG 保存メソッド](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/write_as_svg/)でSVGとして保存できます。 + +**エクスポートしたチャートの正確なサイズをピクセル単位で設定するにはどうすればよいですか?** + +サイズまたはスケールを指定できる image-rendering のオーバーロードを使用します。ライブラリは指定された寸法/スケールでオブジェクトのレンダリングをサポートしています。 + +**エクスポート後にラベルや凡例のフォントが正しく表示されない場合、どうすればよいですか?** + +[必要なフォントをロード](/slides/ja/python-net/custom-font/) via [FontsLoader](https://reference.aspose.com/slides/python-net/aspose.slides/fontsloader/) これにより、チャートのレンダリングがメトリックとテキストの外観を保持します。 + +**エクスポートは PowerPoint のテーマ、スタイル、エフェクトを尊重しますか?** + +はい。Aspose.Slides のレンダラーはプレゼンテーションの書式設定(テーマ、スタイル、塗りつぶし、エフェクト)に従うため、チャートの外観が保持されます。 + +**チャート画像以外の利用可能なレンダリング/エクスポート機能はどこで確認できますか?** + +[API](https://reference.aspose.com/slides/python-net/aspose.slides.export/)/[ドキュメント](/slides/ja/python-net/convert-powerpoint/) のエクスポートセクションで出力ターゲット([PDF](/slides/ja/python-net/convert-powerpoint-to-pdf/), [SVG](/slides/ja/python-net/render-a-slide-as-an-svg-image/), [XPS](/slides/ja/python-net/convert-powerpoint-to-xps/), [HTML](/slides/ja/python-net/convert-powerpoint-to-html/), など)と関連するレンダリングオプションを確認してください。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md index 6645c53fc5..8f97448f2c 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md @@ -1,33 +1,44 @@ --- -title: 数学方程式のエクスポート +title: Pythonでプレゼンテーションから数式をエクスポート +linktitle: 数式のエクスポート type: docs weight: 30 url: /ja/python-net/exporting-math-equations/ -keywords: "数学方程式のエクスポート, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでPowerPointの数学方程式をエクスポート" +keywords: +- 数式のエクスポート +- MathML +- LaTeX +- PowerPoint +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint から MathML へ数式をシームレスにエクスポートし、書式を保持し、互換性を向上させます。" --- -Aspose.Slides for Python via .NETを使用すると、プレゼンテーションから数学方程式をエクスポートできます。たとえば、特定のプレゼンテーションのスライドにある数学方程式を抽出し、別のプログラムやプラットフォームで使用する必要があるかもしれません。 +## **導入** -{{% alert color="primary" %}} - -方程式をMathMLにエクスポートできます。MathMLは、ウェブや多くのアプリケーションで見られる数学方程式や類似のコンテンツのための一般的なフォーマットまたは標準です。 +Aspose.Slides for Python via .NET は、プレゼンテーションから数式をエクスポートする機能を提供します。たとえば、特定のスライドから数式を抽出し、別のプログラムやプラットフォームで再利用する必要がある場合があります。 +{{% alert color="primary" %}} +MathML は、Web や多くのアプリケーションで数式コンテンツを表現するために広く使用されている標準です。 {{% /alert %}} -人間はLaTeXのような方程式フォーマットのコードを書くのが容易ですが、MathMLのコードを書くのは難しいです。これは、MathMLがアプリによって自動的に生成されることを意図しているためです。プログラムはMathMLを簡単に読み取って解析できます。なぜなら、そのコードはXMLで書かれているからです。したがって、MathMLは多くの分野で出力と印刷形式として一般的に使用されています。 +## **数式をMathMLとして保存** -このサンプルコードは、プレゼンテーションからMathMLに数学方程式をエクスポートする方法を示しています: +人間は LaTeX を簡単に記述できますが、MathML は通常、アプリケーションによって自動的に生成されます。MathML は XML ベースであるため、プログラムは信頼性の高い読み取りや解析が可能で、多くの分野で出力や印刷フォーマットとして広く使用されています。 +以下のサンプルコードは、プレゼンテーションから数式を MathML にエクスポートする方法を示しています。 ```py import aspose.slides as slides import aspose.slides.mathtext as math -with slides.Presentation() as pres: - autoShape = pres.slides[0].shapes.add_math_shape(0, 0, 500, 50) - mathParagraph = autoShape.text_frame.paragraphs[0].portions[0].math_paragraph +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50) + math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph - mathParagraph.add( + math_paragraph.add( math.MathematicalText("a"). set_superscript("2"). join("+"). @@ -35,6 +46,29 @@ with slides.Presentation() as pres: join("="). join(math.MathematicalText("c").set_superscript("2"))) - with open("mathml.xml", "wb") as stream: - mathParagraph.write_as_math_ml(stream) -``` \ No newline at end of file + with open("mathml.xml", "wb") as file_stream: + math_paragraph.write_as_math_ml(file_stream) +``` + + +## **よくある質問** + +**MathMLにエクスポートされる対象は何ですか—段落全体ですか、それとも個々の数式ブロックですか?** + +MathML へは、全体の数式段落([MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/))または個々のブロック([MathBlock](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathblock/))のいずれかをエクスポートできます。両方のタイプが MathML に書き出すメソッドを提供しています。 + +**スライド上のオブジェクトが通常のテキストや画像ではなく数式であるかどうかは、どのように判別できますか?** + +数式は[MathPortion](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathportion/)に存在し、[MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/)を持っています。[MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) を含まない画像や通常のテキスト部分は、エクスポート可能な数式ではありません。 + +**プレゼンテーション内の MathML はどこから来るものですか—PowerPoint 固有のものですか、それとも標準ですか?** + +エクスポートは標準の MathML(XML)を対象としています。Aspose は Presentation MathML、すなわち標準のプレゼンテーションサブセットを使用しており、アプリケーションや Web 全体で広く利用されています。 + +**テーブル、SmartArt、グループなど内の数式のエクスポートはサポートされていますか?** + +はい、これらのオブジェクトが[MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) を含むテキスト部分(すなわち実際の PowerPoint 数式)を持つ場合はエクスポートされます。数式が画像として埋め込まれている場合はエクスポートされません。 + +**MathML へのエクスポートは元のプレゼンテーションを変更しますか?** + +いいえ。MathML の書き出しは数式の内容をシリアライズするだけで、プレゼンテーション ファイルを変更することはありません。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md index 46bee46452..c701e47762 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md @@ -15,44 +15,42 @@ keywords: - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET が ActiveX を活用して PowerPoint プレゼンテーションを自動化・強化し、開発者にスライドを強力に制御する方法を学びましょう。" +description: "Aspose.Slides for Python via .NET が ActiveX を活用して PowerPoint プレゼンテーションを自動化・強化し、開発者にスライドに対する強力な制御を提供する方法を学びます。" --- -ActiveX コントロールはプレゼンテーションで使用されます。Aspose.Slides for Python via .NET を使うことで、ActiveX コントロールを管理できますが、これらを管理するのは少しトリッキーで、通常のプレゼンテーションシェイプとは異なります。Aspose.Slides for Python via .NET 6.9.0 以降、このコンポーネントは ActiveX コントロールの管理をサポートしています。現時点では、プレゼンテーションに追加された ActiveX コントロールにアクセスして、それをさまざまなプロパティを使って修正または削除できます。ActiveX コントロールはシェイプではなく、プレゼンテーションの IShapeCollection の一部ではなく、別の IControlCollection に属することを忘れないでください。この記事では、それらとの作業方法を示します。 -## **ActiveX コントロールの修正** -スライド上のテキストボックスや単純なコマンドボタンのようなシンプルな ActiveX コントロールを管理するには: +ActiveX コントロールはプレゼンテーションで使用されます。Aspose.Slides for Python via .NET を使用すると ActiveX コントロールを管理できますが、管理はやや複雑で通常のスライドシェイプとは異なります。Aspose.Slides for Python via .NET 6.9.0 以降、コンポーネントは ActiveX コントロールの管理をサポートします。現在、プレゼンテーションに追加済みの ActiveX コントロールにアクセスし、さまざまなプロパティを使って変更または削除できます。ActiveX コントロールはシェイプではなく、プレゼンテーションの IShapeCollection の一部でもなく、別個の IControlCollection に属します。この記事ではそれらの操作方法を示します。 -1. Presentation クラスのインスタンスを作成し、ActiveX コントロールを含むプレゼンテーションをロードします。 -1. インデックスを使用してスライドの参照を取得します。 -1. IControlCollection にアクセスしてスライド内の ActiveX コントロールにアクセスします。 +## **ActiveX コントロールの変更** +1. Presentation クラスのインスタンスを作成し、ActiveX コントロールが含まれるプレゼンテーションをロードします。 +1. インデックスでスライド参照を取得します。 +1. IControlCollection にアクセスしてスライド内の ActiveX コントロールを取得します。 1. ControlEx オブジェクトを使用して TextBox1 ActiveX コントロールにアクセスします。 -1. テキスト、フォント、フォントの高さ、およびフレームの位置など、TextBox1 ActiveX コントロールのさまざまなプロパティを変更します。 -1. CommandButton1 と呼ばれる2番目のアクセスコントロールにアクセスします。 -1. ボタンキャプション、フォント、位置を変更します。 -1. ActiveX コントロールのフレームの位置をシフトします。 -1. 修正されたプレゼンテーションを PPTX ファイルに書き込みます。 - -以下のコードスニペットは、プレゼンテーションスライドの ActiveX コントロールを更新します。 +1. TextBox1 ActiveX コントロールのテキスト、フォント、フォントサイズ、フレーム位置などさまざまなプロパティを変更します。 +1. CommandButton1 と呼ばれる 2 番目のコントロールにアクセスします。 +1. ボタンのキャプション、フォント、位置を変更します。 +1. ActiveX コントロールのフレーム位置をシフトします。 +1. 変更したプレゼンテーションを PPTX ファイルに書き出します。 +コードスニペットは、以下のスライドのようにプレゼンテーションのスライド上の ActiveX コントロールを更新します。 ```py import aspose.slides as slides import aspose.pydrawing as draw import io -# ActiveX コントロールを持つプレゼンテーションにアクセス +# ActiveX コントロールが含まれるプレゼンテーションにアクセスする with slides.Presentation(path + "ActiveX.pptm") as presentation: - # プレゼンテーションの最初のスライドにアクセス + # プレゼンテーションの最初のスライドにアクセスする slide = presentation.slides[0] - # TextBox テキストの変更 + # TextBox のテキストを変更する control = slide.controls[0] if control.name == "TextBox1" and control.properties != None: - newText = "変更されたテキスト" + newText = "Changed text" control.properties.remove("Value") control.properties.add("Value", newText) - # 代替画像の変更。PowerPoint はこの画像を ActiveX 有効化中に置き換えるため、時には画像を変更しないのが良いこともあります。 + # 代替画像を変更する。PowerPoint は ActiveX の有効化時にこの画像を置き換えるため、場合によっては画像を変更しなくても問題ない。 bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: @@ -94,15 +92,15 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # ボタンキャプションの変更 + # ボタンのキャプションを変更する control = slide.controls[1] if control.name == "CommandButton1" and control.properties != None: - newCaption = "メッセージボックス" + newCaption = "MessageBox" control.properties.remove("Caption") control.properties.add("Caption", newCaption) - # 代替画像の変更 + # 代替画像を変更する bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.CONTROL)) as brush: @@ -147,7 +145,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # ActiveX フレームを 100 ポイント下に移動 + # ActiveX フレームを 100 ポイント下に移動する for ctl in slide.controls: frame = control.frame control.frame = slides.ShapeFrame( @@ -159,50 +157,62 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: frame.flip_v, frame.rotation) - # 編集された ActiveX コントロールを持つプレゼンテーションを保存 + # 編集した ActiveX コントロール付きでプレゼンテーションを保存する presentation.save("withActiveX-edited_out.pptm", slides.export.SaveFormat.PPTM) - # さて、コントロールを削除 + # コントロールを削除する slide.controls.clear() - # 清掃された ActiveX コントロールを持つプレゼンテーションを保存 + # クリアした ActiveX コントロール付きでプレゼンテーションを保存する presentation.save("withActiveX.cleared_out.pptm", slides.export.SaveFormat.PPTM) ``` -## **ActiveX メディアプレーヤーコントロールの追加** -ActiveX メディアプレーヤーコントロールを追加するには、以下の手順を実行してください: - -1. Presentation クラスのインスタンスを作成し、Media Player ActiveX コントロールを含むサンプルプレゼンテーションをロードします。 -1. 目標となる Presentation クラスのインスタンスを作成し、空のプレゼンテーションインスタンスを生成します。 -1. テンプレートプレゼンテーションの Media Player ActiveX コントロールを含むスライドを目標の Presentation にクローンします。 -1. 目標の Presentation にクローンされたスライドにアクセスします。 -1. IControlCollection にアクセスしてスライド内の ActiveX コントロールにアクセスします。 -1. Media Player ActiveX コントロールにアクセスし、そのプロパティを使用して動画パスを設定します。 +## **ActiveX Media Player コントロールの追加** +1. Presentation クラスのインスタンスを作成し、Media Player ActiveX コントロールが含まれるサンプルプレゼンテーションをロードします。 +1. ターゲットとなる Presentation クラスのインスタンスを作成し、空のプレゼンテーションを生成します。 +1. テンプレートプレゼンテーションの Media Player ActiveX コントロールを含むスライドをターゲット Presentation にクローンします。 +1. ターゲット Presentation でクローンされたスライドにアクセスします。 +1. IControlCollection にアクセスしてスライド内の ActiveX コントロールを取得します。 +1. Media Player ActiveX コントロールにアクセスし、プロパティを使用してビデオパスを設定します。 1. プレゼンテーションを PPTX ファイルに保存します。 - ```py import aspose.slides as slides -# PPTX ファイルを表す Presentation クラスのインスタンス化 +# PPTX ファイルを表す Presentation クラスをインスタンス化する with slides.Presentation(path + "template.pptx") as presentation: - # 空のプレゼンテーションインスタンスを作成 + # 空のプレゼンテーション インスタンスを作成する with slides.Presentation() as newPresentation: - # デフォルトのスライドを削除 + # デフォルト スライドを削除する newPresentation.slides.remove_at(0) - # Media Player ActiveX コントロールを持つスライドをクローン + # Media Player ActiveX コントロールを含むスライドをクローンする newPresentation.slides.insert_clone(0, presentation.slides[0]) - # Media Player ActiveX コントロールにアクセスし、動画パスを設定 + # Media Player ActiveX コントロールにアクセスし、ビデオ パスを設定する prop = newPresentation.slides[0].controls[0].properties prop.remove("URL") prop.add("URL", "Wildlife.mp4") - # プレゼンテーションを保存 + # プレゼンテーションを保存する newPresentation.save("LinkingVideoActiveXControl_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Python ランタイムで実行できない場合でも、Aspose.Slides は ActiveX コントロールを読み取り再保存時に保持しますか?** + +はい。Aspose.Slides はそれらをプレゼンテーションの一部として扱い、プロパティやフレームを読み取り/変更できます。コントロール自体を実行する必要はありません。 + +**プレゼンテーションにおける ActiveX コントロールは OLE オブジェクトとどのように異なりますか?** + +ActiveX コントロールはインタラクティブな管理対象コントロール(ボタン、テキストボックス、メディアプレーヤー)であり、[OLE](/slides/ja/python-net/manage-ole/) は埋め込みアプリケーションオブジェクト(例: Excel ワークシート)を指します。保存方法や取り扱いが異なり、プロパティモデルも異なります。 + +**ファイルが Aspose.Slides によって変更された場合、ActiveX のイベントや VBA マクロは機能しますか?** + +Aspose.Slides は既存のマークアップとメタデータを保持しますが、イベントやマクロは Windows の PowerPoint で、セキュリティが許可された場合にのみ実行されます。ライブラリ自体は VBA を実行しません。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md index 5cfee09169..9062fc4bbb 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md @@ -1,89 +1,132 @@ --- -title: Python でプレゼンテーション シェイプのサムネイルを作成する -linktitle: シェイプのサムネイル +title: Pythonでプレゼンテーション形状のサムネイルを作成 +linktitle: 形状サムネイル type: docs weight: 70 url: /ja/python-net/create-shape-thumbnails/ keywords: -- シェイプ サムネイル -- シェイプ 画像 -- シェイプをレンダリング -- シェイプ レンダリング +- 形状サムネイル +- 形状画像 +- 形状のレンダリング +- 形状レンダリング - PowerPoint - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して PowerPoint と OpenDocument のスライドから高品質なシェイプのサムネイルを生成し、プレゼンテーションのサムネイルを簡単に作成およびエクスポートします。" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument スライドから高品質な形状サムネイルを生成し、簡単にプレゼンテーションのサムネイルを作成・エクスポートできます。" --- -Aspose.Slides for Python via .NETは、各ページがスライドであるプレゼンテーションファイルを作成するために使用されます。これらのスライドは、Microsoft PowerPointを使用してプレゼンテーションファイルを開くことで表示できます。しかし、時には開発者が画像ビューワーでシェイプの画像を別々に表示する必要がある場合があります。そのような場合、Aspose.Slides for Python via .NETはスライドシェイプのサムネイル画像を生成するのに役立ちます。この機能の使い方についてはこの記事で説明します。 -この記事では、さまざまな方法でスライドのサムネイルを生成する方法を説明します。 +## **導入** -- スライド内のシェイプサムネイルを生成する。 -- ユーザー定義の寸法を持つスライドシェイプのシェイプサムネイルを生成する。 -- シェイプの外観の境界内にシェイプサムネイルを生成する。 -- SmartArtの子ノードのサムネイルを生成する。 -## **スライドからシェイプサムネイルを生成する** -Aspose.Slides for Python via .NETを使用して任意のスライドからシェイプサムネイルを生成するには: +Aspose.Slides for Python via .NET は、各ページがスライドとなるプレゼンテーション ファイルを作成するために使用されます。プレゼンテーション ファイルを開くことで、Microsoft PowerPoint でこれらのスライドを表示できます。ただし、開発者が形状の画像を別々に画像ビューアで確認したい場合があります。そのようなケースでは、Aspose.Slides がスライド形状のサムネイル画像を生成できます。本記事では、この機能の使用方法を説明します。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. IDまたはインデックスを使用して任意のスライドの参照を取得します。 -1. 参照されたスライドのシェイプサムネイル画像をデフォルトスケールで取得します。 -1. 目的の画像形式でサムネイル画像を保存します。 +## **スライドから形状サムネイルを生成する** -以下の例は、シェイプサムネイルを生成します。 +スライド全体ではなく、特定のオブジェクトのプレビューが必要なときは、個々の形状のサムネイルをレンダリングできます。Aspose.Slides は任意の形状を画像としてエクスポートできるため、軽量プレビューやアイコン、下流処理用のアセット作成が容易です。 +任意の形状からサムネイルを生成する手順: + +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. ID またはインデックスでスライドへの参照を取得します。 +1. そのスライド上の形状への参照を取得します。 +1. 形状のサムネイル画像をレンダリングします。 +1. サムネイル画像を希望のフォーマットで保存します。 + +以下の例は形状サムネイルを生成します。 ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationクラスのインスタンスを作成 -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # フルスケール画像を作成 - with presentation.slides[0].shapes[0].get_image() as bitmap: - # PNG形式でディスクに画像を保存 - bitmap.save("Shape_thumbnail_out.png", slides.ImageFormat.PNG) +# プレゼンテーション ファイルを開くために Presentation クラスのインスタンスを作成します。 +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # デフォルトのスケールで画像を作成します。 + with shape.get_image() as thumbnail: + # PNG 形式で画像をディスクに保存します。 + thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG) ``` -## **ユーザー定義スケーリングファクターサムネイルを生成する** -Aspose.Slides for Python via .NETを使用して任意のスライドシェイプのシェイプサムネイルを生成するには: +## **カスタム拡大縮小率でサムネイルを生成する** + +このセクションでは、Aspose.Slides でユーザー定義の拡大縮小率を使用して形状サムネイルを生成する方法を示します。スケールを制御することで、プレビューやエクスポート、高 DPI ディスプレイに最適なサムネイルサイズを微調整できます。 -1. `Presentation`クラスのインスタンスを作成します。 -1. IDまたはインデックスを使用して任意のスライドの参照を取得します。 -1. シェイプの境界を持つ参照されたスライドのサムネイル画像を取得します。 -1. 目的の画像形式でサムネイル画像を保存します。 +スライド上の任意の形状のサムネイルを生成する手順: -以下の例は、ユーザー定義のスケーリングファクターを持つサムネイルを生成します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. ID またはインデックスでスライドを取得します。 +1. そのスライド上の対象形状を取得します。 +1. 指定した拡大縮小率で形状のサムネイル画像をレンダリングします。 +1. サムネイル画像を希望のフォーマットで保存します。 +以下の例はユーザー定義の拡大縮小率でサムネイルを生成します。 ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationクラスのインスタンスを作成 -with slides.Presentation(path + "HelloWorld.pptx") as p: - # フルスケール画像を作成 - with p.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.SHAPE, 1, 1) as bitmap: - # PNG形式でディスクに画像を保存 - bitmap.save("Scaling Factor Thumbnail_out.png", slides.ImageFormat.PNG) +scale_x = 2.0 +scale_y = scale_x + +# プレゼンテーション ファイルを開くために Presentation クラスのインスタンスを作成します。 +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # 定義されたスケールで画像を作成します。 + with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail: + # PNG 形式で画像をディスクに保存します。 + thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG) ``` -## **外観の境界にシェイプサムネイルを作成する** -このシェイプのサムネイルを作成する方法は、開発者がシェイプの外観の境界内にサムネイルを生成できるようにします。これはすべてのシェイプ効果を考慮に入れています。生成されたシェイプサムネイルは、スライドの境界によって制限されます。シェイプの外観の境界内にある任意のスライドシェイプのサムネイルを生成するには、次のサンプルコードを使用します。 +## **形状の表示境界を使用してサムネイルを生成する** -1. `Presentation`クラスのインスタンスを作成します。 -1. IDまたはインデックスを使用して任意のスライドの参照を取得します。 -1. 外観としてのシェイプ境界を持つ参照されたスライドのサムネイル画像を取得します。 -1. 目的の画像形式でサムネイル画像を保存します。 +このセクションでは、形状の表示境界内でサムネイルを生成する方法を示します。すべての形状エフェクトを考慮し、生成されたサムネイルはスライド境界で制限されます。 -以下の例は、ユーザー定義のスケーリングファクターを持つサムネイルを生成します。 +表示境界内で任意のスライド形状のサムネイルを生成する手順: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. ID またはインデックスでスライドを取得します。 +1. そのスライド上の対象形状を取得します。 +1. 指定した境界で形状のサムネイル画像をレンダリングします。 +1. サムネイル画像を希望の画像フォーマットで保存します。 + +以下の例はユーザー定義の境界でサムネイルを作成します。 ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationクラスのインスタンスを作成 -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # 外観境界シェイプ画像を作成 - with presentation.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.APPEARANCE, 1, 1) as bitmap: - # PNG形式でディスクに画像を保存 - bitmap.save("Shape_thumbnail_Bound_Shape_out.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +image_bounds = slides.ShapeThumbnailBounds.APPEARANCE + +# プレゼンテーション ファイルを開くために Presentation クラスのインスタンスを作成します。 +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # 表示境界で形状画像を作成します。 + with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail: + # PNG 形式で画像をディスクに保存します。 + thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG) +``` + + +## **FAQ** + +**形状サムネイルの保存に使用できる画像フォーマットは何ですか?** + +[PNG, JPEG, BMP, GIF, TIFF](https://reference.aspose.com/slides/python-net/aspose.slides/imageformat/) など。形状は [SVG 形式でベクタとしてエクスポート](/slides/ja/python-net/shape/write_as_svg/) することもできます。 + +**サムネイルをレンダリングする際の SHAPE 境界と APPEARANCE 境界の違いは何ですか?** + +`SHAPE` は形状のジオメトリを使用し、`APPEARANCE` は [視覚エフェクト](/slides/ja/python-net/shape-effect/)(影、光彩など)を考慮します。 + +**形状が非表示としてマークされている場合、サムネイルは生成されますか?** + +非表示の形状はモデルの一部として残り、レンダリング可能です。非表示フラグはスライドショー表示に影響しますが、形状画像の生成を妨げません。 + +**グループ形状、チャート、SmartArt、その他の複合オブジェクトはサポートされていますか?** + +はい。`Shape` として表現できるすべてのオブジェクト(`GroupShape`、`Chart`、`SmartArt` など)をサムネイルまたは SVG として保存できます。 + +**システムにインストールされたフォントはテキスト形状のサムネイル品質に影響しますか?** + +はい。不要なフォント置き換えやテキストの再フローを防ぐために、[必要なフォントを提供](/slides/ja/python-net/custom-font/)(または [フォント置換を構成](/slides/ja/python-net/font-substitution/))する必要があります。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md index 0f840d400b..4513d96a86 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md @@ -1,178 +1,175 @@ --- -title: Pythonでプレゼンテーションに図形アニメーションを適用する -linktitle: 図形アニメーション +title: Pythonでプレゼンテーションのシェイプ アニメーションを適用する +linktitle: シェイプ アニメーション type: docs weight: 60 url: /ja/python-net/shape-animation/ keywords: -- 図形 +- シェイプ - アニメーション - エフェクト -- アニメーション化された図形 -- アニメーション化されたテキスト +- アニメーション シェイプ +- アニメーション テキスト - アニメーションを追加 - アニメーションを取得 - アニメーションを抽出 - エフェクトを追加 - エフェクトを取得 - エフェクトを抽出 -- 効果音 +- エフェクト サウンド - アニメーションを適用 - PowerPoint - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python を使用して、PowerPoint および OpenDocument プレゼンテーションで図形アニメーションを作成およびカスタマイズする方法をご紹介します。他と差をつけましょう!" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションでシェイプ アニメーションを作成およびカスタマイズする方法を学び、差別化しましょう!" --- -アニメーションは、テキスト、画像、シェイプ、または [チャート](/slides/ja/python-net/animated-charts/) に適用できる視覚効果です。プレゼンテーションやその構成要素に生命を与えます。 +アニメーションは、テキスト、画像、図形、または[charts](/slides/ja/python-net/animated-charts/)に適用できる視覚効果です。プレゼンテーションやその構成要素に命を吹き込みます。 -### **プレゼンテーションでアニメーションを使用する理由** - -アニメーションを使用することで、 +## **プレゼンテーションでアニメーションを使用する理由** +アニメーションを使用すると、次のことができます * 情報の流れを制御する * 重要なポイントを強調する -* 聴衆の関心や参加を高める -* コンテンツを読みやすく、または理解しやすくする -* プレゼンテーション内の重要な部分に読者や視聴者の注意を引く +* 観客の関心や参加意欲を高める +* コンテンツを読みやすく、理解しやすくする +* プレゼンテーションの重要な部分に読者や視聴者の注意を引く -PowerPointは、**入口**、**出口**、**強調**、**動きのパス**カテゴリのアニメーションおよびアニメーション効果のための多くのオプションとツールを提供しています。 +PowerPoint は、**entrance**、**exit**、**emphasis**、**motion paths** の各カテゴリにわたるアニメーションおよびアニメーション効果の多くのオプションとツールを提供しています。 -### **Aspose.Slidesにおけるアニメーション** +## **Aspose.Slides のアニメーション** -* Aspose.Slidesは、[Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) 名前空間の下でアニメーションを操作するために必要なクラスと型を提供します。 -* Aspose.Slidesは、[EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/) 列挙型の下で**150以上のアニメーション効果**を提供しています。これらの効果は基本的にPowerPointで使用されるものと同じです。 +* Aspose.Slides は、アニメーションを操作するために必要なクラスと型を [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) 名前空間で提供します。 +* Aspose.Slides は、[EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/) 列挙体で **150** 以上のアニメーション効果を提供します。これらの効果は、基本的に PowerPoint で使用される効果と同じ(または同等)です。 -## **テキストボックスにアニメーションを適用する** +## **テキストボックスへのアニメーション適用** -Aspose.Slides for Python via .NETを使用すると、シェイプのテキストにアニメーションを適用できます。 +Aspose.Slides for Python via .NET を使用すると、シェイプ内のテキストにアニメーションを適用できます。 1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) を追加します。 +2. インデックスでスライドの参照を取得します。 +3. `rectangle` の [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) を追加します。 4. `IAutoShape.TextFrame` にテキストを追加します。 -5. 効果のメインシーケンスを取得します。 +5. メイン シーケンスのエフェクトを取得します。 6. [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) にアニメーション効果を追加します。 -7. `TextAnimation.BuildType` プロパティを `BuildType` 列挙型の値に設定します。 -8. プレゼンテーションをPPTXファイルとしてディスクに書き込みます。 - -このPythonコードは、`Fade` 効果をAutoShapeに適用し、テキストアニメーションを *By 1st Level Paragraphs* 値に設定する方法を示しています: +7. `TextAnimation.BuildType` プロパティを `BuildType` 列挙体の値に設定します。 +8. プレゼンテーションを PPTX ファイルとしてディスクに書き込みます。 +この Python コードは、AutoShape に `Fade` 効果を適用し、テキスト アニメーションを *By 1st Level Paragraphs* の値に設定する方法を示しています: ```python import aspose.slides as slides -# プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化します。 +# プレゼンテーション ファイルを表すプレゼンテーション クラスをインスタンス化します。 with slides.Presentation() as pres: sld = pres.slides[0] - # テキスト付きの新しいAutoShapeを追加します + # テキスト付きの新しい AutoShape を追加 autoShape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 100) textFrame = autoShape.text_frame - textFrame.text = "最初の段落 \n二番目の段落 \n三番目の段落" + textFrame.text = "First paragraph \nSecond paragraph \n Third paragraph" - # スライドのメインシーケンスを取得します。 + # スライドのメイン シーケンスを取得 sequence = sld.timeline.main_sequence - # シェイプにFadeアニメーション効果を追加します + # シェイプに Fade アニメーション効果を追加 effect = sequence.add_effect(autoShape, slides.animation.EffectType.FADE, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.ON_CLICK) - # シェイプのテキストを1段落ずつアニメーション化します + # シェイプのテキストを第1レベル段落ごとにアニメーション化 effect.text_animation.build_type = slides.animation.BuildType.BY_LEVEL_PARAGRAPHS1 - # PPTXファイルをディスクに保存します + # PPTX ファイルをディスクに保存 pres.save("AnimText_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="primary" %}} - -テキストにアニメーションを適用することに加えて、単一の [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) にもアニメーションを適用できます。詳細は [**アニメーションテキスト**](/slides/ja/python-net/animated-text/) をご覧ください。 +{{% alert color="primary" %}} +テキストへのアニメーション適用に加えて、単一の[Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/)にもアニメーションを適用できます。[**Animated Text**](/slides/ja/python-net/animated-text/)をご覧ください。 {{% /alert %}} -## **PictureFrameにアニメーションを適用する** +## **PictureFrame へのアニメーション適用** 1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. スライド上に [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) を追加または取得します。 -4. 効果のメインシーケンスを取得します。 +2. インデックスでスライドの参照を取得します。 +3. スライドに [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) を追加するか取得します。 +4. メイン シーケンスのエフェクトを取得します。 5. [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) にアニメーション効果を追加します。 -6. プレゼンテーションをPPTXファイルとしてディスクに書き込みます。 - -このPythonコードは、`Fly` 効果をピクチャーフレームに適用する方法を示しています: +6. プレゼンテーションを PPTX ファイルとしてディスクに書き込みます。 +この Python コードは、PictureFrame に `Fly` 効果を適用する方法を示しています: ```python import aspose.slides as slides import aspose.pydrawing as draw -# プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化します。 + +# プレゼンテーション ファイルを表すプレゼンテーション クラスをインスタンス化します。 with slides.Presentation() as pres: - # プレゼンテーションの画像コレクションに追加する画像を読み込みます + # プレゼンテーションの画像コレクションに追加する画像を読み込む img = draw.Bitmap("aspose-logo.jpg") image = pres.images.add_image(img) - # スライドにピクチャーフレームを追加します + # スライドにピクチャーフレームを追加 picFrame = pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # スライドのメインシーケンスを取得します。 + # スライドのメイン シーケンスを取得 sequence = pres.slides[0].timeline.main_sequence - # ピクチャーフレームに左からのFlyアニメーション効果を追加します + # ピクチャーフレームに左からのフライ アニメーション効果を追加 effect = sequence.add_effect(picFrame, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.LEFT, slides.animation.EffectTriggerType.ON_CLICK) - # PPTXファイルをディスクに保存します + # PPTX ファイルをディスクに保存 pres.save("AnimImage_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **シェイプにアニメーションを適用する** + +## **Shape へのアニメーション適用** 1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) を追加します。 -4. `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) を追加します(このオブジェクトがクリックされると、アニメーションが再生されます)。 -5. ベベルシェイプの効果のシーケンスを作成します。 +2. インデックスでスライドの参照を取得します。 +3. `rectangle` の [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) を追加します。 +4. `Bevel` の [IAutoShape]((https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) を追加します(このオブジェクトがクリックされると、アニメーションが再生されます)。 +5. ベベル シェイプに対してエフェクトのシーケンスを作成します。 6. カスタム `UserPath` を作成します。 -7. `UserPath` への移動コマンドを追加します。 -8. プレゼンテーションをPPTXファイルとしてディスクに書き込みます。 - -このPythonコードは、シェイプに `PathFootball` (パスフットボール)効果を適用する方法を示しています: +7. `UserPath` に移動するコマンドを追加します。 +8. プレゼンテーションを PPTX ファイルとしてディスクに書き込みます。 +この Python コードは、Shape に `PathFootball` (path football) 効果を適用する方法を示しています: ```python import aspose.slides.animation as anim import aspose.slides as slides import aspose.pydrawing as draw -# PPTXファイルを表すプレゼンテーションクラスをインスタンス化します +# PPTX ファイルを表す Presentation クラスをインスタンス化します。 with slides.Presentation() as pres: sld = pres.slides[0] - # 既存のシェイプのためにPathFootball効果を最初から作成します。 + # 既存のシェイプに対して PathFootball 効果を最初から作成します。 ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 150, 250, 25) - ashp.add_text_frame("アニメーションテキストボックス") + ashp.add_text_frame("Animated TextBox") - # PathFootballアニメーション効果を追加します。 + # PathFootBall アニメーション効果を追加します。 pres.slides[0].timeline.main_sequence.add_effect(ashp, anim.EffectType.PATH_FOOTBALL, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS) - # ある種の「ボタン」を作成します。 + # 種類が "ボタン" のオブジェクトを作成します。 shapeTrigger = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.BEVEL, 10, 10, 20, 20) - # ボタンのための効果のシーケンスを作成します。 + # ボタン用のエフェクトシーケンスを作成します。 seqInter = pres.slides[0].timeline.interactive_sequences.add(shapeTrigger) - # カスタムユーザーパスを作成します。私たちのオブジェクトはボタンがクリックされて初めて移動します。 + # カスタム ユーザーパスを作成します。ボタンがクリックされた後にだけオブジェクトが移動します。 fxUserPath = seqInter.add_effect(ashp, anim.EffectType.PATH_USER, anim.EffectSubtype.NONE, anim.EffectTriggerType.ON_CLICK) - # 作成したパスが空であるため、移動コマンドを追加します。 + # 作成したパスが空なので移動コマンドを追加します。 motionBhv = fxUserPath.behaviors[0] pts = [draw.PointF(0.076, 0.59)] @@ -181,227 +178,297 @@ with slides.Presentation() as pres: motionBhv.path.add(anim.MotionCommandPathType.LINE_TO, pts, anim.MotionPathPointsType.AUTO, False) motionBhv.path.add(anim.MotionCommandPathType.END, None, anim.MotionPathPointsType.AUTO, False) - # PPTXファイルをディスクに保存します + # PPTX ファイルをディスクに書き込みます。 pres.save("AnimExample_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **シェイプに適用されたアニメーション効果を取得する** -単一のシェイプに適用されたすべてのアニメーション効果を調べることができます。 +## **Shape に適用されたアニメーション効果の取得** -このPythonコードは、特定のシェイプに適用されたすべての効果を取得する方法を示しています: +以下の例は、[Sequence](https://reference.aspose.com/slides/python-net/aspose.slides.animation/sequence/) クラスの `get_effects_by_shape` メソッドを使用して、シェイプに適用されたすべてのアニメーション効果を取得する方法を示しています。 +**Example 1: 通常のスライド上のシェイプに適用されたアニメーション効果の取得** + +以前、PowerPoint プレゼンテーションのシェイプにアニメーション効果を追加する方法を学びました。以下のサンプルコードは、プレゼンテーション `AnimExample_out.pptx` の最初の通常スライド上の最初のシェイプに適用された効果を取得する方法を示しています。 ```python import aspose.slides as slides -# プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化します。 -with slides.Presentation("AnimExample_out.pptx") as pres: - firstSlide = pres.slides[0] +with slides.Presentation("AnimExample_out.pptx") as presentation: + first_slide = presentation.slides[0] - # スライドのメインシーケンスを取得します。 - sequence = firstSlide.timeline.main_sequence + # スライドのメイン アニメーション シーケンスを取得します。 + sequence = first_slide.timeline.main_sequence - # スライドの最初のシェイプを取得します。 - shape = firstSlide.shapes[0] + # 最初のスライド上の最初のシェイプを取得します。 + shape = first_slide.shapes[0] - # シェイプに適用されたすべてのアニメーション効果を取得します。 - shapeEffects = sequence.get_effects_by_shape(shape) + # シェイプに適用されたアニメーション効果を取得します。 + shape_effects = sequence.get_effects_by_shape(shape) - if len(shapeEffects) > 0: - print("シェイプ " + shape.name + " には " + str(len(shapeEffects)) + " のアニメーション効果があります。") + if len(shape_effects) > 0: + print("The shape", shape.name, "has", len(shape_effects), "animation effects.") ``` -## **アニメーション効果のタイミングプロパティを変更する** -Aspose.Slides for Python via .NETでは、アニメーション効果のタイミングプロパティを変更できます。 +**Example 2: プレースホルダーから継承されたものを含め、すべてのアニメーション効果を取得** -これがMicrosoft PowerPointのアニメーションタイミングペインです: +通常のスライド上のシェイプにプレースホルダーがあり、これらのプレースホルダーがレイアウトスライドやマスタースライド上にあり、さらにそれらにアニメーション効果が追加されている場合、スライドショー中にシェイプのすべての効果が再生されます。これにはプレースホルダーから継承された効果も含まれます。 -![example1_image](shape-animation.png) +たとえば、`sample.pptx` という PowerPoint プレゼンテーション ファイルに、フッター シェイプ(テキスト "Made with Aspose.Slides")が 1 枚のスライドにだけ含まれ、**Random Bars** 効果がシェイプに適用されているとします。 + +![Slide shape animation effect](slide-shape-animation.png) -これらはPowerPointのタイミングと `Effect.Timing` プロパティとの対応です: +さらに、レイアウト スライドのフッター プレースホルダーに **Split** 効果が適用されているとします。 -- PowerPointのタイミング **開始** ドロップダウンリストは、[Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) プロパティに対応します。 -- PowerPointのタイミング **期間** は、`Effect.Timing.Duration` プロパティに対応します。アニメーションの持続時間(秒単位)は、アニメーションが1サイクルを完了するのにかかる合計時間です。 -- PowerPointのタイミング **遅延** は、`Effect.Timing.TriggerDelayTime` プロパティに対応します。 +![Layout shape animation effect](layout-shape-animation.png) -これが効果のタイミングプロパティを変更する方法です: +最後に、マスター スライドのフッター プレースホルダーに **Fly In** 効果が適用されているとします。 -1. [アニメーション効果を適用](#apply-animation-to-shape)または取得します。 -2. 必要な `Effect.Timing` プロパティに新しい値を設定します。 -3. 修正されたPPTXファイルを保存します。 +![Master shape animation effect](master-shape-animation.png) -このPythonコードは操作を示しています: +以下のサンプルコードは、[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) クラスの `get_base_placeholder` メソッドを使用してシェイプのプレースホルダーにアクセスし、レイアウトおよびマスター スライド上のプレースホルダーから継承されたものを含め、フッター シェイプに適用されたアニメーション効果を取得する方法を示しています。 +```py +import aspose.slides as slides + +def print_effects(effects): + for effect in effects: + print(effect.type.name, effect.subtype.name) +``` + +```py +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + + # 通常スライド上のシェイプのアニメーション効果を取得する。 + shape = slide.shapes[0] + shape_effects = slide.timeline.main_sequence.get_effects_by_shape(shape) + + # レイアウトスライド上のプレースホルダーのアニメーション効果を取得する。 + layout_shape = shape.get_base_placeholder() + layout_shape_effects = slide.layout_slide.timeline.main_sequence.get_effects_by_shape(layout_shape) + + # マスタースライド上のプレースホルダーのアニメーション効果を取得する。 + master_shape = layout_shape.get_base_placeholder() + master_shape_effects = slide.layout_slide.master_slide.timeline.main_sequence.get_effects_by_shape(master_shape) + + print("Main sequence of shape effects:") + print_effects(master_shape_effects) + print_effects(layout_shape_effects) + print_effects(shape_effects) +``` + + +Output: +```text +Main sequence of shape effects: +FLY BOTTOM +SPLIT VERTICAL_IN +RANDOM_BARS HORIZONTAL +``` + +## **アニメーション効果のタイミング プロパティの変更** + +Aspose.Slides for Python via .NET を使用すると、アニメーション効果のタイミング プロパティを変更できます。 + +This is the Animation Timing pane in Microsoft PowerPoint: +![example1_image](shape-animation.png) + +These are the correspondences between PowerPoint Timing and `Effect.Timing` properties: + +- PowerPoint Timing **Start** ドロップダウン リストは [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) プロパティに対応します。 +- PowerPoint Timing **Duration** は `Effect.Timing.Duration` プロパティに対応します。アニメーションの持続時間(秒)は、アニメーションが 1 サイクルを完了するまでの総時間です。 +- PowerPoint Timing **Delay** は `Effect.Timing.TriggerDelayTime` プロパティに対応します。 + +This is how you change the Effect Timing properties: + +1. [Apply](#apply-animation-to-shape) するか、アニメーション効果を取得します。 +2. 必要な `Effect.Timing` プロパティに新しい値を設定します。 +3. 変更した PPTX ファイルを保存します。 + +この Python コードは操作を示しています: ```python import aspose.slides as slides -# プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化します。 +# プレゼンテーション ファイルを表すプレゼンテーション クラスをインスタンス化します。 with slides.Presentation("AnimExample_out.pptx") as pres: - # スライドのメインシーケンスを取得します。 + # スライドのメイン シーケンスを取得します。 sequence = pres.slides[0].timeline.main_sequence - # メインシーケンスの最初の効果を取得します。 + # メイン シーケンスの最初のエフェクトを取得します。 effect = sequence[0] - # 効果のTriggerTypeをクリックで開始するように変更します + # エフェクトの TriggerType をクリック時開始に変更します effect.timing.trigger_type = slides.animation.EffectTriggerType.ON_CLICK - # 効果の持続時間を変更します + # エフェクトの Duration を変更します effect.timing.duration = 3 - # 効果の遅延時間を変更します + # エフェクトの TriggerDelayTime を変更します effect.timing.trigger_delay_time = 0.5 - # PPTXファイルをディスクに保存します + # PPTX ファイルをディスクに保存します pres.save("AnimExample_changed.pptx", slides.export.SaveFormat.PPTX) ``` -## **アニメーション効果の音** -Aspose.Slidesは、アニメーション効果のサウンドを操作するための以下のプロパティを提供します: +## **アニメーション効果のサウンド** + +Aspose.Slides は、アニメーション効果のサウンドを操作するために次のプロパティを提供します: - `sound` - `stop_previous_sound` -### **アニメーション効果の音を追加する** - -このPythonコードは、アニメーション効果の音を追加し、次の効果が開始されるとそれを停止する方法を示しています: +### **アニメーション効果サウンドの追加** +この Python コードは、アニメーション効果サウンドを追加し、次の効果が開始されるときにサウンドを停止する方法を示しています: ```python import aspose.slides as slides with Presentation("AnimExample_out.pptx") as pres: - # プレゼンテーションオーディオコレクションに音声を追加します + # プレゼンテーションのオーディオ コレクションにオーディオを追加 effect_sound = pres.audios.add_audio(open("sampleaudio.wav", "rb").read()) first_slide = pres.slides[0] - # スライドのメインシーケンスを取得します。 + # スライドのメイン シーケンスを取得。 sequence = first_slide.timeline.main_sequence - # メインシーケンスの最初の効果を取得します + # メイン シーケンスの最初のエフェクトを取得 first_effect = sequence[0] - # 効果に「サウンドなし」が設定されているか確認します + # 効果が「サウンドなし」かどうかチェック if not first_effect.stop_previous_sound and first_effect.sound is None: - # 最初の効果に音を追加します + # 最初のエフェクトにサウンドを追加 first_effect.sound = effect_sound - # スライドの最初のインタラクティブシーケンスを取得します。 + # スライドの最初のインタラクティブ シーケンスを取得。 interactive_sequence = first_slide.timeline.interactive_sequences[0] - # 効果の「前の音を停止」フラグを設定します + # エフェクトの「前のサウンドを停止」フラグを設定 interactive_sequence[0].stop_previous_sound = True - # PPTXファイルをディスクに保存します + # PPTX ファイルをディスクに書き込み pres.save("AnimExample_Sound_out.pptx", slides.export.SaveFormat.PPTX) ``` -### **アニメーション効果の音を抽出する** -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. 効果のメインシーケンスを取得します。 -4. 各アニメーション効果に埋め込まれた `sound` を抽出します。 +### **アニメーション効果サウンドの抽出** -このPythonコードは、アニメーション効果に埋め込まれた音を抽出する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスでスライドの参照を取得します。 +3. メイン シーケンスのエフェクトを取得します。 +4. 各アニメーション効果に埋め込まれた `sound` を抽出します。 +この Python コードは、アニメーション効果に埋め込まれたサウンドを抽出する方法を示しています: ```python import aspose.slides as slides -# プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化します。 +# プレゼンテーション ファイルを表すプレゼンテーション クラスをインスタンス化します。 with slides.Presentation("EffectSound.pptx") as presentation: slide = presentation.slides[0] - # スライドのメインシーケンスを取得します。 + # スライドのメイン シーケンスを取得します。 sequence = slide.timeline.main_sequence for effect in sequence: if effect.sound is None: continue - # 効果の音をバイト配列に抽出します + # エフェクトのサウンドをバイト配列として抽出します。 audio = effect.sound.binary_data ``` -## **アニメーション後** -Aspose.Slides for .NETでは、アニメーション効果のアニメーション後プロパティを変更することができます。 +## **アフター アニメーション** -これがMicrosoft PowerPointのアニメーション効果ペインと拡張メニューです: +Aspose.Slides for .NET を使用すると、アニメーション効果の After animation プロパティを変更できます。 +This is the Animation Effect pane and extended menu in Microsoft PowerPoint: ![example1_image](shape-after-animation.png) -PowerPoint Effect **アニメーション後** ドロップダウンリストは、これらのプロパティに対応しています: - -- `after_animation_type` プロパティは、アニメーション後のタイプを説明します: - * PowerPoint **その他の色** は、[COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) タイプに対応します; - * PowerPoint **暗くしない** リスト項目は、[DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) タイプ(デフォルトのアニメーション後のタイプ)に対応します; - * PowerPoint **アニメーション後に隠す** 項目は、[HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) タイプに対応します; - * PowerPoint **次のマウスクリックで隠す** 項目は、[HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) タイプに対応します; -- `after_animation_color` プロパティは、アニメーション後の色フォーマットを定義します。このプロパティは [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) タイプと連動して機能します。別のタイプに変更すると、アニメーション後の色はクリアされます。 +PowerPoint Effect **After animation** ドロップダウン リストは以下のプロパティに対応します: -このPythonコードは、アニメーション後の効果を変更する方法を示しています: +- `after_animation_type` プロパティは After animation の種類を表します: + * PowerPoint **More Colors** は [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 型に対応します; + * PowerPoint **Don't Dim** は [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 型(デフォルトの after animation 種類)に対応します; + * PowerPoint **Hide After Animation** は [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 型に対応します; + * PowerPoint **Hide on Next Mouse Click** は [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 型に対応します; +- `after_animation_color` プロパティは after animation の色形式を定義します。このプロパティは [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 型と組み合わせて使用します。種類を別のものに変更すると、after animation の色はクリアされます。 +この Python コードは、after animation 効果を変更する方法を示しています: ```python import aspose.slides as slides -# プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化します +# プレゼンテーション ファイルを表すプレゼンテーション クラスをインスタンス化します with slides.Presentation("AnimImage_out.pptx") as pres: first_slide = pres.slides[0] - # メインシーケンスの最初の効果を取得します + # メイン シーケンスの最初のエフェクトを取得します first_effect = first_slide.timeline.main_sequence[0] - # アニメーション後のタイプを色に変更します + # after animation のタイプを Color に変更します first_effect.after_animation_type = AfterAnimationType.COLOR - # アニメーション後の暗くする色を設定します + # after animation のディムカラーを設定します first_effect.after_animation_color.color = Color.alice_blue - # PPTXファイルをディスクに保存します + # PPTX ファイルをディスクに保存します pres.save("AnimImage_AfterAnimation.pptx", slides.export.SaveFormat.PPTX) ``` -## **テキストをアニメーション化する** -Aspose.Slidesは、アニメーション効果の*テキストをアニメーション化*ブロックを操作するための以下のプロパティを提供します: +## **テキストのアニメーション化** -- `animate_text_type` は、効果のアニメートテキストタイプを説明します。シェイプのテキストは以下のようにアニメーション化できます: - - 一度にすべて ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) タイプ) - - 単語ごとに ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) タイプ) - - 文字ごとに ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) タイプ) -- `delay_between_text_parts` は、アニメーション化されたテキスト部分(単語や文字)の間に遅延を設定します。正の値は効果の持続時間の割合を指定します。負の値は秒単位の遅延を指定します。 +Aspose.Slides は、アニメーション効果の *Animate text* ブロックを操作するために次のプロパティを提供します: -これが効果のテキストアニメーションプロパティを変更する方法です: +- `animate_text_type` は効果のアニメート テキストの種類を示します。シェイプのテキストは次のいずれかでアニメーション化できます: + - All at once ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 型) + - By word ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 型) + - By letter ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 型) +- `delay_between_text_parts` はアニメートされたテキスト パーツ(単語または文字)間の遅延を設定します。正の値は効果持続時間のパーセンテージを、負の値は秒単位の遅延を指定します。 -1. [アニメーション効果を適用](#apply-animation-to-shape)または取得します。 -2. `build_type` プロパティを [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) 値に設定して、*段落ごと* のアニメーションモードをオフにします。 -3. `animate_text_type` と `delay_between_text_parts` プロパティに新しい値を設定します。 -4. 修正されたPPTXファイルを保存します。 +This is how you can change the Effect Animate text properties: -このPythonコードは操作を示しています: +1. [Apply](#apply-animation-to-shape) するか、アニメーション効果を取得します。 +2. `build_type` プロパティを [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) の値に設定して *By Paragraphs* アニメーション モードをオフにします。 +3. `animate_text_type` と `delay_between_text_parts` プロパティに新しい値を設定します。 +4. 変更した PPTX ファイルを保存します。 +この Python コードは操作を示しています: ```python import aspose.slides as slides with slides.Presentation("AnimTextBox_out.pptx") as pres: first_slide = pres.slides[0] - # メインシーケンスの最初の効果を取得します + # メイン シーケンスの最初のエフェクトを取得します first_effect = first_slide.timeline.main_sequence[0] - # 効果のテキストアニメーションタイプを「オブジェクトとしてすべて」に変更します + # エフェクトのテキスト アニメーション タイプを "As One Object" に変更します first_effect.text_animation.build_type = slides.animation.BuildType.AS_ONE_OBJECT - # 効果のアニメートテキストタイプを「単語ごと」に変更します + # エフェクトのアニメート テキスト タイプを "By word" に変更します first_effect.animate_text_type = slides.animation.AnimateTextType.BY_WORD - # 単語の間の遅延を効果の持続時間の20%に設定します + # 単語間の遅延をエフェクト時間の 20% に設定します first_effect.delay_between_text_parts = 20 - # PPTXファイルをディスクに保存します + # PPTX ファイルをディスクに保存します pres.save("AnimTextBox_AnimateText.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**How can I ensure animations are preserved when publishing the presentation to the web?** + +[Export to HTML5](/slides/ja/python-net/export-to-html5/) と、[shape](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) と [transition](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/) アニメーションに関するオプションを有効にします。通常の HTML ではスライド アニメーションは再生されませんが、HTML5 では再生されます。 + +**How does changing the z-order (layer order) of shapes affect animation?** + +アニメーションと描画順序は独立しています。効果は表示/非表示のタイミングと種類を制御し、[z-order](https://reference.aspose.com/slides/python-net/aspose.slides/shape/z_order_position/) は何が何を覆うかを決定します。最終的な表示は両者の組み合わせで決まります。(これは一般的な PowerPoint の動作であり、Aspose.Slides の効果とシェイプのモデルも同様です。) + +**Are there limitations when converting animations to video for certain effects?** -``` \ No newline at end of file +一般的に、[animations are supported](/slides/ja/python-net/convert-powerpoint-to-video/) ですが、稀なケースや特定の効果では異なるレンダリングになることがあります。使用する効果とライブラリのバージョンでテストすることを推奨します。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md index 52ce9a715e..21f38d9e2b 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md @@ -1,38 +1,36 @@ --- -title: Python でプレゼンテーションに図形効果を適用する -linktitle: 図形効果 +title: Pythonでプレゼンテーションに形状エフェクトを適用する +linktitle: 形状エフェクト type: docs weight: 30 url: /ja/python-net/shape-effect keywords: -- 図形効果 -- 影の効果 -- 反射の効果 -- 光彩の効果 -- ソフトエッジ効果 -- 効果の書式 +- 形状エフェクト +- シャドウエフェクト +- リフレクションエフェクト +- グローエフェクト +- ソフトエッジエフェクト +- エフェクトフォーマット - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python を使用して高度な図形効果で PPT、PPTX、ODP ファイルを変換し、数秒で印象的かつプロフェッショナルなスライドを作成する方法をご紹介します。" +description: "Aspose.Slides for Python を使用して高度な形状エフェクトで PPT、PPTX、ODP ファイルを変換し、数秒で印象的でプロフェッショナルなスライドを作成します。" --- -PowerPointの効果はシェイプを目立たせるために使用できますが、[塗りつぶし](/slides/ja/python-net/shape-formatting/#gradient-fill)やアウトラインとは異なります。PowerPointの効果を使用すると、シェイプに説得力のある反射を作成したり、シェイプのグローを広げたりできます。 +PowerPoint のエフェクトは図形を目立たせるために使用できますが、[fills](/slides/ja/python-net/shape-formatting/#gradient-fill) やアウトラインとは異なります。PowerPoint のエフェクトを使用すると、図形にリアルな反射を作成したり、図形のグローを広げたりすることができます。 -シェイプ効果 +shape-effect -* PowerPointにはシェイプに適用できる6つの効果があります。1つ以上の効果をシェイプに適用できます。 +* PowerPoint は図形に適用できる 6 つのエフェクトを提供します。1 つまたは複数のエフェクトを図形に適用できます。 +* エフェクトの組み合わせによって見栄えが変わります。このため、PowerPoint には **Preset** オプションがあります。Preset は実質的に 2 つ以上のエフェクトの見栄えの良い既知の組み合わせです。プリセットを選択すれば、さまざまなエフェクトをテストしたり組み合わせて最適な組み合わせを探す手間が省けます。 -* 効果の組み合わせによっては、より良く見えるものがあります。この理由から、PowerPointのオプションには**プリセット**があります。プリセットオプションは、基本的に2つ以上の効果の良好な組み合わせとして知られています。このように、プリセットを選択することで、異なる効果をテストしたり組み合わせたりして良い組み合わせを見つけるための時間を無駄にすることがありません。 +Aspose.Slides は [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) クラスの下にプロパティとメソッドを提供し、PowerPoint プレゼンテーションの図形に同じエフェクトを適用できます。 -Aspose.Slidesは、[EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/)クラスのプロパティとメソッドを提供しており、これを使用してPowerPointプレゼンテーションのシェイプに同じ効果を適用できます。 - -## **シャドウ効果を適用** - -このPythonコードは、長方形に外側のシャドウ効果(`outer_shadow_effect`)を適用する方法を示しています。 +## **シャドウ効果の適用** +この Python コードは、矩形に外部シャドウ効果(`outer_shadow_effect`)を適用する方法を示しています。 ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -48,10 +46,10 @@ with slides.Presentation() as pres: pres.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **反射効果を適用** -このPythonコードは、シェイプに反射効果を適用する方法を示しています。 +## **リフレクション効果の適用** +この Python コードは、図形にリフレクション効果を適用する方法を示しています。 ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -68,10 +66,10 @@ with slides.Presentation() as pres: pres.save("reflection.pptx", slides.export.SaveFormat.PPTX) ``` -## **グロー効果を適用** -このPythonコードは、シェイプにグロー効果を適用する方法を示しています。 +## **グロー効果の適用** +この Python コードは、図形にグロー効果を適用する方法を示しています。 ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -86,10 +84,10 @@ with slides.Presentation() as pres: pres.save("glow.pptx", slides.export.SaveFormat.PPTX) ``` -## **ソフトエッジ効果を適用** -このPythonコードは、シェイプにソフトエッジ効果を適用する方法を示しています。 +## **ソフト エッジ効果の適用** +この Python コードは、図形にソフト エッジを適用する方法を示しています。 ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -101,4 +99,19 @@ with slides.Presentation() as pres: shape.effect_format.soft_edge_effect.radius = 15 pres.save("softEdges.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**同じ図形に複数のエフェクトを適用できますか?** + +はい、シャドウ、リフレクション、グローなどの異なるエフェクトを組み合わせて、1 つの図形に動的な外観を付与できます。 + +**どのような図形にエフェクトを適用できますか?** + +オートシェイプ、チャート、テーブル、画像、SmartArt オブジェクト、OLE オブジェクトなど、さまざまな図形にエフェクトを適用できます。 + +**グループ化された図形にエフェクトを適用できますか?** + +はい、グループ化された図形全体にエフェクトが適用されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md index 2981a14888..896fe6d578 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md @@ -6,367 +6,386 @@ weight: 10 url: /ja/python-net/connector/ keywords: - コネクタ -- コネクタ タイプ -- コネクタ ポイント -- コネクタ ライン -- コネクタ アングル +- コネクタタイプ +- コネクタポイント +- コネクタライン +- コネクタ角度 - 図形を接続 - PowerPoint - プレゼンテーション - Python - Aspose.Slides -description: "Python アプリで PowerPoint および OpenDocument スライドに線を描画、接続、自動ルーティングできるようにすることで、直線、エルボ、曲線のコネクタを完全に制御できます。" +description: "Python アプリに PowerPoint および OpenDocument スライド上で線を描画し、接続し、自動ルーティングする能力を付与し、直線、エルボー、曲線コネクタを完全に制御できるようにします。" --- -PowerPointのコネクタは、2つの形状を接続またはリンクする特別な線であり、与えられたスライド上で移動または再配置されても形状に固定されます。 +## **はじめに** -コネクタは通常、すべての形状にデフォルトで存在する*接続点*(緑の点)に接続されます。接続点はカーソルが近づくと表示されます。 - -*調整ポイント*(オレンジの点)は、特定のコネクタにのみ存在し、コネクタの位置や形状を変更するために使用されます。 +PowerPoint のコネクタは、2 つの図形を結ぶ特殊な線で、スライド上で図形を移動または再配置しても接続されたままです。コネクタは図形上の **connection points**(緑の点)に接続します。ポインタが近づくと connection points が表示されます。特定のコネクタに利用できる **Adjustment handles**(黄色の点)を使用すると、コネクタの位置や形状を変更できます。 ## **コネクタの種類** -PowerPointでは、直線、肘(角度付き)、および曲線コネクタを使用できます。 - -Aspose.Slidesはこれらのコネクタを提供します: - -| コネクタ | 画像 | 調整ポイントの数 | -| ---------------------------- | ------------------------------------------------------------ | --------------------- | -| `ShapeType.LINE` | ![shapetype-lineconnector](shapetype-lineconnector.png) | 0 | -| `ShapeType.STRAIGHT_CONNECTOR1` | ![shapetype-straightconnector1](shapetype-straightconnector1.png) | 0 | -| `ShapeType.BENT_CONNECTOR2` | ![shapetype-bent-connector2](shapetype-bent-connector2.png) | 0 | -| `ShapeType.BENT_CONNECTOR3` | ![shapetype-bentconnector3](shapetype-bentconnector3.png) | 1 | -| `ShapeType.BENT_CONNECTOR4` | ![shapetype-bentconnector4](shapetype-bentconnector4.png) | 2 | -| `ShapeType.BENT_CONNECTOR5` | ![shapetype-bentconnector5](shapetype-bentconnector5.png) | 3 | -| `ShapeType.CURVED_CONNECTOR2` | ![shapetype-curvedconnector2](shapetype-curvedconnector2.png) | 0 | -| `ShapeType.CURVED_CONNECTOR3` | ![shapetype-curvedconnector3](shapetype-curvedconnector3.png) | 1 | -| `ShapeType.CURVED_CONNECTOR4` | ![shapetype-curvedconnector4](shapetype-curvedconnector4.png) | 2 | -| `ShapeType.CURVED_CONNECTOR5` | ![shapetype.curvedconnector5](shapetype.curvedconnector5.png) | 3 | - -## **コネクタを使って形状を接続する** - -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. インデックスを通じてスライドの参照を取得します。 -1. `Shapes`オブジェクトによって公開された`add_auto_shape`メソッドを使用して、スライドに2つの[AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)を追加します。 -1. コネクタタイプを定義して`Shapes`オブジェクトによって公開された`add_auto_shape`メソッドを使用して、コネクタを追加します。 -1. コネクタを使用して形状を接続します。 -1. `reroute`メソッドを呼び出して、最短接続パスを適用します。 -1. プレゼンテーションを保存します。 - -以下のPythonコードは、2つの形状(楕円と長方形)の間にコネクタ(曲がったコネクタ)を追加する方法を示しています: +PowerPoint では、直線、エルボー(折れ線)、曲線の 3 種類のコネクタを使用できます。 + +Aspose.Slides は以下のコネクタの種類をサポートしています。 + +| コネクタの種類 | 画像 | 調整ポイントの数 | +| ----------------------------- | ------------------------------------------------------------ | ---------------- | +| `ShapeType.LINE` | ![直線コネクタ](shapetype-lineconnector.png) | 0 | +| `ShapeType.STRAIGHT_CONNECTOR1` | ![直線コネクタ 1](shapetype-straightconnector1.png) | 0 | +| `ShapeType.BENT_CONNECTOR2` | ![折れ線コネクタ 2](shapetype-bent-connector2.png) | 0 | +| `ShapeType.BENT_CONNECTOR3` | ![折れ線コネクタ 3](shapetype-bentconnector3.png) | 1 | +| `ShapeType.BENT_CONNECTOR4` | ![折れ線コネクタ 4](shapetype-bentconnector4.png) | 2 | +| `ShapeType.BENT_CONNECTOR5` | ![折れ線コネクタ 5](shapetype-bentconnector5.png) | 3 | +| `ShapeType.CURVED_CONNECTOR2` | ![曲線コネクタ 2](shapetype-curvedconnector2.png) | 0 | +| `ShapeType.CURVED_CONNECTOR3` | ![曲線コネクタ 3](shapetype-curvedconnector3.png) | 1 | +| `ShapeType.CURVED_CONNECTOR4` | ![曲線コネクタ 4](shapetype-curvedconnector4.png) | 2 | +| `ShapeType.CURVED_CONNECTOR5` | ![曲線コネクタ 5](shapetype.curvedconnector5.png) | 3 | + +## **コネクタで図形を接続する** + +このセクションでは、Aspose.Slides で図形をコネクタでリンクする方法を示します。スライドにコネクタを追加し、開始点と終了点を対象の図形に接続します。接続サイトを使用すると、図形が移動またはサイズ変更されてもコネクタが「くっついた」状態を保ちます。 + +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. インデックスでスライドへの参照を取得します。 +1. [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) オブジェクトが提供する `add_auto_shape` メソッドを使用して、スライドに 2 つの [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) オブジェクトを追加します。 +1. [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) オブジェクトが提供する `add_connector` メソッドを使用してコネクタを追加し、コネクタの種類を指定します。 +1. コネクタで図形を接続します。 +1. `reroute` メソッドを呼び出して、最短接続パスを適用します。 +1. プレゼンテーションを保存します。 +以下の Python コードは、楕円と矩形の間に折れ線コネクタを追加する方法を示しています: ```python import aspose.slides as slides -# PPTXファイルを表すプレゼンテーションクラスをインスタンス化 -with slides.Presentation() as input: - # 特定のスライドの形状コレクションにアクセス - shapes = input.slides[0].shapes +# PPTX ファイルを作成するために Presentation クラスのインスタンスを作成します。 +with slides.Presentation() as presentation: + + # 最初のスライドのシェイプ コレクションにアクセスします。 + shapes = presentation.slides[0].shapes - # 楕円自動形状を追加 - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # 楕円の AutoShape を追加します。 + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # 長方形自動形状を追加 - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100) + # 矩形の AutoShape を追加します。 + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # スライド形状コレクションにコネクタ形状を追加 + # スライドにコネクタを追加します。 connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) - # コネクタを使用して形状を接続 + # コネクタで図形を接続します。 connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # 形状間の自動最短パスを設定する再ルートを呼び出す + # 最短パスを設定するために reroute を呼び出します。 connector.reroute() - # プレゼンテーションを保存 - input.save("Connecting shapes using connectors_out.pptx", slides.export.SaveFormat.PPTX) - + # プレゼンテーションを保存します。 + presentation.save("connected_shapes.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="注意" color="warning" %}} - -`connector.reroute`メソッドはコネクタを再ルートさせ、形状間で可能な限り最短のパスを取るよう強制します。この目的を達成するために、メソッドは`start_shape_connection_site_index`および`end_shape_connection_site_index`ポイントを変更する場合があります。 -{{% /alert %}} +{{% alert title="NOTE" color="warning" %}} +`connector.reroute` メソッドはコネクタを再ルーティングし、図形間で可能な限り最短のパスを取らせます。その際、`start_shape_connection_site_index` と `end_shape_connection_site_index` の値が変更されることがあります。 +{{% /alert %}} -## **接続点を指定する** +## **接続ポイントの指定** -コネクタが形状の特定の点を使用して2つの形状をリンクするようにしたい場合は、好みの接続点をこのように指定する必要があります: +このセクションでは、Aspose.Slides でコネクタを図形上の特定の接続ポイントに固定する方法を説明します。正確な接続サイトを指定することで、コネクタの経路とレイアウトを制御し、プレゼンテーション内で整然とした予測可能な図を作成できます。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. インデックスを通じてスライドの参照を取得します。 -1. `Shapes`オブジェクトによって公開された`add_auto_shape`メソッドを使用して、スライドに2つの[AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)を追加します。 -1. コネクタタイプを定義して`Shapes`オブジェクトによって公開された`add_connector`メソッドを使ってコネクタを追加します。 -1. コネクタを使用して形状を接続します。 -1. 形状上の好みの接続点を設定します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. インデックスでスライドへの参照を取得します。 +1. [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) オブジェクトが提供する `add_auto_shape` メソッドを使用して、スライドに 2 つの [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) オブジェクトを追加します。 +1. [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) オブジェクトの `add_connector` メソッドでコネクタを追加し、コネクタの種類を指定します。 +1. コネクタで図形を接続します。 +1. 図形上の希望する接続ポイントを設定します。 1. プレゼンテーションを保存します。 -以下のPythonコードは、好ましい接続点が指定される操作を示しています: - +以下の Python コードは、希望する接続ポイントを指定する方法を示しています: ```python import aspose.slides as slides -# PPTXファイルを表すプレゼンテーションクラスをインスタンス化 +# PPTX ファイルを作成するために Presentation クラスのインスタンスを生成します。 with slides.Presentation() as presentation: - # 特定のスライドの形状コレクションにアクセス + + # 最初のスライドのシェイプ コレクションにアクセスします。 shapes = presentation.slides[0].shapes - # スライドの形状コレクションにコネクタ形状を追加 - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) + # 楕円の AutoShape を追加します。 + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # 楕円自動形状を追加 - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # 矩形の AutoShape を追加します。 + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # 長方形自動形状を追加 - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 100, 100) + # スライドのシェイプ コレクションにコネクタを追加します。 + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) - # コネクタを使用して形状を接続 + # コネクタで図形を接続します。 connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # 楕円形状上の好ましい接続点インデックスを設定 - wantedIndex = 6 - - # 指定されたインデックスが最大サイトインデックス数未満であるか確認 - if ellipse.connection_site_count > wantedIndex: - # 楕円自動形状の好ましい接続点を設定 - connector.start_shape_connection_site_index = wantedIndex + # 楕円の優先接続サイト インデックスを設定します。 + site_index = 6 - # プレゼンテーションを保存 - presentation.save("Connecting_Shape_on_desired_connection_site_out.pptx", slides.export.SaveFormat.PPTX) + # 優先インデックスが利用可能なサイト数以内であることを確認します。 + if ellipse.connection_site_count > site_index: + # 楕円 AutoShape に優先接続サイトを割り当てます。 + connector.start_shape_connection_site_index = site_index + # プレゼンテーションを保存します。 + presentation.save("connection_points.pptx", slides.export.SaveFormat.PPTX) ``` -## **コネクタポイントを調整する** -既存のコネクタは、その調整ポイントを通じて調整できます。調整ポイントを持つコネクタのみがこの方法で変更できます。 **[コネクタの種類](/slides/ja/python-net/connector/#types-of-connectors)**の下の表を参照してください。 +## **コネクタポイントの調整** -#### **簡単なケース** +調整ポイントを使用してコネクタを変更できます。調整ポイントを公開しているコネクタだけがこの方法で編集可能です。どのコネクタが調整に対応しているかは、[コネクタの種類](/slides/ja/python-net/connector/#connector-types) の表をご参照ください。 -2つの形状(AとB)の間のコネクタが、3つ目の形状(C)を通る場合を考えてみましょう: +### **シンプルなケース** -![connector-obstruction](connector-obstruction.png) +2 つの図形(A と B)を結ぶコネクタが 3 番目の図形(C)と交差しているケースを考えます: -コード: +![コネクタの障害](connector-obstruction.png) +コード例: ```python import aspose.slides as slides import aspose.pydrawing as draw -with slides.Presentation() as pres: - sld = pres.slides[0] - shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.black - connector.start_shape_connected_to = shapeFrom - connector.end_shape_connected_to = shapeTo + connector.start_shape_connected_to = shape_from + connector.end_shape_connected_to = shape_to connector.start_shape_connection_site_index = 2 ``` -3つ目の形状を回避または迂回するために、コネクタの垂直線を左に移動させることで調整できます: -![connector-obstruction-fixed](connector-obstruction-fixed.png) +3 番目の図形を回避するために、縦セグメントを左へ移動してコネクタを調整します: +![調整後のコネクタ障害回避](connector-obstruction-fixed.png) ```python - adj2 = connector.adjustments[1] - adj2.raw_value += 10000 + adjustment2 = connector.adjustments[1] + adjustment2.raw_value += 10000 ``` + ### **複雑なケース** -より複雑な調整を行うには、以下の点を考慮する必要があります: +より高度な調整の場合、以下を考慮してください。 -* コネクタの調整ポイントは、その位置を計算し決定する数式に強く関連しています。したがって、ポイントの位置を変更すると、コネクタの形状が変わる可能性があります。 -* コネクタの調整ポイントは、コネクタの開始点から終了点までの厳密な順序で定義されています。調整ポイントは、コネクタの起点から終点まで番号付けされています。 -* 調整ポイントの値は、コネクタ形状の幅/高さのパーセンテージを反映します。 - * 形状は、コネクタの開始点と終了点で1000倍されたものに制約されます。 - * 最初のポイント、2番目のポイント、3番目のポイントは、それぞれ幅からのパーセンテージ、高さからのパーセンテージ、幅からのパーセンテージ(再び)を定義します。 -* コネクタの調整ポイントの座標を決定する計算では、コネクタの回転と反射を考慮する必要があります。**注意**: **[コネクタの種類](/slides/ja/python-net/connector/#types-of-connectors)**の下に示されているすべてのコネクタの回転角度は0です。 +- コネクタの調整ポイントは位置を決定する数式に支配されます。このポイントを変更するとコネクタ全体の形状が変わります。 +- コネクタの調整ポイントは厳密に順序付けられた配列に格納され、コネクタの開始点から終了点へ番号付けされます。 +- 調整ポイントの値はコネクタ形状の幅/高さのパーセンテージを表します。 + - 形状はコネクタの開始点と終了点で境界付けされ、1000 でスケーリングされます。 + - 最初、二番目、三番目の調整ポイントはそれぞれ幅のパーセンテージ、高さのパーセンテージ、再び幅のパーセンテージを表します。 +- 調整ポイントの座標を計算する際は、コネクタの回転と反転を考慮してください。**注:** [コネクタの種類](/slides/ja/python-net/connector/#connector-types) に列挙されているすべてのコネクタは回転角が 0 です。 #### **ケース 1** -2つのテキストフレームオブジェクトがコネクタを介して接続されている場合を考えてみましょう: +2 つのテキストフレームオブジェクトがコネクタでリンクされているケースを考えます: -![connector-shape-complex](connector-shape-complex.png) - -コード: +![リンクされた図形](connector-shape-complex.png) +コード例: ```python import aspose.slides as slides import aspose.pydrawing as draw -# PPTXファイルを表すプレゼンテーションクラスをインスタンス化 -with slides.Presentation() as pres: - # プレゼンテーションの最初のスライドを取得 - sld = pres.slides[0] - # コネクタを介して結合される形状を追加 - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) - shapeFrom.text_frame.text = "From" - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) - shapeTo.text_frame.text = "To" - # コネクタを追加 - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) - # コネクタの方向を指定 +# PPTX ファイルを作成するために Presentation クラスのインスタンスを生成します。 +with slides.Presentation() as presentation: + + # 最初のスライドを取得します。 + slide = presentation.slides[0] + + # 最初のスライドを取得します。 + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) + shape_from.text_frame.text = "From" + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) + shape_to.text_frame.text = "To" + + # コネクタを追加します。 + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) + # コネクタの向きを設定します。 connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE - # コネクタの色を指定 + # コネクタの色を設定します。 connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.crimson - # コネクタの線の太さを指定 + # コネクタの線の太さを設定します。 connector.line_format.width = 3 - # コネクタで形状を結びつける - connector.start_shape_connected_to = shapeFrom + # コネクタで図形を接続します。 + connector.start_shape_connected_to = shape_from connector.start_shape_connection_site_index = 3 - connector.end_shape_connected_to = shapeTo + connector.end_shape_connected_to = shape_to connector.end_shape_connection_site_index = 2 - # コネクタの調整ポイントを取得 - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] + # コネクタの調整ポイントを取得します。 + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] ``` -**調整** -コネクタの調整ポイント値を、幅と高さのパーセンテージをそれぞれ20%と200%増加させることで変更できます: +**調整** +幅のパーセンテージを 20% 増加し、高さのパーセンテージを 200% 増加させて、コネクタの調整ポイントの値を変更します: ```python - # 調整ポイントの値を変更 - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + # 調整ポイントの値を変更します。 + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` -結果: -![connector-adjusted-1](connector-adjusted-1.png) +結果: -コネクタの接続部分に対応する形状を描画するモデルを定義するために、コネクタの.adjustments[0]ポイントでのコネクタの横成分に対応する形状を作成します: +![コネクタ調整 1](connector-adjusted-1.png) +`connector.adjustments[0]` に対応する垂直コンポーネントの形状を作成して、コネクタのセグメント座標と形状を決定できるモデルを定義します: ```python - # コネクタの垂直成分を描画 - - x = connector.x + connector.width * adjValue_0.raw_value / 100000 + # コネクタの垂直コンポーネントを描画します。 + x = connector.x + connector.width * adjustment_0.raw_value / 100000 y = connector.y - height = connector.height * adjValue_1.raw_value / 100000 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) + height = connector.height * adjustment_1.raw_value / 100000 + + slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) ``` -結果: -![connector-adjusted-2](connector-adjusted-2.png) +結果: -#### **ケース 2** +![コネクタ調整 2](connector-adjusted-2.png) -**ケース 1**では、基本的な原則を使用してコネクタの調整操作を簡単に示しました。通常の状況では、コネクタの回転と表示(これらは`connector.rotation`、`connector.frame.flip_h`、`connector.frame.flip_v`で設定されています)を考慮する必要があります。プロセスを示します。 +#### **ケース 2** -最初に、スライドに新しいテキストフレームオブジェクト(**To 1**)を追加し、すでに作成したオブジェクトに接続するための新しい(緑色の)コネクタを作成します。 +**ケース 1** では、基本原則を用いたシンプルなコネクタ調整を示しました。実際のシナリオでは、コネクタの回転や表示設定(`connector.rotation`、`connector.frame.flip_h`、`connector.frame.flip_v`)も考慮する必要があります。以下に手順を示します。 +最初に、スライドに新しいテキストフレームオブジェクト(**To 1**)を追加し、既存オブジェクトに接続する緑のコネクタを作成します。 ```python - # 新しいバインディングオブジェクトを作成 - shapeTo_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) - shapeTo_1.text_frame.text = "To 1" - # 新しいコネクタを作成 + # 新しいターゲットオブジェクトを作成します。 + shape_to_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) + shape_to_1.text_frame.text = "To 1" + + # 新しいコネクタを作成します。 connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.medium_aquamarine connector.line_format.width = 3 - # 新しく作成されたコネクタを使用してオブジェクトを接続 + + # 作成したコネクタでオブジェクトを接続します。 connector.start_shape_connected_to = shapeFrom connector.start_shape_connection_site_index = 2 - connector.end_shape_connected_to = shapeTo_1 - connector.end_shape_connected_to = 3 - # コネクタの調整ポイントを取得 - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] - # 調整ポイントの値を変更 - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + connector.end_shape_connected_to = shape_to_1 + connector.end_shape_connection_site_index = 3 + + # コネクタの調整ポイントを取得します。 + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] + + # 調整ポイントの値を変更します。 + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` -結果: -![connector-adjusted-3](connector-adjusted-3.png) +結果: -次に、新しいコネクタの調整ポイント`connector.adjustments[0]`を通過するコネクタの横成分に対応する形状を作成します。コネクタデータから`connector.rotation`、`connector.frame.flip_h`、および`connector.frame.flip_v`の値を使用し、与えられた点の周りの回転の一般的な座標変換公式を適用します: +![コネクタ調整 3](connector-adjusted-3.png) -X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; +次に、新しいコネクタの調整ポイント `connector.adjustments[0]` を通過する **horizontal** セグメントに対応する形状を作成します。`connector.rotation`、`connector.frame.flip_h`、`connector.frame.flip_v` の値を使用し、基準点 `x0` 周りの回転に対する標準座標変換式を適用します。 +X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; Y = (x — x0) * sin(alpha) + (y — y0) * cos(alpha) + y0; -この場合、オブジェクトの回転角度は90度で、コネクタは垂直に表示されるため、次のようにコードを記述します: - +本例ではオブジェクトの回転角は 90 度で、コネクタは垂直に表示されるため、対応するコードは次のとおりです: ```python - # コネクタ座標を保存 + # コネクタの座標を保存します。 x = connector.x y = connector.y - # コネクタが表示された場合の座標を修正 + + # コネクタがフリップされている場合は座標を補正します。 if connector.frame.flip_h == 1: x += connector.width if connector.frame.flip_v == 1: y += connector.height - # 調整ポイントの値を座標として取り込む + # 調整ポイントの値を座標として使用します。 x += connector.width * adjValue_0.raw_value / 100000 - # 角度を考慮して座標を変換(Sin(90) = 1 および Cos(90) = 0) + # sin(90°)=1, cos(90°)=0 のため座標を変換します。 xx = connector.frame.center_x - y + connector.frame.center_y yy = x - connector.frame.center_x + connector.frame.center_y - # 新しい接点の幅を定義 + # 第2調整ポイントの値を使って水平セグメントの幅を決定します。 width = connector.height * adjValue_1.raw_value / 100000 shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, xx, yy, width, 0) shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red ``` -結果: -![connector-adjusted-4](connector-adjusted-4.png) +結果: + +![コネクタ調整 4](connector-adjusted-4.png) -簡単な調整や複雑な調整ポイント(回転角度を持つ調整ポイント)に関与する計算を示しました。得た知識を基に、自分のモデル(またはコードを書いて)`GraphicsPath`オブジェクトを取得したり、特定のスライド座標に基づいてコネクタの調整ポイント値を設定することができます。 +シンプルな調整と、回転を考慮した複雑な調整ポイントの計算例を示しました。この知識を活用して、座標に基づく `GraphicsPath` オブジェクトを取得したり、スライド座標に応じてコネクタの調整ポイント値を設定したりする独自のモデルやコードを作成できます。 -## **コネクタ線の角度を見つける** +## **コネクタ線の角度を求める** -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. インデックスを通じてスライドの参照を取得します。 -1. コネクタ線の形状にアクセスします。 -1. 線の幅、高さ、形状フレームの高さ、および形状フレームの幅を使用して角度を計算します。 +以下の例を使用して、Aspose.Slides でスライド上のコネクタ線の角度を求める方法を学びます。コネクタの端点を取得し、向きを計算することで、矢印やラベル、その他の図形を正確に配置できます。 -以下のPythonコードは、コネクタ線の形状の角度を計算する操作を示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. インデックスでスライドへの参照を取得します。 +1. コネクタ線のシェイプにアクセスします。 +1. 線の幅と高さ、シェイプフレームの幅と高さを使用して角度を計算します。 +以下の Python コードは、コネクタ線シェイプの角度を計算する方法を示しています: ```python import aspose.slides as slides import math -def get_direction(w, h, flipH, flipV): - endLineX = w * (-1 if flipH else 1) - endLineY = h * (-1 if flipV else 1) - endYAxisX = 0 - endYAxisY = h - angle = math.atan2(endYAxisY, endYAxisX) - math.atan2(endLineY, endLineX) +def get_direction(w, h, flip_h, flip_v): + end_line_x = w * (-1 if flip_h else 1) + end_line_y = h * (-1 if flip_v else 1) + end_y_axis_x = 0 + end_y_axis_y = h + angle = math.atan2(end_y_axis_y, end_y_axis_x) - math.atan2(end_line_y, end_line_x) if (angle < 0): angle += 2 * math.pi return angle * 180.0 / math.pi -with slides.Presentation(path + "ConnectorLineAngle.pptx") as pres: - slide = pres.slides[0] - for i in range(len(slide.shapes)): - dir = 0.0 - shape = slide.shapes[i] - if (type(shape) is slides.AutoShape): - if shape.shape_type == slides.ShapeType.LINE: - dir = get_direction(shape.width, shape.Height, shape.frame.flip_h, shape.frame.flip_v) +with slides.Presentation("connector_line_angle.pptx") as presentation: + slide = presentation.slides[0] + for shape_index in range(len(slide.shapes)): + direction = 0.0 + shape = slide.shapes[shape_index] + if type(shape) is slides.AutoShape and shape.shape_type == slides.ShapeType.LINE: + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) elif type(shape) is slides.Connector: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + print(direction) +``` + + +## **よくある質問** + +**特定の図形にコネクタを「くっつけ」られるかどうかはどうやって確認できますか?** + +その図形が [connection sites](https://reference.aspose.com/slides/python-net/aspose.slides/shape/connection_site_count/) を公開しているか確認してください。存在しない、またはカウントが 0 の場合はくっ付けは利用できません。その場合は自由端点を使用し、手動で位置を設定します。接続前にサイト数をチェックするのが賢明です。 + +**接続されている図形の一方を削除した場合、コネクタはどうなりますか?** + +端点は切り離され、コネクタは普通の線としてスライド上に残ります(開始点/終了点が自由になります)。削除するか、接続を再割り当てし、必要に応じて [reroute](https://reference.aspose.com/slides/python-net/aspose.slides/connector/reroute/) してください。 - print(dir) +**スライドを別のプレゼンテーションにコピーしたとき、コネクタのバインディングは保持されますか?** -``` \ No newline at end of file +通常は保持されますが、対象の図形も同時にコピーされていることが前提です。接続された図形が存在しない状態でスライドを別ファイルに挿入した場合、端点は自由になり、再接続が必要になります。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md index c9059c0a89..9a3d1b6b48 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md @@ -1,193 +1,208 @@ --- -title: Python でプレゼンテーションの図形をカスタマイズする -linktitle: カスタム 図形 +title: Python を使用したプレゼンテーションの形状カスタマイズ +linktitle: カスタム形状 type: docs weight: 20 url: /ja/python-net/custom-shape/ keywords: -- カスタム 図形 -- 図形を追加 -- 図形を作成 -- 図形を変更 -- 図形のジオメトリ -- ジオメトリ パス -- パス ポイント -- ポイントを編集 -- ポイントを追加 -- ポイントを削除 +- カスタム形状 +- 形状の追加 +- 形状の作成 +- 形状の変更 +- 形状ジオメトリ +- ジオメトリパス +- パスポイント +- ポイントの編集 +- ポイントの追加 +- ポイントの削除 - 編集操作 -- 曲線の角 +- 曲線コーナー - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションで図形を作成およびカスタマイズします:ジオメトリ パス、曲線の角、複合図形。" +description: "Python 用 Aspose.Slides for .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションで形状を作成およびカスタマイズします:ジオメトリパス、曲線コーナー、複合形状。" --- -# エディットポイントを使用したシェイプの変更 +## **概要** -四角形を考えてみましょう。PowerPoint では、**エディットポイント**を使用して、 +正方形を考えてください。PowerPoint で **Edit Points** を使用すると、次のことができます。 -* 四角形の角を内側または外側に移動する -* 角またはポイントの曲率を指定する -* 四角形に新しいポイントを追加する -* 四角形上のポイントを操作するなど +* 正方形の角を内側または外側に移動する +* 角やポイントの曲率を調整する +* 正方形に新しいポイントを追加する +* ポイントを操作する -本質的に、説明されたタスクを任意のシェイプに対して実行できます。エディットポイントを使用すると、シェイプを変更したり、既存のシェイプから新しいシェイプを作成したりすることができます。 +これらの操作は任意の図形に適用できます。**Edit Points** を使用すると、既存の図形を変更したり、既存の図形から新しい図形を作成したりできます。 -## シェイプ編集のヒント +## **図形編集のヒント** -![overview_image](custom_shape_0.png) +!["Edit Points" コマンド](custom_shape_0.png) -エディットポイントを通じて PowerPoint シェイプを編集し始める前に、シェイプに関する以下のポイントを考慮することをお勧めします。 +PowerPoint の図形を **Edit Points** で編集する前に、図形に関する次の点に留意してください。 -* シェイプ(またはそのパス)は、閉じた形または開いた形のいずれかです。 -* シェイプが閉じているときは、開始点や終了点がありません。シェイプが開いているときは、始まりと終わりがあります。 -* すべてのシェイプは、互いに線でつながれた少なくとも 2 つのアンカーポイントで構成されています。 -* 線は、直線または曲線のいずれかです。アンカーポイントが線の性質を決定します。 -* アンカーポイントは、コーナーポイント、直ポイント、またはスムーズポイントとして存在します: - * コーナーポイントは、2 つの直線が角度で接合されるポイントです。 - * スムーズポイントは、2 つのハンドルが直線上に存在し、その線のセグメントが滑らかな曲線で接合されるポイントです。この場合、すべてのハンドルはアンカーポイントから等しい距離だけ離れています。 - * 直ポイントは、2 つのハンドルが直線上に存在し、その線のセグメントが滑らかな曲線で接合されるポイントです。この場合、ハンドルはアンカーポイントから等しい距離だけ離れる必要はありません。 -* アンカーポイントを移動または編集することで(これにより線の角度が変わります)、シェイプの見た目を変更できます。 +* 図形(またはそのパス)は **閉じている** か **開いている** かのいずれかです。 +* 閉じた図形には開始点や終了点がありません。開いた図形には開始点と終了点があります。 +* すべての図形は、少なくとも 2 つのアンカーポイントが線分で接続されています。 +* 線分は直線または曲線のいずれかで、アンカーポイントがその性質を決定します。 +* アンカーポイントは **コーナー**、**スムーズ**、または **ストレート** に分類されます。 + * **コーナー** ポイントは、2 本の直線セグメントが角度を持って交わる場所です。 + * **スムーズ** ポイントは 2 つのハンドルが共線であり、隣接するセグメントが滑らかな曲線を形成します。この場合、両ハンドルはアンカーポイントから同じ距離にあります。 + * **ストレート** ポイントも 2 つのハンドルが共線ですが、ハンドルの距離は同じである必要はありません。 +* アンカーポイントを移動または編集して(セグメントの角度を変更して)図形の外観を変えることができます。 -エディットポイントを通じて PowerPoint シェイプを編集するには、**Aspose.Slides** は [**GeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスと [**IGeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) インターフェイスを提供します。 +PowerPoint の図形を編集するには、Aspose.Slides が提供する [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスを使用します。 -* [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) インスタンスは、[IGeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) オブジェクトのジオメトリパスを表します。 -* `IGeometryShape` インスタンスから `GeometryPath` を取得するには、[IGeometryShape.GetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) メソッドを使用できます。 -* シェイプに `GeometryPath` を設定するには、次のメソッドを使用できます:*固体シェイプ* のための [IGeometryShape.SetGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) と *コンポジットシェイプ* のための [IGeometryShape.SetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/)。 -* セグメントを追加するには、[IGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) の下のメソッドを使用できます。 -* [IGeometryPath.Stroke](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) と [IGeometryPath.FillMode](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) プロパティを使用して、ジオメトリパスの外観を設定できます。 -* [IGeometryPath.PathData](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/properties/pathdata) プロパティを使用して、`GeometryShape` のジオメトリパスをパスセグメントの配列として取得できます。 -* 追加のシェイプジオメトリカスタマイズオプションにアクセスするには、[GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) を [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0) に変換できます。 -* `GeometryPath` と `GraphicsPath` を相互に変換するには、[ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/) クラスから `GeometryPathToGraphicsPath` と `GraphicsPathToGeometryPath` メソッドを使用します。 +* [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) のインスタンスは、[GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) オブジェクトのジオメトリパスを表します。 +* [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) のインスタンスから [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) を取得するには、[GeometryShape.get_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/get_geometry_paths/) メソッドを使用します。 +* 図形に [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) を設定するには、*単体図形* の場合は [GeometryShape.set_geometry_path](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_path/) を、*複合図形* の場合は [GeometryShape.set_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_paths/) を使用します。 +* セグメントを追加するには、[GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) のメソッドを使用します。 +* ジオメトリパスの外観は、[GeometryPath.stroke](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/stroke/) および [GeometryPath.fill_mode](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/fill_mode/) プロパティで制御します。 +* 図形のジオメトリパスをパスセグメントの配列として取得するには、[GeometryPath.path_data](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/path_data/) プロパティを使用します。 -## **簡単な編集操作** +## **シンプルな編集操作** -この Python コードは、次の操作を示します。 - -**パスの終わりに**線を追加する: +以下のメソッドはシンプルな編集操作に使用されます。 +**パスの末尾に直線を追加**: ```py line_to(point) line_to(x, y) ``` -**指定した位置に**線を追加する: +**パスの指定位置に直線を追加**: ```py line_to(point, index) line_to(x, y, index) ``` -**パスの終わりに**3次ベジェ曲線を追加する: +**パスの末尾に 3 次ベジェ曲線を追加**: ```py cubic_bezier_to(point1, point2, point3) cubic_bezier_to(x1, y1, x2, y2, x3, y3) ``` -**指定した位置に**3次ベジェ曲線を追加する: +**パスの指定位置に 3 次ベジェ曲線を追加**: ```py cubic_bezier_to(point1, point2, point3, index) cubic_bezier_to(x1, y1, x2, y2, x3, y3, index) ``` -**パスの終わりに**2次ベジェ曲線を追加する: +**パスの末尾に 2 次ベジェ曲線を追加**: ```py quadratic_bezier_to(point1, point2) quadratic_bezier_to(x1, y1, x2, y2) ``` -**指定した位置に**2次ベジェ曲線を追加する: +**パスの指定位置に 2 次ベジェ曲線を追加**: ```py quadratic_bezier_to(point1, point2, index) quadratic_bezier_to(x1, y1, x2, y2, index) ``` -**指定されたアークを**パスに追加する: +**パスに円弧を追加**: ```py -arc_to(width, height, startAngle, sweepAngle) +arc_to(width, heigth, startAngle, sweepAngle) ``` -**パスの現在のフィギュアを**閉じる: +**パス内の現在の図形を閉じる**: ```py close_figure() ``` -**次のポイントの位置を設定する**: +**次のポイントの位置を設定**: ```py move_to(point) move_to(x, y) ``` -**指定されたインデックスの**パスセグメントを削除する: +**指定インデックスのパスセグメントを削除**: ```py remove_at(index) ``` -## シェイプにカスタムポイントを追加する -1. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成し、[ShapeType.Rectangle](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) を設定します。 -2. シェイプから [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスのインスタンスを取得します。 -3. パス上の 2 つの上のポイントの間に新しいポイントを追加します。 -4. パス上の 2 つの下のポイントの間に新しいポイントを追加します。 -5. パスをシェイプに適用します。 -この Python コードは、シェイプにカスタムポイントを追加する方法を示しています: +## **図形にカスタムポイントを追加** + +ここでは、独自のポイントシーケンスを追加してフリーフォーム図形を定義する方法を学びます。順序付けられたポイントとセグメントタイプ(直線または曲線)を指定し、必要に応じてパスを閉じることで、正確なカスタムグラフィック(多角形、アイコン、吹き出し、ロゴなど)をスライド上に直接描画できます。 + +1. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成し、[ShapeType.RECTANGLE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) を設定します。 +2. 図形から [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) のインスタンスを取得します。 +3. パス上の上部 2 点の間に新しいポイントを挿入します。 +4. パス上の下部 2 点の間に新しいポイントを挿入します。 +5. 更新されたパスを図形に適用します。 +以下の Python コードは、図形にカスタムポイントを追加する方法を示しています: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath = shape.get_geometry_paths()[0] +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath.line_to(100, 50, 1) - geometryPath.line_to(100, 50, 4) - shape.set_geometry_path(geometryPath) + geometry_path = shape.get_geometry_paths()[0] + geometry_path.line_to(100, 50, 1) + geometry_path.line_to(100, 50, 4) + + shape.set_geometry_path(geometry_path) + + presentation.save("custom_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example1_image](custom_shape_1.png) -## シェイプからポイントを削除する +![カスタムポイント](custom_shape_1.png) -1. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成し、[ShapeType.Heart](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) タイプを設定します。 -2. シェイプから [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスのインスタンスを取得します。 -3. パスのセグメントを削除します。 -4. パスをシェイプに適用します。 +## **図形からポイントを削除** -この Python コードは、シェイプからポイントを削除する方法を示しています: +カスタム形状に不要なポイントが含まれていると、ジオメトリが複雑になったり、レンダリングに影響したりします。このセクションでは、図形のパスから特定のポイントを削除して輪郭をシンプルにし、よりクリーンで正確な結果を得る方法を示します。 +1. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成し、[ShapeType.HEART](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) タイプを設定します。 +2. 図形から [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) のインスタンスを取得します。 +3. パスからセグメントを削除します。 +4. 更新されたパスを図形に適用します。 + +以下の Python コードは、図形からポイントを削除する方法を示しています: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) path = shape.get_geometry_paths()[0] path.remove_at(2) + shape.set_geometry_path(path) + + presentation.save("removed_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example2_image](custom_shape_2.png) -## カスタムシェイプを作成する -1. シェイプのポイントを計算します。 -2. [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスのインスタンスを作成します。 -3. ポイントでパスを埋めます。 -4. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成します。 -5. パスをシェイプに適用します。 +![削除されたポイント](custom_shape_2.png) + +## **カスタム形状の作成** -この Python コードは、カスタムシェイプを作成する方法を示しています: +[GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) を定義し、直線、円弧、ベジエ曲線で構成することで、オリジナルのベクター形状を作成します。このセクションでは、ゼロからジオメトリを構築し、スライドに形状を追加する方法を示します。 +1. 形状のポイントを計算します。 +2. [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスのインスタンスを作成します。 +3. パスにポイントを設定します。 +4. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成します。 +5. パスを形状に適用します。 + +以下の Python コードは、カスタム形状を作成する方法を示しています: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -210,127 +225,149 @@ for angle in range(-90, 270, step): y = r * math.sin(radians) points.append(draw.PointF(x + R, y + R)) -starPath = slides.GeometryPath() -starPath.move_to(points[0]) +star_path = slides.GeometryPath() +star_path.move_to(points[0]) for i in range(len(points)): - starPath.line_to(points[i]) + star_path.line_to(points[i]) + +star_path.close_figure() + +with slides.Presentation() as presentation: + slide = presentation.slides[0] -starPath.close_figure() + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) + shape.set_geometry_path(star_path) -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) - shape.set_geometry_path(starPath) + presentation.save("custom_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example3_image](custom_shape_3.png) -## コンポジットカスタムシェイプを作成する -1. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成します。 -2. [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスの最初のインスタンスを作成します。 -3. [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスの 2 番目のインスタンスを作成します。 -4. パスをシェイプに適用します。 +![カスタム形状](custom_shape_3.png) -この Python コードは、コンポジットカスタムシェイプを作成する方法を示しています: +## **複合カスタム形状の作成** +複合カスタム形状を作成すると、複数のジオメトリパスを 1 つの再利用可能な形状に結合できます。これらのパスを定義して結合することで、標準の図形セットを超える複雑なビジュアルを構築できます。 + +1. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成します。 +2. 最初の [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスのインスタンスを作成します。 +3. 2 番目の [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) クラスのインスタンスを作成します。 +4. 両方のパスを形状に適用します。 + +以下の Python コードは、複合カスタム形状を作成する方法を示しています: ```py import aspose.slides as slides -import aspose.pydrawing as draw -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) + + geometry_path_0 = slides.GeometryPath() + geometry_path_0.move_to(0, 0) + geometry_path_0.line_to(shape.width, 0) + geometry_path_0.line_to(shape.width, shape.height/3) + geometry_path_0.line_to(0, shape.height / 3) + geometry_path_0.close_figure() - geometryPath0 = slides.GeometryPath() - geometryPath0.move_to(0, 0) - geometryPath0.line_to(shape.width, 0) - geometryPath0.line_to(shape.width, shape.height/3) - geometryPath0.line_to(0, shape.height / 3) - geometryPath0.close_figure() + geometry_path_1 = slides.GeometryPath() + geometry_path_1.move_to(0, shape.height/3 * 2) + geometry_path_1.line_to(shape.width, shape.height / 3 * 2) + geometry_path_1.line_to(shape.width, shape.height) + geometry_path_1.line_to(0, shape.height) + geometry_path_1.close_figure() - geometryPath1 = slides.GeometryPath() - geometryPath1.move_to(0, shape.height/3 * 2) - geometryPath1.line_to(shape.width, shape.height / 3 * 2) - geometryPath1.line_to(shape.width, shape.height) - geometryPath1.line_to(0, shape.height) - geometryPath1.close_figure() + shape.set_geometry_paths([ geometry_path_0, geometry_path_1]) - shape.set_geometry_paths([ geometryPath0, geometryPath1]) + presentation.save("composite_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example4_image](custom_shape_4.png) -## **カスタムシェイプを作成する(曲がったコーナー付き)** -この Python コードは、内側に曲がったコーナーを持つカスタムシェイプを作成する方法を示しています: +![複合形状](custom_shape_4.png) + +## **曲線コーナー付きカスタム形状の作成** + +このセクションでは、ジオメトリパスを使用して滑らかな曲線コーナーを持つカスタム形状を描く方法を示します。直線セグメントと円弧を組み合わせて輪郭を形成し、完成した形状をスライドに追加します。 +以下の Python コードは、曲線コーナー付きカスタム形状を作成する方法を示しています: ```py import aspose.slides as slides import aspose.pydrawing as draw -shapeX = 20 -shapeY = 20 -shapeWidth = 300 -shapeHeight = 200 +shape_x = 20 +shape_y = 20 +shape_width = 300 +shape_height = 200 -leftTopSize = 50 -rightTopSize = 20 -rightBottomSize = 40 -leftBottomSize = 10 +left_top_size = 50 +right_top_size = 20 +right_bottom_size = 40 +left_bottom_size = 10 with slides.Presentation() as presentation: - childShape = presentation.slides[0].shapes.add_auto_shape( - slides.ShapeType.CUSTOM, shapeX, shapeY, shapeWidth, shapeHeight) + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape( + slides.ShapeType.CUSTOM, shape_x, shape_y, shape_width, shape_height) + + point1 = draw.PointF(left_top_size, 0) + point2 = draw.PointF(shape_width - right_top_size, 0) + point3 = draw.PointF(shape_width, shape_height - right_bottom_size) + point4 = draw.PointF(left_bottom_size, shape_height) + point5 = draw.PointF(0, left_top_size) + + geometry_path = slides.GeometryPath() + geometry_path.move_to(point1) + geometry_path.line_to(point2) + geometry_path.arc_to(right_top_size, right_top_size, 180, -90) + geometry_path.line_to(point3) + geometry_path.arc_to(right_bottom_size, right_bottom_size, -90, -90) + geometry_path.line_to(point4) + geometry_path.arc_to(left_bottom_size, left_bottom_size, 0, -90) + geometry_path.line_to(point5) + geometry_path.arc_to(left_top_size, left_top_size, 90, -90) + geometry_path.close_figure() + + shape.set_geometry_path(geometry_path) + + presentation.save("curved_corners.pptx", slides.export.SaveFormat.PPTX) +``` - geometryPath = slides.GeometryPath() - point1 = draw.PointF(leftTopSize, 0) - point2 = draw.PointF(shapeWidth - rightTopSize, 0) - point3 = draw.PointF(shapeWidth, shapeHeight - rightBottomSize) - point4 = draw.PointF(leftBottomSize, shapeHeight) - point5 = draw.PointF(0, leftTopSize) +![曲線コーナー](custom_shape_6.png) - geometryPath.move_to(point1) - geometryPath.line_to(point2) - geometryPath.arc_to(rightTopSize, rightTopSize, 180, -90) - geometryPath.line_to(point3) - geometryPath.arc_to(rightBottomSize, rightBottomSize, -90, -90) - geometryPath.line_to(point4) - geometryPath.arc_to(leftBottomSize, leftBottomSize, 0, -90) - geometryPath.line_to(point5) - geometryPath.arc_to(leftTopSize, leftTopSize, 90, -90) +## **形状ジオメトリが閉じているかの判定** - geometryPath.close_figure() +閉じた形状は、すべての辺が接続され、ギャップのない単一の境界を形成するものとして定義されます。このような形状は単純な幾何形状でも複雑なカスタム輪郭でも構いません。以下のコード例は、形状ジオメトリが閉じているかどうかを確認する方法を示します: +```py +def is_geometry_closed(geometry_shape): + is_closed = None - childShape.set_geometry_path(geometryPath) + for geometry_path in geometry_shape.get_geometry_paths(): + data_length = len(geometry_path.path_data) + if data_length == 0: + continue - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` + last_segment = geometry_path.path_data[data_length - 1] + is_closed = last_segment.path_command == PathCommandType.CLOSE -## GeometryPathをGraphicsPath(System.Drawing.Drawing2D)に変換する + if not is_closed: + return False -1. [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) クラスのインスタンスを作成します。 -2. [System.Drawing.Drawing2D](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0) 名前空間の [GrpahicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) クラスのインスタンスを作成します。 -3. [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/) を使用して [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) インスタンスを [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) インスタンスに変換します。 -4. パスをシェイプに適用します。 + return is_closed +``` -この Python コードは、上記のステップの実装を示し、**GeometryPath** から **GraphicsPath** への変換プロセスを実演しています: -```py -import aspose.slides as slides -import aspose.pydrawing as draw +## **FAQ** -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 100) +**ジオメトリを置き換えた後、塗りつぶしと輪郭はどうなりますか?** - originalPath = shape.get_geometry_paths()[0] - originalPath.fill_mode = slides.PathFillModeType.NONE +スタイルは図形に残り、輪郭だけが変更されます。塗りつぶしと輪郭は新しいジオメトリに自動的に適用されます。 - gPath = draw.drawing2d.GraphicsPath() +**ジオメトリとともにカスタム形状を正しく回転させるにはどうすればよいですか?** - gPath.add_string("Text in shape", draw.FontFamily("Arial"), 1, 40, draw.PointF(10, 10), draw.StringFormat.generic_default) +図形の [rotation](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/rotation/) プロパティを使用します。ジオメトリは図形の座標系にバインドされているため、図形とともに回転します。 - textPath = slides.util.ShapeUtil.graphics_path_to_geometry_path(gPath) - textPath.fill_mode = slides.PathFillModeType.NORMAL +**カスタム形状を画像に変換して「ロック」できますか?** - shape.set_geometry_paths([originalPath, textPath]) -``` -![example5_image](custom_shape_5.png) \ No newline at end of file +はい。必要な [slide](/slides/ja/python-net/convert-powerpoint-to-png/) 領域または [shape](/slides/ja/python-net/create-shape-thumbnails/) 自体をラスタ形式でエクスポートすれば、重いジオメトリの後続作業が簡素化されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md index f6dd64480b..361a3c973f 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md @@ -1,75 +1,99 @@ --- -title: 楕円 +title: Python でプレゼンテーションに楕円を追加する +linktitle: 楕円 type: docs weight: 30 url: /ja/python-net/ellipse/ -keywords: "楕円, PowerPoint 形状, PowerPoint プレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "Python で PowerPoint プレゼンテーションに楕円を作成する" +keywords: +- 楕円 +- 形状 +- 楕円を追加 +- 楕円を作成 +- 楕円を描画 +- 書式設定された楕円 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PPT、PPTX、ODP プレゼンテーションで楕円形を作成、書式設定、操作する方法を学びます(コード例付き)。" --- - ## **楕円の作成** -このトピックでは、Aspose.Slides for Python via .NETを使用して、スライドに楕円形状を追加する方法を開発者に紹介します。Aspose.Slides for Python via .NETは、数行のコードでさまざまな種類の形状を描画するための簡単なAPIセットを提供します。プレゼンテーションの選択したスライドに単純な楕円を追加するには、以下のステップに従ってください: - -1. [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. インデックスを使用してスライドの参照を取得します。 -1. IShapesオブジェクトによって公開されたAddAutoShapeメソッドを使用して、楕円型のAutoShapeを追加します。 -1. 修正されたプレゼンテーションをPPTXファイルとして保存します。 +このトピックでは、Aspose.Slides for Python via .NET を使用してスライドに楕円形を追加する方法を開発者に紹介します。Aspose.Slides for Python via .NET は、数行のコードでさまざまな形状を描画できる簡単な API を提供します。プレゼンテーションの選択したスライドにシンプルな楕円を追加するには、以下の手順に従ってください。 -以下の例では、最初のスライドに楕円を追加しました。 +1. [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class のインスタンスを作成する +1. インデックスを使用してスライドの参照を取得する +1. IShapes オブジェクトが提供する AddAutoShape メソッドを使用して、Ellipse タイプの AutoShape を追加する +1. 変更されたプレゼンテーションを書き出して PPTX ファイルに保存する +以下の例では、最初のスライドに楕円を追加しています。 ```py import aspose.slides as slides -# PPTXを表すPresentationクラスのインスタンス化 +# PPTX を表す Prseetation クラスのインスタンスを作成する with slides.Presentation() as pres: - # 最初のスライドを取得 + # 最初のスライドを取得する sld = pres.slides[0] - # 楕円型のオートシェイプを追加 + # 楕円タイプのオートシェイプを追加する sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - #PPTXファイルをディスクに書き込む - pres.save("EllipseShp1_out.pptx", slides.export.SaveFormat.PPTX) + #PPTX ファイルをディスクに保存する ``` -## **フォーマットされた楕円の作成** -スライドにより良いフォーマットの楕円を追加するには、以下のステップに従ってください: -1. [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. インデックスを使用してスライドの参照を取得します。 -1. IShapesオブジェクトによって公開されたAddAutoShapeメソッドを使用して、楕円型のAutoShapeを追加します。 -1. 楕円の塗りつぶしタイプをソリッドに設定します。 -1. IShapeオブジェクトに関連するFillFormatオブジェクトによって公開されたSolidFillColor.Colorプロパティを使用して、楕円の色を設定します。 -1. 楕円の線の色を設定します。 -1. 楕円の線の幅を設定します。 -1. 修正されたプレゼンテーションをPPTXファイルとして保存します。 +## **書式設定された楕円の作成** +スライドに書式設定された楕円を追加するには、以下の手順に従ってください。 -以下の例では、プレゼンテーションの最初のスライドにフォーマットされた楕円を追加しました。 +1. [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)class のインスタンスを作成する。 +1. インデックスを使用してスライドの参照を取得する。 +1. IShapes オブジェクトが提供する AddAutoShape メソッドを使用して、Ellipse タイプの AutoShape を追加する。 +1. 楕円の塗りつぶしタイプを Solid に設定する。 +1. IShape オブジェクトに関連付けられた FillFormat オブジェクトが提供する SolidFillColor.Color プロパティを使用して、楕円の色を設定する。 +1. 楕円の線の色を設定する。 +1. 楕円の線の幅を設定する。 +1. 変更されたプレゼンテーションを書き出して PPTX ファイルに保存する。 +以下の例では、プレゼンテーションの最初のスライドに書式設定された楕円を追加しています。 ```py import aspose.slides as slides import aspose.pydrawing as draw -# PPTXを表すPresentationクラスのインスタンス化 +# PPTX を表す Presentation クラスのインスタンスを作成する with slides.Presentation() as pres: - # 最初のスライドを取得 + # 最初のスライドを取得する sld = pres.slides[0] - # 楕円型のオートシェイプを追加 + # 楕円タイプのオートシェイプを追加する shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # 楕円形状にいくつかのフォーマットを適用 + # 楕円シェイプにいくつかの書式設定を適用する shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # 楕円の線にいくつかのフォーマットを適用 + # 楕円の線にいくつかの書式設定を適用する shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - #PPTXファイルをディスクに書き込む + #PPTX ファイルをディスクに保存する pres.save("EllipseShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**スライドの単位に対して楕円の正確な位置とサイズを設定するにはどうすればよいですか?** + +座標とサイズは通常 **ポイント** 単位で指定します。予測可能な結果を得るために、スライドサイズを基準に計算し、必要なミリメートルやインチをポイントに変換してから値を設定してください。 + +**楕円を他のオブジェクトの上または下に配置するには(スタック順序を制御するには)どうすればよいですか?** + +オブジェクトの描画順序を前面に持ってくるか背面に送ることで調整できます。これにより楕円が他のオブジェクトと重なったり、背面のオブジェクトを表示したりできます。 + +**楕円の表示や強調をアニメーションさせるにはどうすればよいですか?** + +[Apply](/slides/ja/python-net/shape-animation/) 入場、強調、または退出効果を形状に適用し、トリガーとタイミングを設定してアニメーションの開始時期と方法を制御します。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md index 1e57cb8a04..1d762af8a5 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md @@ -1,79 +1,112 @@ --- -title: ライン +title: Python でプレゼンテーションにライン シェイプを作成する +linktitle: ライン type: docs weight: 50 url: /ja/python-net/line/ -keywords: "ライン, PowerPoint 図形, PowerPoint プレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでPowerPointプレゼンテーションにラインを追加する" +keywords: +- 線 +- 線の作成 +- 線の追加 +- プレーンな線 +- 線の構成 +- 線のカスタマイズ +- 破線スタイル +- 矢尻 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションでラインの書式設定を操作する方法を学びます。プロパティ、メソッド、例をご紹介します。" --- -Aspose.Slides for Python via .NETは、スライドにさまざまな種類の図形を追加することをサポートしています。このトピックでは、スライドにラインを追加することで図形の操作を始めます。Aspose.Slides for Python via .NETを使用することで、開発者は単純なラインを作成するだけでなく、スライド上にいくつかのファンシーなラインも描画できます。 -## **単純なラインを作成する** -プレゼンテーションの選択したスライドに単純なラインを追加するには、以下の手順に従ってください。 +## **概要** -- [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -- インデックスを使用してスライドの参照を取得します。 -- Shapesオブジェクトが公開している[add_auto_shape](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/)メソッドを使用して、ラインタイプのオートシェイプを追加します。 -- 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 +Aspose.Slides for Python via .NET は、スライドにさまざまな種類のシェイプを追加することをサポートしています。このトピックでは、シェイプの操作を開始し、スライドに線を追加します。Aspose.Slides を使用すると、開発者は単純な線だけでなく、装飾的な線もスライドに描画できます。 -以下の例では、プレゼンテーションの最初のスライドにラインを追加しました。 +## **プレーンな線の作成** +Aspose.Slides を使用して、スライドにプレーンな線をシンプルな区切りまたはコネクタとして追加します。プレゼンテーション内の選択したスライドにプレーンな線を追加するには、以下の手順に従います。 + +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスでスライドへの参照を取得します。 +3. [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) オブジェクトの `add_auto_shape` メソッドを使用して、`LINE` タイプの [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) を追加します。 +4. プレゼンテーションを PPTX ファイルとして保存します。 + +以下の例では、プレゼンテーションの最初のスライドに線が追加されています。 ```py import aspose.slides as slides -# PPTXファイルを表すPresentationExクラスのインスタンスを作成 -with slides.Presentation() as pres: - # 最初のスライドを取得 - sld = pres.slides[0] +# Presentation クラスのインスタンスを作成します。 +with slides.Presentation() as presentation: + + # 最初のスライドを取得します。 + slide = presentation.slides[0] - # ラインタイプのオートシェイプを追加 - sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + # タイプ LINE のオートシェイプを追加します。 + slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) - #PPTXをディスクに書き込む - pres.save("LineShape1_out.pptx", slides.export.SaveFormat.PPTX) + # プレゼンテーションを PPTX ファイルとして保存します。 + presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX) ``` -## **矢印形のラインを作成する** -Aspose.Slides for Python via .NETでは、開発者がラインのいくつかのプロパティを設定して、より魅力的に見せることも可能です。ラインを矢印のように見せるためにいくつかのプロパティを設定してみましょう。以下の手順に従ってください。 +## **矢印形状の線の作成** -- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -- インデックスを使用してスライドの参照を取得します。 -- Shapesオブジェクトが公開しているAddAutoShapeメソッドを使用して、ラインタイプのオートシェイプを追加します。 -- Aspose.Slides for Python via .NETが提供するスタイルの1つにラインスタイルを設定します。 -- ラインの幅を設定します。 -- Aspose.Slides for Python via .NETが提供するスタイルの1つにラインの[ダッシュスタイル](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/)を設定します。 -- ラインの始点の[矢印ヘッドスタイル](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/)と長さを設定します。 -- ラインの終点の矢印ヘッドスタイルと長さを設定します。 -- 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 +Aspose.Slides では、線のプロパティを設定して視覚的に魅力的にできます。以下では、線を矢印のように見せるためにいくつかのプロパティを設定します。手順は次のとおりです。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. インデックスでスライドへの参照を取得します。 +3. [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) オブジェクトの `add_auto_shape` メソッドを使用して、`LINE` タイプの [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) を追加します。 +4. [線のスタイル](https://reference.aspose.com/slides/python-net/aspose.slides/linestyle/) を設定します。 +5. 線の幅を設定します。 +6. 線の [破線スタイル](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) を設定します。 +7. 線の開始点の [矢尻スタイル](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) と長さを設定します。 +8. 線の終了点の矢尻スタイルと長さを設定します。 +9. プレゼンテーションを PPTX ファイルとして保存します。 ```py import aspose.slides as slides import aspose.pydrawing as draw -# PPTXファイルを表すPresentationExクラスのインスタンスを作成 -with slides.Presentation() as pres: - # 最初のスライドを取得 - sld = pres.slides[0] +# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。 +with slides.Presentation() as presentation: + # 最初のスライドを取得します。 + slide = presentation.slides[0] + + # タイプ LINE のオートシェイプを追加します。 + shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # 線の書式設定を適用します。 + shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN + shape.line_format.width = 10 + + shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT + + shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT + shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL + + shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG + shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE + + shape.line_format.fill_format.fill_type = slides.FillType.SOLID + shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon + + # プレゼンテーションを PPTX ファイルとして保存します。 + presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX) +``` + - # ラインタイプのオートシェイプを追加 - shp = sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) +## **よくある質問** - # ラインにいくつかのフォーマットを適用 - shp.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN - shp.line_format.width = 10 +**通常の線をコネクタに変換して、シェイプに「スナップ」させることはできますか?** - shp.line_format.dash_style = slides.LineDashStyle.DASH_DOT +いいえ。通常の線([AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) の [LINE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) タイプ)は自動的にコネクタにはなりません。シェイプにスナップさせるには、専用の [Connector](https://reference.aspose.com/slides/python-net/aspose.slides/connector/) タイプと、接続用の [corresponding APIs](/slides/ja/python-net/connector/) を使用してください。 - shp.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT - shp.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL +**テーマから継承された線のプロパティが最終値を把握しにくい場合、どうすればよいですか?** - shp.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG - shp.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE +[有効なプロパティを読む](/slides/ja/python-net/shape-effective-properties/) を [ILineFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilineformateffectivedata/)/[ILineFillFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilinefillformateffectivedata/) クラスを通じて行います—これらはすでに継承およびテーマスタイルを考慮しています。 - shp.line_format.fill_format.fill_type = slides.FillType.SOLID - shp.line_format.fill_format.solid_fill_color.color = draw.Color.maroon +**線を編集(移動、サイズ変更)できないようにロックできますか?** - #PPTXをディスクに書き込む - pres.save("LineShape2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +はい。シェイプは [ロック オブジェクト](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) を提供し、[編集操作の禁止](/slides/ja/python-net/applying-protection-to-presentation/) を行うことができます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md index 487903f6e3..3163690262 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md @@ -1,47 +1,46 @@ --- -title: Python でプレゼンテーションの段落境界を取得する +title: Pythonでプレゼンテーションから段落の境界を取得 linktitle: 段落 type: docs weight: 60 url: /ja/python-net/paragraph/ keywords: - 段落の境界 -- テキスト部分の境界 -- 段落座標 -- テキスト部分座標 -- 段落サイズ -- テキスト部分サイズ +- テキストポーションの境界 +- 段落の座標 +- ポーションの座標 +- 段落のサイズ +- テキストポーションのサイズ - テキストフレーム - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "PowerPoint および OpenDocument プレゼンテーションでテキストの配置を最適化するために、Aspose.Slides for Python via .NET で段落とテキスト部分の境界を取得する方法を学びます。" +description: "Aspose.Slides for Python via .NET で段落およびテキストポーションの境界を取得し、PowerPoint と OpenDocument のプレゼンテーションにおけるテキスト配置を最適化する方法を学びます。" --- -## **TextFrame内の段落とポーションの座標を取得する** -Aspose.Slides for Python via .NETを使用すると、開発者はTextFrameの段落コレクション内の段落の矩形座標を取得できるようになりました。これにより、段落内のポーションコレクション内のポーションの座標も取得できます。本トピックでは、段落の矩形座標と段落内のポーションの位置を取得する方法を例を用いて示します。 - -## **段落の矩形座標を取得する** -新しいメソッド**GetRect()**が追加されました。これにより、段落の境界矩形を取得できます。 +## **テキストフレーム内の段落およびポーションの座標取得** +Aspose.Slides for Python via .NET を使用すると、開発者は TextFrame の段落コレクション内の Paragraph の矩形座標を取得できるようになりました。また、段落のポーションコレクション内のポーションの座標も取得できます。このトピックでは、例を使って段落の矩形座標と段落内のポーションの位置を取得する方法を示します。 +## **段落の矩形座標取得** +新しいメソッド **GetRect()** が追加されました。これにより、段落のバウンド矩形を取得できます。 ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 +# プレゼンテーション ファイルを表す Presentation オブジェクトを生成します with slides.Presentation(path + "Shapes.pptx") as presentation: shape = presentation.slides[0].shapes[0] textFrame = shape.text_frame rect = textFrame.paragraphs[0].get_rect() ``` -## **テーブルセルのテキストフレーム内の段落とポーションのサイズを取得する** ## -テーブルセルのテキストフレーム内で[ポーション](https://reference.aspose.com/slides/python-net/aspose.slides/portion/)または[段落](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/)のサイズと座標を取得するには、[IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/)および[IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/)メソッドを使用できます。 +## **テーブルセルのテキストフレーム内の段落およびポーションのサイズ取得** ## -このサンプルコードは、説明した操作を示しています: +テーブルセルのテキストフレーム内で [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) または [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) のサイズと座標を取得するには、[IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) と [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) メソッドを使用できます。 +このサンプルコードは上記の操作を示しています。 ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -51,6 +50,7 @@ with slides.Presentation(path + "source.pptx") as pres: cell = tbl.rows[1][1] + x = tbl.X + tbl.rows[1][1].offset_x y = tbl.Y + tbl.rows[1][1].offset_y @@ -73,4 +73,23 @@ with slides.Presentation(path + "source.pptx") as pres: rect.x + x, rect.y + y, rect.width, rect.height) shape.fill_format.fill_type = slides.FillType.NO_FILL -``` \ No newline at end of file +``` + + +## **FAQ** + +**段落およびテキストポーションの座標はどの単位で返されますか?** + +ポイント単位です。1インチは 72 ポイントに相当します。この単位はスライド上のすべての座標と寸法に適用されます。 + +**ワードラップは段落のバウンドに影響しますか?** + +はい。もし [wrapping](https://reference.aspose.com/slides/python-net/aspose.slides/textframeformat/wrap_text/) が [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) で有効になっている場合、テキストは領域の幅に合わせて折り返され、段落の実際のバウンドが変わります。 + +**エクスポートされた画像で段落の座標をピクセルに正確にマッピングできますか?** + +はい。ポイントをピクセルに変換するには、次の式を使用します: pixels = points × (DPI / 72)。結果はレンダリング/エクスポート時に選択した DPI に依存します。 + +**スタイル継承を考慮した「実効」段落書式設定パラメータはどのように取得しますか?** + +[effective paragraph formatting data structure](/slides/ja/python-net/shape-effective-properties/) を使用します。これにより、インデント、間隔、折り返し、RTL などの最終的な統合値が返されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md index 00f6b47311..2533dea6ae 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md @@ -1,24 +1,53 @@ --- -title: ポーション +title: Python を使用したプレゼンテーションのテキスト部分の管理 +linktitle: テキスト部分 type: docs weight: 70 url: /ja/python-net/portion/ -keywords: "ポーション, PowerPoint図形, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでPowerPointプレゼンテーションのポーションを取得" +keywords: +- テキスト部分 +- テキストパート +- テキスト座標 +- テキスト位置 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションのテキスト部分を管理し、パフォーマンスとカスタマイズ性を向上させる方法を学びます。" --- -## **ポーションの位置座標を取得** -**GetCoordinates()** メソッドがIPortionおよびPortionクラスに追加され、ポーションの開始位置の座標を取得できるようになりました: +## **テキスト部分の座標取得** +テキスト部分の座標を取得できるように、[Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) クラスに [get_coordinates](https://reference.aspose.com/slides/python-net/aspose.slides/portion/get_coordinates/) メソッドが追加されました。 ```py import aspose.slides as slides -with slides.Presentation(path + "HelloWorld.pptx") as presentation: +with slides.Presentation("HelloWorld.pptx") as presentation: shape = presentation.slides[0].shapes[0] - textFrame = shape.text_frame + text_frame = shape.text_frame - for paragraph in textFrame.paragraphs: + for paragraph in text_frame.paragraphs: for portion in paragraph.portions: point = portion.get_coordinates() - print("座標 X =" + str(point.x) + " 座標 Y =" + str(point.y)) -``` \ No newline at end of file + print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y)) +``` + + +## **よくある質問** + +**単一の段落内のテキストの一部だけにハイパーリンクを適用できますか?** + +はい、個々の[ハイパーリンクを割り当てる](/slides/ja/python-net/manage-hyperlinks/) を Portion に割り当てることができます。その断片だけがクリック可能となり、段落全体はクリックできません。 + +**スタイル継承はどのように機能しますか: Portion が上書きするものは何で、Paragraph/TextFrame から取得するものは何ですか?** + +Portion レベルのプロパティが最優先です。プロパティが [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) に設定されていない場合、エンジンは [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) から取得します。そこにも設定がない場合は、[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) または [theme](https://reference.aspose.com/slides/python-net/aspose.slides.theme/theme/) のスタイルから取得します。 + +**Portion に指定したフォントが対象のマシン/サーバーに存在しない場合、どうなりますか?** + +[Font substitution rules](/slides/ja/python-net/font-selection-sequence/) が適用されます。テキストは再配置される可能性があり、メトリック、ハイフネーション、幅が変わることがあり、正確な配置に影響します。 + +**段落全体とは独立して、Portion 固有のテキスト塗りつぶしの透明度やグラデーションを設定できますか?** + +はい、[Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) レベルでテキストの色、塗りつぶし、透明度を隣接するフラグメントと異なる設定にできます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md index 923860504c..bb228224f2 100644 --- a/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md +++ b/ja/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md @@ -1,5 +1,5 @@ --- -title: Python でプレゼンテーションに長方形を追加 +title: Pythonでプレゼンテーションに長方形を追加 linktitle: 長方形 type: docs weight: 80 @@ -7,78 +7,111 @@ url: /ja/python-net/rectangle/ keywords: - 長方形を追加 - 長方形を作成 -- 長方形の形状 +- 長方形シェイプ - シンプルな長方形 -- 書式付きの長方形 +- 書式設定された長方形 - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使って PowerPoint や OpenDocument プレゼンテーションに長方形を追加し、形状をプログラムで簡単にデザイン・変更しましょう。" +description: "Aspose.Slides for Python via .NET を使用して長方形を追加し、PowerPoint および OpenDocument のプレゼンテーションを強化します。形状をプログラムで簡単にデザインおよび変更できます。" --- +## **シンプルな長方形の作成** +前のトピックと同様に、これも図形の追加についてで、今回は長方形について説明します。このトピックでは、開発者が Aspose.Slides for Python via .NET を使用してスライドにシンプルまたは書式設定された長方形を追加する方法を説明しました。プレゼンテーションの選択されたスライドにシンプルな長方形を追加するには、以下の手順に従ってください。 -## **単純な長方形の作成** -前のトピックと同様に、今回も図形の追加についてですが、今回は長方形について説明します。このトピックでは、開発者がAspose.Slides for Python via .NETを使用してスライドに単純または書式設定された長方形を追加する方法について説明します。プレゼンテーションの選択したスライドに単純な長方形を追加するには、以下の手順に従ってください。 - -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 +1. [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 1. インデックスを使用してスライドの参照を取得します。 -1. IShapesオブジェクトによって公開されるAddAutoShapeメソッドを使用して、長方形型のIAutoShapeを追加します。 -1. 修正されたプレゼンテーションをPPTXファイルとして保存します。 - -以下の例では、プレゼンテーションの最初のスライドに単純な長方形を追加しました。 +1. IShapes オブジェクトが提供する AddAutoShape メソッドを使用して、Rectangle タイプの IAutoShape を追加します。 +1. 変更されたプレゼンテーションを書き出して PPTX ファイルに保存します。 +以下の例では、プレゼンテーションの最初のスライドにシンプルな長方形を追加しています。 ```py import aspose.slides as slides -# PPTXを表すPresentationクラスのインスタンスを作成 -with slides.Presentation() as pres: - # 最初のスライドを取得 - sld = pres.slides[0] +# PPTX を表す Presentation クラスのインスタンス化 +# 最初のスライドを取得 +# 矩形タイプのオートシェイプを追加 +#Write PPTX ファイルを書き込み保存 + with slides.Presentation() as pres: + # Get the first slide + sld = pres.slides[0] - # 長方形型の自動図形を追加 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) + # Add autoshape of rectangle type + sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # PPTXファイルをディスクに保存 - pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) + #Write the PPTX file to disk + pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **書式設定された長方形の作成** スライドに書式設定された長方形を追加するには、以下の手順に従ってください。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 +1. [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 1. インデックスを使用してスライドの参照を取得します。 -1. IShapesオブジェクトによって公開されるAddAutoShapeメソッドを使用して、長方形型のIAutoShapeを追加します。 -1. 長方形の塗りつぶしタイプをソリッドに設定します。 -1. IShapeオブジェクトに関連付けられたFillFormatオブジェクトによって公開されるSolidFillColor.Colorプロパティを使用して、長方形の色を設定します。 +1. IShapes オブジェクトが提供する AddAutoShape メソッドを使用して、Rectangle タイプの IAutoShape を追加します。 +1. 長方形の塗りつぶしタイプを Solid に設定します。 +1. IShape オブジェクトに関連付けられた FillFormat オブジェクトが提供する SolidFillColor.Color プロパティを使用して、長方形の色を設定します。 1. 長方形の線の色を設定します。 1. 長方形の線の幅を設定します。 -1. 修正されたプレゼンテーションをPPTXファイルとして保存します。 - 上記の手順は、以下の例に実装されています。 +1. 変更されたプレゼンテーションを書き出して PPTX ファイルに保存します。 +上記の手順は以下の例で実装されています。 ```py import aspose.slides as slides import aspose.pydrawing as draw -# PPTXを表すPresentationクラスのインスタンスを作成 +# PPTX を表す Presentation クラスをインスタンス化 with slides.Presentation() as pres: # 最初のスライドを取得 sld = pres.slides[0] - # 長方形型の自動図形を追加 + # 矩形タイプのオートシェイプを追加 shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # 長方形にいくつかの書式設定を適用 + # 矩形シェイプにいくつかの書式設定を適用 shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # 長方形の線にいくつかの書式設定を適用 + # 矩形の線にいくつかの書式設定を適用 shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # PPTXファイルをディスクに保存 + #Write PPTX ファイルをディスクに書き込む pres.save("RectShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**長方形に角丸を付けるにはどうすればよいですか?** + +丸みのある角の [shape type](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) を使用し、シェイプのプロパティでコーナー半径を調整します。ジオメトリの調整により、コーナーごとに丸みを適用することも可能です。 + +**画像(テクスチャ)で長方形を塗りつぶすにはどうすればよいですか?** + +画像の [fill type](https://reference.aspose.com/slides/python-net/aspose.slides/filltype/) を選択し、画像ソースを指定して、[stretching/tiling modes](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillmode/) を構成します。 + +**長方形に影やグローを付けることはできますか?** + +はい。調整可能なパラメータで設定できる [Outer/inner shadow, glow, and soft edges](/slides/ja/python-net/shape-effect/) が利用可能です。 + +**長方形をハイパーリンク付きのボタンに変えることはできますか?** + +はい。シェイプのクリックに対して [Assign a hyperlink](/slides/ja/python-net/manage-hyperlinks/) を設定すれば、スライド、ファイル、ウェブアドレス、またはメールへのジャンプが可能です。 + +**長方形を移動や変更から保護するにはどうすればよいですか?** + +[Use shape locks](/slides/ja/python-net/applying-protection-to-presentation/) を使用します。これにより、レイアウトを維持するために、移動、サイズ変更、選択、テキスト編集などを禁止できます。 + +**長方形をラスター画像または SVG に変換できますか?** + +はい。指定したサイズ/スケールで画像に [render the shape](http://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) したり、ベクター用途として [export it as SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) したりできます。 + +**テーマや継承を考慮した長方形の実際(有効)プロパティをすばやく取得するには?** + +[Use the shape’s effective properties](/slides/ja/python-net/shape-effective-properties/) を使用します。API はテーマスタイル、レイアウト、ローカル設定を考慮した計算済みの値を返すため、書式分析が簡素化されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md index f830ed300e..9bb77a5031 100644 --- a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md +++ b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md @@ -1,32 +1,43 @@ --- -title: デフォルトフォント +title: Python でプレゼンテーションのデフォルトフォントをカスタマイズする +linktitle: デフォルトフォント type: docs weight: 30 url: /ja/python-net/default-font/ -keywords: "フォント, デフォルトフォント, プレゼンテーションのレンダリング PowerPoint プレゼンテーション Python, Aspose.Slides for Python via .NET" -description: "Python における PowerPoint デフォルトフォント" +keywords: +- デフォルトフォント +- 標準フォント +- 通常フォント +- アジアフォント +- PDF エクスポート +- XPS エクスポート +- 画像エクスポート +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python でデフォルトフォントを設定し、PowerPoint(PPT、PPTX)および OpenDocument(ODP)から PDF、XPS、画像への正しい変換を実現します。" --- -## **プレゼンテーションのレンダリングにデフォルトフォントを使用する** -Aspose.Slides を使用すると、PDF、XPS またはサムネイルにプレゼンテーションをレンダリングする際のデフォルトフォントを設定できます。この資料では、デフォルトフォントとして使用するための DefaultRegular Font と DefaultAsian Font の定義方法を説明します。以下の手順に従って、Aspose.Slides for Python via .NET API を使用して外部ディレクトリからフォントを読み込んでください。 +## **プレゼンテーションのレンダリングのためのデフォルトフォントの使用** +Aspose.Slides を使用すると、プレゼンテーションを PDF、XPS、サムネイルにレンダリングする際のデフォルトフォントを設定できます。本記事では、DefaultRegular Font と DefaultAsian Font をデフォルトフォントとして定義する方法を示します。以下の手順に従って、Aspose.Slides for Python via .NET API を使用して外部ディレクトリからフォントをロードしてください: 1. LoadOptions のインスタンスを作成します。 -1. DefaultRegularFont を希望のフォントに設定します。以下の例では、Wingdings を使用しています。 -1. DefaultAsianFont を希望のフォントに設定します。以下のサンプルでも Wingdings を使用しています。 -1. プレゼンテーションを読み込むために、Presentation を使用し、読み込みオプションを設定します。 -1. これで、スライドのサムネイル、PDF および XPS を生成して結果を確認します。 - -上記の実装は以下の通りです。 +2. DefaultRegularFont を目的のフォントに設定します。以下の例では Wingdings を使用しています。 +3. DefaultAsianFont を目的のフォントに設定します。以下のサンプルでも Wingdings を使用しています。 +4. Presentation を使用し、ロードオプションを設定してプレゼンテーションをロードします。 +5. 現在、スライドのサムネイル、PDF、XPS を生成して結果を確認します。 ```py import aspose.slides as slides -# デフォルトのレギュラーとアジアフォントを定義するために読み込みオプションを使用する +# デフォルトのレギュラルフォントとアジアフォントを定義するためにロードオプションを使用する# デフォルトのレギュラルフォントとアジアフォントを定義するためにロードオプションを使用する loadOptions = slides.LoadOptions(slides.LoadFormat.AUTO) loadOptions.default_regular_font = "Wingdings" loadOptions.default_asian_font = "Wingdings" -# プレゼンテーションを読み込む +# プレゼンテーションをロードする with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: # スライドのサムネイルを生成する with pptx.slides[0].get_image(1, 1) as img: @@ -37,4 +48,27 @@ with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: # XPS を生成する pptx.save("output_out.xps", slides.export.SaveFormat.XPS) -``` \ No newline at end of file +``` + + +## **よくある質問** + +**default_regular_font と default_asian_font は正確に何に影響しますか—エクスポートだけですか、それともサムネイル、PDF、XPS、HTML、SVG も影響しますか?** + +それらはすべてのサポート対象出力のレンダリングパイプラインに参加します。これにはスライドのサムネイル、[PDF](/slides/ja/python-net/convert-powerpoint-to-pdf/)、[XPS](/slides/ja/python-net/convert-powerpoint-to-xps/)、[ラスタ画像](/slides/ja/python-net/convert-powerpoint-to-png/)、[HTML](/slides/ja/python-net/convert-powerpoint-to-html/)、および[SVG](/slides/ja/python-net/render-a-slide-as-an-svg-image/) が含まれます。Aspose.Slides はこれらのターゲット間で同じレイアウトとグリフ解決ロジックを使用しているためです。 + +**レンダリングせずに PPTX を単に読み込んで保存するだけの場合、デフォルトフォントは適用されますか?** + +いいえ。テキストを測定し描画する必要がある場合にのみデフォルトフォントが重要です。プレゼンテーションを単純にオープンして保存するだけでは、保存されたフォントランやファイルの構造は変更されません。デフォルトフォントは、テキストをレンダリングまたは再フローする操作時に使用されます。 + +**独自のフォントフォルダーを追加したり、メモリからフォントを供給したりすると、デフォルトフォントを選択する際に考慮されますか?** + +はい。[カスタムフォントソース](/slides/ja/python-net/custom-font/) により、エンジンが使用できる利用可能なフォントファミリーとグリフのカタログが拡張されます。デフォルトフォントおよび任意の[fallback ルール](/slides/ja/python-net/fallback-font/) はこれらのソースを優先して解決され、サーバーやコンテナ上でのカバレッジがより信頼性の高いものになります。 + +**デフォルトフォントはテキストメトリクス(カーニング、アドバンス)に影響し、結果として改行や折り返しに影響しますか?** + +はい。フォントを変更するとグリフのメトリクスが変わり、レンダリング中の改行、折り返し、ページ割り付けが変わる可能性があります。レイアウトの安定性を保つには、[元のフォントを埋め込む](/slides/ja/python-net/embedded-font/)か、メトリック的に互換性のあるデフォルトおよびフォールバックファミリーを選択してください。 + +**プレゼンテーションで使用されるすべてのフォントが埋め込まれている場合、デフォルトフォントを設定する意味はありますか?** + +多くの場合不要です。なぜなら[埋め込みフォント](/slides/ja/python-net/embedded-font/) が既に一貫した外観を保証するからです。ただし、埋め込みサブセットに含まれない文字や、埋め込みテキストと非埋め込みテキストが混在するファイルに対しては、デフォルトフォントが安全策として役立ちます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md index 228eefcd63..543f27c4e4 100644 --- a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md +++ b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md @@ -1,19 +1,44 @@ --- -title: フォールバックフォント +title: Pythonでプレゼンテーションのフォールバックフォントを管理する +linktitle: フォールバックフォント type: docs weight: 50 url: /ja/python-net/fallback-font/ -keywords: "フォールバックフォント, フォント, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonのPowerPointフォールバックフォント" +keywords: +- フォールバックフォント +- 利用可能なフォント +- グリフ置換 +- フォントの指定 +- ルールの指定 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "オリジナルのフォントが利用できない場合に、PowerPoint と OpenDocument のプレゼンテーションでテキストを読みやすく保つために、.NET 経由の Python 用 Aspose.Slides がフォールバックフォントをどのように使用するかをご覧ください。" --- -## **フォールバックフォント** -フォールバックフォントは、テキストに指定されたフォントがシステムに存在するが、このフォントに必要なグリフが含まれていない場合に使用されます。この場合、グリフの置換に指定されたフォールバックフォントのうちの1つを使用することができます。 +## **フォールバック フォント** +フォールバック フォントは、テキストに指定したフォントがシステムに存在するものの、必要なグリフが含まれていない場合に使用されます。このような場合、指定されたフォールバック フォントのいずれかをグリフ置換に使用することができます。 -Aspose.Slidesでは、フォールバックフォントを作成し、それをフォールバックフォントコレクションに追加し、特定のプレゼンテーションのためにフォールバックフォントコレクションを設定し、プレゼンテーションからフォールバックフォントを削除し、フォールバックフォントを適用するルールを指定することができます。 +Aspose.Slides では、フォールバック フォントの作成、フォールバック フォント コレクションへの追加、特定のプレゼンテーションに対するフォールバック フォント コレクションの設定、プレゼンテーションからのフォールバック フォントの削除、フォールバック フォントを適用するルールの指定などが可能です。 -これらの機能に慣れるために、以下のリンクを使用してください: +これらの機能に慣れるには、以下のリンクをご利用ください。 -- [フォールバックフォントの作成](/slides/ja/python-net/create-fallback-font) -- [フォールバックフォントコレクションの作成](/slides/ja/python-net/create-fallback-fonts-collection) -- [フォールバックフォントを使用したプレゼンテーションのレンダリング](/slides/ja/python-net/render-presentation-with-fallback-font) \ No newline at end of file +- [フォールバック フォントの作成](/slides/ja/python-net/create-fallback-font) +- [フォールバック フォント コレクションの作成](/slides/ja/python-net/create-fallback-fonts-collection) +- [フォールバック フォントを使用したプレゼンテーションのレンダリング](/slides/ja/python-net/render-presentation-with-fallback-font) + +## **FAQ** + +**フォールバック フォントはフォント置換とどう違うのですか?** + +フォールバックは、プライマリ フォントに特定のグリフが無い場合に、文字単位または Unicode の範囲単位で適用され、欠落した文字だけを埋めます。[Substitution](/slides/ja/python-net/font-substitution/) は、欠落または利用できないフォントを、テキスト全体または一部のランを別のフォントに置き換えます。両者は組み合わせて使用できますが、適用範囲と選択ロジックは異なります。 + +**フォールバック設定はプレゼンテーション ファイルに保存されますか?** + +いいえ。フォールバック構成はライブラリの処理/レンダリング時にのみ存在し、PPTX にシリアライズされません。プレゼンテーションはフォールバック ルールを保存しません。 + +**フォールバックは PowerPoint オブジェクト(SmartArt、グラフ、WordArt)で作成された要素に影響しますか?** + +はい。これらのオブジェクト内のテキストも同じレンダリング パイプラインを通るため、通常のテキストと同様にフォールバック ルールが適用されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md index f990b50b84..999c2bf3d4 100644 --- a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md +++ b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md @@ -1,5 +1,5 @@ --- -title: Python でプレゼンテーションのフォールバックフォントを指定 +title: Python でプレゼンテーション用フォールバックフォントを指定する linktitle: フォールバックフォント type: docs weight: 10 @@ -7,8 +7,8 @@ url: /ja/python-net/create-fallback-font/ keywords: - フォールバックフォント - フォールバックルール -- フォントを適用 -- フォントを置換 +- フォントの適用 +- フォントの置換 - Unicode 範囲 - 欠落グリフ - 適切なグリフ @@ -17,11 +17,12 @@ keywords: - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使って PPT、PPTX、ODP ファイルにフォールバックフォントを設定し、あらゆるデバイスや OS で一貫した文字表示を確保します。" +description: "Aspose.Slides for Python を .NET 経由でマスターし、PPT、PPTX、ODP ファイルのフォールバックフォントを設定して、あらゆるデバイスや OS でテキスト表示が一貫するように保護します。" --- -Aspose.Slidesは、[IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/)インターフェースと[FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/)クラスをサポートしており、フォールバックフォントを適用するルールを指定できます。[FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/)クラスは、失われたグリフを検索するために使用される指定されたUnicode範囲と、適切なグリフを含む可能性のあるフォントのリストとの関連を表します。 +## **フォールバックフォントの指定** +Aspose.Slides は [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) インターフェイスと [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) クラスをサポートし、フォールバックフォントを適用するルールを指定できます。[FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) クラスは、見つからなかったグリフを検索するために使用される Unicode 範囲と、適切なグリフを含む可能性のあるフォントのリストとの関連を表します: ```py startUnicodeIndex = 0x0B80 endUnicodeIndex = 0x0BFF @@ -29,16 +30,41 @@ endUnicodeIndex = 0x0BFF firstRule = slides.FontFallBackRule(startUnicodeIndex, endUnicodeIndex, "Vijaya") secondRule = slides.FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic") -#複数の方法を使用してフォントリストを追加できます: -fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial"] +#複数の方法でフォントリストを追加できます: +fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial" ] thirdRule = slides.FontFallBackRule(0x1F300, 0x1F64F, fontNames) ``` -既存の[FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/)オブジェクトに対して、フォールバックフォントを[Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/)で削除したり、[AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/)で追加したりすることも可能です。 -[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/)を使用して、複数のUnicode範囲のフォールバックフォント置換ルールを指定する必要がある場合に[FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/)オブジェクトのリストを整理できます。 -{{% alert color="primary" title="関連情報" %}} -- [フォールバックフォントコレクションを作成](/slides/ja/python-net/create-fallback-fonts-collection/) -{{% /alert %}} \ No newline at end of file + +既存の [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) オブジェクトに対して、フォールバックフォントを [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) で削除したり、[AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) で追加したりすることも可能です。 + +複数の Unicode 範囲に対してフォールバックフォント置換ルールを指定する必要がある場合は、[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) を使用して [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) オブジェクトのリストを整理できます。 + +{{% alert color="primary" title="See also" %}} +- [フォールバックフォント コレクションの作成](/slides/ja/python-net/create-fallback-fonts-collection/) +{{% /alert %}} + +## **FAQ** + +**フォールバックフォント、フォント置換、フォント埋め込みの違いは何ですか?** + +フォールバックフォントは、プライマリフォントに文字が欠けている場合にのみ使用されます。[フォント置換](/slides/ja/python-net/font-substitution/) は、指定されたフォント全体を別のフォントに置き換えます。[フォント埋め込み](/slides/ja/python-net/embedded-font/) は、フォントを出力ファイルにパッケージ化し、受信者が意図した通りにテキストを表示できるようにします。 + +**PDF、PNG、SVG などへのエクスポート時にもフォールバックフォントは適用されますか、それとも画面表示時だけですか?** + +はい。フォールバックは、文字を描画する必要があるすべての [レンダリングおよびエクスポート操作](/slides/ja/python-net/convert-presentation/) に影響します。 + +**フォールバックの設定はプレゼンテーションファイル自体を変更しますか? 将来開くときに設定は保持されますか?** + +いいえ。フォールバックルールはコード内の実行時レンダリング設定であり、.pptx ファイルに保存されず、PowerPoint では表示されません。 + +**オペレーティングシステム(Windows/Linux/macOS)やフォントディレクトリの設定はフォールバック選択に影響しますか?** + +はい。エンジンは利用可能なシステムフォルダや、指定した [追加パス](/slides/ja/python-net/custom-font/) からフォントを解決します。フォントが実際に存在しない場合、そのフォントを参照するルールは効果を発揮できません。 + +**フォールバックは WordArt、SmartArt、チャートでも機能しますか?** + +はい。これらのオブジェクトにテキストが含まれる場合、同じグリフ置換メカニズムが適用され、欠落文字がレンダリングされます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md index 7292c80ef3..a7fc51f678 100644 --- a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md +++ b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md @@ -1,41 +1,42 @@ --- -title: Python でプレゼンテーションのフォント置換を効率化する +title: Python を使用したプレゼンテーションのフォント置換を効率化 linktitle: フォント置換 type: docs weight: 60 url: /ja/python-net/font-replacement/ keywords: - フォント -- フォントを置換 +- フォントの置き換え - フォント置換 -- フォントを変更 +- フォント変更 - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションの一貫性のあるタイポグラフィを実現するために、シームレスにフォントを置換します。" +description: "Aspose.Slides Python を .NET 経由でシームレスにフォント置換し、PowerPoint および OpenDocument プレゼンテーションで一貫したタイポグラフィを確保します。" --- -フォントの使用について気が変わった場合、そのフォントを別のフォントに置き換えることができます。古いフォントのすべてのインスタンスは新しいフォントに置き換えられます。 +## **フォントの置き換え** -Aspose.Slidesを使用してフォントをこのように置き換えることができます: +フォントの使用をやめたくなった場合、別のフォントに置き換えることができます。古いフォントのすべてのインスタンスは新しいフォントに置き換えられます。 -1. 関連するプレゼンテーションを読み込む。 -2. 置き換えるフォントを読み込む。 -3. 新しいフォントを読み込む。 -4. フォントを置き換える。 -5. 修正されたプレゼンテーションをPPTXファイルとして保存する。 +Aspose.Slidesでは、次の手順でフォントを置き換えることができます。 -このPythonコードはフォント置き換えを示しています: +1. 対象のプレゼンテーションをロードします。 +2. 置き換えるフォントをロードします。 +3. 新しいフォントをロードします。 +4. フォントを置き換えます。 +5. 変更したプレゼンテーションを PPTX ファイルとして書き出します。 +この Python コードはフォント置き換えを示します: ```py import aspose.pydrawing as draw import aspose.slides as slides # プレゼンテーションを読み込む with slides.Presentation(path + "Fonts.pptx") as presentation: - # 置き換えるソースフォントを読み込む + # 置き換える元フォントを読み込む sourceFont = slides.FontData("Arial") # 新しいフォントを読み込む @@ -48,8 +49,43 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: presentation.save("UpdatedFont_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="注意" color="warning" %}} -特定の条件下で何が起こるかを決定するルールを設定するには(たとえば、フォントにアクセスできない場合)、[**フォントの置き換え**](/slides/ja/python-net/font-substitution/)を参照してください。 +{{% alert title="Note" color="warning" %}} -{{% /alert %}} \ No newline at end of file +特定の条件下(例: フォントにアクセスできない場合)で何が起こるかを決定するルールを設定するには、[**フォント置換**](/slides/ja/python-net/font-substitution/) を参照してください。 + +{{% /alert %}} + +## **よくある質問** + +**「フォント置き換え」「フォント置換」「フォールバックフォント」の違いは何ですか?** + +置き換えは、文書全体でフォントファミリを意図的に別のものに変更することです。[置換](/slides/ja/python-net/font-substitution/) は「フォントが利用できない場合は X を使用する」というルールです。[フォールバック](/slides/ja/python-net/fallback-font/) は、ベースフォントがインストールされているが必要な文字を含まない場合に、個々の欠損グリフに対して外科的に適用されます。 + +**置き換えはマスタースライド、レイアウト、ノート、コメントにも適用されますか?** + +はい。置き換えは元のフォントを使用しているすべてのプレゼンテーションオブジェクトに影響し、マスタースライドやノートを含みます。コメントも文書の一部であり、フォントエンジンによって考慮されます。 + +**埋め込み OLE オブジェクト(例: Excel)内のフォントは変更されますか?** + +いいえ。[OLE コンテンツ](/slides/ja/python-net/manage-ole/) はそれぞれのアプリケーションで管理されています。プレゼンテーション内での置き換えは内部の OLE データを再フォーマットしません。画像として表示されるか、外部で編集可能なコンテンツとして扱われる場合があります。 + +**プレゼンテーションの一部(スライドや領域)だけでフォントを置き換えることはできますか?** + +対象オブジェクト/範囲レベルでフォントを変更すれば、特定のスライドや領域だけに置き換えることが可能です。全体に対してグローバルな置き換えを行うのではなく、必要な部分だけを変更します。レンダリング時のフォント選択ロジック全体は変わりません。 + +**プレゼンテーションが使用しているフォントを事前にすべて把握するにはどうすればよいですか?** + +プレゼンテーションの [フォントマネージャ](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/) を使用します。使用中の [フォントファミリ](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) の一覧や、[置換/「不明」フォント](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_substitutions/) に関する情報を取得でき、置き換え計画に役立ちます。 + +**PDF/画像に変換する際にフォント置き換えは機能しますか?** + +はい。エクスポート時に Aspose.Slides は同じ [フォント選択/置換シーケンス](/slides/ja/python-net/font-selection-sequence/) を適用するため、事前に行った置き換えは変換時に反映されます。 + +**ターゲットフォントをシステムにインストールする必要がありますか?またはフォントフォルダーを添付できますか?** + +インストールは不要です。ライブラリはユーザーフォルダーから [外部フォントの読み込み](/slides/ja/python-net/custom-font/) をサポートし、[レンダリングおよびエクスポート](/slides/ja/python-net/convert-powerpoint/) 時に使用できます。 + +**置き換えは「豆腐」(四角)の代わりに文字を正しく表示させますか?** + +対象フォントが実際に必要なグリフを含んでいる場合のみ効果があります。含まれていない場合は、欠損文字をカバーするために [フォールバックの設定](/slides/ja/python-net/fallback-font/) を行ってください。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md index e28596832f..9df2764860 100644 --- a/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md +++ b/ja/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md @@ -1,52 +1,95 @@ --- -title: フォントの置き換え +title: Python でプレゼンテーションのフォント置換を設定 +linktitle: フォント置換 type: docs weight: 70 url: /ja/python-net/font-substitution/ -keywords: "フォント, 置き換えフォント, PowerPointプレゼンテーション, Python, Aspose.Slides for Python via .NET" -description: "PythonでのPowerPointでのフォント置き換え" +keywords: +- フォント +- 代替フォント +- フォント置換 +- フォントの置換 +- フォント置換 +- 置換規則 +- 置換規則 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "PowerPoint および OpenDocument のプレゼンテーションを他のファイル形式に変換する際、.NET を介した Python 用 Aspose.Slides で最適なフォント置換を有効にします。" --- -Aspose.Slidesを使用すると、特定の条件(たとえば、フォントにアクセスできない場合)で何をすべきかを決定するフォントに関するルールを設定できます。手順は次のとおりです: +## **置換規則の設定** -1. 関連するプレゼンテーションを読み込む。 -2. 置き換えるフォントを読み込む。 -3. 新しいフォントを読み込む。 -4. 置き換えのルールを追加する。 -5. ルールをプレゼンテーションのフォント置き換えルールコレクションに追加する。 -6. 効果を観察するためにスライド画像を生成する。 +Aspose.Slides では、フォントに対する規則を設定でき、特定の条件(例: フォントにアクセスできない場合)で何をすべきかを決定します。 -このPythonコードはフォント置き換えプロセスを示しています: +1. 対象のプレゼンテーションを読み込みます。 +2. 置換対象となるフォントを読み込みます。 +3. 新しいフォントを読み込みます。 +4. 置換の規則を追加します。 +5. その規則をプレゼンテーションのフォント置換規則コレクションに追加します。 +6. スライド画像を生成して効果を確認します。 +この Python コードはフォント置換プロセスを示しています: ```python import aspose.slides as slides -# プレゼンテーションを読み込む +# プレゼンテーションを読み込みます with slides.Presentation(path + "Fonts.pptx") as presentation: - # 置き換えられるソースフォントを読み込む + # 置換される元のフォントを読み込みます sourceFont = slides.FontData("SomeRareFont") - # 新しいフォントを読み込む + # 新しいフォントを読み込みます destFont = slides.FontData("Arial") - # フォント置き換えのためのフォントルールを追加する + # フォント置換の規則を追加します fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE) - # ルールをフォント置き換えルールコレクションに追加する + # 規則をフォント置換規則コレクションに追加します fontSubstRuleCollection = slides.FontSubstRuleCollection() fontSubstRuleCollection.add(fontSubstRule) - # フォントルールコレクションをルールリストに追加する + # フォント規則コレクションを規則リストに追加します presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection - # SomeRareFontがアクセスできない場合、Arialフォントがその代わりに使用されます + #Arial フォントは、SomeRareFont が利用できない場合に代わりに使用されます with presentation.slides[0].get_image(1, 1) as bmp: - # 画像をJPEG形式でディスクに保存する + # JPEG 形式で画像をディスクに保存します bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG) ``` -{{% alert title="注意" color="warning" %}} -[**フォント置き換え**](/slides/ja/python-net/font-replacement/)を参照することをお勧めします。 +{{% alert title="NOTE" color="warning" %}} +フォント置換に関する詳細は[**Font Replacement**](/slides/ja/python-net/font-replacement/)をご覧ください。 +{{% /alert %}} -{{% /alert %}} \ No newline at end of file +## **FAQ** + +**フォント置換とフォント置換(サブスティテューション)の違いは何ですか?** + +[Replacement](/slides/ja/python-net/font-replacement/) は、プレゼンテーション全体であるフォントを別のフォントに強制的に上書きするものです。サブスティテューションは、特定の条件(例: 元のフォントが利用できない場合)でトリガーされ、指定された代替フォントが使用される規則です。 + +**置換規則は正確にいつ適用されますか?** + +規則は標準の[font selection](/slides/ja/python-net/font-selection-sequence/) シーケンスに参加し、読み込み、レンダリング、変換の際に評価されます。選択されたフォントが利用できない場合、置換またはサブスティテューションが適用されます。 + +**置換もサブスティテューションも設定されておらず、システムにフォントが存在しない場合の既定の動作は?** + +ライブラリは PowerPoint と同様に、最も近い利用可能なシステムフォントを自動的に選択しようとします。 + +**実行時にカスタム外部フォントを追加してサブスティテューションを回避できますか?** + +はい。実行時に[add external fonts](/slides/ja/python-net/custom-font/) を追加すれば、ライブラリはそれらを選択とレンダリングの対象に含め、以降の変換でも使用できます。 + +**Aspose はライブラリにフォントを同梱していますか?** + +いいえ。Aspose は有料・無料を問わずフォントを配布していません。フォントはご自身の判断と責任で追加・使用してください。 + +**Windows、Linux、macOS でサブスティテューションの動作に違いはありますか?** + +あります。フォントの検出は OS のフォントディレクトリから開始されます。デフォルトで利用可能なフォントセットや検索パスはプラットフォームごとに異なり、利用可能性とサブスティテューションの必要性に影響します。 + +**バッチ変換時に予期せぬサブスティテューションを最小限に抑えるための環境設定は?** + +マシンまたはコンテナ間でフォントセットを同期し、出力ドキュメントに必要な[add the external fonts](/slides/ja/python-net/custom-font/) を追加し、可能な限りプレゼンテーションに[embed fonts](/slides/ja/python-net/embedded-font/) を埋め込んで、レンダリング時にフォントが利用できるようにします。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-notes/_index.md b/ja/python-net/developer-guide/presentation-notes/_index.md index 87d37934d6..405dc996e2 100644 --- a/ja/python-net/developer-guide/presentation-notes/_index.md +++ b/ja/python-net/developer-guide/presentation-notes/_index.md @@ -1,82 +1,88 @@ --- -title: Python でプレゼンテーションのノートを管理する -linktitle: プレゼンテーション ノート +title: Pythonでプレゼンテーションノートを管理 +linktitle: プレゼンテーションノート type: docs weight: 110 url: /ja/python-net/presentation-notes/ keywords: - ノート - ノートスライド -- ノートを追加 -- ノートを削除 -- ノートのスタイル +- ノートの追加 +- ノートの削除 +- ノートスタイル - マスターノート - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、プレゼンテーション ノートをカスタマイズし、PowerPoint および OpenDocument のノートをシームレスに操作して生産性を向上させましょう。" +description: "Aspose.Slides for Python via .NET を使用してプレゼンテーションノートをカスタマイズします。PowerPoint と OpenDocument のノートをシームレスに操作し、生産性を向上させましょう。" --- +Aspose.Slides はプレゼンテーションからノート スライドを削除することをサポートしています。このトピックでは、ノートを削除する新機能と、任意のプレゼンテーションにノート スタイル スライドを追加する機能を紹介します。Aspose.Slides for Python via .NET は、任意のスライドのノートを削除し、既存のノートにスタイルを追加する機能を提供します。開発者は次の方法でノートを削除できます。 - -Aspose.Slidesは、プレゼンテーションからノートスライドを削除する機能をサポートしています。このトピックでは、ノートを削除する新機能と、任意のプレゼンテーションからノートスタイルスライドを追加する方法を紹介します。Aspose.Slides for Python via .NETは、任意のスライドのノートを削除し、既存のノートにスタイルを追加する機能を提供します。開発者は次の方法でノートを削除できます: - -- プレゼンテーションの特定のスライドのノートを削除。 -- プレゼンテーションのすべてのスライドのノートを削除。 +- プレゼンテーションの特定のスライドのノートを削除します。 +- プレゼンテーションのすべてのスライドのノートを削除します。 ## **スライドからノートを削除** -特定のスライドのノートを削除する方法は以下の例のように示されています: - +以下の例に示すように、特定のスライドのノートを削除できます。 ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化する +# プレゼンテーション ファイルを表す Presentation オブジェクトを作成します with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # 最初のスライドのノートを削除 + # 最初のスライドのノートを削除します mgr = presentation.slides[0].notes_slide_manager mgr.remove_notes_slide() - # プレゼンテーションをディスクに保存 + # プレゼンテーションをディスクに保存します presentation.save("RemoveNotesAtSpecificSlide_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **すべてのスライドからノートを削除** -プレゼンテーションのすべてのスライドのノートを削除する方法は以下の例のように示されています: - +以下の例に示すように、プレゼンテーションのすべてのスライドのノートを削除できます。 ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化する +# プレゼンテーション ファイルを表す Presentation オブジェクトを作成します with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # すべてのスライドのノートを削除 + # すべてのスライドのノートを削除します for i in range(len(presentation.slides)): mgr = presentation.slides[i].notes_slide_manager mgr.remove_notes_slide() - # プレゼンテーションをディスクに保存 + # プレゼンテーションをディスクに保存します presentation.save("RemoveNotesFromAllSlides_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **ノートスタイルを追加** -NotesStyleプロパティは、[IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/)インターフェイスおよび[MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/)クラスに追加されました。このプロパティは、ノートテキストのスタイルを指定します。実装は以下の例に示されています。 - +## **NotesStyle を追加** +NotesStyle プロパティが [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) インターフェイスと [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) クラスにそれぞれ追加されました。このプロパティはノート テキストのスタイルを指定します。実装は以下の例で示しています。 ```py import aspose.slides as slides -# プレゼンテーションファイルを表すPresentationクラスをインスタンス化する +# プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成します with slides.Presentation(path + "AccessSlides.pptx") as presentation: notesMaster = presentation.master_notes_slide_manager.master_notes_slide if notesMaster != None: - # MasterNotesSlideのテキストスタイルを取得 + # MasterNotesSlide のテキストスタイルを取得します notesStyle = notesMaster.notes_style - # 最初のレベルの段落にシンボルバレットを設定 + #最初のレベルの段落にシンボル箇条書きを設定します paragraphFormat = notesStyle.get_level(0) paragraphFormat.bullet.type = slides.BulletType.SYMBOL - # PPTXファイルをディスクに保存 + # PPTX ファイルをディスクに保存します presentation.save("AddNotesSlideWithNotesStyle_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**特定のスライドのノートにアクセスできる API エンティティはどれですか?** + +ノートはスライドのノート マネージャーを通じてアクセスされます。スライドには [NotesSlideManager](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/) があり、ノート オブジェクトを返す [property](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/notes_slide/) があります。ノートがない場合は `None` が返されます。 + +**このライブラリが対応する PowerPoint バージョン間でノートのサポートに違いはありますか?** + +このライブラリは Microsoft PowerPoint の幅広い形式(97 以降)および ODP を対象としており、これらの形式内でノートはサポートされています。PowerPoint がインストールされているかどうかには依存しません。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-properties/_index.md b/ja/python-net/developer-guide/presentation-properties/_index.md index 08fb99e0cf..ed3fcf7c01 100644 --- a/ja/python-net/developer-guide/presentation-properties/_index.md +++ b/ja/python-net/developer-guide/presentation-properties/_index.md @@ -1,68 +1,58 @@ --- -title: Python でプレゼンテーションのプロパティを管理する -linktitle: プレゼンテーションのプロパティ +title: Pythonでプレゼンテーション プロパティを管理する +linktitle: プレゼンテーション プロパティ type: docs weight: 70 url: /ja/python-net/presentation-properties/ keywords: -- PowerPoint のプロパティ -- プレゼンテーションのプロパティ -- ドキュメントのプロパティ +- PowerPoint プロパティ +- プレゼンテーション プロパティ +- ドキュメント プロパティ - 組み込みプロパティ - カスタムプロパティ - 高度なプロパティ - プロパティの管理 - プロパティの変更 -- ドキュメントのメタデータ +- ドキュメント メタデータ - メタデータの編集 - 校正言語 -- 既定の言語 +- デフォルト言語 - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET でプレゼンテーションの各種プロパティを使いこなし、PowerPoint ファイルの検索性、ブランディング、ワークフローを効率化しましょう。" +description: "Aspose.Slides for Python via .NET でプレゼンテーション プロパティをマスターし、PowerPoint ファイルの検索、ブランディング、ワークフローを効率化します。" --- -## **ライブ例** -[**Aspose.Slides メタデータ**](https://products.aspose.app/slides/metadata) オンラインアプリを試して、Aspose.Slides APIを介してドキュメントプロパティを操作する方法を確認してください: - -[](https://products.aspose.app/slides/metadata) - -[![todo:image_alt_text](slides-metadata.png)](https://products.aspose.app/slides/metadata) - - -## **プレゼンテーションプロパティについて** -Aspose.Slides for Python via .NETは、**組み込み**プロパティと**カスタム**プロパティの2種類のドキュメントプロパティをサポートしていることを前述しました。したがって、開発者はAspose.Slides for Python via .NET APIを使用して両方の種類のプロパティにアクセスできます。Aspose.Slides for Python via .NETは、[Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/)プロパティを介してプレゼンテーションファイルに関連付けられたドキュメントプロパティを表すクラス[IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/)を提供します。開発者は、以下に説明するように、**Presentation**オブジェクトによって公開されている[IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/)プロパティを使用してプレゼンテーションファイルのドキュメントプロパティにアクセスできます: - +## **プレゼンテーション プロパティについて** +前述のとおり、Aspose.Slides for Python via .NET は **Built-in** と **Custom** の 2 種類のドキュメント プロパティをサポートしています。そのため、開発者は Aspose.Slides for Python via .NET API を使用して両方のプロパティにアクセスできます。Aspose.Slides for Python via .NET は、[Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) プロパティを介してプレゼンテーション ファイルに関連付けられたドキュメント プロパティを表すクラス [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) を提供します。開発者は **Presentation** オブジェクトが公開する [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) プロパティを使用して、以下のようにプレゼンテーション ファイルのドキュメント プロパティにアクセスできます。 {{% alert color="primary" %}} - -**Application**および**Producer**フィールドに対して値を設定することはできないことに注意してください。なぜなら、Aspose Ltd.およびAspose.Slides for Python via .NET x.x.xがこれらのフィールドに表示されるためです。 - +**Application** と **Producer** フィールドの値は設定できません。これらのフィールドには Aspose Ltd. および Aspose.Slides for Python via .NET x.x.x が表示されますのでご注意ください。 {{% /alert %}} +## **プレゼンテーション プロパティの管理** + +Microsoft PowerPoint では、プレゼンテーション ファイルにいくつかのプロパティを追加する機能が提供されています。これらのドキュメント プロパティにより、ドキュメント(プレゼンテーション ファイル)に有用な情報を保存できます。ドキュメント プロパティは以下の 2 種類に分類されます。 -## **プレゼンテーションプロパティの管理** -Microsoft PowerPointは、プレゼンテーションファイルにいくつかのプロパティを追加する機能を提供します。これらのドキュメントプロパティは、ドキュメント(プレゼンテーションファイル)とともに有用な情報を保存することができます。ドキュメントプロパティには次の2種類があります。 +- システム定義 (Built-in) プロパティ +- ユーザー定義 (Custom) プロパティ -- システム定義(組み込み)プロパティ -- ユーザー定義(カスタム)プロパティ +**Built-in** プロパティは、ドキュメントのタイトル、作成者名、統計情報など、ドキュメント全体に関する一般的な情報を含みます。**Custom** プロパティは、ユーザーが **Name/Value** のペアとして定義するもので、名前も値もユーザーが自由に決められます。Aspose.Slides for Python via .NET を使用すれば、Built-in プロパティと Custom プロパティの値にアクセスし、変更することができます。Microsoft PowerPoint 2007 では、プレゼンテーション ファイルのドキュメント プロパティを管理できます。手順は、Office アイコンをクリックし、**Prepare | Properties | Advanced Properties** メニュー項目を選択するだけです。**Advanced Properties** を選択すると、PowerPoint ファイルのドキュメント プロパティを管理できるダイアログが表示されます。**Properties Dialog** では、**General**, **Summary**, **Statistics**, **Contents**, **Custom** など多数のタブがあり、PowerPoint ファイルに関するさまざまな情報を設定できます。**Custom** タブは、PowerPoint ファイルのカスタム プロパティを管理するために使用します。 -**組み込み**プロパティには、ドキュメントのタイトル、著者名、ドキュメント統計など、ドキュメントに関する一般的な情報が含まれています。**カスタム**プロパティは、ユーザーが**名前/値**のペアとして定義したもので、名前と値の両方がユーザーによって定義されます。Aspose.Slides for Python via .NETを使用して、開発者は組み込みプロパティとカスタムプロパティの値にアクセスし、変更することができます。Microsoft PowerPoint 2007は、プレゼンテーションファイルのドキュメントプロパティを管理することを許可します。すべての操作は、Microsoft PowerPoint 2007のOfficeアイコンをクリックし、その後**準備 | プロパティ | 詳細プロパティ**メニュー項目を選択するだけです。**詳細プロパティ**メニュー項目を選択すると、PowerPointファイルのドキュメントプロパティを管理するためのダイアログが表示されます。**プロパティダイアログ**では、**一般、概要、統計、内容、カスタム**などの多くのタブページがあることがわかります。これらすべてのタブページは、PowerPointファイルに関連するさまざまな情報を構成することを可能にします。**カスタム**タブは、PowerPointファイルのカスタムプロパティを管理するために使用されます。 -## **組み込みプロパティへのアクセス** -これらのプロパティは**IDocumentProperties**オブジェクトによって公開されており、次のものを含みます:**Creator(Author)**、**Description**、**Keywords**、**Created**(作成日)、**Modified**(最終変更日)、**Printed**(最終印刷日)、**LastModifiedBy**、**Keywords**、**SharedDoc**(異なるプロデューサー間で共有されていますか?)、**PresentationFormat**、**Subject**、および**Title** +## **Built-in プロパティへのアクセス** +**IDocumentProperties** オブジェクトが提供するプロパティは次のとおりです: **Creator(Author)**、**Description**、**Keywords**、**Created**(作成日)、**Modified**(変更日)、**Printed**(最終印刷日)、**LastModifiedBy**、**SharedDoc**(複数のプロデューサー間で共有されているか)、**PresentationFormat**、**Subject**、**Title** ```py import aspose.slides as slides -# プレゼンテーションを表すPresentationクラスのインスタンスを作成します +# プレゼンテーションを表す Presentation クラスのインスタンス化 with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: - # プレゼンテーションに関連付けられたオブジェクトへの参照を作成します + # Presentation に関連付けられたオブジェクトへの参照を作成 documentProperties = pres.document_properties - # 組み込みプロパティを表示します + # 組み込みプロパティを表示 print("category : " + documentProperties.category) print("Current Status : " + documentProperties.content_status) print("Creation Date : " + str(documentProperties.created_time)) @@ -78,96 +68,87 @@ with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: print("Subject : " + documentProperties.subject) print("Title : " + documentProperties.title) ``` -## **組み込みプロパティの変更** -プレゼンテーションファイルの組み込みプロパティを変更するのは、それらにアクセスするのと同じくらい簡単です。任意のプロパティに文字列値を割り当てるだけで、そのプロパティの値が変更されます。以下の例では、プレゼンテーションファイルの組み込みドキュメントプロパティをどのように変更できるかを示しています。 + +## **Built-in プロパティの変更** + +プレゼンテーション ファイルの Built-in プロパティの変更は、アクセスと同様に簡単です。目的のプロパティに文字列値を代入すれば、プロパティの値が更新されます。以下の例では、プレゼンテーション ファイルの Built-in ドキュメント プロパティを変更する方法を示しています。 ```py import aspose.slides as slides -# プレゼンテーションを表すPresentationクラスのインスタンスを作成します +# Presentation を表す Presentation クラスのインスタンス化 with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation: - # プレゼンテーションに関連付けられたオブジェクトへの参照を作成します + # Presentation に関連付けられたオブジェクトへの参照を作成 documentProperties = presentation.document_properties - # 組み込みプロパティを設定します + # 組み込みプロパティを設定 documentProperties.author = "Aspose.Slides for .NET" - documentProperties.title = "プレゼンテーションプロパティの変更" + documentProperties.title = "Modifying Presentation Properties" documentProperties.subject = "Aspose Subject" documentProperties.comments = "Aspose Description" documentProperties.manager = "Aspose Manager" - # プレゼンテーションをファイルに保存します + # プレゼンテーションをファイルに保存 presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **カスタムプレゼンテーションプロパティの追加** -Aspose.Slides for Python via .NETは、開発者がプレゼンテーションのドキュメントプロパティにカスタム値を追加できるようにします。以下に示す例では、プレゼンテーションのカスタムプロパティを設定する方法を示しています。 +## **カスタム プレゼンテーション プロパティの追加** + +Aspose.Slides for Python via .NET では、プレゼンテーションのドキュメント プロパティにカスタム値を追加することもできます。以下の例は、プレゼンテーションにカスタム プロパティを設定する方法を示しています。 ```py import aspose.slides as slides -# Presentationクラスのインスタンスを作成します +# Presentation クラスをインスタンス化 with slides.Presentation() as presentation: - # ドキュメントプロパティを取得します + # ドキュメント プロパティの取得 documentProperties = presentation.document_properties - # カスタムプロパティを追加します + # カスタム プロパティの追加 documentProperties.set_custom_property_value("New Custom", 12) documentProperties.set_custom_property_value("My Nam", "Mudassir") documentProperties.set_custom_property_value("Custom", 124) - # 特定のインデックスでプロパティ名を取得します + # 特定のインデックスのプロパティ名を取得 getPropertyName = documentProperties.get_custom_property_name(2) - # 選択したプロパティを削除します + # 選択されたプロパティの削除 documentProperties.remove_custom_property(getPropertyName) - # プレゼンテーションを保存します + # プレゼンテーションの保存 presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **カスタムプロパティへのアクセスと変更** -Aspose.Slides for Python via .NETは、開発者がカスタムプロパティの値にアクセスできるようにします。以下の例では、プレゼンテーションのすべてのカスタムプロパティにアクセスし、変更する方法を示しています。 +## **カスタム プロパティのアクセスと変更** + +Aspose.Slides for Python via .NET では、カスタム プロパティの値にアクセスすることも可能です。以下の例は、プレゼンテーションのすべてのカスタム プロパティにアクセスし、変更する方法を示しています。 ```py import aspose.slides as slides -# PPTXを表すPresentationクラスのインスタンスを作成します +# PPTX を表す Presentation クラスをインスタンス化 with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentation: - # プレゼンテーションに関連付けられたdocument_propertiesオブジェクトへの参照を作成します + # Presentation に関連付けられた document_properties オブジェクトへの参照を作成 documentProperties = presentation.document_properties - # カスタムプロパティにアクセスし、変更します + # カスタム プロパティにアクセスして変更 for i in range(documentProperties.count_of_custom_properties): - # カスタムプロパティの名前と値を表示します + # カスタム プロパティの名前と値を表示 print("Custom Property Name : " + documentProperties.get_custom_property_name(i)) print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) - # カスタムプロパティの値を変更します + # カスタム プロパティの値を変更 documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1)) - # プレゼンテーションをファイルに保存します + # プレゼンテーションをファイルに保存 presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **プレゼンテーションが変更されたか作成されたかの確認** -Aspose.Slides for Python via .NETは、プレゼンテーションが変更されたか作成されたかを確認する機能を提供します。以下に示す例では、プレゼンテーションが作成されたのか変更されたのかを確認する方法を示しています。 - -```py -import aspose.slides as slides - -info =slides.PresentationFactory.instance.get_presentation_info(path + "AccessModifyingProperties.pptx") -props = info.read_document_properties() - -print(props.name_of_application) -print(props.app_version) -``` ## **校正言語の設定** -Aspose.Slidesは、PowerPointドキュメントの校正言語を設定できる`Language_Id`プロパティ([PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)クラスによって公開されています)を提供します。校正言語は、PowerPoint内のスペルと文法がチェックされる言語です。 - -以下のPythonコードは、PowerPointの校正言語を設定する方法を示しています。 +Aspose.Slides は、[PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/) クラスが公開する `Language_Id` プロパティを提供し、PowerPoint ドキュメントの校正言語を設定できます。校正言語は、PowerPoint のスペルチェックや文法チェックが行われる言語です。 +以下の Python コードは、PowerPoint の校正言語を設定する方法を示しています。 ```python import aspose.slides as slides @@ -183,17 +164,17 @@ with slides.Presentation(path + "SetProofingLanguage.pptx") as pres: portion_format.east_asian_font = font portion_format.latin_font = font - # 校正言語のIdを設定します + # 校正言語の ID を設定 portion_format.language_id = "zh-CN" new_portion.text = "1。" paragraph.portions.add(new_portion) ``` -## **デフォルト言語の設定** -以下のPythonコードは、PowerPointプレゼンテーション全体のデフォルト言語を設定する方法を示しています。 +## **デフォルト言語の設定** +以下の Python コードは、PowerPoint プレゼンテーション全体のデフォルト言語を設定する方法を示しています。 ```python import aspose.slides as slides @@ -206,4 +187,25 @@ with slides.Presentation(load_options) as pres: text_frame.text = "New Text" print(text_frame.paragraphs[0].portions[0].portion_format.language_id) -``` \ No newline at end of file +``` + + +## **ライブ例** + +[**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) オンライン アプリを試して、Aspose.Slides API を使用したドキュメント プロパティの操作方法をご確認ください。 + +[![View & Edit PowerPoint Metadata](slides-metadata.png)](https://products.aspose.app/slides/metadata) + +## **FAQ** + +**プレゼンテーションから Built-in プロパティを削除するにはどうすればよいですか?** + +Built-in プロパティはプレゼンテーションの不可欠な部分であり、完全に削除することはできません。ただし、プロパティが許可する場合は、値を変更したり空に設定したりできます。 + +**既に存在するカスタム プロパティを追加した場合はどうなりますか?** + +既に存在するカスタム プロパティを追加すると、既存の値は新しい値で上書きされます。事前に削除や確認を行う必要はなく、Aspose.Slides が自動的にプロパティの値を更新します。 + +**プレゼンテーションを完全にロードせずにプロパティにアクセスできますか?** + +はい、可能です。[PresentationFactory](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/) クラスの [get_presentation_info](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/get_presentation_info/) メソッドを使用してプレゼンテーション情報を取得し、続いて [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) クラスの [read_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/read_document_properties/) メソッドでプロパティを読み取ることで、メモリ使用量を抑えながら効率的にプロパティを取得できます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md b/ja/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md index bcd2bc94e7..44b85b32c5 100644 --- a/ja/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md +++ b/ja/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md @@ -1,5 +1,5 @@ --- -title: Python でプレゼンテーションにデジタル署名を追加 +title: Python でプレゼンテーションにデジタル署名を追加する linktitle: デジタル署名 type: docs weight: 10 @@ -7,43 +7,43 @@ url: /ja/python-net/digital-signature-in-powerpoint/ keywords: - デジタル署名 - デジタル証明書 -- 認証局 +- 証明書機関 - PFX 証明書 - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument ファイルにデジタル署名を付与する方法を学びます。わかりやすいコード例で、数秒でスライドを保護できます。" +description: ".NET 経由で Python 用 Aspose.Slides を使用して PowerPoint および OpenDocument ファイルにデジタル署名する方法を学びます。明確なコード例で数秒でスライドを保護できます。" --- -**デジタル証明書**は、特定の組織または個人によって作成されたことを示すパスワード保護されたPowerPointプレゼンテーションを作成するために使用されます。デジタル証明書は、認可された組織である認証局に連絡することで取得できます。システムにデジタル証明書をインストールした後、ファイル -> 情報 -> プレゼンテーションを保護でプレゼンテーションにデジタル署名を追加するために使用できます: +**デジタル証明書** は、パスワードで保護された PowerPoint プレゼンテーションを作成するために使用され、特定の組織または個人が作成したことを示します。デジタル証明書は、認可された組織(証明書機関)に連絡することで取得できます。システムにデジタル証明書をインストールした後、File -> Info -> Protect Presentation を使用してプレゼンテーションにデジタル署名を追加できます。 ![todo:image_alt_text](https://lh5.googleusercontent.com/OPGhgHMb_L54PGJztP5oIO9zhxGXzhtnbcrC-z7yLUrc_NkRX1obBfwffXhPV1NWBiqhidiupCphixNGl25LkfQhliG6MCM6E-x16ZuQgMyLABC9bQ446ohMluZr6-ThgQLXCOyy) -プレゼンテーションには、複数のデジタル署名を含めることができます。デジタル署名がプレゼンテーションに追加されると、PowerPointに特別なメッセージが表示されます: +プレゼンテーションには複数のデジタル署名を含めることができます。デジタル署名がプレゼンテーションに追加されると、PowerPoint に特別なメッセージが表示されます。 ![todo:image_alt_text](https://lh3.googleusercontent.com/7ZfH7wElhwcvgJ_btF3C32zasBRbT1yA4tFOpnNnUm0q57ayBKJr0Pb43Oi4RgeCoOmwhyxxz_g8kw3H3Qw8Iqeaka5Xipip9cqvwbadY4E40D_NhXnUnbtdXSHFX6fjNm_UBvLJ) -プレゼンテーションに署名するか、プレゼンテーションの署名の真正性を確認するために、**Aspose.Slides API**は[**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/)インターフェース、[**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/)インターフェース、[**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/)プロパティを提供します。現在、デジタル署名はPPTX形式にのみ対応しています。 -## **PFX証明書からデジタル署名を追加する** -以下のコードサンプルは、PFX証明書からデジタル署名を追加する方法を示しています: +プレゼンテーションに署名したり、署名の真正性を確認したりするには、**Aspose.Slides API** が [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/) インターフェイス、[**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) インターフェイス、そして[**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/) プロパティを提供します。現在、デジタル署名は PPTX 形式のみでサポートされています。 -1. PFXファイルを開き、PFXパスワードを[**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/)オブジェクトに渡します。 -1. 作成した署名をプレゼンテーションオブジェクトに追加します。 +## **PFX 証明書からデジタル署名を追加** +以下のコードサンプルは、PFX 証明書からデジタル署名を追加する方法を示しています。 +1. PFX ファイルを開き、PFX パスワードを [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/) オブジェクトに渡します。 +2. 作成した署名をプレゼンテーション オブジェクトに追加します。 ```py -#[TODO:Exception] RuntimeError: Proxy error(FileNotFoundException): Could not load file or assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. File was not found. +#[TODO:Exception] RuntimeError: プロキシエラー(FileNotFoundException): ファイルまたはアセンブリ 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' をロードできませんでした。ファイルが見つかりませんでした。 import aspose.slides as slides with slides.Presentation() as pres: - # PFXファイルとPFXパスワードでDigitalSignatureオブジェクトを作成 + # PFX ファイルと PFX パスワードで DigitalSignature オブジェクトを作成 signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1") - # 新しいデジタル署名のコメント - signature.comments = "Aspose.Slidesデジタル署名テスト。" + # デジタル署名にコメントを設定 + signature.comments = "Aspose.Slides digital signing test." # プレゼンテーションにデジタル署名を追加 pres.digital_signatures.add(signature) @@ -52,23 +52,39 @@ with slides.Presentation() as pres: pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX) ``` -プレゼンテーションがデジタル署名され、変更されていないか確認することができます: +これで、プレゼンテーションがデジタル署名され、変更されていないかを確認できるようになりました。 ```py # プレゼンテーションを開く with slides.Presentation("SomePresentationSigned.pptx") as pres: if len(pres.digital_signatures) > 0: allSignaturesAreValid = True - print("プレゼンテーションに署名された署名:") - # すべてのデジタル署名の有効性を確認 - for signature in pres.digital_signatures: + print("Signatures used to sign the presentation: ") + # すべてのデジタル署名が有効か確認 + for signature in pres.digital_signatures : print(signature.certificate.subject_name.name + ", " - + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "有効" if signature.is_valid else "無効") + + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID") allSignaturesAreValid = allSignaturesAreValid and signature.is_valid + if allSignaturesAreValid: - print("プレゼンテーションは真正であり、すべての署名が有効です。") + print("Presentation is genuine, all signatures are valid.") else: - print("プレゼンテーションは署名後に変更されました。") -``` \ No newline at end of file + print("Presentation has been modified since signing.") +``` + + +## **FAQ** + +**ファイルから既存の署名を削除できますか?** + +はい。デジタル署名コレクションは、[個々の項目の削除](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/remove_at/) と[完全にクリア](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/clear/) をサポートしています。ファイルを保存すると、プレゼンテーションに署名が残りません。 + +**署名後にファイルは「読み取り専用」になりますか?** + +いいえ。署名は完全性と作成者情報を保持しますが、編集をブロックしません。編集を制限したい場合は、[「読み取り専用」またはパスワード](/slides/ja/python-net/password-protected-presentation/) と組み合わせて使用してください。 + +**異なるバージョンの PowerPoint で署名は正しく表示されますか?** + +署名は OOXML (PPTX) コンテナ用に作成されています。OOXML 署名をサポートする最新の PowerPoint バージョンは、署名のステータスを正しく表示します。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md b/ja/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md index 94b04be703..32ad44d15f 100644 --- a/ja/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md +++ b/ja/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md @@ -1,5 +1,5 @@ --- -title: Python でパスワードを使用してプレゼンテーションを保護する +title: Python を使用したパスワード保護付きプレゼンテーションのセキュリティ linktitle: パスワード保護 type: docs weight: 20 @@ -21,92 +21,85 @@ keywords: - PowerPoint のセキュリティ - プレゼンテーションのセキュリティ - パスワードを削除 -- 保護を解除 -- 暗号化を解除 +- 保護を削除 +- 暗号化を削除 - パスワードを無効化 - 保護を無効化 -- 書き込み保護を解除 -- PowerPoint -- OpenDocument -- プレゼンテーション +- 書き込み保護を削除 +- PowerPoint プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、パスワード保護された PowerPoint および OpenDocument プレゼンテーションを簡単にロックおよびアンロックする方法を学びましょう。ステップバイステップ ガイドで生産性を向上させ、プレゼンテーションを安全に保護します。" +description: "Aspose.Slides for Python (via .NET) を使用して、パスワードで保護された PowerPoint および OpenDocument プレゼンテーションを簡単にロックおよびロック解除する方法を学びましょう。生産性を高め、ステップバイステップのガイドでプレゼンテーションを安全に保護できます。" --- ## **パスワード保護について** ### **プレゼンテーションのパスワード保護はどのように機能しますか?** -プレゼンテーションをパスワード保護すると、特定の制限を強制するパスワードを設定することを意味します。制限を解除するには、パスワードを入力する必要があります。パスワード保護されたプレゼンテーションは、ロックされたプレゼンテーションと見なされます。 +プレゼンテーションにパスワード保護を設定すると、プレゼンテーションに対して特定の制限を課すパスワードを設定したことになります。制限を解除するには、パスワードを入力する必要があります。パスワードで保護されたプレゼンテーションは、ロックされたプレゼンテーションとみなされます。 -通常、プレゼンテーションに対してこれらの制限を強制するためにパスワードを設定できます: +通常、プレゼンテーションに対して次のようにパスワードを設定して制限を課すことができます。 - **変更** - 特定のユーザーのみがプレゼンテーションを変更できるようにしたい場合、変更制限を設定できます。ここでの制限は、ユーザーがプレゼンテーションの内容を変更、変更、またはコピーすることを防ぎます(パスワードを提供しない限り)。 + 特定のユーザーだけにプレゼンテーションの変更を許可したい場合、変更制限を設定できます。この制限は、パスワードを提供しない限り、プレゼンテーション内の変更、編集、コピーを防止します。 - ただし、この場合、パスワードなしでも、ユーザーはドキュメントにアクセスして開くことができます。この読み取り専用モードでは、ユーザーはプレゼンテーション内の内容や物—ハイパーリンク、アニメーション、効果など—を表示できますが、アイテムをコピーしたり、プレゼンテーションを保存したりすることはできません。 + ただし、この場合、パスワードがなくてもユーザーはドキュメントにアクセスして開くことができます。この読み取り専用モードでは、ユーザーはプレゼンテーション内のコンテンツやハイパーリンク、アニメーション、エフェクトなどを見ることができますが、項目のコピーやプレゼンテーションの保存はできません。 -- **オープニング** +- **開く** - 特定のユーザーのみがプレゼンテーションを開けるようにしたい場合、オープニング制限を設定できます。ここでの制限は、ユーザーがプレゼンテーションの内容を表示することすら防ぎます(パスワードを提供しない限り)。 + 特定のユーザーだけにプレゼンテーションの開封を許可したい場合、開封制限を設定できます。この制限は、パスワードを提供しない限り、プレゼンテーションの内容を閲覧さえできなくします。 - 技術的には、オープニング制限はユーザーがプレゼンテーションを変更することも防ぎます:人々がプレゼンテーションを開けない場合、変更や修正を行うことはできません。 + 技術的には、開封制限はプレゼンテーションの変更も防止します。プレゼンテーションを開くことができなければ、変更や編集も行えません。 - **注意**: プレゼンテーションのオープンを防ぐためにパスワード保護を設定すると、プレゼンテーションファイルは暗号化されます。 + **Note** パスワード保護により開封を防止した場合、プレゼンテーションファイルは暗号化されます。 -## オンラインでプレゼンテーションをパスワード保護する方法 +## オンラインでプレゼンテーションにパスワード保護を設定する方法 -1. [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock)ページに移動します。 +1. 当社の[**Aspose.Slides Lock**](https://products.aspose.app/slides/lock)ページへ移動します。 ![todo:image_alt_text](slides-lock.png) -2. **ファイルをドラッグまたはアップロード**をクリックします。 +2. **ファイルをドロップまたはアップロード**をクリックします。 -3. コンピュータ上でパスワード保護したいファイルを選択します。 +3. コンピューター上でパスワード保護したいファイルを選択します。 -4. 編集保護のために希望のパスワードを入力し、表示保護のために希望のパスワードを入力します。 +4. 編集保護用に希望のパスワードを入力します;閲覧保護用に希望のパスワードを入力します。 -5. ユーザーに最終コピーとしてプレゼンテーションを表示させたい場合は、**最終としてマーク**のチェックボックスにチェックを入れます。 +5. ユーザーに最終コピーとしてプレゼンテーションを表示させたい場合は、**Mark as final**チェックボックスにチェックを入れます。 -6. **今すぐ保護**をクリックします。 +6. **PROTECT NOW.** をクリックします。 -7. **今すぐダウンロード**をクリックします。 +7. **DOWNLOAD NOW.** をクリックします。 -## **Aspose.Slidesにおけるプレゼンテーションのパスワード保護** -**サポートされているフォーマット** +## **Aspose.Slides におけるプレゼンテーションのパスワード保護** +### **サポートされている形式** +Aspose.Slides は以下の形式のプレゼンテーションに対してパスワード保護、暗号化、類似の操作をサポートします。 -Aspose.Slidesは、次のフォーマットのプレゼンテーションに対してパスワード保護、暗号化、および同様の操作をサポートしています: +- PPTX および PPT - Microsoft PowerPoint プレゼンテーション +- ODP - OpenDocument プレゼンテーション +- OTP - OpenDocument プレゼンテーションテンプレート -- PPTXおよびPPT - Microsoft PowerPointプレゼンテーション -- ODP - OpenDocumentプレゼンテーション -- OTP - OpenDocumentプレゼンテーションテンプレート - -**サポートされている操作** - -Aspose.Slidesは、次の方法でプレゼンテーションの変更を防ぐためにパスワード保護を使用できます: +### **サポートされている操作** +Aspose.Slides は以下の方法でプレゼンテーションへの変更を防止するためにパスワード保護を利用できます。 - プレゼンテーションの暗号化 - プレゼンテーションへの書き込み保護の設定 -**その他の操作** +### **その他の操作** +Aspose.Slides は以下の方法でパスワード保護や暗号化に関わるその他のタスクを実行できます。 -Aspose.Slidesは、次の方法でパスワード保護と暗号化を含む他のタスクを実行できます: - -- プレゼンテーションの復号化; 暗号化されたプレゼンテーションを開く -- 暗号化を解除; パスワード保護を無効にする -- プレゼンテーションから書き込み保護を解除 -- 暗号化されたプレゼンテーションのプロパティを取得 -- プレゼンテーションが暗号化されているかどうかを確認 -- プレゼンテーションがパスワード保護されているかどうかを確認 +- プレゼンテーションの復号化; 暗号化されたプレゼンテーションの開封 +- 暗号化の削除; パスワード保護の無効化 +- プレゼンテーションから書き込み保護を削除する +- 暗号化されたプレゼンテーションのプロパティ取得 +- プレゼンテーションが暗号化されているか確認する +- プレゼンテーションがパスワードで保護されているか確認する。 ## **プレゼンテーションの暗号化** +パスワードを設定することでプレゼンテーションを暗号化できます。その後、ロックされたプレゼンテーションを変更するには、ユーザーはパスワードを提供しなければなりません。 -パスワードを設定することでプレゼンテーションを暗号化できます。次に、ロックされたプレゼンテーションを変更するには、ユーザーがパスワードを提供する必要があります。 - -プレゼンテーションを暗号化またはパスワード保護するには、encryptメソッド([ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)から)を使用して、プレゼンテーションのパスワードを設定する必要があります。パスワードをencryptメソッドに渡し、saveメソッドを使用して今や暗号化されたプレゼンテーションを保存します。 - -このサンプルコードは、プレゼンテーションを暗号化する方法を示しています: +プレゼンテーションを暗号化またはパスワード保護するには、[ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) の encrypt メソッドを使用してプレゼンテーションにパスワードを設定します。パスワードを encrypt メソッドに渡し、save メソッドで暗号化されたプレゼンテーションを保存します。 +このサンプルコードは、プレゼンテーションを暗号化する方法を示しています: ```py import aspose.slides as slides @@ -115,14 +108,13 @@ with slides.Presentation() as pres: pres.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **プレゼンテーションへの書き込み保護の設定** - -プレゼンテーションに「変更しないでください」というマークを追加できます。こうすることで、ユーザーに対してプレゼンテーションを変更しないでほしいことを伝えることができます。 -**注意**: 書き込み保護のプロセスはプレゼンテーションを暗号化しません。したがって、ユーザーは—実際にそうしたい場合—プレゼンテーションを変更できますが、変更を保存するには異なる名前のプレゼンテーションを作成する必要があります。 +## **プレゼンテーションへの書き込み保護の設定** +「変更しないでください」というマークをプレゼンテーションに追加できます。これにより、ユーザーに対してプレゼンテーションの変更を希望しないことを伝えることができます。 -書き込み保護を設定するには、setWriteProtectionメソッドを使用する必要があります。このサンプルコードは、プレゼンテーションに書き込み保護を設定する方法を示しています: +**Note** 書き込み保護のプロセスはプレゼンテーションを暗号化しません。そのため、ユーザーは実際に変更したい場合はプレゼンテーションを変更できますが、変更を保存するには別名で保存する必要があります。 +書き込み保護を設定するには、setWriteProtection メソッドを使用します。このサンプルコードは、プレゼンテーションに書き込み保護を設定する方法を示しています: ```py import aspose.slides as slides @@ -131,12 +123,11 @@ with slides.Presentation() as pres: pres.save("write-protected-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **プレゼンテーションの復号化; 暗号化されたプレゼンテーションを開く** - -Aspose.Slidesは、パスワードを渡すことで暗号化されたファイルをロードすることを許可します。プレゼンテーションを復号化するには、[remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)メソッドをパラメータなしで呼び出す必要があります。その後、プレゼンテーションをロードするために正しいパスワードを入力する必要があります。 -このサンプルコードは、プレゼンテーションを復号化する方法を示しています: +## **プレゼンテーションの復号化; 暗号化されたプレゼンテーションの開封** +Aspose.Slides はパスワードを渡すことで暗号化されたファイルを読み込むことができます。プレゼンテーションを復号化するには、パラメータなしで [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) メソッドを呼び出します。その後、正しいパスワードを入力してプレゼンテーションを読み込む必要があります。 +このサンプルコードは、プレゼンテーションを復号化する方法を示しています: ```py import aspose.slides as slides @@ -146,12 +137,11 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: print(pres.document_properties.author) ``` -## **暗号化の解除; パスワード保護の無効化** -プレゼンテーションの暗号化またはパスワード保護を解除することができます。こうすることで、ユーザーは制限なしにプレゼンテーションにアクセスしたり、変更したりできるようになります。 - -暗号化やパスワード保護を解除するには、[remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)メソッドを呼び出す必要があります。このサンプルコードは、プレゼンテーションから暗号化を解除する方法を示しています: +## **暗号化の削除; パスワード保護の無効化** +プレゼンテーションの暗号化またはパスワード保護を削除できます。これにより、ユーザーは制限なくプレゼンテーションにアクセスまたは変更できるようになります。 +暗号化またはパスワード保護を削除するには、[remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) メソッドを呼び出します。このサンプルコードは、プレゼンテーションから暗号化を削除する方法を示しています: ```py import aspose.slides as slides @@ -162,12 +152,11 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: pres.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **プレゼンテーションからの書き込み保護の解除** - -Aspose.Slidesを使用してプレゼンテーションファイルにかけられた書き込み保護を解除できます。こうすることで、ユーザーは好きなように変更でき、そうしたタスクを実行する際に警告を受けることはありません。 -[remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)メソッドを使用してプレゼンテーションから書き込み保護を解除できます。このサンプルコードは、プレゼンテーションから書き込み保護を解除する方法を示しています: +## **プレゼンテーションから書き込み保護を削除する** +Aspose.Slides を使用してプレゼンテーションファイルに設定された書き込み保護を削除できます。これにより、ユーザーは好きなように変更でき、タスク実行時に警告が表示されなくなります。 +書き込み保護を削除するには、[remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) メソッドを使用します。このサンプルコードは、プレゼンテーションから書き込み保護を削除する方法を示しています: ```py import aspose.slides as slides @@ -176,14 +165,13 @@ with slides.Presentation("write-protected-pres.pptx") as pres: pres.save("write-protection-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **暗号化されたプレゼンテーションのプロパティを取得する** -通常、ユーザーは暗号化されたまたはパスワード保護されたプレゼンテーションのドキュメントプロパティを取得するのに苦労します。しかし、Aspose.Slidesは、プレゼンテーションをパスワード保護しながら、そのプロパティにアクセスする手段をユーザーに提供するメカニズムを提供します。 +## **暗号化されたプレゼンテーションのプロパティ取得** +通常、ユーザーは暗号化またはパスワード保護されたプレゼンテーションのドキュメントプロパティ取得に苦労します。Aspose.Slides は、プレゼンテーションをパスワード保護しながら、ユーザーがそのプロパティにアクセスできる仕組みを提供します。 -**注意**: Aspose.Slidesがプレゼンテーションを暗号化すると、デフォルトでプレゼンテーションのドキュメントプロパティもパスワード保護されます。しかし、プレゼンテーションのプロパティにアクセスできるようにしたい場合(プレゼンテーションが暗号化された後でも)、Aspose.Slidesはそれを正確に行うことを許可します。 - -暗号化されたプレゼンテーションのプロパティへのアクセスを保持したい場合、[EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)プロパティを`True`に設定できます。このサンプルコードは、プロパティへのアクセス手段を提供しながらプレゼンテーションを暗号化する方法を示しています: +**Note** Aspose.Slides がプレゼンテーションを暗号化すると、デフォルトでプレゼンテーションのドキュメントプロパティもパスワード保護されます。ただし、暗号化後もプロパティへのアクセスを可能にしたい場合、Aspose.Slides はその機能を提供します。 +暗号化したプレゼンテーションのプロパティへのアクセスを保持したい場合は、[EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) プロパティを `True` に設定します。このサンプルコードは、プロパティへのアクセスを可能にしながらプレゼンテーションを暗号化する方法を示しています: ```py import aspose.slides as slides @@ -192,25 +180,23 @@ with slides.Presentation() as pres: pres.protection_manager.encrypt("123123") ``` -## **プレゼンテーションをロードする前にパスワード保護されているか確認する** - -プレゼンテーションをロードする前に、そのプレゼンテーションがパスワードで保護されていないことを確認することを希望するかもしれません。こうすることで、パスワード保護されたプレゼンテーションがパスワードなしでロードされた際に発生するエラーや同様の問題を回避できます。 -このPythonコードは、プレゼンテーションがパスワード保護されているかどうかを確認する方法を示しています(プレゼンテーション自体をロードせずに): +## **読み込む前にプレゼンテーションがパスワードで保護されているか確認する** +プレゼンテーションを読み込む前に、パスワードで保護されていないか確認したい場合があります。これにより、パスワード保護されたプレゼンテーションをパスワードなしで読み込む際に発生するエラーや類似の問題を回避できます。 +この Python コードは、プレゼンテーションを実際に読み込まずにパスワード保護されているかどうかを調べる方法を示しています: ```python import aspose.slides as slides presentationInfo = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -print("プレゼンテーションはパスワード保護されています: " + str(presentationInfo.is_password_protected)) +print("The presentation is password protected: " + str(presentationInfo.is_password_protected)) ``` -## **プレゼンテーションが暗号化されているか確認する** -Aspose.Slidesは、プレゼンテーションが暗号化されているかどうかを確認することを許可します。このタスクを実行するには、[is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)プロパティを使用できます。これは、プレゼンテーションが暗号化されている場合は`True`を、暗号化されていない場合は`False`を返します。 - -このサンプルコードは、プレゼンテーションが暗号化されているかどうかを確認する方法を示しています: +## **プレゼンテーションが暗号化されているか確認する** +Aspose.Slides はプレゼンテーションが暗号化されているかどうかを確認できます。このタスクを実行するには、暗号化されていれば `True`、されていなければ `False` を返す [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) プロパティを使用します。 +このサンプルコードは、プレゼンテーションが暗号化されているかどうかを確認する方法を示しています: ```py import aspose.slides as slides @@ -218,12 +204,11 @@ with slides.Presentation() as pres: print(str(pres.protection_manager.is_encrypted)) ``` -## **プレゼンテーションが書き込み保護されているか確認する** - -Aspose.Slidesは、プレゼンテーションが書き込み保護されているかどうかを確認することを許可します。このタスクを実行するには、[is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)プロパティを使用できます。これは、プレゼンテーションが暗号化されている場合は`True`を、暗号化されていない場合は`False`を返します。 -このサンプルコードは、プレゼンテーションが書き込み保護されているかどうかを確認する方法を示しています: +## **プレゼンテーションが書き込み保護されているか確認する** +Aspose.Slides はプレゼンテーションが書き込み保護されているかどうかを確認できます。このタスクを実行するには、書き込み保護されていれば `True`、されていなければ `False` を返す [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) プロパティを使用します。 +このサンプルコードは、プレゼンテーションが書き込み保護されているかどうかを確認する方法を示しています: ```py import aspose.slides as slides @@ -231,23 +216,36 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(pres.protection_manager.is_write_protected)) ``` -## **特定のパスワードがプレゼンテーションを保護するために使用されたかを検証または確認する** - -特定のパスワードがプレゼンテーションドキュメントを保護するために使用されたかを確認したいかもしれません。Aspose.Slidesは、パスワードの検証手段を提供します。 -このサンプルコードは、パスワードを検証する方法を示しています: +## **特定のパスワードがプレゼンテーションの保護に使用されたか検証または確認する** +特定のパスワードがプレゼンテーションの保護に使用されたかどうかを確認したい場合があります。Aspose.Slides はパスワードを検証する手段を提供します。 +このサンプルコードは、パスワードを検証する方法を示しています: ```py import aspose.slides as slides with slides.Presentation("write-protected-pres.pptx") as pres: - # "pass"が一致するか確認する + # "pass" が一致するか確認 matched = pres.protection_manager.check_write_protection("my_password") print(str(matched)) ``` -指定したパスワードでプレゼンテーションが暗号化されている場合は`True`を返します。それ以外の場合は`False`を返します。 -{{% alert color="primary" title="関連情報" %}} -- [PowerPointにおけるデジタル署名](/slides/ja/python-net/digital-signature-in-powerpoint/) -{{% /alert %}} \ No newline at end of file +指定されたパスワードでプレゼンテーションが暗号化されていれば `True` を返します。そうでなければ `False` を返します。 + +{{% alert color="primary" title="参照" %}} +- [PowerPoint のデジタル署名](/slides/ja/python-net/digital-signature-in-powerpoint/) +{{% /alert %}} + +## **FAQ** +**Aspose.Slides がサポートする暗号化方式は何ですか?** + +Aspose.Slides は AES ベースのアルゴリズムを含む最新の暗号化方式をサポートしており、プレゼンテーションのデータセキュリティを高いレベルで確保します。 + +**プレゼンテーションを開く際に誤ったパスワードが入力された場合はどうなりますか?** + +誤ったパスワードが使用されると例外がスローされ、プレゼンテーションへのアクセスが拒否されたことが通知されます。これにより不正アクセスが防止され、コンテンツが保護されます。 + +**パスワード保護されたプレゼンテーションを扱う際にパフォーマンスへの影響はありますか?** + +暗号化および復号化のプロセスにより、開く時や保存時に若干のオーバーヘッドが発生する場合がありますが、ほとんどのケースでその影響は最小限であり、全体的な処理時間に大きな影響はありません。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md b/ja/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md index 180ccac139..b16140915b 100644 --- a/ja/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md +++ b/ja/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md @@ -1,33 +1,34 @@ --- -title: Python でプレゼンテーションを読み取り専用モードで保存する +title: Python を使用した読み取り専用モードでのプレゼンテーション保存 linktitle: 読み取り専用プレゼンテーション type: docs weight: 30 url: /ja/python-net/read-only-presentation/ keywords: - 読み取り専用 -- プレゼンテーションを保護 -- 編集を防止 +- プレゼンテーションの保護 +- 編集防止 - PowerPoint - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint ファイル(PPT、PPTX)を読み取り専用モードで読み込みおよび保存し、プレゼンテーションを変更せずに正確なスライドプレビューを提供します。" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint ファイル(PPT、PPTX)を読み取り専用モードでロードおよび保存し、プレゼンテーションを変更せずに正確なスライド プレビューを提供します。" --- -PowerPoint 2019では、Microsoftがユーザーがプレゼンテーションを保護するために使用できるオプションの1つとして**常に読み取り専用で開く**設定を導入しました。この読み取り専用設定を使用してプレゼンテーションを保護したい場合、次のような理由があります。 +## **読み取り専用モードを適用** -- 誤って編集されることを防ぎ、プレゼンテーションの内容を安全に保ちたい。 -- 提供したプレゼンテーションが最終版であることを人々に知らせたい。 +PowerPoint 2019で、Microsoftはプレゼンテーションを保護するためのオプションの1つとして、**Always Open Read-Only** 設定を導入しました。次の場合に、この読み取り専用設定を使用してプレゼンテーションを保護したくなることがあります。 -プレゼンテーションに**常に読み取り専用で開く**オプションを選択すると、ユーザーがプレゼンテーションを開いたときに**読み取り専用**の推奨が表示され、次のようなメッセージが表示される場合があります:*誤って変更を防ぐために、著者はこのファイルを読み取り専用で開くように設定しました。* +- 誤って編集されるのを防ぎ、プレゼンテーションの内容を安全に保ちたい場合。 +- 提供したプレゼンテーションが最終版であることをユーザーに知らせたい場合。 -読み取り専用の推奨は、編集を思いとどまらせるシンプルで効果的な抑止力です。なぜなら、ユーザーがプレゼンテーションを編集する前にそれを解除する作業を行う必要があるからです。プレゼンテーションに変更を加えてほしくなく、丁寧にその旨を伝えたい場合、読み取り専用の推奨は良い選択肢かもしれません。 +プレゼンテーションに **Always Open Read-Only** オプションを設定すると、ユーザーがプレゼンテーションを開いたときに **Read-Only** の推奨が表示され、次のようなメッセージが表示されることがあります: *誤って変更されないように、作成者はこのファイルを読み取り専用で開くように設定しました。* -> **読み取り専用**保護がかけられたプレゼンテーションを、最近導入された機能をサポートしていない古いMicrosoft PowerPointアプリケーションで開くと、**読み取り専用**の推奨は無視されます(プレゼンテーションは通常通り開かれます)。 +Read-Only の推奨は、編集を抑止するシンプルながら効果的な手段で、ユーザーは編集可能にする前にこの推奨を解除する作業が必要になります。プレゼンテーションへの変更を許可したくなく、丁寧にその旨を伝えたい場合、Read-Only の推奨は有力なオプションとなります。 -Aspose.Slides for Python via .NETを使用すると、プレゼンテーションを**読み取り専用**として設定でき、ユーザーは(プレゼンテーションを開いた後に)**読み取り専用**の推奨を確認します。このサンプルコードは、Aspose.Slidesを使用してPythonでプレゼンテーションを**読み取り専用**に設定する方法を示しています: +> **Read-Only** 保護が設定されたプレゼンテーションを、最近導入された機能をサポートしていない古いMicrosoft PowerPointアプリケーションで開くと、**Read-Only** の推奨は無視され(プレゼンテーションは通常通り開かれます)。 +Aspose.Slides for Python via .NET を使用すると、プレゼンテーションを **Read-Only** に設定でき、ユーザーは(プレゼンテーションを開いた後) **Read-Only** の推奨を確認できます。以下のサンプルコードは、Aspose.Slides を利用して Python でプレゼンテーションを **Read-Only** に設定する方法を示しています。 ```py import aspose.slides as slides @@ -36,8 +37,27 @@ with slides.Presentation() as pres: pres.save("ReadOnlyPresentation.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -**注意**:**読み取り専用**の推奨は、単に編集を思いとどまらせたり、ユーザーがPowerPointプレゼンテーションに誤って変更を加えるのを防ぐことを目的としています。もし、何をしているのかを知っている意欲的な人があなたのプレゼンテーションを編集することを決意した場合、彼らは簡単に読み取り専用設定を解除することができます。無許可の編集を本当に防ぎたい場合は、[暗号化やパスワードを伴うより厳格な保護を使用した方が良いです](https://docs.aspose.com/slides/python-net/password-protected-presentation/)。 +**注**: **Read-Only** の推奨は、PowerPoint プレゼンテーションの編集を抑止したり、誤って変更されるのを防ぐことを目的としたものです。もし知識のある動機のある人がプレゼンテーションを編集しようとすれば、Read-Only 設定は簡単に解除できます。未承認の編集を確実に防止したい場合は、[暗号化とパスワードを含むより厳格な保護](https://docs.aspose.com/slides/python-net/password-protected-presentation/) を使用する方が適切です。 + +{{% /alert %}} + +## **FAQ** + +**'Read-Only recommended'はフルパスワード保護と何が違うのですか?** + +'Read-Only recommended' はファイルを読み取り専用モードで開くことを提案するだけで、回避が容易です。[Password protection](/slides/ja/python-net/password-protected-presentation/) は実際に開くことや編集を制限し、実際のセキュリティ制御が必要な場合に適しています。 + +**'Read-Only recommended'を透かしと組み合わせて編集をさらに抑止できますか?** + +はい。推奨は[watermarks](/slides/ja/python-net/watermark/) と組み合わせて視覚的な抑止手段とすることができ、これらは別々の仕組みであり、相互に有効に機能します。 + +**推奨が有効な状態でも、マクロや外部ツールでファイルを変更できますか?** + +はい。推奨はプログラムによる変更をブロックしません。自動的な編集を防止するには、[passwords and encryption](/slides/ja/python-net/password-protected-presentation/) を使用してください。 + +**'Read-Only recommended'はフラグ 'is_encrypted' と 'is_write_protected' とどのように関連していますか?** -{{% /alert %}} \ No newline at end of file +これらは異なるシグナルです。'Read-Only recommended' はソフトでオプションのプロンプトであり、[is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_write_protected/) と [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_encrypted/) はパスワードや暗号化に依存した実際の書き込みまたは読み取り制限を示します。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-security/watermark/_index.md b/ja/python-net/developer-guide/presentation-security/watermark/_index.md index aa5e3d2a03..30e1a22668 100644 --- a/ja/python-net/developer-guide/presentation-security/watermark/_index.md +++ b/ja/python-net/developer-guide/presentation-security/watermark/_index.md @@ -1,40 +1,53 @@ --- -title: ウォーターマーク +title: Python でプレゼンテーションに透かしを追加する +linktitle: 透かし type: docs weight: 40 url: /ja/python-net/watermark/ keywords: -- ウォーターマーク -- ウォーターマークを追加 -- テキストウォーターマーク -- 画像ウォーターマーク +- 透かし +- テキスト透かし +- 画像透かし +- 透かしの追加 +- 透かしの変更 +- 透かしの削除 +- 透かしの削除 +- PPT への透かし追加 +- PPTX への透かし追加 +- ODP への透かし追加 +- PPT から透かしを削除 +- PPTX から透かしを削除 +- ODP から透かしを削除 +- PPT から透かしを削除 +- PPTX から透かしを削除 +- ODP から透かしを削除 - PowerPoint +- OpenDocument - プレゼンテーション - Python -- Aspose.Slides for Python via .NET -description: "PythonでPowerPointプレゼンテーションにテキストおよび画像ウォーターマークを追加します" +- Aspose.Slides +description: Python で PowerPoint および OpenDocument のプレゼンテーションにテキストと画像の透かしを追加し、ドラフトや機密情報、著作権表示などを示す方法を学びます。 --- -## **ウォーターマークについて** +## **透かしについて** -プレゼンテーションにおける**ウォーターマーク**は、スライドまたはすべてのプレゼンテーションスライドに使用されるテキストまたは画像のスタンプです。通常、ウォーターマークは、プレゼンテーションが草案であることを示すため(例: "草案"ウォーターマーク)、機密情報が含まれていることを示すため(例: "機密"ウォーターマーク)、どの会社に属するかを指定するため(例: "会社名"ウォーターマーク)、プレゼンテーションの作成者を特定するためなどに使用されます。ウォーターマークは、プレゼンテーションがコピーされるべきではないことを示すことで著作権の侵害を防ぐのに役立ちます。ウォーターマークは、PowerPointおよびOpenOfficeのプレゼンテーション形式の両方で使用されます。Aspose.Slidesを使用すると、PowerPointのPPT、PPTX、およびOpenOfficeのODPファイル形式にウォーターマークを追加できます。 +**透かし** は、スライドまたはプレゼンテーション全体のスライドに使用されるテキストまたは画像のスタンプです。通常、透かしはプレゼンテーションがドラフトであること(例: 「Draft」透かし)や機密情報が含まれていること(例: 「Confidential」透かし)、所属企業名(例: 「Company Name」透かし)を示す、作成者を識別するなどの目的で使用されます。透かしは、コピーすべきでないことを示すことで著作権侵害を防止するのに役立ちます。透かしは PowerPoint と OpenOffice の両方のプレゼンテーション形式で使用できます。Aspose.Slides では、PowerPoint の PPT、PPTX および OpenOffice の ODP ファイル形式に透かしを追加できます。 -[**Aspose.Slides**](https://products.aspose.com/slides/python-net/)では、PowerPointまたはOpenOffice文書にウォーターマークを作成し、デザインや動作を変更するためのさまざまな方法があります。共通点は、テキストウォーターマークを追加するには[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)クラスを使用し、画像ウォーターマークを追加するには[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)クラスを使用するか、ウォーターマーク形状を画像で埋める必要があることです。`PictureFrame`は[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)クラスを実装しており、形状オブジェクトのすべての柔軟な設定を使用できます。`TextFrame`は形状ではなく、その設定は制限されているため、[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)オブジェクトにラップされています。 +[**Aspose.Slides**](https://products.aspose.com/slides/python-net/) では、PowerPoint または OpenOffice のドキュメントに透かしを作成し、そのデザインや動作を変更するさまざまな方法があります。共通点は、テキスト透かしを追加する場合は [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) クラスを使用し、画像透かしを追加する場合は [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) クラスまたは透かしシェイプに画像を塗りつぶすことです。`PictureFrame` は [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) クラスを実装しているため、シェイプオブジェクトの柔軟な設定をすべて利用できます。`TextFrame` はシェイプではなく設定が限られているため、[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) オブジェクトにラップされています。 -ウォーターマークは、単一のスライドに適用するか、すべてのプレゼンテーションスライドに適用することができます。スライドマスターを使用してすべてのプレゼンテーションスライドにウォーターマークを適用します — ウォーターマークはスライドマスターに追加され、そこで完全にデザインされ、個々のスライドでウォーターマークを変更する権限に影響を与えることなく、すべてのスライドに適用されます。 +透かしの適用方法は 2 通りあります。単一スライドに適用するか、プレゼンテーション全体のスライドに適用するかです。スライドマスターを使用すると、すべてのスライドに透かしを適用できます。透かしはスライドマスターに追加され、そこで完全にデザインされた後、個々のスライドの透かし編集権限に影響を与えることなくすべてのスライドに適用されます。 -ウォーターマークは通常、他のユーザーによる編集ができないと見なされます。ウォーターマーク(またはむしろウォーターマークの親形状)が編集されるのを防ぐために、Aspose.Slidesは形状ロック機能を提供します。特定の形状は通常のスライドまたはスライドマスターでロックできます。ウォーターマーク形状がスライドマスターでロックされている場合、それはすべてのプレゼンテーションスライドでロックされます。 +透かしは通常、他のユーザーが編集できないように設定されます。透かし(正確には透かしの親シェイプ)が編集されないようにするため、Aspose.Slides はシェイプのロック機能を提供します。特定のシェイプは通常のスライドまたはスライドマスター上でロックできます。スライドマスター上で透かしシェイプがロックされている場合、すべてのプレゼンテーションスライドでロックされます。 -将来的に削除したい場合に、ウォーターマークの名前を設定することができます。その場合、スライドの形状を名前で見つけることができます。 +透かしに名前を付けておくと、将来削除したい場合にスライドのシェイプ一覧から名前で検索して見つけることができます。 -ウォーターマークを任意の方法でデザインできますが、通常、ウォーターマークには中央揃え、回転、前面位置などの共通の特徴があります。以下の例でこれらを使用する方法について考察します。 +透かしは好きな形にデザインできますが、通常は中央揃え、回転、最前面表示などの共通の特徴があります。以下の例でこれらの使い方を紹介します。 -## **テキストウォーターマーク** +## **テキスト透かし** -### **スライドにテキストウォーターマークを追加する** - -PPT、PPTX、またはODPにテキストウォーターマークを追加するには、最初にスライドに形状を追加し、次にこの形状にテキストフレームを追加できます。テキストフレームは[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)クラスによって表されます。このタイプは、ウォーターマークを柔軟に配置するための広範なプロパティを持つ[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)から継承されていないため、[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)オブジェクトは[AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)オブジェクトにラップされます。形状にウォーターマークテキストを追加するには、以下のように[add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str)メソッドを使用します。 +### **スライドにテキスト透かしを追加する** +PPT、PPTX、または ODP にテキスト透かしを追加するには、まずスライドにシェイプを追加し、そのシェイプにテキストフレームを追加します。テキストフレームは [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) クラスで表されます。この型は [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) から継承されておらず、透かしの位置を柔軟に設定する多数のプロパティを持ちません。そのため、[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) オブジェクトは [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) オブジェクトでラップされます。シェイプに透かしテキストを追加するには、以下のように [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) メソッドを使用します。 ```py watermark_text = "CONFIDENTIAL" @@ -45,14 +58,14 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -{{% alert color="primary" title="参照" %}} -- [TextFrameクラスの使用方法](/slides/ja/python-net/text-formatting/) -{{% /alert %}} -### **プレゼンテーションにテキストウォーターマークを追加する** +{{% alert color="primary" title="See also" %}} +- [TextFrame クラスの使用方法](/slides/ja/python-net/text-formatting/) +{{% /alert %}} -プレゼンテーション全体(すなわち、すべてのスライドを一度に)にテキストウォーターマークを追加したい場合は、[MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/)に追加します。残りのロジックは、単一のスライドにウォーターマークを追加する場合と同じです — [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)オブジェクトを作成し、[add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str)メソッドを使用してそれにウォーターマークを追加します。 +### **プレゼンテーション全体にテキスト透かしを追加する** +プレゼンテーション全体(すべてのスライド)にテキスト透かしを追加したい場合は、[MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/) に追加します。以降のロジックは単一スライドへの透かし追加と同じで、[AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) オブジェクトを作成し、[add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) メソッドで透かしを追加します。 ```py watermark_text = "CONFIDENTIAL" @@ -63,33 +76,33 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -{{% alert color="primary" title="参照" %}} + +{{% alert color="primary" title="See also" %}} - [スライドマスターの使用方法](/slides/ja/python-net/slide-master/) {{% /alert %}} -### **ウォーターマーク形状の透明度を設定する** - -デフォルトでは、長方形形状は塗りつぶしと線の色でスタイル設定されています。次のコード行は、形状を透明にします。 +### **透かしシェイプの透明度を設定する** +デフォルトでは、長方形シェイプは塗りつぶしと線の色が設定されています。次のコードでシェイプを透明にします。 ```py watermark_shape.fill_format.fill_type = FillType.NO_FILL watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL ``` -### **テキストウォーターマークのフォントを設定する** -以下のようにして、テキストウォーターマークのフォントを変更できます。 +### **テキスト透かしのフォントを設定する** +以下のようにテキスト透かしのフォントを変更できます。 ```py text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format text_format.latin_font = FontData("Arial") text_format.font_height = 50 ``` -### **ウォーターマークテキストの色を設定する** -ウォーターマークテキストの色を設定するには、このコードを使用します: +### **透かしテキストの色を設定する** +透かしテキストの色を設定するコードは次のとおりです。 ```py alpha = 150 red = 200 @@ -101,10 +114,10 @@ fill_format.fill_type = FillType.SOLID fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue) ``` -### **テキストウォーターマークを中央に配置する** -ウォーターマークをスライドの中央に配置することが可能で、そのためには次のようにします: +### **テキスト透かしを中央揃えにする** +透かしをスライドの中央に配置するには、次のようにします。 ```py slide_size = presentation.slide_size.size @@ -119,16 +132,16 @@ watermark_shape = slide.shapes.add_auto_shape( watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -以下の画像は最終結果を示しています。 -![テキストウォーターマーク](text_watermark.png) +以下の画像は最終結果を示しています。 -## **画像ウォーターマーク** +![The text watermark](text_watermark.png) -### **プレゼンテーションに画像ウォーターマークを追加する** +## **画像透かし** -プレゼンテーションスライドに画像ウォーターマークを追加するには、次のようにします: +### **プレゼンテーションに画像透かしを追加する** +プレゼンテーションのスライドに画像透かしを追加するには、次の手順を実行します。 ```py with open("watermark.png", "rb") as image_stream: image = presentation.images.add_image(image_stream.read()) @@ -138,12 +151,12 @@ with open("watermark.png", "rb") as image_stream: watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH ``` -## **ウォーターマークの編集をロックする** -ウォーターマークが編集されるのを防ぐ必要がある場合は、形状に対して[AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/)プロパティを使用します。このプロパティを使用すると、形状を選択できなくしたり、サイズを変更できなくしたり、再配置できなくしたり、他の要素とグループ化できなくしたり、テキストが編集されるのをロックしたり、その他多くのことが可能です: +## **透かしの編集をロックする** +透かしの編集を防止する必要がある場合は、シェイプの [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) プロパティを使用します。このプロパティを使うと、シェイプの選択・サイズ変更・位置変更・他要素とのグループ化の禁止、テキスト編集のロックなど、さまざまな保護が可能です。 ```py -# ウォーターマーク形状を変更できないようにロックする +# 透かしシェイプの変更をロックする watermark_shape.auto_shape_lock.select_locked = True watermark_shape.auto_shape_lock.size_locked = True watermark_shape.auto_shape_lock.text_locked = True @@ -151,37 +164,37 @@ watermark_shape.auto_shape_lock.position_locked = True watermark_shape.auto_shape_lock.grouping_locked = True ``` -## **ウォーターマークを前面に持ってくる** -Aspose.Slidesでは、形状のZオーダーは[ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape)メソッドを介して設定できます。これを行うには、プレゼンテーションスライドリストからこのメソッドを呼び出し、形状参照とその順序番号をメソッドに渡す必要があります。このようにして、形状を前面に持って行ったり、スライドの背面に送ったりできます。この機能は、プレゼンテーションの前面にウォーターマークを配置する必要がある場合に特に便利です: +## **透かしを最前面に持ってくる** +Aspose.Slides では、シェイプの Z 順序を [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape) メソッドで設定できます。このメソッドをプレゼンテーションのスライドリストから呼び出し、シェイプ参照と順序番号を渡すことで、シェイプを前面または背面に移動できます。透かしをスライドの前面に配置したい場合に特に有用です。 ```py shape_count = len(slide.shapes) slide.shapes.reorder(shape_count - 1, watermark_shape) ``` -## **ウォーターマークの回転を設定する** -ウォーターマークを斜めに配置するための回転を調整する方法のコード例は以下の通りです: +## **透かしの回転を設定する** +透かしをスライドの対角線上に配置するための回転設定例を以下に示します。 ```py diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi watermark_shape.rotation = float(diagonal_angle) ``` -## **ウォーターマークの名前を設定する** -Aspose.Slidesでは、形状の名前を設定できます。形状名を使用することで、将来的にそれにアクセスして変更または削除できます。ウォーターマーク形状の名前を設定するには、[AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/)プロパティに割り当てます: +## **透かしに名前を付ける** +Aspose.Slides ではシェイプに名前を設定できます。シェイプ名を使用すれば、将来そのシェイプにアクセスして変更または削除できます。透かしシェイプの名前を設定するには、[AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) プロパティに代入します。 ```py watermark_shape.name = "watermark" ``` -## **ウォーターマークを削除する** -ウォーターマーク形状を削除するには、[AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/)メソッドを使用してスライドと形状で見つけます。次に、ウォーターマーク形状を[ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape)メソッドに渡します: +## **透かしを削除する** +透かしシェイプを削除するには、[AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) でシェイプを検索し、[ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape) メソッドに渡します。 ```py slide_shapes = list(slide.shapes) for shape in slide_shapes: @@ -189,8 +202,35 @@ for shape in slide_shapes: slide.shapes.remove(watermark_shape) ``` + ## **ライブ例** -**Aspose.Slides無料**の[ウォーターマークを追加](https://products.aspose.app/slides/watermark)および[ウォーターマークを削除](https://products.aspose.app/slides/watermark/remove-watermark)オンラインツールをチェックアウトすることをお勧めします。 +**Aspose.Slides 無料** のオンラインツール [Add Watermark](https://products.aspose.app/slides/watermark) と [Remove Watermark](https://products.aspose.app/slides/watermark/remove-watermark) をぜひお試しください。 + +![Online tools to add and remove watermarks](online_tools.png) + +## **FAQ** + +**透かしとは何ですか、なぜ使用すべきですか?** + +透かしはスライドに重ねるテキストまたは画像で、知的財産の保護、ブランド認知の向上、プレゼンテーションの不正使用防止に役立ちます。 + +**プレゼンテーションのすべてのスライドに透かしを追加できますか?** + +はい、Aspose.Slides を使用すれば、プレゼンテーション内のすべてのスライドに透かしを追加できます。すべてのスライドをループし、個別に透かし設定を適用します。 + +**透かしの透明度はどのように調整できますか?** + +シェイプの塗りつぶし設定([FillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/fillformat/))を変更することで、透かしの透明度を調整できます。これにより、透かしが目立ちすぎずスライド内容の妨げになりません。 + +**透かしに使用できる画像形式は何ですか?** + +Aspose.Slides は PNG、JPEG、GIF、BMP、SVG などさまざまな画像形式をサポートしています。 + +**テキスト透かしのフォントやスタイルはカスタマイズできますか?** + +はい、フォント、サイズ、スタイルを自由に選択してプレゼンテーションのデザインやブランドガイドラインに合わせることができます。 + +**透かしの位置や向きはどう変更しますか?** -![ウォーターマークの追加と削除のためのオンラインツール](online_tools.png) \ No newline at end of file +シェイプ([shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/))の座標、サイズ、回転プロパティを変更することで、透かしの位置や向きを調整できます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md b/ja/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md index 50d546bfa0..eb95f6e3b6 100644 --- a/ja/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md +++ b/ja/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md @@ -1,96 +1,111 @@ --- -title: プレゼンテーションのスライドにアクセス +title: Pythonでプレゼンテーションのスライドにアクセス +linktitle: スライドにアクセス type: docs weight: 20 url: /ja/python-net/access-slide-in-presentation/ -keywords: "PowerPoint プレゼンテーションにアクセス, スライドにアクセス, スライドのプロパティを編集, スライドの位置を変更, スライド番号、インデックス、ID、位置を設定 Python, Aspose.Slides" -description: "Python でインデックス、ID、または位置によって PowerPoint スライドにアクセスします。スライドのプロパティを編集します" +keywords: +- スライドにアクセス +- スライドインデックス +- スライドID +- スライド位置 +- 位置の変更 +- スライドプロパティ +- スライド番号 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: ".NET を介した Python 用 Aspose.Slides で、PowerPoint および OpenDocument プレゼンテーションのスライドにアクセスし管理する方法を学びます。コード例で生産性を向上させましょう。" --- -Aspose.Slides では、スライドに対してインデックスまたは ID の2つの方法でアクセスできます。 +## **概要** -## **インデックスによるスライドへのアクセス** +この記事では、Aspose.Slides for Python を使用して PowerPoint プレゼンテーション内の特定のスライドにアクセスする方法を説明します。プレゼンテーションの開き方、インデックスまたは一意の ID でスライドを参照する方法、ファイル内のナビゲーションに必要な基本的なスライド情報の取得方法を示します。これらの手法を使用すれば、検査または処理したい正確なスライドを確実に見つけることができます。 -プレゼンテーション内のすべてのスライドは、0 から始まるスライドの位置に基づいて数値的に配置されています。最初のスライドにはインデックス 0 でアクセスでき、2 番目のスライドにはインデックス 1 でアクセスできます。 +## **インデックスでスライドにアクセスする** -プレゼンテーションファイルを表す Presentation クラスは、すべてのスライドを [ISlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/islidecollection/) コレクション([ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/) オブジェクトのコレクション)として公開します。この Python コードは、スライドにそのインデックスを通してアクセスする方法を示しています: +プレゼンテーション内のスライドは位置でインデックス付けされ、0 から始まります。最初のスライドのインデックスは 0、2 番目のスライドはインデックス 1 というように続きます。 +[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラス(プレゼンテーション ファイルを表す)は、[SlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) を介して [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/) オブジェクトのコレクションとしてスライドを公開します。 + +以下の Python コードは、インデックスでスライドにアクセスする方法を示します: ```python import aspose.slides as slides -# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # インデックスを通してスライドの参照を取得します +# プレゼンテーションファイルを表す Presentation を作成します。 +with slides.Presentation("sample.pptx") as presentation: + # インデックスでスライドを取得します。 slide = presentation.slides[0] ``` -## **IDによるスライドへのアクセス** -プレゼンテーション内の各スライドには、関連付けられた一意の ID があります。`get_slide_by_id(id)` メソッド([Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスによって公開される)を使用して、その ID をターゲットにできます。この Python コードは、有効なスライド ID を提供して `get_slide_by_id(id)` メソッドを通じてそのスライドにアクセスする方法を示しています: +## **ID でスライドにアクセスする** + +プレゼンテーション内の各スライドには一意の ID が割り当てられています。[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスが提供する [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) メソッドを使用してその ID を対象にできます。 +以下の Python コードは、有効なスライド ID を指定し、[get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) メソッドでそのスライドにアクセスする方法を示します: ```python import aspose.slides as slides -# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # スライド ID を取得します +# プレゼンテーションファイルを表す Presentation を作成します。 +with slides.Presentation("sample.pptx") as presentation: + # スライド ID を取得します。 id = presentation.slides[0].slide_id - # ID を通してスライドにアクセスします + # ID でスライドにアクセスします。 slide = presentation.get_slide_by_id(id) ``` -## **スライドの位置を変更** -Aspose.Slides では、スライドの位置を変更することができます。たとえば、最初のスライドを2 番目のスライドにすることができます。 +## **スライドの位置を変更する** -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -1. 位置を変更したいスライドのインデックスを通して参照を取得します。 -1. `slide_number` プロパティを通してスライドの新しい位置を設定します。 -1. 修正したプレゼンテーションを保存します。 +Aspose.Slides を使用すると、スライドの位置を変更できます。例えば、最初のスライドを 2 番目にすることができます。 -この Python コードは、位置 1 のスライドを位置 2 に移動する操作を示しています: +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. インデックスで位置を変更したいスライドへの参照を取得します。 +1. [slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/slide/slide_number/) プロパティを使用してスライドの新しい位置を設定します。 +1. 変更されたプレゼンテーションを保存します。 +以下の Python コードは、位置 1 のスライドを位置 2 に移動します: ```python import aspose.slides as slides -# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します -with slides.Presentation(path + "ChangePosition.pptx") as pres: - # 位置が変更されるスライドを取得します - sld = pres.slides[0] - # スライドの新しい位置を設定します - sld.slide_number = 2 - # 修正したプレゼンテーションを保存します - pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX) +# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します。 +with slides.Presentation("sample.pptx") as presentation: + # 位置を変更するスライドを取得します。 + slide = presentation.slides[0] + # スライドの新しい位置を設定します。 + slide.slide_number = 2 + # 変更されたプレゼンテーションを保存します。 + presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -最初のスライドが2 番目になり、2 番目のスライドが最初になります。スライドの位置を変更すると、他のスライドが自動的に調整されます。 -## **スライド番号を設定** +最初のスライドが 2 番目になり、2 番目のスライドが 1 番目になります。スライドの位置を変更すると、他のスライドは自動的に調整されます。 + +## **スライド番号の設定** -`first_slide_number` プロパティ([Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスによって公開される)を使用すると、プレゼンテーション内の最初のスライドの新しい番号を指定できます。この操作により、他のスライド番号が再計算されます。 +[first_slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) プロパティ([Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスが公開)を使用すると、プレゼンテーションの最初のスライドに新しい番号を指定できます。この操作により、他のスライド番号が再計算されます。 1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -1. スライド番号を取得します。 1. スライド番号を設定します。 -1. 修正したプレゼンテーションを保存します。 - -この Python コードは、最初のスライド番号を 10 に設定する操作を示しています: +1. 変更されたプレゼンテーションを保存します。 +以下の Python コードは、最初のスライド番号を 10 に設定する操作を示します: ```python import aspose.slides as slides -# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # スライド番号を取得します - firstSlideNumber = presentation.first_slide_number - # スライド番号を設定します +# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します。 +with slides.Presentation("sample.pptx") as presentation: + # スライド番号を設定します。 presentation.first_slide_number = 10 - # 修正したプレゼンテーションを保存します - presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX) + # 変更されたプレゼンテーションを保存します。 + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -最初のスライドをスキップしたい場合は、次のスライドから番号を開始することができます(最初のスライドの番号は非表示にするかもしれません): +最初のスライドをスキップしたい場合は、次のように 2 番目のスライドから番号付けを開始し(最初のスライドの番号は非表示に)ることができます: ```python import aspose.slides as slides @@ -100,15 +115,30 @@ with slides.Presentation() as presentation: presentation.slides.add_empty_slide(layout_slide) presentation.slides.add_empty_slide(layout_slide) - # 最初のプレゼンテーションスライドの番号を設定します + # プレゼンテーションの最初のスライドの番号を設定します。 presentation.first_slide_number = 0 - # すべてのスライドのスライド番号の表示可否を設定します + # すべてのスライドにスライド番号を表示します。 presentation.header_footer_manager.set_all_slide_numbers_visibility(True) - # 最初のスライドのスライド番号の表示を非表示にします + # 最初のスライドのスライド番号を非表示にします。 presentation.slides[0].header_footer_manager.set_slide_number_visibility(False) - # 修正したプレゼンテーションを保存します - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + # 変更されたプレゼンテーションを保存します。 + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**ユーザーが見るスライド番号は、コレクションの 0 基準インデックスと一致しますか?** + +スライドに表示される番号は任意の値(例: 10)から開始でき、インデックスと一致する必要はありません。この関係はプレゼンテーションの [first slide number] 設定によって制御されます。 + +**非表示スライドはインデックスに影響しますか?** + +はい。非表示スライドはコレクション内に残り、インデックス計算に含まれます。「非表示」は表示上の状態を指すだけで、コレクション内の位置には影響しません。 + +**他のスライドが追加または削除されたとき、スライドのインデックスは変わりますか?** + +はい。インデックスは常に現在のスライド順序を反映し、挿入、削除、移動が行われるたびに再計算されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-slide/compare-slides/_index.md b/ja/python-net/developer-guide/presentation-slide/compare-slides/_index.md index 17da26ff18..bde0dfd43b 100644 --- a/ja/python-net/developer-guide/presentation-slide/compare-slides/_index.md +++ b/ja/python-net/developer-guide/presentation-slide/compare-slides/_index.md @@ -1,17 +1,24 @@ --- -title: スライドを比較する +title: Python でプレゼンテーション スライドを比較する +linktitle: スライドを比較する type: docs weight: 50 url: /ja/python-net/compare-slides/ -keywords: "PowerPointスライドを比較する, 2つのスライドを比較する, プレゼンテーション, Python, Aspose.Slides" -description: "PythonでPowerPointプレゼンテーションスライドを比較する" +keywords: +- スライドを比較 +- スライド比較 +- PowerPoint +- OpenDocument +- プレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint と OpenDocument のプレゼンテーションをプログラムで比較します。コード内でスライドの差分を迅速に特定できます。" --- -## **2つのスライドを比較する** -Equalsメソッドが[IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/)インターフェースと[BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/)クラスに追加されました。これは、構造と静的コンテンツが同一のスライド/レイアウトおよびスライド/マスタースライドに対して真を返します。 - -すべてのシェイプ、スタイル、テキスト、アニメーションおよびその他の設定が同一であれば、2つのスライドは等しいです。比較には、ユニーク識別子値(例:SlideId)や動的コンテンツ(例:日付プレースホルダー内の現在の日付値)は考慮されません。 +## **スライドを2つ比較する** +Equals メソッドが [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) インターフェイスと [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/) クラスに追加されました。スライド/レイアウトおよびマスタースライドが構造と静的コンテンツで同一である場合に true を返します。 +2つのスライドは、すべてのシェイプ、スタイル、テキスト、アニメーション、その他の設定が同じ場合に等しいとみなされます。比較では、SlideId などの一意識別子や、日付プレースホルダーの現在の日付値などの動的コンテンツは考慮されません。 ```py import aspose.slides as slides @@ -20,5 +27,20 @@ with slides.Presentation(path + "AccessSlides.pptx") as p1: for i in range(len(p1.masters)): for j in range(len(p2.masters)): if p1.masters[i] == p2.masters[j]: - print("Presentation1 MasterSlide#{0} は Presentation2 MasterSlide#{1} と等しい".format(i,j)) -``` \ No newline at end of file + print("Presentation1 MasterSlide#{0} is equal to Presentation2 MasterSlide#{1}".format(i,j)) +``` + + +## **FAQ** + +**スライドが非表示であることは、スライド自体の比較に影響しますか?** + +[非表示ステータス](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) はプレゼンテーション/再生レベルのプロパティであり、視覚コンテンツではありません。2つの特定のスライドの等価性はその構造と静的コンテンツによって決まり、スライドが非表示であるという事実だけでスライドは異なるとはみなされません。 + +**ハイパーリンクとそのパラメータは考慮されますか?** + +はい。リンクはスライドの静的コンテンツの一部です。URL またはハイパーリンクアクションが異なる場合、通常は静的コンテンツの違いとして扱われます。 + +**チャートが外部の Excel ファイルを参照している場合、そのファイルの内容は考慮されますか?** + +いいえ。比較はスライド自体に基づいて行われます。外部データ ソースは比較時に読み取られないのが一般的で、スライドの構造と静的状態に存在するものだけが考慮されます。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/presentation-via-vba/_index.md b/ja/python-net/developer-guide/presentation-via-vba/_index.md index 91171886c7..607a8cf40f 100644 --- a/ja/python-net/developer-guide/presentation-via-vba/_index.md +++ b/ja/python-net/developer-guide/presentation-via-vba/_index.md @@ -1,125 +1,179 @@ --- -title: Python でプレゼンテーションの VBA プロジェクトを管理する -linktitle: VBA を介したプレゼンテーション +title: PythonでプレゼンテーションのVBAプロジェクトを管理する +linktitle: VBAによるプレゼンテーション type: docs weight: 250 url: /ja/python-net/presentation-via-vba/ keywords: - マクロ - VBA -- VBA マクロ -- マクロを追加 -- マクロを削除 -- マクロを抽出 -- VBA を追加 -- VBA を削除 -- VBA を抽出 +- VBAマクロ +- マクロの追加 +- マクロの削除 +- マクロの抽出 +- VBAの追加 +- VBAの削除 +- VBAの抽出 - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、VBA を介して PowerPoint および OpenDocument プレゼンテーションを生成および操作し、ワークフローを効率化する方法をご紹介します。" +description: "Aspose.Slides for Python via .NET を使用して、VBAでPowerPoint および OpenDocument プレゼンテーションを生成・操作し、作業フローを効率化する方法をご紹介します。" --- -[Aspose.Slides.Vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/)名前空間には、マクロやVBAコードを操作するためのクラスとインターフェイスが含まれています。 +## **概要** -{{% alert title="注意" color="warning" %}} +この記事では、PowerPoint プレゼンテーション内のマクロを操作するための Aspose.Slides for Python via .NET の主要機能を検証します。ライブラリはマクロの追加、削除、抽出のための便利なツールを提供し、プレゼンテーションの作成や変更を自動化できます。 -マクロを含むプレゼンテーションを別のファイル形式(PDF、HTMLなど)に変換すると、Aspose.Slidesはすべてのマクロを無視します(マクロは生成されたファイルに持ち込まれません)。 +Aspose.Slides を使用すると、次のことが可能です: -プレゼンテーションにマクロを追加する場合や、マクロを含むプレゼンテーションを再保存する場合、Aspose.Slidesはマクロのバイトをそのまま書き込みます。 +- プレゼンテーション開発の高速化 — 定型作業の自動化により資料作成時間が短縮されます。 +- 柔軟性の確保 — マクロを管理できることで、特定のタスクやシナリオに合わせてプレゼンテーションを調整できます。 +- データ統合 — 外部データ ソースとのシンプルな統合により、スライド 内容を常に最新に保てます。 +- メンテナンスの簡素化 — マクロを集中管理することで、変更の適用やプレゼンテーションの更新が容易になります。 -Aspose.Slidesはプレゼンテーション内のマクロを**決して**実行しません。 +本記事では、PowerPoint のマクロを効果的に操作するための Aspose.Slides の実用的な使用例も紹介します。 +マクロや VBA コードを扱うクラスは、[aspose.slides.vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) 名前空間にあります。 + +{{% alert title="Note" color="warning" %}} +プレゼンテーションにマクロが含まれている状態で別フォーマット(PDF、HTML など)に変換すると、Aspose.Slides はマクロを無視します。‑ 出力ファイルにはマクロが転送されません。 + +プレゼンテーションにマクロを追加するか、マクロを含むプレゼンテーションを再保存すると、Aspose.Slides はマクロ バイト列をそのまま書き込みます。 + +Aspose.Slides はプレゼンテーション内のマクロを **決して** 実行しません。 {{% /alert %}} -## **VBAマクロの追加** +## **VBA マクロの追加** -Aspose.Slidesは、VBAプロジェクト(およびプロジェクト参照)を作成し、既存のモジュールを編集するために[VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/)クラスを提供します。[IVbaProject](https://reference.aspose.com/slides/net/aspose.slides.vba/ivbaproject/)インターフェイスを使用して、プレゼンテーションに埋め込まれたVBAを管理できます。 +Aspose.Slides は VBA プロジェクト(およびプロジェクト参照)を作成し、既存モジュールを編集するために [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) クラスを提供します。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -1. [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors)コンストラクタを使用して新しいVBAプロジェクトを追加します。 -1. VbaProjectにモジュールを追加します。 -1. モジュールのソースコードを設定します。 -1. への参照を追加します。 -1. **Microsoft Office**への参照を追加します。 -1. 参照をVBAプロジェクトに関連付けます。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) コンストラクタを使用して新規 VBA プロジェクトを追加します。 +1. VBA プロジェクトにモジュールを追加します。 +1. モジュールのソースコードを設定します。 +1. `` への参照を追加します。 +1. **Microsoft Office** への参照を追加します。 +1. 参照を VBA プロジェクトに関連付けます。 1. プレゼンテーションを保存します。 -このPythonコードは、ゼロからプレゼンテーションにVBAマクロを追加する方法を示しています: - +以下の Python コードは、プレゼンテーションにゼロから VBA マクロを追加する方法を示しています: ```python import aspose.slides as slides -# プレゼンテーションクラスのインスタンスを作成します +# Presentation クラスのインスタンスを作成します。 with slides.Presentation() as presentation: - # 新しいVBAプロジェクトを作成します + + # 新しい VBA プロジェクトを作成します。 presentation.vba_project = slides.vba.VbaProject() - # VBAプロジェクトに空のモジュールを追加します + # VBA プロジェクトに空のモジュールを追加します。 module = presentation.vba_project.modules.add_empty_module("Module") - - # モジュールのソースコードを設定します - module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub" - - # への参照を作成します - stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - # Officeへの参照を作成します - officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") + # モジュールのソースコードを設定します。 + module.source_code = """ + Sub Test(oShape As Shape) + MsgBox "Hello, world!" + End Sub + """ - # VBAプロジェクトに参照を追加します - presentation.vba_project.references.add(stdoleReference) - presentation.vba_project.references.add(officeReference) + # への参照を作成します。 + stdole_reference = slides.vba.VbaReferenceOleTypeLib("stdole", + "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - - # プレゼンテーションを保存します - presentation.save("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) -``` + # Microsoft Office への参照を作成します。 + office_reference = slides.vba.VbaReferenceOleTypeLib("Office", + "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") -{{% alert color="primary" %}} + # 参照を VBA プロジェクトに追加します。 + presentation.vba_project.references.add(stdole_reference) + presentation.vba_project.references.add(office_reference) -**Aspose**の[マクロ削除ツール](https://products.aspose.app/slides/remove-macros)も確認することをお勧めします。これは、PowerPoint、Excel、Word文書からマクロを削除するための無料のWebアプリです。 + # プレゼンテーションを保存します。 + presentation.save("macros.pptm", slides.export.SaveFormat.PPTM) +``` -{{% /alert %}} -## **VBAマクロの削除** +{{% alert color="primary" %}} +**Aspose** の [Macro Remover](https://products.aspose.app/slides/remove-macros)(無料ウェブ アプリ)を試して、PowerPoint、Excel、Word ドキュメントからマクロを削除できます。 +{{% /alert %}} -[VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/#properties)プロパティを使用すると、[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスからVBAマクロを削除できます。 +## **VBA マクロの削除** -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成し、マクロを含むプレゼンテーションを読み込みます。 -1. マクロモジュールにアクセスし、削除します。 -1. 修正されたプレゼンテーションを保存します。 +[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスの [vba_project](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/vba_project/) プロパティを使用して、VBA マクロを削除できます。 -このPythonコードは、VBAマクロを削除する方法を示しています: +1. マクロを含むプレゼンテーションを読み込んで、[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) のインスタンスを作成します。 +1. マクロ モジュールにアクセスし、削除します。 +1. 変更後のプレゼンテーションを保存します。 +以下の Python コードは、VBA マクロを削除する方法を示しています: ```python import aspose.slides as slides -# マクロを含むプレゼンテーションを読み込みます -with slides.Presentation(path + "VBA.pptm") as presentation: - # Vbaモジュールにアクセスし、削除します - presentation.vba_project.modules.remove(presentation.vba_project.modules[0]) +# マクロを含むプレゼンテーションを読み込む。 +with slides.Presentation("VBA.pptm") as presentation: + + # VBA モジュールにアクセスする。 + vba_module = presentation.vba_project.modules[0] - # プレゼンテーションを保存します - presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) + # VBA モジュールを削除する。 + presentation.vba_project.modules.remove(vba_module) + + # プレゼンテーションを保存する。 + presentation.save("removed_macro.pptm", slides.export.SaveFormat.PPTM) ``` -## **VBAマクロの抽出** -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成し、マクロを含むプレゼンテーションを読み込みます。 -2. プレゼンテーションにVBAプロジェクトが含まれているか確認します。 -3. VBAプロジェクト内のすべてのモジュールをループして、マクロを表示します。 +## **VBA マクロの抽出** + +[VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) クラスの `modules` プロパティを使用すると、VBA プロジェクト内のすべてのモジュールにアクセスできます。[VbaModule](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbamodule/) クラスを使って、モジュール名やコードなどのプロパティを抽出できます。 -このPythonコードは、マクロを含むプレゼンテーションからVBAマクロを抽出する方法を示しています: +1. マクロを含むプレゼンテーションを読み込んで、[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) のインスタンスを作成します。 +1. プレゼンテーションに VBA プロジェクトが含まれているか確認します。 +1. VBA プロジェクト内のすべてのモジュールをループし、マクロを表示します。 +以下の Python コードは、プレゼンテーションから VBA マクロを抽出する方法を示しています: ```python import aspose.slides as slides -with slides.Presentation(path + "VBA.pptm") as pres: - if pres.vba_project is not None: # プレゼンテーションにVBAプロジェクトが含まれているか確認します - for module in pres.vba_project.modules: +with slides.Presentation("VBA.pptm") as presentation: + # プレゼンテーションに VBA プロジェクトが含まれているか確認する。 + if presentation.vba_project is not None: + for module in presentation.vba_project.modules: print(module.name) print(module.source_code) -``` \ No newline at end of file +``` + + +## **VBA プロジェクトがパスワードで保護されているかの確認** + +[VbaProject.is_password_protected](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/is_password_protected/) プロパティを使用すると、プロジェクトのプロパティがパスワードで保護されているかどうかを判断できます。 + +1. マクロを含むプレゼンテーションを読み込んで、[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) のインスタンスを作成します。 +1. [VBA プロジェクト](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) が存在するか確認します。 +1. VBA プロジェクトがパスワードで保護されているか確認し、そのプロパティを表示します。 +```py +import aspose.slides as slides + +with slides.Presentation("VBA.pptm") as presentation: + # プレゼンテーションに VBA プロジェクトが含まれているか確認する。 + if presentation.vba_project is not None: + if presentation.vba_project.is_password_protected: + print(f"The VBA Project '{presentation.vba_project.name}' is protected by password to view project properties.") +``` + + +## **FAQ** + +**プレゼンテーションを PPTX 形式で保存した場合、マクロはどうなりますか?** + +PPTX は VBA をサポートしていないため、マクロは削除されます。マクロを保持したい場合は PPTM、PPSM、または POTM を選択してください。 + +**Aspose.Slides はプレゼンテーション内のマクロを実行してデータを更新できますか?** + +できません。ライブラリは VBA コードを決して実行せず、実行は PowerPoint の適切なセキュリティ設定がある場合に限られます。 + +**VBA コードにリンクされた ActiveX コントロールの操作はサポートされていますか?** + +はい。既存の [ActiveX controls](/slides/ja/python-net/activex/) にアクセスし、プロパティを変更したり削除したりできます。これはマクロが ActiveX と連携するシナリオで便利です。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md b/ja/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md index 933102962f..2be6045de8 100644 --- a/ja/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md +++ b/ja/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md @@ -1,160 +1,135 @@ --- -title: Python で図形ロックを使用してプレゼンテーションの編集を防止する -linktitle: 編集を防止 +title: Pythonでシェイプロックを使用してプレゼンテーションの編集を防止 +linktitle: プレゼンテーションの編集防止 type: docs weight: 70 url: /ja/python-net/applying-protection-to-presentation/ keywords: -- 編集を防止 +- 編集防止 - 編集から保護 -- 図形をロック -- 位置をロック -- 選択をロック -- サイズをロック -- グループ化をロック +- シェイプのロック +- 位置のロック +- 選択のロック +- サイズのロック +- グループ化のロック - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PPT、PPTX、ODP ファイル内の図形をロックまたはロック解除し、編集を制御しながらプレゼンテーションを保護し、迅速な配信を実現する方法をご紹介します。" +description: "Aspose.Slides for Python(.NET 経由)で PPT、PPTX、ODP ファイルのシェイプをロックまたはロック解除する方法を紹介します。プレゼンテーションを保護しながら、編集を制御し、納品を高速化します。" --- -{{% alert color="primary" %}} +## **背景** -Aspose.Slidesの一般的な使用法は、Microsoft PowerPoint 2007 (PPTX) プレゼンテーションを自動化されたワークフローの一部として作成、更新、保存することです。この方法でAspose.Slidesを使用するアプリケーションのユーザーは、出力されたプレゼンテーションにアクセスできます。編集から保護することは一般的な関心事です。自動生成されたプレゼンテーションが元のフォーマットとコンテンツを保持することは重要です。 +Aspose.Slides の一般的な使用例は、Microsoft PowerPoint (PPTX) プレゼンテーションを自動化ワークフローの一部として作成、更新、保存することです。このように Aspose.Slides を利用するアプリケーションのユーザーは生成されたプレゼンテーションにアクセスできるため、編集から保護することがよく求められます。自動生成されたプレゼンテーションが元の書式やコンテンツを保持することが重要です。 -この記事では、[プレゼンテーションとスライドの構成](/slides/ja/python-net/applying-protection-to-presentation/)と、Aspose.Slides for Python via .NETがどのようにして[保護を適用するか](/slides/ja/python-net/applying-protection-to-presentation/)、そして[それをプレゼンテーションから除去するか](/slides/ja/python-net/applying-protection-to-presentation/)を説明します。この機能はAspose.Slides特有のもので、執筆時点ではMicrosoft PowerPointにはありません。これは、アプリケーションが作成したプレゼンテーションの使用方法を制御する手段を開発者に提供します。 +この記事では、プレゼンテーションとスライドの構造と、Aspose.Slides for Python がプレゼンテーションに保護を適用し、後でそれを削除する方法を説明します。これにより、開発者はアプリケーションが生成するプレゼンテーションの使用方法を制御できます。 -{{% /alert %}} ## **スライドの構成** -PPTXスライドは、自動図形、テーブル、OLEオブジェクト、グループ化された図形、画像フレーム、ビデオフレーム、コネクタ、プレゼンテーションを構築するために使用可能なさまざまな要素など、多数のコンポーネントで構成されています。 -Aspose.Slides for Python via .NETでは、スライド上の各要素はShapeオブジェクトに変換されます。言い換えれば、スライド上の各要素は、ShapeオブジェクトまたはShapeオブジェクトから派生したオブジェクトのいずれかです。 +プレゼンテーション スライドは、オートシェイプ、テーブル、OLE オブジェクト、グループ化シェイプ、画像フレーム、ビデオ フレーム、コネクタ、その他の要素で構成されます。Aspose.Slides for Python では、スライド上の各要素は [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) クラスを継承したオブジェクトで表されます。 -PPTXの構造は複雑であるため、すべての型の図形に対して一般的なロックを使用できるPPTとは異なり、異なる型の図形には異なるロックがあります。BaseShapeLockクラスは、一般的なPPTXロッキングクラスです。Aspose.Slides for Python via .NETでは、PPTX用に次の種類のロックがサポートされています。 +PPTX の構造は複雑で、PPT のようにすべてのシェイプに対して汎用ロックを使用できません。シェイプの種類ごとに異なるロックが必要です。[BaseShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/baseshapelock/) クラスは PPTX 用の汎用ロッククラスです。Aspose.Slides for Python for PPTX がサポートするロックの種類は次のとおりです。 -- AutoShapeLockは自動図形をロックします。 -- ConnectorLockはコネクタ図形をロックします。 -- GraphicalObjectLockはグラフィカルオブジェクトをロックします。 -- GroupshapeLockはグループ図形をロックします。 -- PictureFrameLockは画像フレームをロックします。 +- [AutoShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshapelock/) はオートシェイプをロックします。 +- [ConnectorLock](https://reference.aspose.com/slides/python-net/aspose.slides/connectorlock/) はコネクタ シェイプをロックします。 +- [GraphicalObjectLock](https://reference.aspose.com/slides/python-net/aspose.slides/graphicalobjectlock/) はグラフィック オブジェクトをロックします。 +- [GroupShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/groupshapelock/) はグループ シェイプをロックします。 +- [PictureFrameLock](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/) は画像フレームをロックします。 + +[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) オブジェクト内のすべてのシェイプ オブジェクトに対して実行された操作は、プレゼンテーション全体に適用されます。 -プレゼンテーションオブジェクト内のすべてのShapeオブジェクトに対して実行されるアクションは、プレゼンテーション全体に適用されます。 ## **保護の適用と削除** -保護を適用することで、プレゼンテーションが編集されないことを確保します。これは、プレゼンテーションのコンテンツを保護するための便利な技術です。 -### **PPTX図形への保護の適用** -Aspose.Slides for Python via .NETは、スライド上の図形を処理するためのShapeクラスを提供します。 -前述のように、各図形クラスには保護のための関連する図形ロッククラスがあります。この記事では、NoSelect、NoMove、NoResizeロックに焦点を当てています。これらのロックは、図形が選択できなくなること(マウスクリックや他の選択方法を通じて)、移動やサイズ変更ができないことを保証します。 +保護を適用すると、プレゼンテーションを編集できなくなります。これはコンテンツを保護する有用な手法です。 + +### **PPTX シェイプへの保護の適用** + +Aspose.Slides for Python はスライド上のシェイプを操作するために [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) クラスを提供します。 -以下のコードサンプルは、プレゼンテーション内のすべての図形タイプに保護を適用します。 +前述のとおり、各シェイプ クラスには保護用のシェイプロック クラスが関連付けられています。この記事では NoSelect、NoMove、NoResize ロックに焦点を当てます。これらのロックはシェイプが選択(マウスクリックやその他の選択方法)できず、移動やサイズ変更もできないようにします。 +以下のコード サンプルは、プレゼンテーション内のすべてのシェイプ タイプに保護を適用します。 ```py import aspose.slides as slides -#PPTXファイルを表すPresentationクラスをインスタンス化 -with slides.Presentation(path + "RectPicFrame.pptx") as pres: - #プレゼンテーション内のスライドにアクセスするためのISlideオブジェクト - slide = pres.slides[0] - - #プレゼンテーション内のすべてのスライドを走査 - for slide in pres.slides: +# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。 +with slides.Presentation("Sample.pptx") as presentation: + # プレゼンテーション内のすべてのスライドを走査します。 + for slide in presentation.slides: + # スライド内のすべてのシェイプを走査します。 for shape in slide.shapes: - #図形が自動図形の場合 if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #図形ロックの適用 - auto_shape_lock.position_locked = True - auto_shape_lock.select_locked = True - auto_shape_lock.size_locked = True - - #図形がグループ図形の場合 + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #図形ロックの適用 - group_shape_lock.grouping_locked = True - group_shape_lock.position_locked = True - group_shape_lock.select_locked = True - group_shape_lock.size_locked = True - - #図形がコネクタの場合 + shape.shape_lock.grouping_locked = True + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #図形ロックの適用 - connector_lock.position_move = True - connector_lock.select_locked = True - connector_lock.size_locked = True - #図形が画像フレームの場合 + shape.shape_lock.position_move = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.PictureFrame: - #画像フレーム図形にキャストし、画像フレーム図形ロックを取得 - picture_lock = shape.shape_lock - - #図形ロックの適用 - picture_lock.position_locked = True - picture_lock.select_locked = True - picture_lock.size_locked = True - - #プレゼンテーションファイルを保存 - pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True + # プレゼンテーション ファイルを保存します。 + presentation.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) ``` ### **保護の削除** -Aspose.Slides for Python via .NETを使用して適用された保護は、Aspose.Slides for Python via .NETでのみ削除できます。図形のロックを解除するには、適用したロックの値をfalseに設定します。以下のコードサンプルでは、ロックされたプレゼンテーション内の図形のロックを解除する方法を示します。 +シェイプのロックを解除するには、適用されたロックの値を `False` に設定します。次のコード サンプルは、ロックされたプレゼンテーションでシェイプのロックを解除する方法を示しています。 ```py import aspose.slides as slides -#必要なプレゼンテーションを開く -with slides.Presentation("ProtectedSample.pptx") as pres: - for slide in pres.slides: +# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。 +with slides.Presentation("ProtectedSample.pptx") as presentation: + # プレゼンテーション内のすべてのスライドを走査します。 + for slide in presentation.slides: + # スライド内のすべてのシェイプを走査します。 for shape in slide.shapes: - - if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #図形ロックの適用 - auto_shape_lock.position_locked = False - auto_shape_lock.select_locked = False - auto_shape_lock.size_locked = False - - elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #図形ロックの適用 - group_shape_lock.grouping_locked = False - group_shape_lock.position_locked = False - group_shape_lock.select_locked = False - group_shape_lock.size_locked = False + if type(shape) is slides.AutoShape: + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + elif type(shape) is slides.GroupShape: + shape.shape_lock.grouping_locked = False + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #図形ロックの適用 - connector_lock.position_move = False - connector_lock.select_locked = False - connector_lock.size_locked = False + shape.shape_lock.position_move = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.PictureFrame: - picture_lock = shape.shape_lock - - #図形ロックの適用 - picture_lock.position_locked = False - picture_lock.select_locked = False - picture_lock.size_locked = False - #プレゼンテーションファイルを保存 - pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + # プレゼンテーション ファイルを保存します。 + presentation.save("RemovedProtectionSample.pptx", slides.export.SaveFormat.PPTX) ``` +### **結論** + +Aspose.Slides では、プレゼンテーション内のシェイプを保護するためのさまざまなオプションが用意されています。個々のシェイプをロックすることも、プレゼンテーション内のすべてのシェイプを反復処理してそれぞれロックすることもでき、ファイル全体を効果的に保護できます。ロックの値を `False` に設定すれば保護を解除できます。 + +## **FAQ** + +**シェイプ ロックとパスワード保護を同じプレゼンテーションで組み合わせられますか?** + +はい。ロックはファイル内のオブジェクトの編集を制限し、[password protection](/slides/ja/python-net/password-protected-presentation/) は開封や変更の保存へのアクセスを制御します。これらのメカニズムは相補的に機能します。 -### **まとめ** -{{% alert color="primary" %}} +**特定のスライドだけ編集を制限し、他のスライドはそのままにできますか?** -Aspose.Slidesは、プレゼンテーション内の図形に保護を適用するための多くのオプションを提供しています。特定の図形をロックすることもできますし、プレゼンテーション内のすべての図形をループしてすべてをロックし、実質的にプレゼンテーションをロックすることも可能です。 +はい。選択したスライドのシェイプにロックを適用すれば、残りのスライドは引き続き編集可能です。 -保護を削除できるのは、以前に保護したプレゼンテーションに対してのみAspose.Slides for Python via .NETです。ロックの値をfalseに設定することで保護を解除します。 +**シェイプ ロックはグループ化オブジェクトやコネクタにも適用されますか?** -{{% /alert %}} +はい。グループ、コネクタ、グラフィック オブジェクト、その他のシェイプ種別に対応した専用ロック タイプがサポートされています。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md b/ja/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md index 3ca55d6a13..5eeb76b526 100644 --- a/ja/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md +++ b/ja/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md @@ -1,31 +1,32 @@ --- -title: Python でプレゼンテーションの図形から画像を抽出する -linktitle: 図形から画像 +title: Python でプレゼンテーションのシェイプから画像を抽出する +linktitle: シェイプからの画像 type: docs weight: 90 url: /ja/python-net/extracting-images-from-presentation-shapes/ keywords: -- 画像を抽出 -- 画像を取得 +- 画像抽出 +- 画像取得 - スライドの背景 -- 図形の背景 +- シェイプの背景 - PowerPoint - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python を使用して PowerPoint および OpenDocument プレゼンテーションの図形から画像を抽出する、迅速でコーディングに適したソリューション。" +description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションのシェイプから画像を抽出します — 手軽でコードフレンドリーなソリューションです。" --- +## **シェイプから画像を抽出する** + {{% alert color="primary" %}} -画像はしばしば図形に追加され、またスライドの背景としても頻繁に使用されます。画像オブジェクトは[IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)を介して追加され、これは[IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/)オブジェクトのコレクションです。 +画像はしばしばシェイプに追加され、スライドの背景としても頻繁に使用されます。画像オブジェクトは[IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)を介して追加され、[IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/)オブジェクトのコレクションです。 -この記事では、プレゼンテーションに追加された画像を抽出する方法について説明します。 +このページでは、プレゼンテーションに追加された画像を抽出する方法を説明します。 {{% /alert %}} -プレゼンテーションから画像を抽出するには、まずすべてのスライドを通過して画像を見つける必要があります。その後、すべての図形を通過します。画像が見つかるか識別されると、画像を抽出し、新しいファイルとして保存できます。XXX - +プレゼンテーションから画像を抽出するには、まずすべてのスライドを走査し、次にすべてのシェイプを走査して画像を見つける必要があります。画像が見つかったら、抽出して新しいファイルとして保存できます。 XXX ```py import aspose.slides as slides @@ -41,7 +42,7 @@ def get_image_format(image_type): with slides.Presentation("pres.pptx") as pres: #プレゼンテーションにアクセス - + slideIndex = 0 image_type = "" ifImageFound = False @@ -63,7 +64,7 @@ with slides.Presentation("pres.pptx") as pres: is_layout = True if back_image is not None: - #希望の画像形式を設定 + #希望する画像形式を設定 image_type = back_image.content_type.split("/")[1] image_format = get_image_format(image_type) @@ -87,4 +88,23 @@ with slides.Presentation("pres.pptx") as pres: shape_image.image.save( file_name.format("shape_"+str(i)+"_", slideIndex, image_type), image_format) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Can I extract the original image without any cropping, effects, or shape transformations?** + +はい。シェイプの画像にアクセスすると、プレゼンテーションの[image collection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/)から画像オブジェクトが取得されます。つまり、切り抜きやスタイル効果のない元のピクセルが得られます。ワークフローはプレゼンテーションの画像コレクションと[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)オブジェクトを通過し、元データを保持しています。 + +**Is there a risk of duplicating identical files when saving many images at once?** + +はい、無差別に保存すると重複する可能性があります。プレゼンテーションの[image collection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/)には、異なるシェイプやスライドから参照されている同一のバイナリデータが含まれることがあります。重複を防ぐために、書き出す前にハッシュ、サイズ、または抽出データの内容を比較してください。 + +**How can I determine which shapes are linked to a specific image from the presentation’s collection?** + +Aspose.Slides は[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)からシェイプへの逆リンクを保持していません。走査中に手動でマッピングを作成してください。つまり、[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)への参照が見つかったときに、どのシェイプがそれを使用しているかを記録します。 + +**Can I extract images embedded inside OLE objects, such as attached documents?** + +直接はできません。OLE オブジェクトはコンテナであり、まず OLE パッケージ自体を抽出し、別のツールで内容を解析する必要があります。プレゼンテーションの画像シェイプは[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)を介して機能し、OLE は別のオブジェクトタイプです。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md b/ja/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md index f7564b0b76..95ef9fcf62 100644 --- a/ja/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md +++ b/ja/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md @@ -1,5 +1,5 @@ --- -title: プレゼンテーションからスライド全体の背景を画像として取得する +title: プレゼンテーションからスライド全体の背景を画像として取得 linktitle: スライド全体の背景 type: docs weight: 95 @@ -8,8 +8,8 @@ keywords: - スライド - 背景 - スライド背景 -- 完全な背景 -- 背景を画像に +- 最終背景 +- 背景を画像に変換 - PowerPoint - OpenDocument - プレゼンテーション @@ -18,22 +18,24 @@ keywords: - ODP - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET を使用して、PowerPoint および OpenDocument プレゼンテーションからスライド全体の背景を画像として抽出し、ビジュアルワークフローを効率化する方法をご紹介します。" +description: "Aspose.Slides for Python(.NET)を使用して、PowerPoint と OpenDocument のプレゼンテーションからスライド全体の背景を画像として抽出し、ビジュアル ワークフローを効率化します。" --- -PowerPointプレゼンテーションでは、スライドの背景は多くの要素から構成される場合があります。[スライド背景](/slides/ja/python-net/presentation-background/)として設定された画像に加え、最終的な背景はプレゼンテーションテーマ、カラースキーム、マスタースライドやレイアウトスライドに配置された図形に影響されることがあります。 +## **スライド全体の背景を取得** -Aspose.Slides for Pythonには、プレゼンテーションスライド全体の背景を画像として抽出するための簡単な方法は提供されていませんが、以下の手順に従うことでこれを実行できます: +PowerPoint プレゼンテーションでは、スライドの背景は多数の要素で構成されることがあります。[スライドの背景](/slides/ja/python-net/presentation-background/) に設定された画像に加えて、最終的な背景はプレゼンテーションのテーマ、カラースキーム、およびマスタースライドやレイアウトスライドに配置された図形の影響を受けます。 + +Aspose.Slides for Python には、プレゼンテーション全体のスライド背景を画像として抽出する簡単な方法は用意されていませんが、以下の手順で実行できます: 1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスを使用してプレゼンテーションを読み込みます。 -1. プレゼンテーションからスライドサイズを取得します。 +1. プレゼンテーションからスライドのサイズを取得します。 1. スライドを選択します。 1. 一時的なプレゼンテーションを作成します。 1. 一時的なプレゼンテーションに同じスライドサイズを設定します。 -1. 選択したスライドを一時的なプレゼンテーションに複製します。 -1. 複製したスライドから図形を削除します。 -1. 複製したスライドを画像に変換します。 +1. 選択したスライドを一時的なプレゼンテーションにクローンします。 +1. クローンしたスライドから図形を削除します。 +1. クローンしたスライドを画像に変換します。 -以下のコード例は、プレゼンテーションスライド全体の背景を画像として抽出します。 +以下のコード例は、プレゼンテーション全体のスライド背景を画像として抽出します。 ```py slide_index = 0 image_scale = 1 @@ -51,4 +53,23 @@ with slides.Presentation("sample.pptx") as presentation: with cloned_slide.get_image(image_scale, image_scale) as background: background.save("output.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **FAQ** + +**マスタースライドからの複雑なグラデーション、テクスチャ、または画像塗りつぶしは、生成された背景画像に保持されますか?** + +はい。Aspose.Slides はスライド、レイアウト、またはマスターで定義されたグラデーション、画像、テクスチャの塗りつぶしをレンダリングします。継承されたマスターの外観を分離したい場合は、エクスポート前に現在のスライドに[独自の背景](/slides/ja/python-net/presentation-background/) を設定してください。 + +**保存する前に、生成された背景画像に透かしを追加できますか?** + +はい。作業用の[スライドのコピー](/slides/ja/python-net/clone-slides/) に透かしシェイプや画像を(他のコンテンツの背後に配置して)追加し、次にエクスポートできます。これにより、透かしが埋め込まれた背景画像を生成できます。 + +**既存のスライドに紐付けずに、特定のレイアウトまたはマスターの背景を取得できますか?** + +はい。目的のマスターまたはレイアウトにアクセスし、必要なサイズの[一時スライド](/slides/ja/python-net/clone-slides/) に適用してエクスポートすれば、そのレイアウトまたはマスターから導き出された背景を取得できます。 + +**画像エクスポートに影響するライセンス制限はありますか?** + +レンダリング機能は[有効なライセンス](/slides/ja/python-net/licensing/) があれば完全に利用できます。評価モードでは、出力に透かしなどの制限が含まれる場合があります。バッチエクスポートを実行する前に、プロセスごとにライセンスを一度アクティブ化してください。 \ No newline at end of file diff --git a/ja/python-net/developer-guide/technical-articles/multithreading/_index.md b/ja/python-net/developer-guide/technical-articles/multithreading/_index.md index e0c47798dc..42bd5ddf78 100644 --- a/ja/python-net/developer-guide/technical-articles/multithreading/_index.md +++ b/ja/python-net/developer-guide/technical-articles/multithreading/_index.md @@ -1,35 +1,34 @@ --- -title: Aspose.Slides for Python におけるマルチスレッド処理 -linktitle: マルチスレッド処理 +title: Aspose.Slides for Python のマルチスレッディング +linktitle: マルチスレッディング type: docs weight: 200 url: /ja/python-net/multithreading/ keywords: -- マルチスレッド +- マルチスレッディング - 複数スレッド - 並列処理 - スライド変換 -- スライドを画像に +- スライドから画像へ - PowerPoint - OpenDocument - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET のマルチスレッド処理は PowerPoint と OpenDocument の処理を高速化します。効率的なプレゼンテーションワークフローのためのベストプラクティスを紹介します。" +description: "Aspose.Slides for Python(.NET)でのマルチスレッディングにより、PowerPoint および OpenDocument の処理が向上します。効率的なプレゼンテーション ワークフローのベストプラクティスをご確認ください。" --- ## **はじめに** -プレゼンテーションに対する並列作業は可能ですが(解析/ロード/クローンを除いて)、すべてがうまくいくわけではなく(ほとんどの場合)、ライブラリを複数のスレッドで使用する際に不正確な結果が得られる可能性があります。 +プレゼンテーションを使用した並列処理は(解析/ロード/クローンを除いて)可能で、ほとんどの場合はうまく動作しますが、複数スレッドでライブラリを使用すると結果が正しくない可能性がわずかにあります。 -**絶対に**マルチスレッド環境で単一の[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)インスタンスを使用しないことを強くお勧めします。これにより、予測不可能なエラーや簡単には検出できない障害が発生する可能性があります。 +マルチスレッド環境で単一の [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) インスタンスを使用しないことを**強く推奨**します。そうしないと、予測できないエラーや検出が難しい失敗が発生する可能性があります。 -複数のスレッドで[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスをロード、保存、および/またはクローンすることは**安全ではありません**。そのような操作は**サポートされていません**。そのようなタスクを実行する必要がある場合は、複数の単一スレッドプロセスを使用して操作を並列化する必要があります。そして、これらの各プロセスは独自のプレゼンテーションインスタンスを使用する必要があります。 +複数スレッドで [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスをロード、保存、またはクローンすることは **安全ではありません**。このような操作は **サポートされていません**。このようなタスクを実行する必要がある場合は、複数のシングルスレッドプロセスを使用して操作を並列化し、各プロセスが独自のプレゼンテーションインスタンスを使用する必要があります。 -## **プレゼンテーションスライドを並列に画像に変換する** - -すべてのスライドをPowerPointプレゼンテーションからPNG画像に並列で変換したいとします。複数のスレッドで単一の`Presentation`インスタンスを使用することが安全でないため、プレゼンテーションスライドを別々のプレゼンテーションに分割し、それぞれのプレゼンテーションを使用してスライドを並列に画像に変換します。以下のコード例では、これをどのように行うかを示しています。 +## **プレゼンテーション スライドを並列で画像に変換** +PowerPoint プレゼンテーションのすべてのスライドを PNG 画像に並列で変換したいとします。複数スレッドで単一の `Presentation` インスタンスを使用するのは安全でないため、プレゼンテーションのスライドを別々のプレゼンテーションに分割し、各スレッドで個別のプレゼンテーションを使用してスライドを画像に並列変換します。以下のコード例はその方法を示しています。 ```py input_file_path = "sample.pptx" output_file_path_template = "slide_{0}.png" @@ -68,4 +67,23 @@ for task in conversion_tasks: task.result() del presentation -``` \ No newline at end of file +``` + + +## **よくある質問** + +**すべてのスレッドでライセンス設定を呼び出す必要がありますか?** + +いいえ。スレッドが開始される前に、プロセス/アプリドメインごとに一度だけ実行すれば十分です。もし [license setup](/slides/ja/python-net/licensing/) が同時に呼び出される可能性がある場合(例: 遅延初期化時)、その呼び出しを同期してください。ライセンス設定メソッド自体はスレッドセーフではありません。 + +**スレッド間で `Presentation` または `Slide` オブジェクトを受け渡すことはできますか?** + +スレッド間で「ライブ」なプレゼンテーションオブジェクトを渡すことは推奨されません。スレッドごとに独立したインスタンスを使用するか、各スレッド用に別々のプレゼンテーション/スライドコンテナを事前に作成してください。このアプローチは、単一のプレゼンテーションインスタンスをスレッド間で共有しないという一般的な推奨事項に沿ったものです。 + +**各スレッドが独自の `Presentation` インスタンスを持つ場合、PDF、HTML、画像などの異なる形式へのエクスポートを並列化しても安全ですか?** + +はい。独立したインスタンスと個別の出力パスを使用すれば、このようなタスクは通常正しく並列化されます。プレゼンテーションオブジェクトや I/O ストリームを共有しないようにしてください。 + +**マルチスレッド環境でのグローバルフォント設定(フォルダー、置換など)にはどう対処すべきですか?** + +スレッドを開始する前にすべてのグローバルフォント設定を初期化し、並列処理中に変更しないでください。これにより、共有フォントリソースへのアクセス競合が解消されます。 \ No newline at end of file diff --git a/ja/python-net/getting-started/features-overview/_index.md b/ja/python-net/getting-started/features-overview/_index.md index 81b151f9b7..f0b43f2f0a 100644 --- a/ja/python-net/getting-started/features-overview/_index.md +++ b/ja/python-net/getting-started/features-overview/_index.md @@ -16,78 +16,104 @@ keywords: - プレゼンテーション - Python - Aspose.Slides -description: "Python 向け Aspose.Slides の強力な API を使用して、PowerPoint および OpenDocument プレゼンテーションを効率的に作成、編集、自動化、変換する方法をご紹介します。" +description: "Aspose.Slides for Python via .NET を発見:PowerPoint および OpenDocument プレゼンテーションを効率的に作成、編集、操作、変換できる強力な API です。" --- ## **サポートされているプラットフォーム** -Aspose.Slides for Python via .NETは、Windows x64またはx86上で、Python 3.5以降がインストールされた広範なLinuxディストリビューションで使用できます。ターゲットLinuxプラットフォームには追加の要件があります: -- GCC-6ランタイムライブラリ(またはそれ以降) -- .NET Coreランタイムの依存関係。 .NET Coreランタイム自体のインストールは必要ありません -- Python 3.5-3.7用:`pymalloc`ビルドのPythonが必要です。デフォルトで`--with-pymalloc` Pythonビルドオプションが有効です。通常、Pythonの`pymalloc`ビルドはファイル名に`m`サフィックスが付いています。 -- `libpython`共有Pythonライブラリ。デフォルトで`--enable-shared` Pythonビルドオプションは無効になっており、一部のPythonディストリビューションには`libpython`共有ライブラリが含まれていません。一部のLinuxプラットフォームでは、パッケージマネージャーを使用して`libpython`共有ライブラリをインストールできます。例えば:`sudo apt-get install libpython3.7`。一般的な問題は、`libpython`ライブラリが共有ライブラリの標準システムロケーションとは異なる場所にインストールされることです。この問題は、Pythonをコンパイルする際に代替ライブラリパスを設定するためにPythonビルドオプションを使用するか、共有ライブラリのシステム標準ロケーションに`libpython`ライブラリファイルへのシンボリックリンクを作成することで修正できます。通常、Python 3.5-3.7の`libpython`共有ライブラリファイル名は`libpythonX.Ym.so.1.0`、Python 3.8以降の場合は`libpythonX.Y.so.1.0`(例えば:`libpython3.7m.so.1.0`、`libpython3.9.so.1.0`)です。 - -より多くのプラットフォームをサポートする必要がある場合は、「双子兄弟」製品であるAspose.Slides for .NETまたはAspose.Slides for Javaを探してください。 +Aspose.Slides for Python via .NET が使用できるプラットフォームは、Windows x64 または x86 と、Python 3.5 以降がインストールされた幅広い Linux ディストリビューションです。ターゲット Linux プラットフォームには以下の追加要件があります: +- GCC-6 ランタイム ライブラリ(またはそれ以降) +- .NET Core Runtime の依存関係。.NET Core Runtime 自体のインストールは不要です +- Python 3.5‑3.7 用: `pymalloc` ビルドの Python が必要です。`--with-pymalloc` ビルド オプションはデフォルトで有効になっています。通常、`pymalloc` ビルドはファイル名に `m` サフィックスが付きます +- `libpython` 共有 Python ライブラリ。`--enable-shared` ビルド オプションはデフォルトで無効になっており、一部の Python ディストリビューションには `libpython` 共有ライブラリが含まれていません。一部の Linux プラットフォームではパッケージ マネージャーで `libpython` 共有ライブラリをインストールできます(例: `sudo apt-get install libpython3.7`)。一般的な問題は、`libpython` ライブラリが標準の共有ライブラリのシステム ロケーションとは異なる場所にインストールされていることです。この問題は、Python をコンパイルする際にビルド オプションで代替ライブラリ パスを設定するか、システムの標準共有ライブラリ ロケーションに `libpython` ライブラリへのシンボリック リンクを作成することで解決できます。通常、`libpython` 共有ライブラリのファイル名は Python 3.5‑3.7 の場合 `libpythonX.Ym.so.1.0`、Python 3.8 以降の場合は `libpythonX.Y.so.1.0`(例: `libpython3.7m.so.1.0`、`libpython3.9.so.1.0`)です。 +より多くのプラットフォームのサポートが必要な場合は、Aspose.Slides for .NET または Aspose.Slides for Java の「ツインブラザー」製品をご確認ください。 ## **ファイル形式と変換** -Aspose.Slides for Python via .NETは、ほとんどのPowerPointドキュメント形式をサポートしています。また、組織が広く使用し相互に交換している一般的な形式にエクスポートすることもできます。これらの詳細をご覧ください: +Aspose.Slides for Python via .NET は、ほとんどの PowerPoint ドキュメント形式をサポートします。また、組織が広く使用し相互に交換する人気フォーマットへのエクスポートも可能です。詳細は以下をご覧ください: |**機能**|**説明**| | :- | :- | -|[Microsoft PowerPoint (PPT)](/slides/ja/python-net/ppt-vs-pptx/)|Aspose.Slides for Python via .NETは、このプレゼンテーションドキュメント形式の最速の処理を提供します。| -|[PPTからPPTXへの変換](/slides/ja/python-net/convert-ppt-to-pptx/)|Aspose.Slides for Python via .NETは、PPTからPPTXへの変換をサポートしています。| -|[Portable Document Format (PDF)](/slides/ja/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|すべてのサポートされるファイル形式を、単一のメソッドでAdobe Portable Document Format (PDF)ドキュメントにエクスポートできます。| -|[XML Parser Specification (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|すべてのサポートされるファイル形式を、単一のメソッドでXML Parser Specification (XPS)ドキュメントにエクスポートできます。| -|[Tagged Image File Format (TIFF)](/slides/ja/python-net/convert-powerpoint-to-tiff/)|すべてのサポートされるプレゼンテーションファイル形式をTagged Image File Format (TIFF)にエクスポートできます。| -|[PPTXからHTMLへの変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides for Python via .NETは、PresentationExをHTML形式に変換することをサポートしています。| +|[Microsoft PowerPoint (PPT)](/slides/ja/python-net/ppt-vs-pptx/)|Aspose.Slides for Python via .NET はこのプレゼンテーション ドキュメント形式の最速処理を提供します。| +|[PPT から PPTX への変換](/slides/ja/python-net/convert-ppt-to-pptx/)|Aspose.Slides for Python via .NET は PPT から PPTX への変換をサポートします。| +|[Portable Document Format (PDF)](/slides/ja/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|単一のメソッドで、サポートされているすべてのファイル形式を Adobe Portable Document Format (PDF) にエクスポートできます。| +|[XML Parser Specification (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|単一のメソッドで、サポートされているすべてのファイル形式を XML Parser Specification (XPS) にエクスポートできます。| +|[Tagged Image File Format (TIFF)](/slides/ja/python-net/convert-powerpoint-to-tiff/)|サポートされているプレゼンテーション ファイル形式を Tagged Image File Format (TIFF) にエクスポートできます。| +|[PPTX から HTML への変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides for Python via .NET は PresentationEx を HTML 形式に変換することをサポートします。| ## **レンダリングと印刷** -Aspose.Slides for Python via .NETは、プレゼンテーションドキュメント内のスライドをさまざまなグラフィック形式に高忠実度でレンダリングすることをサポートしています。これらの詳細をご覧ください: +Aspose.Slides for Python via .NET は、プレゼンテーション ドキュメント内のスライドをさまざまなグラフィック形式に高忠実度でレンダリングできます。詳細は以下をご覧ください: |**機能**|**説明**| | :- | :- | -|.NETサポートの画像形式|Aspose.Slides for Python via .NETを使用すると、プレゼンテーションスライドとスライド上の画像をTIFF、PNG、BMP、JPEG、GIF、メタファイルなどのすべての.NETサポートのグラフィック形式にレンダリングすることができます。| -|SVG形式|Aspose.Slides for Python via .NETは、プレゼンテーションスライドをスケーラブルベクターグラフィックス(SVG)形式にエクスポートするための組み込みメソッドも提供しています。| -|プレゼンテーション印刷|Aspose.Slides for Python via .NETの最新バージョンは、異なるオプションを持つ組み込み印刷メソッドを提供します。| +|.NET がサポートする画像形式|Aspose.Slides for Python via .NET を使用すると、TIFF、PNG、BMP、JPEG、GIF、メタファイルなど、.NET がサポートするすべての画像形式にプレゼンテーション スライドやスライド上の画像をレンダリングできます。| +|SVG 形式|Aspose.Slides for Python via .NET は、Scalable Vector Graphics (SVG) 形式へのスライドエクスポート用組み込みメソッドも提供します。| +|プレゼンテーションの印刷|最新バージョンの Aspose.Slides for Python via .NET は、さまざまなオプションを備えた組み込み印刷メソッドを提供します。| + ## **コンテンツ機能** -Aspose.Slides for Python via .NETを使用すると、プレゼンテーションドキュメント内のほぼすべてのアイテムやコンテンツにアクセス、変更、または作成できるようになります。これらの詳細をご覧ください: +Aspose.Slides for Python via .NET は、プレゼンテーション ドキュメントのほぼすべての項目やコンテンツにアクセス、変更、作成することを可能にします。詳細は以下をご覧ください: |**機能**|**説明**| | :- | :- | -|マスタースライド|マスタースライドは、通常のスライドのレイアウトを定義します。Aspose.Slides for Python via .NETを使用すると、プレゼンテーションドキュメントのマスタースライドにアクセスして変更できます。| -|通常のスライド|Aspose.Slides for Python via .NETでは、さまざまなタイプの新しいスライドを作成できます。また、プレゼンテーション内の既存のスライドにアクセスして変更できます。| -|スライドのクローン/コピー|Aspose.Slides for Python via .NETでは、プレゼンテーション内の既存のスライドをクローンまたはコピーできる組み込みメソッドが提供されています。また、コピーされたスライドやクローンされたスライドを別のプレゼンテーション間で使用することもできます。スライドはマスタースライドからレイアウトを継承するため、組み込みのクローンメソッドはクローン時に自動的にマスターをコピーします。| -|スライドセクションの管理|プレゼンテーション内の異なるセクションにスライドを整理するためのメソッド| -|プレースホルダーとテキストホルダー|スライド内のプレースホルダーとテキストホルダーにアクセスできます。さらに、適切なメソッドを使用して、テキストホルダーのあるスライドをゼロから作成できます。| -|ヘッダーとフッター|Aspose.Slides for Python via .NETは、スライド内のヘッダー/フッターの処理を容易にします。| -|スライドのノート|Aspose.Slides for Python via .NETを使用すると、スライドに関連付けられたノートにアクセスして変更し、新しいノートを追加することができます。| -|シェイプの検索|シェイプに関連付けられた代替テキストを使用して、スライドから特定のシェイプを見つけることもできます。| -|背景|Aspose.Slides for Python via .NETを使用すると、プレゼンテーション内のマスターまたは通常のスライドに関連付けられた背景を操作できます。| -|テキストボックス|テキストボックスはゼロから作成できます。既存のテキストボックスにアクセスすることもできます。また、元のテキスト形式を失うことなく、そのテキストを変更できます。| -|長方形シェイプ|Aspose.Slides for Python via .NETを使用して、長方形のシェイプを作成または変更できます。| -|ポリラインシェイプ|Aspose.Slides for Python via .NETを使用して、ポリラインシェイプを作成または変更できます。| -|楕円形シェイプ|Aspose.Slides for Python via .NETを使用して、楕円形のシェイプを作成または変更できます。| -|グループシェイプ|Aspose.Slides for Python via .NETは、グループシェイプをサポートしています。| -|自動シェイプ|Aspose.Slides for Python via .NETは、自動シェイプをサポートしています。| -|SmartArt|Aspose.Slides for Python via .NETは、MS PowerPoint内のSmartArtシェイプをサポートしています。| -|チャート|Aspose.Slides for Python via .NETは、PowerPointのMSOチャートをサポートしています。| -|シェイプのシリアライズ|Aspose.Slides for Python via .NETは、多くのシェイプをサポートしています。Aspose.Slides for Python via .NETがシェイプをサポートしていない場合は、既存のスライドからそのシェイプをシリアライズする方法を使用することができます。この方法を使うことで、要求に応じてシェイプをさらに使用できます。| -|画像フレーム|Aspose.Slides for Python via .NETを使用して、画像フレーム内の画像を管理できます。| -|オーディオフレーム|Aspose.Slides for Python via .NETを使用して、スライド内のオーディオフレームにオーディオファイルをリンクまたは埋め込むことができます。| -|ビデオフレーム|ビデオフレーム内のビデオファイルを処理できます。Aspose.Slides for Python via .NETは、リンクされたビデオや埋め込まれたビデオもサポートしています。| -|OLEフレーム|Aspose.Slides for Python via .NETを使用して、OLEフレーム内のOLEオブジェクトを管理できます。| -|テーブル|Aspose.Slides for Python via .NETは、スライド内のテーブルをサポートしています。| -|ActiveXコントロール|ActiveXコントロールのサポート| -|VBAマクロ|プレゼンテーション内のVBAマクロを管理するためのサポート。| -|テキストフレーム|シェイプに関連付けられたテキストフレームを通じて、任意のシェイプのテキストにアクセスできます。| -|テキストスキャン|組み込みスキャンメソッドを通じて、プレゼンテーションのプレゼンテーションレベルまたはスライドレベルでテキストをスキャンできます。| +|マスタースライド|マスタースライドは通常スライドのレイアウトを定義します。Aspose.Slides for Python via .NET では、プレゼンテーションのマスタースライドにアクセスし変更できます。| +|通常スライド|Aspose.Slides for Python via .NET を使用すると、さまざまなタイプの新しいスライドを作成でき、既存のスライドにもアクセスして変更できます。| +|スライドのクローン / コピー|Aspose.Slides for Python via .NET が提供する組み込みメソッドにより、プレゼンテーション内の既存スライドをクローンまたはコピーできます。クローンやコピーしたスライドを別のプレゼンテーションに使用することも可能です。スライドはマスタースライドからレイアウトを継承するため、クローン時にマスターも自動的にコピーされます。| +|スライド セクションの管理|プレゼンテーション内でスライドを異なるセクションに整理するメソッドがあります。| +|プレースホルダーとテキストプレースホルダー|スライド内のプレースホルダーとテキストプレースホルダーにアクセスできます。また、適切なメソッドを使ってテキストプレースホルダーだけのスライドをゼロから作成できます。| +|ヘッダーとフッター|Aspose.Slides for Python via .NET は、スライドのヘッダー/フッターの処理を容易にします。| +|スライドのノート|Aspose.Slides for Python via .NET を使用すると、スライドに関連付けられたノートにアクセス・変更でき、また新しいノートを追加できます。| +|シェイプの検索|シェイプに設定された代替テキストを使用して、スライド内の特定シェイプを検索できます。| +|背景|マスターまたは通常スライドに関連付けられた背景を操作できます。| +|テキスト ボックス|テキスト ボックスはゼロから作成でき、既存のテキスト ボックスにアクセスして、元の書式を保持したままテキストを変更できます。| +|矩形シェイプ|矩形シェイプを作成または変更できます。| +|ポリライン シェイプ|ポリライン シェイプを作成または変更できます。| +|楕円シェイプ|楕円シェイプを作成または変更できます。| +|グループ シェイプ|Aspose.Slides for Python via .NET はグループ シェイプをサポートします。| +|オート シェイプ|Aspose.Slides for Python via .NET はオート シェイプをサポートします。| +|SmartArt|Aspose.Slides for Python via .NET は MS PowerPoint の SmartArt シェイプをサポートします。| +|チャート|Aspose.Slides for Python via .NET は PowerPoint の MSO チャートをサポートします。| +|シェイプ シリアライズ|Aspose.Slides for Python via .NET は多数のシェイプをサポートします。サポートされていないシェイプがある場合は、既存スライドからシェイプをシリアライズする方法を使用して取得し、必要に応じて再利用できます。| +|画像フレーム|画像フレーム内の画像を管理できます。| +|オーディオ フレーム|スライド上のオーディオ フレームにオーディオ ファイルをリンクまたは埋め込むことができます。| +|ビデオ フレーム|ビデオ フレーム内のビデオ ファイルを処理できます。Aspose.Slides for Python via .NET はリンクおよび埋め込みビデオもサポートします。| +|OLE フレーム|OLE フレーム内の OLE オブジェクトを管理できます。| +|テーブル|スライド内のテーブルをサポートします。| +|ActiveX コントロール|ActiveX コントロールをサポートします。| +|VBA マクロ|プレゼンテーション内の VBA マクロの管理をサポートします。| +|テキスト フレーム|任意のシェイプに関連付けられたテキスト フレームを介してテキストにアクセスできます。| +|テキスト スキャン|組み込みスキャン メソッドを使用して、プレゼンテーション全体またはスライド単位でテキストを走査できます。| |アニメーション|シェイプにアニメーションを適用できます。| -|スライドショー|Aspose.Slides for Python via .NETは、スライドショーとスライドのトランジションをサポートしています。| +|スライドショー|Aspose.Slides for Python via .NET はスライドショーとスライド遷移をサポートします。| -## **フォーマット機能** -Aspose.Slides for Python via .NETを使用すると、プレゼンテーションのスライド上のテキストやシェイプをフォーマットできます。これらの詳細をご覧ください: +## **書式設定機能** +Aspose.Slides for Python via .NET を使用すると、プレゼンテーション内のスライド上のテキストやシェイプの書式設定が可能です。詳細は以下をご覧ください: |**機能**|**説明**| | :- | :- | -|テキストフォーマット|

    Aspose.Slides for Python via .NETでは、シェイプに関連付けられたテキストフレームを使用してテキストを管理できます。したがって、テキストフレームに関連付けられた段落や部分を使用してテキストをフォーマットできます。これらのテキスト要素は、Aspose.Slides for Python via .NETを通じてフォーマットできます。

    - フォントタイプ

    - フォントサイズ

    - フォントカラー

    - フォントのシェード

    - 段落の整列

    - 段落の箇条書き

    - 段落の配置

    | -|シェイプフォーマット|

    Aspose.Slides for Python via .NETでは、スライドの基本要素はシェイプです。これらのシェイプ要素をAspose.Slides for Python via .NETを使用してフォーマットできます:

    - 位置

    - サイズ

    - ライン

    - 塗りつぶし(パターン、グラデーション、ソリッドを含む)

    - テキスト

    - 画像

    | \ No newline at end of file +|テキスト書式設定|

    Aspose.Slides for Python via .NET では、シェイプに紐付くテキスト フレームを通じてテキストを管理できます。そのため、テキスト フレームに含まれる段落や部分を使用してテキストを書式設定できます。これらのテキスト要素は Aspose.Slides for Python via .NET で書式設定可能です。

    - フォント種別

    - フォントサイズ

    - フォント色

    - フォントの陰影

    - 段落揃え

    - 段落の箇条書き

    - 段落の方向

    | +|シェイプ書式設定|

    Aspose.Slides for Python via .NET におけるスライドの基本要素はシェイプです。これらのシェイプ要素は次のプロパティで書式設定できます。

    - 位置

    - サイズ

    - 線

    - 塗りつぶし(パターン、グラデーション、単色)

    - テキスト

    - 画像

    | + +## **FAQ** + +**サーバー/PC に Microsoft PowerPoint をインストールする必要がありますか?** + +いいえ。PowerPoint は必要ありません。Aspose.Slides はプレゼンテーションの作成、編集、変換、レンダリング用のスタンドアロン エンジンです。 + +**マルチスレッドはどのように機能しますか?処理は並列化できますか?** + +異なるスレッドで別々のドキュメントを処理するのは安全です。同じ [presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) オブジェクトを [複数のスレッド](/slides/ja/python-net/multithreading/) で同時に使用しないでください。 + +**ファイルのパスワードや暗号化はサポートされていますか?** + +はい。[暗号化されたプレゼンテーション](/slides/ja/python-net/password-protected-presentation/) を開くことができ、開くパスワードや書き込みパスワードの設定・削除、保護ステータスの確認が可能です。 + +**Linux コンテナでフォント パッケージに注意する必要がありますか?** + +はい。一般的なフォント パッケージをインストールするか、アプリケーションで明示的に [フォントディレクトリを指定](/slides/ja/python-net/custom-font/) することが推奨されます。これにより予期しない置き換えを防げます。 + +**評価版に制限はありますか?** + +[評価モード](/slides/ja/python-net/licensing/) では出力に透かしが追加され、いくつかの制限が適用されます。フル機能のテスト用に [30 日間の一時ライセンス](https://purchase.aspose.com/temporary-license/) が利用可能です。 + +**外部形式(PDF/HTML → PPTX)のインポートはサポートされていますか?** + +はい。[PDF ページや HTML コンテンツ](/slides/ja/python-net/import-presentation/) をプレゼンテーションに追加し、スライドに変換できます。 \ No newline at end of file diff --git a/ja/python-net/getting-started/metered-licensing/_index.md b/ja/python-net/getting-started/metered-licensing/_index.md index 35814c72e7..b0b2d11ef8 100644 --- a/ja/python-net/getting-started/metered-licensing/_index.md +++ b/ja/python-net/getting-started/metered-licensing/_index.md @@ -1,66 +1,88 @@ --- -title: 従量制ライセンス +title: メータリング ライセンス type: docs weight: 90 url: /ja/python-net/metered-licensing/ keywords: - ライセンス -- 従量制ライセンス -- ライセンスキー -- 公開鍵 -- 秘密鍵 -- 使用量 +- メータリング ライセンス +- ライセンス キー +- 公開キー +- プライベートキー +- 消費量 - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET の従量制ライセンスを使用して、PowerPoint および OpenDocument ファイルを柔軟に処理し、使用した分だけ支払う方法を学びましょう。" +description: "Aspose.Slides for Python via .NET のメータリング ライセンスを使用すると、PowerPoint と OpenDocument ファイルを柔軟に処理でき、使用した分だけ支払うことができます。" --- +## **メータリングキーの適用** + {{% alert color="primary" %}} -メーターライセンスは、既存のライセンス方式と併用できる新しいライセンスメカニズムです。Aspose.Slides API機能の使用量に基づいて請求されることを希望する場合、メーターライセンスを選択します。 +メータリング ライセンスは、既存のライセンス方式と併用できる新しいライセンス メカニズムです。Aspose.Slides API の機能使用量に基づいて課金されたい場合は、メータリング ライセンスを選択します。 -メーターライセンスを購入すると、キー(ライセンスファイルではなく)を受け取ります。このメーターキーは、Asposeがメーター操作のために提供した[Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/)クラスを使用して適用できます。詳細については、[メーターライセンスに関するFAQ](https://purchase.aspose.com/faqs/licensing/metered)を参照してください。 +メータリング ライセンスを購入すると、キー(ライセンス ファイルはありません)が提供されます。このメータリング キーは、Aspose が提供するメータリング操作用の [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) クラスで適用できます。詳細については、[Metered Licensing FAQ](https://purchase.aspose.com/faqs/licensing/metered) を参照してください。 {{% /alert %}} -1. [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/)クラスのインスタンスを作成します。 -1. `set_metered_key`メソッドに公開キーと秘密キーを渡します。 -1. 一部の処理を行います(タスクを実行します)。 -1. Meteredクラスの`get_consumption_quantity()`メソッドを呼び出します。 - - これまでに消費したAPIリクエストの量/数量が表示されるはずです。 +1. [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) クラスのインスタンスを作成します。 +1. 公開キーと非公開キーを [set_metered_key](https://reference.aspose.com/slides/python-net/aspose.slides/metered/set_metered_key/#str-str) メソッドに渡します。 +1. 処理(タスクの実行)を行います。 +1. `Metered` クラスの [get_consumption_quantity](https://reference.aspose.com/slides/python-net/aspose.slides/metered/get_consumption_quantity/#) メソッドを呼び出します。 -以下のPythonコードは、メーター公開キーと秘密キーを設定する方法を示しています: +これまでに消費した API リクエストの数量/量が表示されます。 +このサンプルコードは、メータリング ライセンスの使用方法を示しています: ```python import aspose.slides as slides -# CAD Meteredクラスのインスタンスを作成 +# Meteredクラスのインスタンスを作成します metered = slides.Metered() -# set_metered_keyプロパティにアクセスし、公開キーと秘密キーをパラメータとして渡す -metered.set_metered_key("*****", "*****") - -# APIを呼び出す前のメーターデータ量を取得 -amountbefore = slides.metered.get_consumption_quantity() -# 情報を表示 -print("消費量(呼び出し前): " + str(amountbefore)) - -# ディスクからドキュメントを読み込む。 -with slides.Presentation("Presentation.pptx") as pres: - # ドキュメントのページ数を取得 - print(len(pres.slides)) - # PDFとして保存 - pres.save("out_pdf.pdf", slides.export.SaveFormat.PDF) - -# APIを呼び出した後のメーターデータ量を取得 -amountafter = slides.metered.get_consumption_quantity() -# 情報を表示 -print("消費量(呼び出し後): " + str(amountafter)) +# 公開キーと非公開キーをMeteredオブジェクトに渡します +metered.set_metered_key("", "") + +# API呼び出し前に消費された数量の値を取得します +amount_before = slides.Metered.get_consumption_quantity() +print("Amount consumed before:", amount_before) + +# ここでAspose.Slides APIを使用して何か処理を行います +# ... + +# API呼び出し後に消費された数量の値を取得します +amount_after = slides.Metered.get_consumption_quantity() +print("Amount consumed after:", amount_after) ``` -{{% alert color="warning" title="注意" %}} -メーターライセンスを使用するには、ライセンスメカニズムがインターネットを使って常に私たちのサービスと相互作用し、計算を行うため、安定したインターネット接続が必要です。 +{{% alert color="warning" title="NOTE" %}} + +メータリング ライセンスを使用するには、インターネット接続が安定している必要があります。ライセンス メカニズムはインターネットを介して当社のサービスと継続的にやり取りし、計算を行うためです。 + +{{% /alert %}} + +## **よくある質問** + +**メータリング ライセンスを、通常のライセンス(永続または一時)と同じアプリケーションで同時に使用できますか?** + +はい。メータリングは既存の [ライセンス方式](/slides/ja/python-net/licensing/) と併用できる追加のライセンス メカニズムです。アプリケーション起動時にどのメカニズムを適用するか選択します。 + +**メータリング ライセンスで消費としてカウントされるものは正確には何ですか:操作ですかファイルですか?** + +API の使用量がカウントされます。つまり、リクエスト数または操作回数です。現在の消費量は [消費量追跡メソッド](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) を使用して取得できます。 + +**インスタンスが頻繁に再起動するマイクロサービスやサーバーレス環境でもメータリングは適していますか?** + +はい。課金は API 呼び出し単位で行われるため、コールドスタートが頻繁に発生するシナリオでも、メータリング計算のためのネットワーク接続が安定していれば問題ありません。 + +**メータリング ライセンスを使用した場合、永続ライセンスと比べてライブラリの機能に違いはありますか?** + +いいえ。これはライセンスと課金のメカニズムに関する違いであり、製品の機能は同じです。 + +**メータリングはトライアル版や一時ライセンスとどう関係していますか?** + +トライアル版には機能制限と透かしがあり、[一時ライセンス](https://purchase.aspose.com/temporary-license/) は 30 日間制限を解除します。メータリングは制限を解除し、実際の使用量に基づいて課金します。 + +**消費しきい値を超えたときに自動で予算を制御することはできますか?** -{{% /alert %}} \ No newline at end of file +はい。一般的な方法として、[追跡メソッド](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) を定期的に呼び出して現在の消費量を取得し、アプリケーションまたは監視レベルで独自の制限やアラートを実装します。 \ No newline at end of file diff --git a/ja/python-net/getting-started/system-requirements/_index.md b/ja/python-net/getting-started/system-requirements/_index.md index 98b1e55a89..c459c0da3f 100644 --- a/ja/python-net/getting-started/system-requirements/_index.md +++ b/ja/python-net/getting-started/system-requirements/_index.md @@ -16,14 +16,16 @@ keywords: - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET のシステム要件をご確認ください。Windows、Linux、macOS で PowerPoint と OpenDocument をシームレスにサポートできます。" +description: "Aspose.Slides for Python via .NET のシステム要件を確認してください。Windows、Linux、macOS で PowerPoint と OpenDocument のシームレスなサポートを実現します。" --- -Aspose.Slides for Python via .NETは、Microsoft PowerPointなどのサードパーティ製品をインストールする必要はありません。Aspose.Slides自体は、Microsoft PowerPointプレゼンテーション形式を含むさまざまな形式のドキュメントを作成、変更、変換、レンダリングするためのエンジンです。 +## **はじめに** -## 対応オペレーティングシステム +Aspose.Slides for Python via .NET は、Microsoft PowerPoint などのサードパーティ製品をインストールする必要がありません。Aspose.Slides は、Microsoft PowerPoint プレゼンテーション形式を含むさまざまな形式のドキュメントを作成、変更、変換、レンダリングするエンジンです。 -Aspose.Slides for Python via .NETは、Python 3.5以降がインストールされているWindows 64ビットおよび32ビット、macOS、Linux 64ビットオペレーティングシステムをサポートしています。 +## **サポートされているオペレーティングシステム** + +Aspose.Slides for Python は、Windows(32 ビットおよび 64 ビット)、macOS、Python 3.5 以降がインストールされた 64 ビット Linux をサポートします。 @@ -70,10 +72,24 @@ Aspose.Slides for Python via .NETは、Python 3.5以降がインストールさ
    -## ターゲットLinuxおよびmacOSプラットフォームのシステム要件 +## **Linux および macOS プラットフォーム向けシステム要件** + +- GCC 6 ランタイムライブラリ(以降バージョン) +- [libgdiplus](https://github.com/mono/libgdiplus)、GDI+ API のオープンソース実装です。 +- .NET Core Runtime の依存関係。 .NET Core Runtime 自体をインストールする必要は **ありません**。 +- Python 3.5–3.7 用: `pymalloc` ビルドの Python が必要です。`--with-pymalloc` ビルドオプションはデフォルトで有効になっています。通常、`pymalloc` ビルドの Python はファイル名に `m` サフィックスが付いています。 +- `libpython` 共有ライブラリ。`--enable-shared` Python ビルドオプションはデフォルトで無効になっており、一部の Python ディストリビューションには `libpython` 共有ライブラリが含まれていません。Linux の場合、パッケージマネージャーで `libpython` をインストールできます(例: `sudo apt-get install libpython3.7`)。`libpython` ライブラリが非標準の場所にインストールされていることが一般的な問題です。Python のビルドオプションで代替ライブラリパスを指定するか、システム標準の共有ライブラリディレクトリにシンボリックリンクを作成することで対処できます。通常、`libpython` 共有ライブラリのファイル名は Python 3.5–3.7 では `libpythonX.Ym.so.1.0`、Python 3.8 以降では `libpythonX.Y.so.1.0`(例: `libpython3.7m.so.1.0`、`libpython3.9.so.1.0`)です。 + +## **よくある質問** + +**変換やレンダリングのために Microsoft PowerPoint をインストールする必要がありますか?** + +いいえ、PowerPoint は不要です。Aspose.Slides は、プレゼンテーションの[作成](/slides/ja/python-net/create-presentation/)、変更、[変換](/slides/ja/python-net/convert-presentation/)、および[レンダリング](/slides/ja/python-net/convert-powerpoint-to-png/)を行うスタンドアロンエンジンです。 + +**マシンに特定の .NET バージョン(Core/5+/6+)が必要ですか?** + +.NET Runtime 自体をインストールする必要はありませんが、その依存関係は Linux/macOS に存在する必要があります。つまり、ランタイム全体をインストールせずに、.NET の依存パッケージがシステムに含まれていることが求められます。 + +**正しいレンダリングのためにどのフォントが必要ですか?** -- GCC-6ランタイムライブラリ(またはそれ以降)。 -- [`libgdiplus`](https://github.com/mono/libgdiplus): GDI+ APIのオープンソース実装。 -- .NET Core Runtimeの依存関係。 .NET Core Runtime自体をインストールする必要はありません。 -- Python 3.5-3.7の場合: `pymalloc`ビルドのPythonが必要です。 `--with-pymalloc` Pythonビルドオプションはデフォルトで有効になっています。通常、`pymalloc`ビルドのPythonは、ファイル名に`m`サフィックスが付けられています。 -- `libpython`共有Pythonライブラリ。 `--enable-shared` Pythonビルドオプションはデフォルトで無効になっています。一部のPythonディストリビューションには`libpython`共有ライブラリが含まれていません。一部のLinuxプラットフォームでは、パッケージマネージャを使用して`libpython`共有ライブラリをインストールできます。例えば: `sudo apt-get install libpython3.7`。一般的な問題は、`libpython`ライブラリが共有ライブラリの標準システムロケーションとは異なる場所にインストールされることです。この問題は、Pythonをコンパイルする際に代替ライブラリパスを設定するためのPythonビルドオプションを使用することで解決できます。または、システムの共有ライブラリの標準ロケーションに`libpython`ライブラリファイルへのシンボリックリンクを作成することで解決できます。通常、`libpython`共有ライブラリファイル名は、Python 3.5-3.7の場合は`libpythonX.Ym.so.1.0`、Python 3.8以降の場合は`libpythonX.Y.so.1.0`です(例えば: libpython3.7m.so.1.0、libpython3.9.so.1.0)。 \ No newline at end of file +プレゼンテーションで使用されているフォント、または適切な[代替フォント](/slides/ja/python-net/font-substitution/)が利用可能である必要があります。Linux/macOS で一貫したレンダリングを実現するために、一般的なフォントパッケージのインストールを推奨します。 \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/_index.md index f6c5cb8f13..3ae0e3941b 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,43 +1,105 @@ --- -title: Конвертация презентации +title: Конвертация презентаций в несколько форматов на Python +linktitle: Конвертация презентаций type: docs weight: 70 url: /ru/python-net/convert-presentation/ +keywords: +- конвертировать презентацию +- экспортировать презентацию +- PPT в PPTX +- PPT в PDF +- PPTX в PDF +- PPT в XPS +- PPTX в XPS +- PPT в TIFF +- PPTX в TIFF +- PowerPoint +- OpenDocument +- Python +- Aspose.Slides +description: "Конвертируйте презентации PowerPoint и OpenDocument в PPTX, PDF, XPS, TIFF и другие форматы с помощью Aspose.Slides для Python через .NET. Простая, высококачественная конверсия." --- +## **Введение** + +Эта страница предоставляет обзор конвертации презентаций с Aspose.Slides для Python через .NET. Она резюмирует поддерживаемые сценарии и указывает на специализированные руководства, показывающие точный код для экспорта презентаций и слайдов в форматы такие как PDF, XPS, TIFF, а также конвертации между PPT и PPTX. При необходимости связанные статьи выделяют параметры, специфичные для формата — например, рендеринг заметок или настройку качества изображений — и известные ограничения, такие как частичная поддержка путей PPT→PPTX. Используйте эту страницу, чтобы выбрать целевой формат, а затем следуйте связанному рецепту. + ## **Конвертация PPT в PPTX** -### **О конвертации PPT в PPTX** -Aspose.Slides теперь поддерживает конвертацию PPT в PPTX. -### **Конвертация PPT в PPTX с помощью Aspose.Slides** -Aspose.Slides для Python через .NET предоставляет частичную поддержку для конвертации презентаций в формате PPT в презентации в формате PPTX. Поскольку поддержка данной функции конвертации презентаций только что была введена в Aspose.Slides для Python через .NET, на данный момент она обладает ограниченными возможностями и работает только для простых форм презентаций. Основным преимуществом библиотеки API Aspose.Slides для Python через .NET для конвертации презентаций PPT в формат PPTX является простота использования API для достижения желаемой цели. Пожалуйста, перейдите по [ссылке](/slides/ru/python-net/convert-presentation/) в раздел с примерами кода для получения более подробной информации. В следующем разделе четко иллюстрируется, какие функции поддерживаются, а какие нет при конвертации презентаций формата PPT в презентации формата PPTX. -{{% alert color="primary" %}} -Читать далее [**Как конвертировать PPT в PPTX**](/slides/ru/python-net/convert-ppt-to-pptx/). + +### **О PPT/PPTX** + +PPT — это старый бинарный формат PowerPoint (97–2003), тогда как PPTX — это упакованный в ZIP формат Open XML, представленный в PowerPoint 2007. По сравнению с PPT, PPTX обычно создаёт более небольшие файлы, поддерживает современные функции, хорошо работает с автоматизацией документов и рекомендуется для долговременного хранения и кроссплатформенных рабочих процессов. + +### **Конвертация PPT в PPTX** + +Aspose.Slides поддерживает конвертацию презентаций PPT в формат PPTX. Ключевое преимущество использования API Aspose.Slides для этой задачи — простота рабочего процесса, необходимого для получения желаемого результата. На практике вы можете выполнить конвертацию с минимальным объёмом кода, сохраняя высокую точность слайдов, макетов и медиа. + +{{% alert color="primary" %}} +Подробнее:[Convert PPT to PPTX in Python](/slides/ru/python-net/convert-ppt-to-pptx/). {{% /alert %}} -## **Конвертация презентации в PDF** + +## **Конвертация презентаций в PDF** + ### **О PDF** -[Формат portable document](https://en.wikipedia.org/wiki/PDF) - это формат файла, который был создан компанией Adobe для обмена документами между различными организациями. Цель этого формата заключалась в том, чтобы содержимое документов могло быть представлено таким образом, чтобы их визуальное представление не зависело от платформы, на которой они просматриваются. -### **PDF в Aspose.Slides для Python через .NET** -[PDF](https://docs.fileformat.com/pdf/) - это формат файла, который был создан компанией Adobe для обмена документами между различными организациями. Цель этого формата заключалась в том, чтобы визуальное представление содержимого документа не зависело от платформы, на которой оно просматривается. -Любой документ презентации, который можно загрузить в Aspose.Slides для Python через .NET, может быть конвертирован в PDF-документ. Вы можете экспортировать документы презентаций в PDF напрямую, используя только компонент Aspose.Slides для Python через .NET. Вам не нужны другие сторонние библиотеки или компонент Aspose.PDF для этой цели. +[Portable Document Format](https://en.wikipedia.org/wiki/PDF) (PDF) — это формат файлов, созданный Adobe Systems для обмена документами между организациями. Его цель — обеспечить отображение содержимого документа с одинаковым визуальным видом независимо от платформы, на которой документ просматривается. + +### **Конвертация презентаций в PDF** -{{% alert color="primary" %}} -Читать далее [**Как конвертировать презентацию в PDF**](/slides/ru/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/). +Любая презентация, которую можно загрузить в Aspose.Slides, может быть конвертирована в документ PDF. Вы можете экспортировать презентации в PDF напрямую с помощью компонента Aspose.Slides; сторонние библиотеки или компонент Aspose.PDF не требуются. + +{{% alert color="primary" %}} +Подробнее:[Convert PPT & PPTX to PDF in Python](/slides/ru/python-net/convert-powerpoint-to-pdf/). {{% /alert %}} -## **Конвертация презентации в XPS** +## **Конвертация презентаций в XPS** + ### **О XPS** -[Спецификация XML Parser](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) - это язык описания страниц и фиксированный формат документа, изначально разработанный Microsoft. Как и PDF, XPS - это документ с фиксированным макетом, предназначенный для сохранения точности документа и обеспечения независимого от устройства внешнего вида документа. -### **Конвертация презентации в XPS с помощью Aspose.Slides** -Любой документ презентации, который можно загрузить в Aspose.Slides для Python через .NET, может быть конвертирован в формат XPS. Aspose.Slides для Python через .NET использует высококачественный макет страниц и механизм рендеринга для создания выходных данных в формате фиксированного макета XPS документа. Стоит отметить, что Aspose.Slides для Python через .NET напрямую генерирует XPS без зависимости от классов Windows Presentation Foundation (WPF), которые входят в состав .NET Framework 3.5, что позволяет Aspose.Slides для Python через .NET создавать XPS-документы на машинах с версиями .NET Framework ниже 3.5. Вы можете узнать о экспорте документов презентаций в XPS-документы через Aspose.Slides для Python через .NET в [этом разделе](/slides/ru/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). -{{% alert color="primary" %}} -Читать далее [**Как конвертировать презентацию в XPS**](/slides/ru/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) + +[XML Paper Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) (XPS) — это язык описания страниц и формат фиксированного документа, первоначально разработанный Microsoft. Как и PDF, XPS — это формат фиксированного расположения страниц, предназначенный для сохранения точности документа и обеспечения независимого от устройств отображения. + +### **Конвертация презентаций в XPS** + +Любая презентация, которую может загрузить Aspose.Slides, может быть конвертирована в формат XPS. Aspose.Slides использует высокоточный движок верстки страниц и рендеринга для создания вывода в фиксированном формате XPS. Примечательно, что Aspose.Slides генерирует XPS напрямую без использования Windows Presentation Foundation (WPF). + +{{% alert color="primary" %}} +Подробнее:[Convert PowerPoint Presentations to XPS in Python](/slides/ru/python-net/convert-powerpoint-to-xps/). {{% /alert %}} -## **Конвертация презентации в TIFF** + +## **Конвертация презентаций в TIFF** + ### **О TIFF** -[Формат файлов с тегированными изображениями](https://en.wikipedia.org/wiki/TIFF), который известен тем, что хранит несколько изображений в одном документе, изначально был создан компанией Aldus. Этот формат широко поддерживается приложениями для сканирования, факсирования и других манипуляций с изображениями. -### **Конвертация презентации в TIFF с помощью Aspose.Slides** -Любой документ, который можно загрузить в Aspose.Slide для .NET, также может быть непосредственно конвертирован в TIFF-документ с помощью Aspose.Slides для Python через .NET, исключая необходимость в каком-либо стороннем компоненте. Кроме того, вы можете по желанию определить размер изображений в полученном TIFF-документе. Вы можете найти информацию о экспорте документов презентаций в TIFF-документы через Aspose.Slides для Python через .NET в [этом разделе](/slides/ru/python-net/convert-powerpoint-ppt-and-pptx-to-tiff/). -{{% alert color="primary" %}} -Читать далее [**Как конвертировать презентацию в TIFF**](/slides/ru/python-net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file + +[Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) (TIFF) — это растровый формат изображений, известный тем, что хранит несколько изображений (страниц) в одном файле. Первоначально разработанный Aldus, он широко поддерживается сканерами, факсами и другими приложениями обработки изображений. + +### **Конвертация презентаций в TIFF** + +Любой документ, который можно загрузить в Aspose.Slides, также может быть напрямую конвертирован в файл TIFF без каких-либо сторонних компонентов. Вы также можете при необходимости указать размер изображения для страниц в полученном TIFF. + +{{% alert color="primary" %}} +Подробнее:[Convert PowerPoint Presentations to TIFF in Python](/slides/ru/python-net/convert-powerpoint-to-tiff/). +{{% /alert %}} + +## **Часто задаваемые вопросы** + +**Могу ли я включать скрытые слайды при экспорте в PDF/XPS?** +Да. Экспорт поддерживает включение скрытых слайдов с помощью соответствующей опции в настройках [PDF](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/show_hidden_slides/)/[XPS](https://reference.aspose.com/slides/python-net/aspose.slides.export/xpsoptions/show_hidden_slides/) . + +**Поддерживается ли сохранение в формат PDF/A (для архивного хранения)?** +Да, уровни совместимости PDF/A [доступны](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfcompliance/) (включая A-2a/A-2b/A-2u и A-3a/A-3b) при экспорте. + +**Что происходит со шрифтами при конвертации: они встраиваются или заменяются?** +Существует гибкие параметры: вы можете [встроить все глифы или только используемые подмножества](/slides/ru/python-net/embedded-font/), указать [резервный шрифт](/slides/ru/python-net/fallback-font/), и [управлять поведением](/slides/ru/python-net/font-substitution/) когда у шрифта отсутствуют определённые стили. + +**Как я могу контролировать качество и размер получаемого PDF?** +Доступны параметры для [качества JPEG](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/jpeg_quality/), [сжатия текста](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/text_compression/), и порога [достаточного разрешения](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/sufficient_resolution/) для изображений, а также режим, который выбирает [наилучшее сжатие изображений](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/best_images_compression_ratio/) . + +**Могу ли я экспортировать только диапазон слайдов (например, 5–12)?** +Да, экспорт поддерживает выбор подмножества слайдов. + +**Поддерживается ли многопоточная обработка нескольких файлов одновременно?** +Можно обрабатывать различные презентации параллельно в отдельных процессах. Важно: один и тот же объект [presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) не должен быть загружен или сохранён из [нескольких потоков](/slides/ru/python-net/multithreading/) . + +**Есть ли риски при применении лицензии из разных потоков?** +Да, вызовы [license-setting](/slides/ru/python-net/licensing/) не являются потокобезопасными и требуют синхронизации. \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 11c9d39039..1947c06459 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,5 +1,5 @@ --- -title: Конвертируйте презентации в анимированные GIF на Python +title: Преобразование презентаций в анимированные GIF в Python linktitle: Презентация в GIF type: docs weight: 65 @@ -24,13 +24,12 @@ keywords: - пользовательские настройки - Python - Aspose.Slides -description: "Легко конвертируйте презентации PowerPoint (PPT, PPTX) и файлы OpenDocument (ODP) в анимированные GIF с помощью Aspose.Slides for Python via .NET. Быстро и качественно." +description: "Легко конвертировать презентации PowerPoint (PPT, PPTX) и файлы OpenDocument (ODP) в анимированные GIF с помощью Aspose.Slides для Python. Быстрые, высококачественные результаты." --- -## Конвертация презентаций в анимированный GIF с использованием настроек по умолчанию ## - -Этот пример кода на Python показывает, как конвертировать презентацию в анимированный GIF с использованием стандартных настроек: +## **Преобразование презентаций в анимированный GIF с использованием настроек по умолчанию** +Этот пример кода на Python показывает, как преобразовать презентацию в анимированный GIF, используя стандартные настройки: ```py import aspose.slides as slides @@ -38,17 +37,16 @@ pres = slides.Presentation(path + "pres.pptx") pres.save("pres.gif", slides.export.SaveFormat.GIF) ``` -Анимированный GIF будет создан с параметрами по умолчанию. - -{{% alert title="СОВЕТ" color="primary" %}} -Если вы хотите настроить параметры для GIF, вы можете использовать класс [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/). См. пример кода ниже. +Анимированный GIF будет создан с параметрами по умолчанию. +{{% alert title="TIP" color="primary" %}} +Если вы предпочитаете настроить параметры GIF, вы можете использовать класс [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/). См. пример кода ниже. {{% /alert %}} -## Конвертация презентаций в анимированный GIF с использованием пользовательских настроек ## -Этот пример кода показывает, как конвертировать презентацию в анимированный GIF, используя пользовательские настройки на Python: +## **Преобразование презентаций в анимированный GIF с использованием пользовательских настроек** +Этот пример кода показывает, как преобразовать презентацию в анимированный GIF, используя пользовательские настройки в Python: ```py import aspose.slides as slides import aspose.pydrawing as drawing @@ -56,15 +54,24 @@ import aspose.pydrawing as drawing pres = slides.Presentation(path + "pres.pptx") options = slides.export.GifOptions() -options.frame_size = drawing.Size(960, 720) # размер получившегося GIF -options.default_delay = 2000 # как долго будет показываться каждый слайд, прежде чем перейти к следующему +options.frame_size = drawing.Size(960, 720) # размер полученного GIF +options.default_delay = 2000 # как долго будет отображаться каждый слайд, пока не будет заменён следующим options.transition_fps = 35 # увеличьте FPS для лучшего качества анимации перехода pres.save("pres.gif", slides.export.SaveFormat.GIF, options) ``` -{{% alert title="Информация" color="info" %}} -Вам может быть интересно ознакомиться с БЕСПЛАТНЫМ конвертером [Текст в GIF](https://products.aspose.app/slides/text-to-gif), разработанным Aspose. +{{% alert title="Info" color="info" %}} +Возможно, вам будет интересен бесплатный конвертер [Text to GIF](https://products.aspose.app/slides/text-to-gif), разработанный компанией Aspose. +{{% /alert %}} + +## **FAQ** + +**Что делать, если шрифты, используемые в презентации, не установлены в системе?** + +Установите недостающие шрифты или [настройте резервные шрифты](/slides/ru/python-net/powerpoint-fonts/). Aspose.Slides заменит их, но внешний вид может отличаться. Для брендинга всегда гарантируйте, что необходимые шрифты явно доступны. + +**Можно ли наложить водяной знак на кадры GIF?** -{{% /alert %}} \ No newline at end of file +Да. [Добавьте полупрозрачный объект/логотип](/slides/ru/python-net/watermark/) на шаблон слайда или на отдельные слайды перед экспортом — водяной знак появится на каждом кадре. \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 0970670c5d..f5027890a1 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,26 +1,84 @@ --- -title: Конвертация PowerPoint в TIFF с заметками +title: Конвертировать презентации PowerPoint в TIFF с заметками на Python +linktitle: PowerPoint в TIFF с заметками type: docs weight: 100 url: /ru/python-net/convert-powerpoint-to-tiff-with-notes/ -keywords: "Конвертация PowerPoint в TIFF с заметками" -description: "Конвертация PowerPoint в TIFF с заметками в Aspose.Slides." +keywords: +- конвертировать PowerPoint +- конвертировать презентацию +- конвертировать слайд +- конвертировать PPT +- конвертировать PPTX +- PowerPoint в TIFF +- презентация в TIFF +- слайд в TIFF +- PPT в TIFF +- PPTX в TIFF +- PowerPoint с заметками +- презентация с заметками +- слайд с заметками +- PPT с заметками +- PPTX с заметками +- TIFF с заметками +- Python +- Aspose.Slides +description: "Конвертировать презентации PowerPoint в TIFF с заметками с помощью Aspose.Slides for Python via .NET. Узнайте, как эффективно экспортировать слайды с примечаниями спикера." --- -{{% alert title="Совет" color="primary" %}} +## **Обзор** -Вам может быть интересно ознакомиться с бесплатным конвертером PowerPoint в постер от Aspose [БЕСПЛАТНЫЙ конвертер PowerPoint в постер](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +Aspose.Slides for Python via .NET предоставляет простое решение для преобразования презентаций PowerPoint и OpenDocument (PPT, PPTX и ODP) с заметками в формат TIFF. Этот формат широко используется для хранения изображений высокого качества, печати и архивирования документов. С помощью Aspose.Slides вы можете не только экспортировать целые презентации с примечаниями к спикеру, но и создавать миниатюры слайдов в представлении «Notes Slide». Процесс конвертации прост и эффективен, он использует метод `save` класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) для преобразования всей презентации в серию TIFF‑изображений с сохранением заметок и макета. -{{% /alert %}} +## **Преобразовать презентацию в TIFF с заметками** + +Сохранение презентации PowerPoint или OpenDocument в TIFF с заметками с помощью Aspose.Slides for Python via .NET включает следующие шаги: + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/): загрузите файл PowerPoint или OpenDocument. +2. Настройте параметры вывода макета: используйте класс [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/notescommentslayoutingoptions/) для указания того, как должны отображаться заметки и комментарии. +3. Сохраните презентацию в TIFF: передайте настроенные параметры методу [save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/save/#str-asposeslidesexportsaveformat-asposeslidesexportisaveoptions). + +Предположим, у нас есть файл **speaker_notes.pptx** со следующим слайдом: -TIFF является одним из нескольких широко используемых форматов изображений, которые Aspose.Slides для Python через .NET поддерживает для конвертации презентаций PowerPoint PPT и PPTX с заметками в изображения. Вы также можете создавать миниатюры слайдов в представлении заметок слайдов. Метод [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) класса Presentation может быть использован для конвертации всей презентации в представлении заметок слайдов в TIFF. Сохранение презентации Microsoft PowerPoint в TIFF с заметками с использованием Aspose.Slides для Python через .NET — это процесс из двух строк. Вы просто открываете презентацию и сохраняете ее в формат TIFF с заметками. Вы также можете создавать миниатюры слайдов в представлении заметок для отдельных слайдов. Приведенные ниже фрагменты кода обновляют пример презентации в TIFF изображения в представлении заметок, как показано ниже: +![Слайд презентации с заметками к спикеру](slide_with_notes.png) +Ниже приведён фрагмент кода, демонстрирующий, как преобразовать презентацию в изображение TIFF в представлении Notes Slide, используя свойство [slides_layout_options](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/). ```py -import aspose.slides as slides +# Создайте экземпляр класса Presentation, представляющего файл презентации. +with slides.Presentation("speaker_notes.pptx") as presentation: + + notes_options = slides.export.NotesCommentsLayoutingOptions() + notes_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL # Отобразить заметки под слайдом. + + # Настройте параметры TIFF с разметкой заметок. + tiff_options = slides.export.TiffOptions() + tiff_options.dpi_x = 300 + tiff_options.dpi_y = 300 + tiff_options.slides_layout_options = notes_options + + # Сохраните презентацию в TIFF с заметками спикера. + presentation.save("TIFF_with_notes.tiff", slides.export.SaveFormat.TIFF, tiff_options) +``` + + +Результат: + +![Изображение TIFF с заметками к спикеру](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +Посмотрите бесплатный конвертер PowerPoint в плакаты от Aspose [Free PowerPoint to Poster Converter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +{{% /alert %}} + +## **Часто задаваемые вопросы** + +**Могу ли я контролировать положение области заметок в полученном TIFF?** + +Да. Используйте [настройки макета заметок](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/), чтобы выбрать вариант — `NONE`, `BOTTOM_TRUNCATED` или `BOTTOM_FULL`, которые соответственно скрывают заметки, помещают их на одну страницу или позволяют им продолжаться на дополнительные страницы. + +**Как уменьшить размер файла TIFF с заметками без заметной потери качества?** + +Выберите [эффективный тип сжатия](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/compression_type/) (например, `LZW` или `RLE`), задайте разумное значение DPI и, если допускается, используйте более низкий [формат пикселей](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/pixel_format/) (например, 8 bpp или 1 bpp для монохромных изображений). Слегка уменьшив [размер изображения](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/image_size/), можно также сократить размер файла без ощутимого ухудшения читаемости. -# Создание объекта Presentation, который представляет файл презентации -presentation = slides.Presentation("pres.pptx") +**Влияет ли шрифт в заметках на результат, если оригинальные шрифты отсутствуют в системе?** -# Сохранение презентации в TIFF с заметками -presentation.save("Notes_In_Tiff_out.tiff", slides.export.SaveFormat.TIFF) -``` \ No newline at end of file +Да. Отсутствующие шрифты вызывают [подстановку](/slides/ru/python-net/font-selection-sequence/), что может изменить метрики текста и его внешний вид. Чтобы избежать этого, [предоставьте необходимые шрифты](/slides/ru/python-net/custom-font/) или задайте шрифт‑запасной вариант [fallback font](/slides/ru/python-net/fallback-font/), чтобы использовались требуемые типографские гарнитуры. \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 1467b8e1a5..eb14efe31c 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,6 +1,6 @@ --- -title: "Разница между форматами: PPT и PPTX" -linktitle: PPT vs PPTX +title: "Понимание различий: PPT и PPTX" +linktitle: "PPT vs PPTX" type: docs weight: 10 url: /ru/python-net/ppt-vs-pptx/ @@ -15,38 +15,54 @@ keywords: - презентация - Python - Aspose.Slides -description: "Сравните PPT и PPTX для PowerPoint с помощью Aspose.Slides for Python via .NET, изучив различия форматов, преимущества, совместимость и советы по конвертации." +description: "Сравнение PPT и PPTX для PowerPoint с Aspose.Slides Python через .NET, исследование различий форматов, преимуществ, совместимости и советов по конвертации." --- ## **Что такое PPT?** -[**PPT**](https://docs.fileformat.com/presentation/ppt/) — это бинарный формат файлов, то есть невозможно просмотреть его содержимое без специальных инструментов. Первые версии PowerPoint 97-2003 работали с форматом файлов PPT, однако его расширяемость ограничена. +[**PPT**](https://docs.fileformat.com/presentation/ppt/) — это двоичный формат файла, то есть его содержимое невозможно просмотреть без специальных инструментов. Первые версии PowerPoint 97‑2003 работали с форматом PPT, однако его расширяемость ограничена. ## **Что такое PPTX?** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/) — это новый формат файлов презентаций, основанный на стандарте Office Open XML (ISO 29500:2008-2016, ECMA-376). PPTX представляет собой архивированный набор файлов XML и медиафайлов. Формат PPTX легко расширяем. Например, легко добавить поддержку нового типа диаграммы или типа фигуры, не меняя формат PPTX в каждой новой версии PowerPoint. Формат PPTX используется начиная с PowerPoint 2007. +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) — новый формат файлов презентаций, основанный на стандарте Office Open XML (ISO 29500:2008‑2016, ECMA‑376). PPTX представляет собой архивный набор XML‑ и медиа‑файлов. Формат PPTX легко расширяется. Например, добавить поддержку нового типа диаграмм или фигур можно без изменения формата PPTX в каждой новой версии PowerPoint. Формат PPTX используется, начиная с PowerPoint 2007. -## **PPT против PPTX** -Хотя PPTX предоставляет гораздо более широкие возможности, PPT остается довольно популярным. Необходимость конвертирования из PPT в PPTX и обратно очень востребована. +## **PPT vs PPTX** +Хотя PPTX предоставляет гораздо более широкий набор функций, PPT остаётся довольно популярным. Необходимость конвертации из PPT в PPTX и обратно высоко востребована. -Тем не менее, конвертация между старым форматом PPT и новым форматом PPTX является самым сложным вызовом среди других форматов Microsoft Office. Хотя спецификация формата PPT открыта, с ним трудно работать. PowerPoint может создавать специальные части (MetroBlob) в файлах PPT для хранения информации из PPTX, которая не поддерживается форматом PPT и не может быть отображена в старых версиях PowerPoint. Эта информация может быть восстановлена при загрузке файла PPT в современной версии PowerPoint или при конвертации в формат PPTX. +Однако конвертация между старым форматом PPT и новым форматом PPTX является самой сложной задачей среди других форматов Microsoft Office. Несмотря на то, что спецификация формата PPT открыта, работать с ней сложно. PowerPoint может создавать специальные части (MetroBlob) в файлах PPT для хранения информации из PPTX, которая не поддерживается форматом PPT и не может быть отображена в старых версиях PowerPoint. Эта информация может быть восстановлена при загрузке файла PPT в современной версии PowerPoint или при конвертации в формат PPTX. -Aspose.Slides предоставляет общий интерфейс для работы со всеми форматами презентаций. Он позволяет конвертировать из PPT в PPTX и из PPTX в PPT очень простым способом. Aspose.Slides полностью поддерживает конвертацию из PPT в PPTX, а также поддерживает конвертацию из PPTX в PPT с некоторыми ограничениями. Мы рекомендуем использовать формат PPTX, где это возможно. +Aspose.Slides предоставляет единый интерфейс для работы со всеми форматами презентаций. Он позволяет конвертировать из PPT в PPTX и из PPTX в PPT простым способом. Aspose.Slides полностью поддерживает конвертацию из PPT в PPTX и также поддерживает конвертацию из PPTX в PPT с некоторыми ограничениями. Мы рекомендуем использовать формат PPTX, где это возможно. {{% alert color="primary" %}} - -Проверьте качество конвертации PPT в PPTX и PPTX в PPT с помощью онлайн [**приложения Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/). - +Проверьте качество конвертации PPT в PPTX и PPTX в PPT с помощью онлайн‑приложения [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). {{% /alert %}} - ```py import aspose.slides as slides -# Создание объекта Presentation, который представляет файл PPTX +# Создать объект Presentation, представляющий файл PPTX pres = slides.Presentation("PPTtoPPTX.ppt") -# Сохранение презентации PPTX в формате PPTX +# Сохранить презентацию PPTX в формате PPTX pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -Узнайте больше [**Как конвертировать презентации PPT в PPTX**.](/slides/ru/python-net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +Читать дальше [**Как конвертировать презентации PPT в PPTX**.](/slides/ru/python-net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **FAQ** + +**Есть ли смысл сохранять старые презентации в PPT, если они открываются без ошибок?** + +Если презентация открывается надёжно и не требует совместной работы или новых функций, её можно оставлять в PPT. Однако для будущей совместимости и расширяемости лучше [перевести в PPTX](/slides/ru/python-net/convert-ppt-to-pptx/): формат основан на открытом стандарте OOXML и более легко поддерживается современными инструментами. + +**Как решить, какие файлы в первую очередь необходимо конвертировать в PPTX?** + +Сначала конвертируйте те презентации, которые: редактируются несколькими людьми; содержат сложные [диаграммы](/slides/ru/python-net/create-chart/)/[формы](/slides/ru/python-net/shape-manipulations/); используются во внешних коммуникациях; или вызывают предупреждения при [открытии](/slides/ru/python-net/open-presentation/). + +**Сохранится ли защита паролем при конвертации из PPT в PPTX и обратно?** + +Наличие пароля сохраняется только при правильной конвертации и поддержке шифрования в используемом инструменте. Надёжнее сначала [снять защиту](/slides/ru/python-net/password-protected-presentation/), [конвертировать](/slides/ru/python-net/convert-ppt-to-pptx/), а затем вновь применить защиту в соответствии с вашей политикой безопасности. + +**Почему некоторые эффекты исчезают или упрощаются при конвертации PPTX обратно в PPT?** + +Потому что PPT не поддерживает некоторые новые объекты/свойства. PowerPoint и инструменты могут сохранять «следы» этой информации в специальных блоках для последующего восстановления, но старые версии PowerPoint их не отобразят. \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 859a1b0fe9..1a0d8eb92c 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,5 +1,5 @@ --- -title: Рендеринг слайдов презентаций в изображения SVG с помощью Python +title: Рендеринг слайдов презентации в виде SVG‑изображений на Python linktitle: Слайд в SVG type: docs weight: 50 @@ -12,46 +12,47 @@ keywords: - PPT в SVG - PPTX в SVG - ODP в SVG -- рендерить слайд -- конвертировать слайд -- экспортировать слайд +- рендеринг слайда +- конвертация слайда +- экспорт слайда - векторное изображение - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Узнайте, как рендерить слайды PowerPoint и OpenDocument в виде изображений SVG с помощью Aspose.Slides for Python via .NET. Высококачественная визуализация с простыми примерами кода." +description: "Узнайте, как рендерить слайды PowerPoint и OpenDocument в виде SVG‑изображений с помощью Aspose.Slides for Python via .NET. Высококачественная визуализация с простыми примерами кода." --- -SVG—акроним от Scalable Vector Graphics—это стандартный графический тип или формат, используемый для отрисовки двумерных изображений. SVG хранит изображения в виде векторов в XML с деталями, которые определяют их поведение или внешний вид. +## **Преобразовать слайды в SVG** -SVG является одним из немногих форматов для изображений, которые соответствуют очень высоким стандартам в таких отношениях, как: масштабируемость, интерактивность, производительность, доступность, программируемость и другим. По этим причинам он обычно используется в веб-разработке. +SVG — это аббревиатура от Scalable Vector Graphics, стандартный тип или формат графики, используемый для отображения двухмерных изображений. SVG хранит изображения как векторы в XML с деталями, определяющими их поведение или внешний вид. -Вам может понадобиться использовать SVG файлы, когда вам нужно +SVG — один из немногих форматов изображений, который соответствует очень высоким требованиям в следующих областях: масштабируемость, интерактивность, производительность, доступность, программируемость и другие. По этим причинам он широко используется в веб‑разработке. -- **распечатать вашу презентацию в *очень большом формате*.** SVG изображения могут масштабироваться до любого разрешения или уровня. Вы можете изменять размер SVG изображений столько раз, сколько необходимо, не жертвуя качеством. -- **использовать диаграммы и графики из ваших слайдов на *разных носителях или платформах***. Большинство читателей могут интерпретировать SVG файлы. -- **использовать *наименьшие возможные размеры изображений***. SVG файлы, как правило, меньше своих эквивалентов с высоким разрешением в других форматах, особенно тех форматов, которые основаны на растровой графике (JPEG или PNG). +Возможно, вам понадобится использовать файлы SVG, когда необходимо -Aspose.Slides для Python через .NET позволяет вам экспортировать слайды вашей презентации в виде SVG изображений. Пройдите через эти шаги, чтобы сгенерировать SVG изображения: +- **распечатать вашу презентацию в *очень большом формате*.** SVG‑изображения могут масштабироваться до любого разрешения или уровня. Вы можете изменять размер SVG‑изображений сколько угодно раз без потери качества. +- **использовать диаграммы и графики из ваших слайдов в *разных носителях или платформах*.** Большинство просмотровщиков способны интерпретировать SVG‑файлы. +- **получить *наименьший возможный размер изображений*.** SVG‑файлы обычно меньше их высококачественных аналогов в других форматах, особенно в форматах на основе растровых изображений (JPEG или PNG). + +Aspose.Slides for Python via .NET позволяет экспортировать слайды ваших презентаций в виде SVG‑изображений. Выполните следующие шаги для создания SVG‑изображений: 1. Создайте экземпляр класса Presentation. -2. Переберите все слайды в презентации. -3. Запишите каждый слайд в собственный SVG файл через FileStream. +2. Пройдите по всем слайдам презентации. +3. Запишите каждый слайд в отдельный SVG‑файл с помощью FileStream. {{% alert color="primary" %}} -Вам может потребоваться попробовать наше [бесплатное веб-приложение](https://products.aspose.app/slides/conversion/ppt-to-svg), в котором мы реализовали функцию преобразования PPT в SVG из Aspose.Slides для Python через .NET. +Возможно, вы захотите попробовать наше [free web application](https://products.aspose.app/slides/conversion/ppt-to-svg), в котором реализована функция конвертации PPT в SVG из Aspose.Slides for Python via .NET. {{% /alert %}} -Этот пример кода на Python показывает, как конвертировать PPT в SVG с использованием Aspose.Slides: - +Этот пример кода на Python показывает, как преобразовать PPT в SVG с помощью Aspose.Slides: ```py import aspose.slides as slides -# Создайте объект Presentation, который представляет файл презентации +# Создайте объект Presentation, представляющий файл презентации pres = slides.Presentation("pres.pptx") for index in range(pres.slides.length): @@ -59,4 +60,19 @@ for index in range(pres.slides.length): with open("slide-{index}.svg".format(index = index), "wb") as file: slide.write_as_svg(file) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Почему полученный SVG может выглядеть по‑разному в разных браузерах?** + +Поддержка конкретных функций SVG реализуется по‑разному движками браузеров. Параметры [SVGOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/svgoptions/) помогают сгладить несовместимости. + +**Можно ли экспортировать не только слайды, но и отдельные фигуры в SVG?** + +Да. Любую [shape can be saved as a separate SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/), что удобно для значков, пиктограмм и повторного использования графики. + +**Можно ли объединить несколько слайдов в один SVG (полоска/документ)?** + +Стандартный сценарий — один слайд → один SVG. Объединение нескольких слайдов в один холст SVG является постобработкой, выполняемой на уровне приложения. \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index 42b8a6d5af..90487b146f 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,24 +1,40 @@ --- -title: Экспорт в HTML5 +title: Конвертация презентаций в HTML5 на Python +linktitle: Экспорт в HTML5 type: docs weight: 40 url: /ru/python-net/export-to-html5/ -keywords: "PowerPoint в HTML, HTML 5, экспорт HTML, экспорт презентации, конвертировать PowerPoint в HTML, Python, Aspose.Slides для Python" -description: "Экспорт PowerPoint в HTML5 на Python" +keywords: +- PowerPoint в HTML5 +- OpenDocument в HTML5 +- презентация в HTML5 +- слайд в HTML5 +- PPT в HTML5 +- PPTX в HTML5 +- ODP в HTML5 +- конвертировать PowerPoint +- конвертировать OpenDocument +- конвертировать презентацию +- конвертировать слайд +- экспорт HTML5 +- экспорт презентации +- экспорт слайда +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Экспорт презентаций PowerPoint и OpenDocument в адаптивный HTML5 с помощью Aspose.Slides для Python через .NET. Сохраняет форматирование, анимацию и интерактивность." --- -{{% alert title="Информация" color="info" %}} - -В **Aspose.Slides 21.9** мы реализовали поддержку экспорта в HTML5. Однако, если вы предпочитаете экспортировать ваш PowerPoint в HTML с использованием WebExtensions, смотрите [статью](/slides/ru/net/web-extensions/) вместо этого. - +{{% alert title="Info" color="info" %}} +В **Aspose.Slides 21.9** мы реализовали поддержку экспорта в HTML5. Однако, если вы предпочитаете экспортировать свою презентацию PowerPoint в HTML с помощью WebExtensions, см. [эту статью](/slides/ru/net/web-extensions/) вместо этого. {{% /alert %}} -Процесс экспорта в HTML5 позволяет вам конвертировать PowerPoint в HTML без веб-расширений или зависимостей. Таким образом, используя свои собственные шаблоны, вы можете применять очень гибкие параметры, которые определяют процесс экспорта и результирующие HTML, CSS, JavaScript и атрибуты анимации. +Процесс экспорта в HTML5 позволяет конвертировать PowerPoint в HTML без web-extensions и внешних зависимостей. Таким образом, используя собственные шаблоны, вы можете задавать гибкие параметры, определяющие процесс экспорта и получаемый HTML, CSS, JavaScript и атрибуты анимации. ## **Экспорт PowerPoint в HTML5** - -Этот код на Python показывает, как экспортировать презентацию в HTML5 без веб-расширений и зависимостей: - +Этот код на python демонстрирует, как экспортировать презентацию в HTML5 без web-extensions и зависимостей: ```py import aspose.slides as slides @@ -26,14 +42,12 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5) ``` -{{% alert color="primary" %}} - -В этом случае вы получите чистый HTML. +{{% alert color="primary" %}} +В этом случае вы получаете чистый HTML. {{% /alert %}} -Вы можете захотеть указать настройки для анимаций объектов и переходов слайдов следующим образом: - +Вы можете задать параметры анимации фигур и переходов слайдов следующим образом: ```py import aspose.slides as slides @@ -45,10 +59,9 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5, options) ``` -#### **Экспорт PowerPoint в HTML** - -Этот код на Python демонстрирует стандартный процесс преобразования PowerPoint в HTML: +## **Экспорт PowerPoint в HTML** +Этот код на python демонстрирует стандартный процесс экспорта PowerPoint в HTML: ```py import aspose.slides as slides @@ -56,39 +69,74 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML) ``` -В этом случае содержимое презентации отображается через SVG в форме, как показано ниже: +В этом случае содержимое презентации рендерится через SVG в виде, как показано ниже: ```html
    - СОДЕРЖАНИЕ СЛАЙДА ЗДЕСЬ + THE SLIDE CONTENT GOES HERE
    ``` -{{% alert title="Примечание" color="warning" %}} - -Когда вы используете этот метод для экспорта PowerPoint в HTML, из-за рендеринга SVG вы не сможете применить стили или анимировать определенные элементы. +{{% alert title="Note" color="warning" %}} +При использовании этого метода экспорта PowerPoint в HTML, из‑за рендеринга через SVG вы не сможете применять стили или анимировать отдельные элементы. {{% /alert %}} -## **Экспорт PowerPoint в HTML5 в режиме просмотра слайдов** - -**Aspose.Slides** позволяет вам конвертировать презентацию PowerPoint в HTML5-документ, в котором слайды представлены в режиме просмотра слайдов. В этом случае, когда вы открываете результирующий HTML5-файл в браузере, вы видите презентацию в режиме просмотра слайдов на веб-странице. - -Этот код на Python демонстрирует процесс экспорта PowerPoint в HTML5 в режиме просмотра слайдов: +## **Экспорт PowerPoint в режим просмотра слайдов HTML5** +**Aspose.Slides** позволяет конвертировать презентацию PowerPoint в документ HTML5, в котором слайды отображаются в режиме просмотра слайдов. В этом случае, открывая полученный файл HTML5 в браузере, вы видите презентацию в режиме просмотра слайдов на веб‑странице. +Этот код на Python демонстрирует процесс экспорта PowerPoint в режим просмотра слайдов HTML5: ```python import aspose.slides as slides with slides.Presentation("pres.pptx") as pres: - # Экспорт презентации, содержащей переходы слайдов, анимации и анимации объектов в HTML5 + # Экспортировать презентацию, содержащую переходы слайдов, анимацию и анимацию фигур, в HTML5 options = slides.export.Html5Options() options.animate_shapes = True options.animate_transitions = True - # Сохранение презентации + # Сохранить презентацию pres.save("HTML5-slide-view.html", slides.export.SaveFormat.HTML5, options) -``` \ No newline at end of file +``` + + +## **Конвертация презентации в документ HTML5 с комментариями** +Комментарии в PowerPoint — это инструмент, позволяющий пользователям оставлять заметки или обратную связь к слайдам презентации. Они особенно полезны в совместных проектах, где несколько человек могут добавлять свои предложения или замечания к отдельным элементам слайдов без изменения основного содержания. Каждый комментарий показывает имя автора, что облегчает отслеживание, кто оставил замечание. + +Допустим, у нас есть следующая презентация PowerPoint, сохранённая в файле "sample.pptx". + +![Два комментария на слайде презентации](two_comments_pptx.png) + +При конвертации презентации PowerPoint в документ HTML5 вы можете легко указать, включать ли комментарии из презентации в выходной документ. Для этого необходимо задать параметры отображения комментариев в свойстве `notes_comments_layouting` класса [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) . + +Следующий пример кода конвертирует презентацию в документ HTML5 с комментариями, отображаемыми справа от слайдов. +```py +html5_options = Html5Options() +html5_options.notes_comments_layouting.comments_position = CommentsPositions.RIGHT + +with Presentation("sample.pptx") as presentation: + presentation.save("output.html", SaveFormat.HTML5, html5_options) +``` + + +Документ "output.html" показан на изображении ниже. + +![Комментарии в полученном документе HTML5](two_comments_html5.png) + +## **FAQ** + +**Могу ли я управлять воспроизведением анимаций объектов и переходов слайдов в HTML5?** + +Да, в HTML5 есть отдельные параметры для включения или отключения [анимации фигур](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) и [переходов слайдов](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/) . + +**Поддерживается ли вывод комментариев, и где их можно разместить относительно слайда?** + +Да, комментарии могут быть добавлены в HTML5 и размещены (например, справа от слайда) с помощью [настроек макета](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/notes_comments_layouting/) для заметок и комментариев. + +**Могу ли я пропускать ссылки, вызывающие JavaScript, по соображениям безопасности или CSP?** + +Да, существует [настройка](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/skip_java_script_links/), позволяющая пропускать гиперссылки с вызовами JavaScript при сохранении. Это помогает соответствовать строгим политикам безопасности. \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 2fe9f74076..f2c84acad2 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,30 +1,42 @@ --- -title: Экспорт в XAML +title: Экспорт презентаций в XAML с Python +linktitle: Экспорт в XAML type: docs weight: 30 url: /ru/python-net/export-to-xaml/ -keywords: "Экспорт презентации PowerPoint, Конвертация PowerPoint, XAML, PowerPoint в XAML, PPT в XAML, PPTX в XAML, Python" -description: "Экспорт или конвертация презентации PowerPoint в XAML" +keywords: +- экспорт PowerPoint +- экспорт OpenDocument +- экспорт презентации +- преобразовать PowerPoint +- преобразовать OpenDocument +- преобразовать презентацию +- PowerPoint в XAML +- OpenDocument в XAML +- презентация в XAML +- PPT в XAML +- PPTX в XAML +- ODP в XAML +- Python +- Aspose.Slides +description: "Преобразуйте слайды PowerPoint и OpenDocument в XAML с помощью Python и Aspose.Slides — быстрое решение без Office, сохраняющее ваш макет неизменным." --- -# Экспорт презентаций в XAML +## **Обзор** -{{% alert title="Информация" color="info" %}} +{{% alert title="Info" color="info" %}} -В [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/) мы реализовали поддержку экспорта в XAML. Теперь вы можете экспортировать свои презентации в XAML. +В [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/), мы реализовали поддержку экспорта в XAML. Теперь вы можете экспортировать свои презентации в XAML. {{% /alert %}} -# Что такое XAML +XAML — описательный язык программирования, позволяющий создавать или описывать пользовательские интерфейсы для приложений, особенно тех, которые используют WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) и Xamarin Forms. -XAML - это декларативный язык программирования, который позволяет создавать или писать пользовательские интерфейсы для приложений, особенно тех, что используют WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) и формы Xamarin. +XAML, основанный на XML, является вариантом Microsoft для описания графического интерфейса. Обычно вы будете использовать дизайнер для работы с файлами XAML, но вы также можете писать и редактировать GUI вручную. -XAML, являющийся языком на основе XML, - это вариант Microsoft для описания графического интерфейса пользователя. Вы, вероятно, будете использовать конструктор для работы с файлами XAML большую часть времени, но вы все равно можете писать и редактировать свой GUI. - -## Экспорт презентаций в XAML с помощью стандартных настроек - -Этот код на Python показывает, как экспортировать презентацию в XAML с установленными настройками по умолчанию: +## **Экспорт презентаций в XAML с параметрами по умолчанию** +Этот код на Python показывает, как экспортировать презентацию в XAML с параметрами по умолчанию: ```py import aspose.slides as slides @@ -32,12 +44,12 @@ pres = slides.Presentation("pres.pptx") pres.save(slides.export.xaml.XamlOptions()) ``` -## Экспорт презентаций в XAML с помощью пользовательских настроек -Вы можете выбирать параметры из интерфейса [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/), которые контролируют процесс экспорта и определяют, как Aspose.Slides экспортирует вашу презентацию в XAML. +## **Экспорт презентаций в XAML с пользовательскими параметрами** -Например, если вы хотите, чтобы Aspose.Slides добавил скрытые слайды из вашей презентации при экспорте в XAML, вы можете установить свойство [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) в значение true. Посмотрите этот пример кода на Python: +Вы можете выбрать параметры из интерфейса [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) , которые управляют процессом экспорта и определяют, как Aspose.Slides экспортирует вашу презентацию в XAML. +Например, если вы хотите, чтобы Aspose.Slides добавлял скрытые слайды из вашей презентации при экспорте в XAML, вы можете установить свойство [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) в значение true. Смотрите пример кода на Python: ```py import aspose.slides as slides @@ -47,4 +59,19 @@ opt = slides.export.xaml.XamlOptions() opt.export_hidden_slides = True pres.save(opt) -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Как гарантировать предсказуемое использование шрифтов, если оригинальный шрифт недоступен на машине?** + +Установите [default_regular_font](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/default_regular_font/) в [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — он будет использоваться как запасной шрифт, когда оригинальный отсутствует. Это помогает избежать неожиданных замен. + +**Экспортированный XAML предназначен только для WPF или его можно использовать и в других стеках XAML?** + +XAML — общий язык разметки пользовательского интерфейса, используемый в WPF, UWP и Xamarin.Forms. Экспорт ориентирован на совместимость со стеком Microsoft XAML; точное поведение и поддержка конкретных конструкций зависят от целевой платформы. Проверьте разметку в своей среде. + +**Поддерживаются ли скрытые слайды и как предотвратить их экспорт по умолчанию?** + +По умолчанию скрытые слайды не включаются. Вы можете управлять этим поведением через [export_hidden_slides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/export_hidden_slides/) в [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) — оставьте его отключённым, если экспортировать скрытые слайды не требуется. \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/examine-presentation/_index.md b/ru/python-net/developer-guide/manage-presentation/examine-presentation/_index.md index 6ae6613926..f7a070a842 100644 --- a/ru/python-net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,5 +1,5 @@ --- -title: Получите и обновите сведения о презентации на Python +title: Получить и обновить информацию о презентации в Python linktitle: Информация о презентации type: docs weight: 30 @@ -8,36 +8,35 @@ keywords: - формат презентации - свойства презентации - свойства документа -- получение свойств -- чтение свойств -- изменение свойств -- модификация свойств -- обновление свойств -- просмотр PPTX -- просмотр PPT -- просмотр ODP +- получить свойства +- прочитать свойства +- изменить свойства +- модифицировать свойства +- обновить свойства +- изучить PPTX +- изучить PPT +- изучить ODP - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Изучайте слайды, структуру и метаданные в презентациях PowerPoint и OpenDocument с помощью Python для более быстрого анализа и эффективного аудита содержимого." +description: "Исследуйте слайды, структуру и метаданные в презентациях PowerPoint и OpenDocument с помощью Python для более быстрых аналитических выводов и более умных проверок контента." --- -Aspose.Slides для Python через .NET позволяет изучать презентацию, чтобы узнать ее свойства и понять ее поведение. +Aspose.Slides for Python via .NET позволяет исследовать презентацию, чтобы узнать её свойства и понять её поведение. -{{% alert title="Информация" color="info" %}} +{{% alert title="Info" color="info" %}} -Классы [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) и [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) содержат свойства и методы, используемые в здесь в операциях. +Классы [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) и [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) содержат свойства и методы, используемые в приведённых ниже операциях. {{% /alert %}} -## **Проверка Формата Презентации** +## **Проверка формата презентации** -Перед работой с презентацией вы можете узнать, в каком формате (PPT, PPTX, ODP и другие) в данный момент находится презентация. - -Вы можете проверить формат презентации, не загружая ее. Смотрите этот код на Python: +Перед работой с презентацией вы можете узнать, в каком формате (PPT, PPTX, ODP и др.) она находится в данный момент. +Вы можете проверить формат презентации без её загрузки. См. этот код на Python: ```py import aspose.slides as slides @@ -51,10 +50,10 @@ info3 = slides.PresentationFactory.instance.get_presentation_info("pres.ppt") print(info3.load_format, info3.load_format == slides.LoadFormat.PPT) ``` -## **Получение Свойств Презентации** -Этот код на Python показывает, как получить свойства презентации (информацию о презентации): +## **Получение свойств презентации** +Этот пример кода на Python показывает, как получить свойства презентации (информацию о презентации): ```py import aspose.slides as slides @@ -65,32 +64,63 @@ print(props.subject) print(props.title) ``` -Вы можете посмотреть [свойства в классе DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties). -## **Обновление Свойств Презентации** +Вы также можете ознакомиться со [свойствами класса DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties). + +## **Обновление свойств презентации** + +Aspose.Slides предоставляет метод [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties), позволяющий вносить изменения в свойства презентации. -Aspose.Slides предоставляет метод [PresentationInfoUpdateDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/), который позволяет вам вносить изменения в свойства презентации. +Предположим, у нас есть презентация PowerPoint со следующими свойствами документа. -Этот код на Python показывает, как редактировать свойства презентации: +![Исходные свойства документа презентации PowerPoint](input_properties.png) +В этом примере кода показано, как изменить некоторые свойства презентации: ```py -import aspose.slides as slides +file_name = "sample.pptx" -info = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -props = info.read_document_properties() -print(props.title) +info = PresentationFactory.instance.get_presentation_info(file_name) -props.title = "Мой заголовок" -info.update_document_properties(props) +properties = info.read_document_properties() +properties.title = "My title" +properties.last_saved_time = datetime.now() -print(props.title) +info.update_document_properties(properties) +info.write_binded_presentation(file_name) ``` -### **Полезные Ссылки** -Чтобы получить дополнительную информацию о презентации и ее атрибутах безопасности, вы можете найти эти ссылки полезными: +Результаты изменения свойств документа показаны ниже. + +![Изменённые свойства документа презентации PowerPoint](output_properties.png) + +## **Полезные ссылки** + +Для получения дополнительной информации о презентации и её параметрах безопасности вы можете воспользоваться следующими ссылками: + +- [Проверка, зашифрована ли презентация](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [Проверка, защищена ли презентация от записи (только чтение)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [Проверка, защищена ли презентация паролем перед загрузкой](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [Подтверждение пароля, используемого для защиты презентации](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **FAQ** + +**Как проверить, встроены ли шрифты и какие именно?** + +Ищите информацию о [встроенных шрифтах](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_embedded_fonts/) на уровне презентации, затем сравните эти записи с набором [фактически используемых шрифтов](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/), чтобы определить, какие шрифты критичны для рендеринга. + +**Как быстро определить, есть ли скрытые слайды и сколько их?** + +Пройдитесь по [коллекции слайдов](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) и проверьте флаг [видимости каждого слайда](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/). + +**Можно ли обнаружить, используют ли пользовательский размер и ориентацию слайда, отличающиеся от стандартных?** + +Да. Сравните текущий [размер слайда](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/slide_size/) и ориентацию со стандартными предустановками; это поможет предвидеть поведение при печати и экспорте. + +**Есть ли быстрый способ увидеть, ссылаются ли диаграммы на внешние источники данных?** + +Да. Пройдитесь по всем [диаграммам](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), проверьте их [источник данных](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdata/data_source_type/) и определите, является ли он внутренним или ссылкой, включая любые битые ссылки. + +**Как оценить «тяжёлые» слайды, которые могут замедлять рендеринг или экспорт в PDF?** -- [Проверка на то, зашифрована ли Презентация](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [Проверка на то, защищена ли Презентация от записи (только для чтения)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [Проверка на то, защищена ли Презентация паролем перед ее загрузкой](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [Подтверждение пароля, использованного для защиты Презентации](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +Для каждого слайда подсчитайте количество объектов и ищите большие изображения, прозрачность, тени, анимацию и мультимедиа; назначьте приблизительный показатель сложности, чтобы отметить потенциальные узкие места производительности. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/manage-blob/_index.md b/ru/python-net/developer-guide/presentation-content/manage-blob/_index.md index ddcbc7590c..69a109b480 100644 --- a/ru/python-net/developer-guide/presentation-content/manage-blob/_index.md +++ b/ru/python-net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,17 +1,17 @@ --- -title: Управляйте BLOB-объектами в презентациях с помощью Python для эффективного использования памяти +title: Управление BLOB в презентациях с помощью Python для эффективного использования памяти linktitle: Управление BLOB type: docs weight: 10 url: /ru/python-net/manage-blob/ keywords: -- большой объект +- крупный объект - крупный элемент - большой файл - добавить BLOB - экспортировать BLOB - добавить изображение как BLOB -- уменьшить использование памяти +- уменьшить память - потребление памяти - большая презентация - временный файл @@ -20,47 +20,46 @@ keywords: - презентация - Python - Aspose.Slides -description: "Управляйте данными BLOB в Aspose.Slides for Python via .NET, чтобы оптимизировать операции с файлами PowerPoint и OpenDocument и эффективно обрабатывать презентации." +description: "Управляйте данными BLOB в Aspose.Slides для Python через .NET, оптимизируя операции с файлами PowerPoint и OpenDocument для эффективной работы с презентациями." --- -### **О BLOB** +## **Об BLOB** -**BLOB** (**Binary Large Object**) - это обычно большой объект (фото, презентация, документ или медиа), сохраненный в двоичных форматах. +**BLOB** (**Binary Large Object**) обычно является большим элементом (фотография, презентация, документ или медиа), сохранённым в бинарных форматах. -Aspose.Slides для Python через .NET позволяет использовать BLOB для объектов таким образом, чтобы уменьшить потребление памяти при работе с большими файлами. +Aspose.Slides for Python via .NET позволяет использовать BLOB‑ы для объектов таким образом, который снижает потребление памяти при работе с большими файлами. -# **Используйте BLOB для снижения потребления памяти** +## **Использование BLOB для снижения потребления памяти** ### **Добавление большого файла через BLOB в презентацию** -[Aspose.Slides](/slides/ru/python-net/) для .NET позволяет добавлять большие файлы (в данном случае - большой видеофайл) через процесс, включающий BLOB, чтобы снизить потребление памяти. +[Aspose.Slides](/slides/ru/python-net/) for .NET позволяет добавлять большие файлы (в данном случае, большой видеофайл) через процесс, использующий BLOB‑ы, для снижения потребления памяти. Этот пример на Python показывает, как добавить большой видеофайл через процесс BLOB в презентацию: - ```py import aspose.slides as slides pathToVeryLargeVideo = "veryLargeVideo.avi" -# Создает новую презентацию, в которую будет добавлено видео +# Создаёт новую презентацию, в которую будет добавлено видео with slides.Presentation() as pres: with open(pathToVeryLargeVideo, "br") as fileStream: - # Добавим видео в презентацию - мы выбрали поведение KeepLocked, потому что не собираемся - # получать доступ к файлу "veryLargeVideo.avi". + # Добавим видео в презентацию — мы выбрали режим KeepLocked, потому что + # не планируем получать доступ к файлу "veryLargeVideo.avi". video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) pres.slides[0].shapes.add_video_frame(0, 0, 480, 270, video) - # Сохраняет презентацию. Хотя большая презентация выводится, потребление памяти - # остается низким на протяжении всего жизненного цикла объекта pres + # Сохраняет презентацию. Пока выводится крупная презентация, потребление памяти + # остаётся низким на протяжении жизненного цикла объекта pres pres.save("presentationWithLargeVideo.pptx", slides.export.SaveFormat.PPTX) ``` ### **Экспорт большого файла через BLOB из презентации** -Aspose.Slides для Python через .NET позволяет экспортировать большие файлы (в данном случае - аудиофайл или видеофайл) через процесс, включающий BLOB, из презентаций. Например, вам может потребоваться извлечь большой медиафайл из презентации, но не хотите, чтобы файл загружался в память вашего компьютера. Экспортируя файл через процесс BLOB, вы сохраняете низкое потребление памяти. -Этот код на Python демонстрирует описанную операцию: +Aspose.Slides for Python via .NET позволяет экспортировать большие файлы (в данном случае, аудио‑ или видеофайл) через процесс, использующий BLOB‑ы, из презентаций. Например, вам может потребоваться извлечь большой медиа‑файл из презентации, но не загружать его в память компьютера. При экспорте файла через процесс BLOB вы сохраняете низкое потребление памяти. +Этот код на Python демонстрирует описанную операцию: ```py import aspose.slides as slides @@ -70,18 +69,19 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation(path + "Video.pptx", loadOptions) as pres: - # Сохраним каждое видео в файл. Чтобы избежать высокого потребления памяти, нам необходим буфер, который будет - # использоваться для передачи данных из стрима видео презентации в поток для вновь созданного видеофайла. + # Сохраним каждое видео в файл. Чтобы предотвратить высокое использование памяти, нам нужен буфер, который будет использован + # для передачи данных из видеопотока презентации в поток нового создаваемого видеофайла. + # byte[] buffer = new byte[8 * 1024]; bufferSize = 8 * 1024 - # Итерирует через видео + # Проходит по всем видео index = 0 - # При необходимости вы можете применить те же шаги к аудиофайлам. + # При необходимости вы можете применить те же действия к аудиофайлам. for video in pres.videos: - # Открывает поток видео презентации. Обратите внимание, что мы намеренно избегали доступа к свойствам - # таким как video.BinaryData - потому что это свойство возвращает массив байтов, содержащий полное видео, что затем - # приводит к загрузке байтов в память. Мы используем video.GetStream, который возвращает Stream - и НЕ - # требует от нас загрузки всего видео в память. + # Открывает видеопоток презентации. Обратите внимание, что мы намеренно избегаем доступа к свойствам + # таким как video.BinaryData — потому что это свойство возвращает массив байтов, содержащий полное видео, что затем + # приводит к загрузке байтов в память. Мы используем video.GetStream, который возвращает Stream и НЕ + # требует загрузки всего видео в память. with video.get_stream() as presVideoStream: with open("video{index}.avi".format(index = index), "wb") as outputFileStream: buffer = presVideoStream.read(8 * 1024) @@ -94,15 +94,16 @@ with slides.Presentation(path + "Video.pptx", loadOptions) as pres: index += 1 ``` + ### **Добавление изображения как BLOB в презентацию** -С помощью методов из интерфейса [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) и [**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) класса, вы можете добавить большое изображение как поток, чтобы оно обрабатывалось как BLOB. -Этот код на Python показывает, как добавить большое изображение через процесс BLOB: +С помощью методов интерфейса [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) и класса [**ImageCollection** ](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) вы можете добавить большое изображение как поток, чтобы оно обрабатывалось как BLOB. +Этот код на Python показывает, как добавить большое изображение через процесс BLOB: ```py import aspose.slides as slides -# создает новую презентацию, в которую будет добавлено изображение. +# создаёт новую презентацию, в которую будет добавлено изображение. with slides.Presentation() as pres: with open("img.jpeg", "br") as fileStream: img = pres.images.add_image(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) @@ -110,12 +111,12 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeImage.pptx", slides.export.SaveFormat.PPTX) ``` -## **Память и большие презентации** -Как правило, для загрузки большой презентации компьютерам требуется много временной памяти. Все содержимое презентации загружается в память, и файл (из которого была загружена презентация) перестает использоваться. +## **Память и большие презентации** -Рассмотрим большую презентацию PowerPoint (large.pptx), которая содержит видеофайл размером 1.5 ГБ. Стандартный способ загрузки презентации описан в этом коде на Python: +Обычно для загрузки большой презентации компьютерам требуется большое количество временной памяти. Всё содержимое презентации загружается в память, а файл (из которого была загружена презентация) более не используется. +Рассмотрим большую PowerPoint‑презентацию (large.pptx), содержащую видеофайл размером 1,5 ГБ. Стандартный метод загрузки презентации описан в следующем коде на Python: ```py import aspose.slides as slides @@ -123,12 +124,12 @@ with slides.Presentation("large.pptx") as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -Но этот метод потребляет около 1.6 ГБ временной памяти. -### **Загрузка большой презентации как BLOB** +Однако этот метод потребляет около 1,6 ГБ временной памяти. -С помощью процесса, включающего BLOB, вы можете загрузить большую презентацию, используя при этом немного памяти. Этот код на Python описывает реализацию, где процесс BLOB используется для загрузки большого файла презентации (large.pptx): +### **Загрузка большой презентации как BLOB** +С помощью процесса, использующего BLOB, вы можете загрузить большую презентацию, потребляя минимум памяти. Этот код на Python описывает реализацию, где процесс BLOB используется для загрузки большого файла презентации (large.pptx): ```py import aspose.slides as slides @@ -141,10 +142,10 @@ with slides.Presentation("large.pptx", loadOptions) as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -#### **Изменение папки для временных файлов** -При использовании процесса BLOB ваш компьютер создает временные файлы в папке по умолчанию для временных файлов. Если вы хотите, чтобы временные файлы хранились в другой папке, вы можете изменить настройки хранения, используя `temp_files_root_path`: +### **Изменение папки для временных файлов** +При использовании процесса BLOB ваш компьютер создаёт временные файлы в папке по умолчанию для временных файлов. Если вы хотите хранить временные файлы в другой папке, вы можете изменить настройки хранилища, используя `temp_files_root_path`: ```py import aspose.slides as slides @@ -155,8 +156,29 @@ loadOptions.blob_management_options.is_temporary_files_allowed = True loadOptions.blob_management_options.temp_files_root_path = "temp" ``` -{{% alert title="Информация" color="info" %}} -Когда вы используете `temp_files_root_path`, Aspose.Slides не создает автоматически папку для хранения временных файлов. Вы должны создать папку вручную. +{{% alert title="Info" color="info" %}} +При использовании `temp_files_root_path` Aspose.Slides не создает папку для хранения временных файлов автоматически. Вам необходимо создать папку вручную. +{{% /alert %}} + +## **Часто задаваемые вопросы** + +**Какие данные в презентации Aspose.Slides рассматриваются как BLOB и управляются параметрами BLOB?** + +Крупные бинарные объекты, такие как изображения, аудио и видео, рассматриваются как BLOB. Также весь файл презентации обрабатывается как BLOB при загрузке или сохранении. Эти объекты управляются политиками BLOB, которые позволяют контролировать использование памяти и при необходимости выгружать данные во временные файлы. + +**Где я могу настроить правила обработки BLOB при загрузке презентации?** + +Используйте [LoadOptions](https://reference.aspose.com/slides/python-net/aspose.slides/loadoptions/) вместе с [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/). Здесь вы задаёете лимит памяти для BLOB, разрешаете или запрещаете создание временных файлов, выбираете корневой путь для временных файлов и определяете поведение блокировки источника. + +**Влияют ли настройки BLOB на производительность, и как сбалансировать скорость и память?** + +Да. Хранение BLOB в памяти обеспечивает максимальную скорость, но увеличивает потребление ОЗУ; снижение лимита памяти переводит большую часть работы во временные файлы, уменьшая ОЗУ за счёт дополнительного ввода‑вывода. Настройте порог [max_blobs_bytes_in_memory](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/max_blobs_bytes_in_memory/), чтобы достичь оптимального баланса для вашей нагрузки и окружения. + +**Помогают ли параметры BLOB при открытии чрезвычайно больших презентаций (например, в гигабайтах)?** + +Да. [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) предназначены для таких сценариев: включение временных файлов и использование блокировки источника могут значительно снизить пиковое использование ОЗУ и стабилизировать обработку очень больших презентаций. + +**Могу ли я использовать политики BLOB при загрузке из потоков вместо файлов на диске?** -{{% /alert %}} \ No newline at end of file +Да. Те же правила применимы к потокам: экземпляр презентации может владеть и блокировать входной поток (в зависимости от выбранного режима блокировки), а временные файлы используются, если это разрешено, обеспечивая предсказуемое использование памяти во время обработки. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/ru/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index b5c749acd6..f04ac8689d 100644 --- a/ru/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/ru/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,103 +1,114 @@ --- -title: Рамка для изображения +title: Добавьте рамки изображений в презентации с помощью Python +linktitle: Рамка изображения type: docs weight: 10 url: /ru/python-net/picture-frame/ -keywords: "Добавить рамку для изображения, создать рамку для изображения, добавить изображение, создать изображение, извлечь изображение, свойство StretchOff, форматирование рамки для изображения, свойства рамки для изображения, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Добавление рамки для изображения в презентацию PowerPoint на Python" +keywords: +- рамка изображения +- добавить рамку изображения +- создать рамку изображения +- добавить изображение +- создать изображение +- извлечь изображение +- растровое изображение +- векторное изображение +- обрезать изображение +- обрезанная область +- свойство StretchOff +- форматирование рамки изображения +- свойства рамки изображения +- относительный масштаб +- эффект изображения +- соотношение сторон +- прозрачность изображения +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Добавьте рамки изображений в презентации PowerPoint и OpenDocument с помощью Aspose.Slides для Python через .NET. Оптимизируйте ваш рабочий процесс и улучшите дизайн слайдов." --- -Рамка для изображения — это фигура, содержащая изображение; это как картина в рамке. +## **Обзор** -Вы можете добавить изображение на слайд через рамку для изображения. Таким образом, вы можете отформатировать изображение, отформатировав рамку для изображения. +Рамки изображений в Aspose.Slides for Python позволяют размещать и управлять растровыми и векторными изображениями как нативными фигурами слайдов. Вы можете вставлять картинки из файлов или потоков, позиционировать и изменять их размер с точными координатами, применять вращение, задавать прозрачность и управлять порядком наложения вместе с другими фигурами. API также поддерживает обрезку, сохранение пропорций, настройку границ и эффектов, а также замену исходного изображения без перестройки макета. Поскольку рамки изображений ведут себя как обычные фигуры, вы можете добавлять анимацию, гиперссылки и альтернативный текст, что упрощает создание визуально насыщенных, доступных презентаций. -{{% alert title="Совет" color="primary" %}} +## **Создание рамок изображений** -Aspose предоставляет бесплатные конвертеры — [JPEG в PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) и [PNG в PowerPoint](https://products.aspose.app/slides/import/png-to-ppt) — которые позволяют людям быстро создавать презентации из изображений. +В этом разделе показано, как вставить изображение в слайд, создав [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) с помощью Aspose.Slides for Python. Вы узнаете, как загрузить изображение, точно разместить его на слайде и управлять его размером и форматированием. -{{% /alert %}} - -## **Создание рамки для изображения** - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд через его индекс. -3. Создайте объект [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) добавив изображение в коллекцию [IImages](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) связанной с объектом презентации, который будет использоваться для заполнения фигуры. -4. Укажите ширину и высоту изображения. -5. Создайте [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) на основе ширины и высоты изображения через метод `AddPictureFrame`, предоставляемый объектом фигуры, связанным с слайдом по ссылке. -6. Добавьте рамку для изображения (содержащую изображение) на слайд. -7. Запишите изменённую презентацию как PPTX файл. - -Этот код на Python показывает вам, как создать рамку для изображения: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите слайд по его индексу. +3. Создайте [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) путем добавления изображения в [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) презентации. Это изображение будет использоваться для заполнения фигуры. +4. Укажите ширину и высоту рамки. +5. Создайте [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) нужного размера с помощью метода [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/). +6. Сохраните презентацию в файл PPTX. +Следующий код Python показывает, как создать рамку изображения: ```py import aspose.slides as slides -import aspose.pydrawing as draw - -# Создает экземпляр класса Presentation, который представляет файл PPTX -with slides.Presentation() as pres: - # Получает первый слайд - sld = pres.slides[0] - # Создает экземпляр класса ImageEx - with open("img.jpeg", "rb") as in_file: - image = pres.images.add_image(in_file) +# Создайте объект класса Presentation для представления файла PPTX. +with slides.Presentation() as presentation: + # Получите первый слайд. + slide = presentation.slides[0] - # Добавляет рамку с эквивалентной высотой и шириной изображения - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, image.width, image.height, image) + # Добавьте изображение в презентацию. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Применяет некоторые форматы к PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Добавьте рамку изображения размером с изображение. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Записывает файл PPTX на диск - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Сохраните презентацию в формате PPTX. + presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="warning" %}} - -Рамки для изображений позволяют быстро создавать слайды презентации на основе изображений. Когда вы комбинируете рамку для изображения с параметрами сохранения Aspose.Slides, вы можете манипулировать операциями ввода/вывода для конвертации изображений из одного формата в другой. Вам могут быть интересны эти страницы: конвертировать [изображение в JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); конвертировать [JPG в изображение](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); конвертировать [JPG в PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/), конвертировать [PNG в JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); конвертировать [PNG в SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/), конвертировать [SVG в PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). +{{% alert color="warning" %}} +Рамки изображений позволяют быстро создавать слайды презентаций из картинок. При сочетании рамок изображений с вариантами сохранения Aspose.Slides вы можете управлять операциями ввода‑вывода для конвертации изображений из одного формата в другой. Возможно, вам будут полезны эти страницы: конвертация [image to JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/); конвертация [JPG to image](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/); конвертация [JPG to PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/); конвертация [PNG to JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/); конвертация [PNG to SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/); конвертация [SVG to PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/). {{% /alert %}} -## **Создание рамки для изображения с относительным масштабом** +## **Создание рамок изображений с относительным масштабированием** -Изменяя относительное масштабирование изображения, вы можете создать более сложную рамку для изображения. +В этом разделе демонстрируется размещение изображения фиксированного размера, а затем применение процентного масштабирования независимо к его ширине и высоте. Поскольку проценты могут различаться, соотношение сторон может измениться. Масштабирование производится относительно исходных размеров изображения. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд через его индекс. -3. Добавьте изображение в коллекцию изображений презентации. -4. Создайте объект [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) добавив изображение в коллекцию [IImages](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) связанную с объектом презентации, который будет использоваться для заполнения фигуры. -5. Укажите относительную ширину и высоту изображения в рамке для изображения. -6. Запишите изменённую презентацию как PPTX файл. - -Этот код на Python показывает вам, как создать рамку для изображения с относительным масштабом: +2. Получите слайд по его индексу. +3. Создайте [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) путем добавления изображения в [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) презентации. +4. Добавьте [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) на слайд. +5. Установите относительные ширину и высоту рамки изображения. +6. Сохраните презентацию в файл PPTX. +Следующий код Python показывает, как создать рамку изображения с относительным масштабированием: ```py import aspose.slides as slides -# Создает экземпляр класса Presentation, который представляет файл PPTX +# Создайте экземпляр класса Presentation для представления файла PPTX. with slides.Presentation() as presentation: - # Загружает изображение, которое будет добавлено в коллекцию изображений презентации - with open("img.jpeg", "rb") as in_file: - image = presentation.images.add_image(in_file) + # Получите первый слайд. + slide = presentation.slides[0] + + # Добавьте изображение в коллекцию изображений презентации. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Добавляет рамку для изображения на слайд - pf = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) + # Добавьте рамку изображения на слайд. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # Устанавливает относительное масштабирование ширины и высоты - pf.relative_scale_height = 0.8 - pf.relative_scale_width = 1.35 + # Установите относительные масштаб ширины и высоты. + picture_frame.relative_scale_height = 0.8 + picture_frame.relative_scale_width = 1.35 - # Сохраняет презентацию - presentation.save("Adding Picture Frame with Relative Scale_out.pptx", slides.export.SaveFormat.PPTX) + # Сохраните презентацию. + presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX) ``` -## **Извлечение изображения из рамки для изображения** -Вы можете извлекать изображения из объектов [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) и сохранять их в формате PNG, JPG и других форматах. Пример кода ниже демонстрирует, как извлечь изображение из документа "sample.pptx" и сохранить его в формате PNG. +## **Извлечение растровых изображений из рамок изображений** +Вы можете извлекать растровые изображения из объектов [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) и сохранять их в PNG, JPG и других форматах. Пример кода ниже демонстрирует, как извлечь изображение из документа «sample.pptx» и сохранить его в формате PNG. ```python import aspose.slides as slides @@ -110,247 +121,289 @@ with slides.Presentation("sample.pptx") as presentation: image.save("slide_1_shape_1.png", slides.ImageFormat.PNG) ``` -## **Получение прозрачности изображения** -Aspose.Slides позволяет вам получать прозрачность изображения. Этот код на Python демонстрирует операцию: +## **Извлечение SVG‑изображений из рамок изображений** + +Когда презентация содержит SVG‑графику, размещённую внутри фигур [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/), Aspose.Slides for Python via .NET позволяет получить оригинальные векторные изображения с полной точностью. Путём обхода коллекции фигур слайда вы можете идентифицировать каждую [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/), проверить, содержит ли связанный [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) SVG‑контент, и затем сохранить это изображение на диск или в поток в его нативном SVG‑формате. + +Следующий пример кода демонстрирует, как извлечь SVG‑изображение из рамки: +```py +import aspose.slides as slides +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + if isinstance(shape, slides.PictureFrame): + svg_image = shape.picture_format.picture.image.svg_image + + if svg_image is not None: + with open("output.svg", "w", encoding="utf-8") as svg_stream: + svg_stream.write(svg_image.svg_content) +``` + + +## **Получение прозрачности изображения** + +Aspose.Slides позволяет получить эффект прозрачности, применённый к изображению. Этот код Python демонстрирует операцию: ```python import aspose.slides as slides -with slides.Presentation("pres.pptx") as presentation: - pictureFrame = presentation.slides[0].shapes[0] - imageTransform = pictureFrame.picture_format.picture.image_transform - for effect in imageTransform: - if type(effect) is slides.AlphaModulateFixed: - transparencyValue = 100 - effect.amount - print("Прозрачность изображения: " + str(transparencyValue)) +with slides.Presentation("sample.pptx") as presentation: + picture_frame = presentation.slides[0].shapes[0] + image_transform = picture_frame.picture_format.picture.image_transform + for effect in image_transform: + if isinstance(effect, slides.effects.AlphaModulateFixed): + transparency_value = 100 - effect.amount + print("Picture transparency: " + str(transparency_value)) ``` -## **Форматирование рамки для изображения** -Aspose.Slides предоставляет множество параметров форматирования, которые можно применить к рамке для изображения. Используя эти параметры, вы можете изменить рамку для изображения, чтобы она соответствовала определенным требованиям. +{{% alert color="primary" %}} +Все эффекты, применяемые к изображениям, можно найти в [aspose.slides.effects](https://reference.aspose.com/slides/python-net/aspose.slides.effects/). +{{% /alert %}} -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) . -2. Получите ссылку на слайд через его индекс. -3. Создайте объект [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage) добавив изображение в коллекцию [IImages](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) связанную с объектом презентации, который будет использоваться для заполнения фигуры. -4. Укажите ширину и высоту изображения. -5. Создайте `PictureFrame` на основе ширины и высоты изображения через метод [AddPictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) предоставленный объектом [IShapes](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection) связанным с ссылкой на слайд. -6. Добавьте рамку для изображения (содержащую изображение) на слайд. -7. Установите цвет линии рамки для изображения. -8. Установите ширину линии рамки для изображения. -9. Поверните рамку для изображения, задав положительное или отрицательное значение. - * Положительное значение поворачивает изображение по часовой стрелке. - * Отрицательное значение поворачивает изображение против часовой стрелки. -10. Добавьте рамку для изображения (содержащую изображение) на слайд. -11. Запишите изменённую презентацию как PPTX файл. +## **Форматирование рамки изображения** -Этот код на Python демонстрирует процесс форматирования рамки для изображения: +Aspose.Slides предоставляет множество параметров форматирования, которые можно применить к рамке изображения. С их помощью вы можете настроить рамку в соответствии с конкретными требованиями. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите слайд по его индексу. +3. Создайте [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) путем добавления изображения в [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) презентации. Это изображение будет использоваться для заполнения фигуры. +4. Укажите ширину и высоту рамки. +5. Создайте [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) нужного размера с помощью метода [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) слайда. +6. Установите цвет линии рамки изображения. +7. Установите толщину линии рамки изображения. +8. Поверните рамку изображения, задав положительное (по часовой стрелке) или отрицательное (против часовой стрелки) значение. +9. Сохраните изменённую презентацию в файл PPTX. + +Следующий код Python демонстрирует процесс форматирования рамки изображения: ```py import aspose.slides as slides import aspose.pydrawing as draw -# Создает экземпляр класса Presentation, который представляет файл PPTX -with slides.Presentation() as pres: - # Получает первый слайд - sld = pres.slides[0] +# Создайте экземпляр класса Presentation, представляющий файл PPTX. +with slides.Presentation() as presentation: + # Получите первый слайд. + slide = presentation.slides[0] - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) + # Добавьте изображение в коллекцию изображений презентации. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # Добавляет рамку для изображения с эквивалентной высотой и шириной изображения - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, imgx.width, imgx.height, imgx) + # Добавьте рамку изображения размером с изображение. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # Применяет некоторые форматы к PictureFrameEx - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # Примените форматирование к рамке изображения. + picture_frame.line_format.fill_format.fill_type = slides.FillType.SOLID + picture_frame.line_format.fill_format.solid_fill_color.color = draw.Color.blue + picture_frame.line_format.width = 20 + picture_frame.rotation = 45 - # Записывает файл PPTX на диск - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # Сохраните презентацию в формате PPTX. + presentation.save("picture_formatting.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="Совет" color="primary" %}} - -Aspose недавно разработал [бесплатный Конструктор Коллажей](https://products.aspose.app/slides/collage). Если вам когда-либо нужно будет [объединить JPG/JPEG](https://products.aspose.app/slides/collage/jpg) или PNG изображения, [создать сетки из фотографий](https://products.aspose.app/slides/collage/photo-grid), вы можете воспользоваться этой услугой. +{{% alert title="Tip" color="primary" %}} +Aspose разработала бесплатный [Collage Maker](https://products.aspose.app/slides/collage). Если вам нужно [объединить JPG/JPEG](https://products.aspose.app/slides/collage/jpg) или PNG‑изображения, либо [создать фотоколлажи](https://products.aspose.app/slides/collage/photo-grid), вы можете воспользоваться этим сервисом. {{% /alert %}} -## **Добавление изображения в качестве ссылки** - -Чтобы избежать больших размеров презентации, вы можете добавлять изображения (или видео) по ссылкам вместо того, чтобы встраивать файлы непосредственно в презентацию. Этот код на Python показывает вам, как добавить изображение и видео в заполнители: +## **Добавление изображений в виде ссылок** +Чтобы уменьшить размер файлов презентаций, вы можете добавлять изображения или видео через ссылки вместо встраивания файлов непосредственно в презентацию. Следующий код Python показывает, как вставить изображение и видео в заполнитель: ```python import aspose.slides as slides with slides.Presentation("input.pptx") as presentation: - shapesToRemove = [] + slide = presentation.slides[0] - for autoShape in presentation.slides[0].shapes: - if autoShape.placeholder is None: + shapes_to_remove = [] + + for shape in slide.shapes: + if shape.placeholder is None: continue - - if autoShape.placeholder.type == slides.PlaceholderType.PICTURE: - pictureFrame = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, - autoShape.x, autoShape.y, autoShape.width, autoShape.height, None) - pictureFrame.picture_format.picture.link_path_long = \ + if shape.placeholder.type == slides.PlaceholderType.PICTURE: + picture_frame = slide.shapes.add_picture_frame( + slides.ShapeType.RECTANGLE, shape.x, shape.y, shape.width, shape.height, None) + + picture_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - shapesToRemove.append(autoShape) + shapes_to_remove.append(shape) - elif autoShape.placeholder.type == slides.PlaceholderType.MEDIA: - videoFrame = presentation.slides[0].shapes.add_video_frame( - autoShape.X, autoShape.Y, autoShape.width, autoShape.height, "") + elif shape.placeholder.type == slides.PlaceholderType.MEDIA: + video_frame = slide.shapes.add_video_frame(shape.X, shape.Y, shape.width, shape.height, "") - videoFrame.picture_format.picture.link_path_long = \ + video_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - videoFrame.link_path_long = "https://youtu.be/t_1LYZ102RA" - shapesToRemove.append(autoShape) - - + video_frame.link_path_long = "https://youtu.be/t_1LYZ102RA" + shapes_to_remove.append(shape) - for shape in shapesToRemove: - presentation.slides[0].shapes.remove(shape) + for shape in shapes_to_remove: + slide.shapes.remove(shape) presentation.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **Обрезка изображения** -Этот код на Python показывает вам, как обрезать существующее изображение на слайде: +## **Обрезка изображений** -``` py +В этом разделе вы узнаете, как обрезать видимую область изображения внутри рамки без изменения исходного файла. Вы также изучите базовый метод применения отступов обрезки для создания чистой, сфокусированной композиции непосредственно на слайде. + +Следующий код Python показывает, как обрезать изображение на слайде: +```py import aspose.slides as slides with slides.Presentation() as presentation: - # Создает новый объект изображения - newImage = presentation.images.add_image(slides.Images.from_file(imagePath)) + slide = presentation.slides[0] - # Добавляет рамку для изображения на слайд - picFrame = presentation.slides[0].shapes.add_picture_frame( - slides.ShapeType.RECTANGLE, 100, 100, 420, 250, newImage) + # Добавьте изображение в коллекцию изображений презентации. + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # Обрезает изображение (значения в процентах) - picFrame.picture_format.crop_left = 23.6 - picFrame.picture_format.crop_right = 21.5 - picFrame.picture_format.crop_top = 3 - picFrame.picture_format.crop_bottom = 31 + # Добавьте рамку изображения на слайд. + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 100, 100, 420, 250, image) - # Сохраняет результат - presentation.save(outPptxFile, slides.export.SaveFormat.PPTX) + # Обрежьте изображение (значения в процентах). + picture_frame.picture_format.crop_left = 23.6 + picture_frame.picture_format.crop_right = 21.5 + picture_frame.picture_format.crop_top = 3 + picture_frame.picture_format.crop_bottom = 31 + # Сохраните результат. + presentation.save("cropped_image.pptx", slides.export.SaveFormat.PPTX) ``` -## Удаление обрезанных областей изображения -Если вы хотите удалить обрезанные области изображения, содержащегося в рамке, вы можете использовать метод [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/). Этот метод возвращает обрезанное изображение или исходное изображение, если обрезка не нужна. +## **Удаление обрезанных областей изображений** -Этот код на Python демонстрирует операцию: +Если необходимо удалить обрезанные области изображения в рамке, используйте метод [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/). Этот метод возвращает обрезанное изображение или оригинальное изображение, если обрезка не требуется. +Следующий код Python демонстрирует операцию: ```python import aspose.slides as slides -with slides.Presentation(path + "PictureFrameCrop.pptx") as pres: - slide = pres.slides[0] +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # Получает рамку для изображения с первого слайда + # Получить PictureFrame с первого слайда. picture_frame = slides.shape[0] - # Удаляет обрезанные области изображения рамки для изображения и возвращает обрезанное изображение + # Получить PictureFrame с первого слайда. cropped_image = picture_frame.picture_format.delete_picture_cropped_areas() - # Сохраняет результат - pres.save(path + "PictureFrameDeleteCroppedAreas.pptx", slides.export.SaveFormat.PPTX) + # Сохранить результат. + presentation.save("deleted_cropped_areas.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} - -Метод delete_picture_cropped_areas добавляет обрезанное изображение в коллекцию изображений презентации. Если изображение используется только в обработанной [рамке для изображения](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/), эта настройка может уменьшить размер презентации. В противном случае количество изображений в результирующей презентации увеличится. -Этот метод преобразует метафайлы WMF/EMF в растровое изображение PNG в процессе обрезки. +{{% alert title="NOTE" color="warning" %}} +Метод [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) добавляет обрезанное изображение в коллекцию изображений презентации. Если изображение используется только в обработанном [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/), это может уменьшить размер презентации; в противном случае количество изображений в полученной презентации может возрасти. +Во время обрезки этот метод преобразует метафайлы WMF/EMF в растровое PNG‑изображение. {{% /alert %}} ## **Блокировка соотношения сторон** -Если вы хотите, чтобы фигура, содержащая изображение, сохраняла свое соотношение сторон, даже после изменения размеров изображения, вы можете использовать свойство *aspect_ratio_locked*, чтобы установить параметр *Блокировка соотношения сторон*. - -Этот код на Python показывает вам, как заблокировать соотношение сторон фигуры: +Если необходимо, чтобы фигура, содержащая изображение, сохраняла соотношение сторон после изменения размеров изображения, задайте свойство [aspect_ratio_locked](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/aspect_ratio_locked/) значение `True`. +Следующий код Python показывает, как заблокировать соотношение сторон фигуры: ```python -from aspose.slides import SlideLayoutType, Presentation, ShapeType -from aspose.pydrawing import Image - -with Presentation("pres.pptx") as pres: - layout = pres.layout_slides.get_by_type(SlideLayoutType.CUSTOM) - emptySlide = pres.slides.add_empty_slide(layout) - image = Image.from_file("image.png") - presImage = pres.images.add_image(image) +import aspose.slides as slides - pictureFrame = emptySlide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 150, presImage.width, presImage.height, presImage) +with slides.Presentation("sample.pptx") as presentation: + layout = presentation.layout_slides.get_by_type(slides.SlideLayoutType.CUSTOM) + empty_slide = presentation.slides.add_empty_slide(layout) - # Устанавливает фигуру для сохранения соотношения сторон при изменении размеров - pictureFrame.picture_frame_lock.aspect_ratio_locked = True -``` + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} + picture_frame = empty_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) -Эта настройка *Блокировка соотношения сторон* сохраняет только соотношение сторон фигуры, а не изображения, которое она содержит. + # Блокировать соотношение сторон при изменении размеров. + picture_frame.picture_frame_lock.aspect_ratio_locked = True -{{% /alert %}} + presentation.save("aspect_ratio_locked.pptx", slides.export.SaveFormat.PPTX) +``` -## **Использование свойства StretchOff** -Используя свойства `StretchOffsetLeft`, `StretchOffsetTop`, `StretchOffsetRight` и `StretchOffsetBottom` интерфейса [IPictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) и класса [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/), вы можете задать заполненный прямоугольник. +{{% alert title="NOTE" color="warning" %}} +Эта настройка *Lock Aspect Ratio* сохраняет только соотношение сторон фигуры, а не соотношение сторон изображения внутри неё. +{{% /alert %}} -Когда для изображения задается масштабирование, исходный прямоугольник масштабируется, чтобы соответствовать указанному заполненному прямоугольнику. Каждый край заполненного прямоугольника определяется процентным смещением от соответствующего края ограничивающего прямоугольника фигуры. Положительный процент указывает на вкладку, в то время как отрицательный процент указывает на вылет. +## **Использование свойств смещения растягивания** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) . -2. Получите ссылку на слайд через его индекс. -3. Добавьте прямоугольник `AutoShape`. -4. Создайте изображение. -5. Установите тип заполнения фигуры. -6. Установите режим заполнения фигурой. -7. Добавьте устанавливаемое изображение для заполнения фигуры. -8. Укажите смещения изображения от соответствующего края ограничивающего прямоугольника фигуры. -9. Запишите изменённую презентацию как PPTX файл. +С помощью свойств `stretch_offset_left`, `stretch_offset_top`, `stretch_offset_right` и `stretch_offset_bottom` класса [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/) вы можете определить прямоугольник заполнения. -Этот код на Python демонстрирует процесс, в котором используется свойство StretchOff: +Когда для изображения указано растягивание, исходный прямоугольник масштабируется до размеров прямоугольника заполнения. Каждая грань прямоугольника заполнения задаётся процентным смещением от соответствующей грани ограничивающего прямоугольника фигуры. Положительный процент указывает на врезку, отрицательный — на вырезку. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по его индексу. +3. Добавьте прямоугольный [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). +4. Установите тип заливки фигуры. +5. Установите режим заливки изображения фигуры. +6. Загрузите изображение. +7. Привяжите изображение к заливке фигуры. +8. Задайте смещения изображения от соответствующих граней ограничивающего прямоугольника фигуры. +9. Сохраните презентацию в файл PPTX. + +Следующий код Python демонстрирует, как использовать свойства смещения растягивания: ```py import aspose.slides as slides -# Создает экземпляр класса Presentation, который представляет файл PPTX -with slides.Presentation() as pres: +# Создайте экземпляр класса Presentation, представляющего файл PPTX. +with slides.Presentation() as presentation: + # Получите первый слайд. + slide = presentation.slides[0] + + # Добавьте прямоугольный AutoShape. + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 300, 300) + + # Установите тип заливки фигуры. + shape.fill_format.fill_type = slides.FillType.PICTURE + + # Установите режим заливки изображения фигуры. + shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH + + # Загрузите изображение и добавьте его в презентацию. + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) + + # Присвойте изображение для заливки фигуры. + shape.fill_format.picture_fill_format.picture.image = image + + # Укажите смещения изображения от соответствующих граней ограничивающего прямоугольника фигуры. + shape.fill_format.picture_fill_format.stretch_offset_left = 25 + shape.fill_format.picture_fill_format.stretch_offset_right = 25 + shape.fill_format.picture_fill_format.stretch_offset_top = -20 + shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 + + # Сохраните файл PPTX на диск. + presentation.save("stretch_offset.pptx", slides.export.SaveFormat.PPTX) +``` + + +{{% alert title="Tip" color="primary" %}} +Aspose предоставляет бесплатные конвертеры — [JPEG to PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) и [PNG to PowerPoint](https://products.aspose.app/slides/import/png-to-ppt) — которые позволяют быстро создавать презентации из изображений. +{{% /alert %}} + +## **FAQ** + +**Как узнать, какие форматы изображений поддерживаются для PictureFrame?** - # Получает первый слайд - slide = pres.slides[0] +Aspose.Slides поддерживает как растровые изображения (PNG, JPEG, BMP, GIF и т.д.), так и векторные (например, SVG) через объект изображения, присваиваемый [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). Список поддерживаемых форматов в целом совпадает с возможностями движка конвертации слайдов и изображений. - # Создает экземпляр класса ImageEx - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) +**Как добавление десятков больших изображений повлияет на размер и производительность PPTX?** - # Добавляет рамку для изображения с эквивалентной высотой и шириной изображения - shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 300) +Встраивание больших изображений увеличивает размер файла и потребление памяти; связывание изображений помогает снизить размер презентации, но требует доступности внешних файлов. Aspose.Slides предоставляет возможность добавлять изображения по ссылке для уменьшения размера файла. - # Устанавливает тип заполнения фигуры - shape.fill_format.fill_type = slides.FillType.PICTURE +**Как заблокировать объект изображения от случайного перемещения/изменения размера?** - # Устанавливает режим заполнения фигурой - shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH +Используйте [shape locks](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/picture_frame_lock/) для [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) (например, отключите перемещение или изменение размера). Механизм блокировки описан для фигур в отдельной [статье о защите](/slides/ru/python-net/applying-protection-to-presentation/) и поддерживается для различных типов фигур, включая [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). - # Устанавливает изображение для заполнения фигуры - shape.fill_format.picture_fill_format.picture.image = imgx +**Сохраняется ли векторная точность SVG при экспорте презентации в PDF/изображения?** - # Указывает смещения изображения от соответствующего края ограничивающего прямоугольника фигуры - shape.fill_format.picture_fill_format.stretch_offset_left = 25 - shape.fill_format.picture_fill_format.stretch_offset_right = 25 - shape.fill_format.picture_fill_format.stretch_offset_top = -20 - shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 - - # Записывает файл PPTX на диск - pres.save("StretchOffsetLeftForPictureFrame_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Aspose.Slides позволяет извлечь SVG из [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) как оригинальный вектор. При [экспорте в PDF](/slides/ru/python-net/convert-powerpoint-to-pdf/) или [растровые форматы](/slides/ru/python-net/convert-powerpoint-to-png/) результат может быть растровым в зависимости от настроек экспорта; факт того, что исходный SVG хранится как вектор, подтверждается поведением извлечения. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/ru/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index aec762346a..8390018091 100644 --- a/ru/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/ru/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,15 +1,15 @@ --- -title: Добавляйте видео в презентации на Python +title: Добавление видео в презентации на Python linktitle: Видеокадр type: docs weight: 10 url: /ru/python-net/video-frame/ keywords: -- добавление видео -- создание видео -- встраивание видео -- извлечение видео -- получение видео +- добавить видео +- создать видео +- встроить видео +- извлечь видео +- получить видео - видеокадр - веб-источник - PowerPoint @@ -17,30 +17,29 @@ keywords: - презентация - Python - Aspose.Slides -description: "Узнайте, как программно добавлять и извлекать видеокадры на слайдах PowerPoint и OpenDocument с использованием Aspose.Slides for Python via .NET. Краткое практическое руководство." +description: "Узнайте, как программно добавлять и извлекать видеокадры в слайдах PowerPoint и OpenDocument с помощью Aspose.Slides для Python через .NET. Быстрое руководство." --- -Хорошо размещенное видео в презентации может сделать ваше сообщение более убедительным и повысить уровень вовлеченности вашей аудитории. +Правильно размещённое видео в презентации может сделать ваше сообщение более убедительным и повысить уровень вовлечённости аудитории. -PowerPoint позволяет добавлять видео на слайд в презентации двумя способами: +PowerPoint позволяет добавлять видео на слайд презентации двумя способами: * Добавить или встроить локальное видео (хранящееся на вашем компьютере) -* Добавить онлайн-видео (из веб-источника, такого как YouTube). +* Добавить онлайн‑видео (из веб‑источника, например YouTube). -Для того чтобы вам было удобно добавлять видео (видеоуроки) в презентацию, Aspose.Slides предоставляет интерфейс [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/), интерфейс [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) и другие соответствующие типы. +Чтобы вы могли добавлять видео‑объекты в презентацию, Aspose.Slides предоставляет интерфейсы [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/), [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) и другие соответствующие типы. -## **Создать встроенный видеофрейм** +## **Создать встроенный видеокадр** -Если видеофайл, который вы хотите добавить на свой слайд, хранится локально, вы можете создать видеофрейм, чтобы встроить видео в вашу презентацию. +Если файл видео, который вы хотите добавить на слайд, хранится локально, вы можете создать видеокадр и встроить видео в презентацию. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд через его индекс. -1. Добавьте объект [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) и передайте путь к видеофайлу для встраивания видео в презентацию. -1. Добавьте объект [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) для создания рамки для видео. -1. Сохраните измененную презентацию. - -Этот код на Python показывает, как добавить видео, хранящееся локально, в презентацию: +1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Получите ссылку на слайд по его индексу. +1. Добавьте объект [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) и передайте путь к файлу видео, чтобы встроить его в презентацию. +1. Добавьте объект [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) для создания кадра видео. +1. Сохраните изменённую презентацию. +Этот код Python демонстрирует, как добавить локальное видео в презентацию: ```python import aspose.slides as slides @@ -48,15 +47,15 @@ with slides.Presentation(path + "pres.pptx") as pres: with open("Wildlife.mp4", "br") as fileStream: video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) - # Получаем первый слайд и добавляем видеофрейм + # Получает первый слайд и добавляет видеокадр pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video) - # Сохраняем презентацию на диск + # Сохраняет презентацию на диск pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX) ``` -В качестве альтернативы вы можете добавить видео, передав его путь к файлу напрямую в метод `add_video_frame(x, y, width, height, fname)`: +В качестве альтернативы вы можете добавить видео, передав путь к файлу непосредственно в метод `add_video_frame(x, y, width, height, fname)`: ``` python import aspose.slides as slides @@ -65,24 +64,25 @@ with slides.Presentation() as pres: vf = sld.shapes.add_video_frame(50, 150, 300, 150, "video1.avi") ``` -## **Создать видеофрейм с видео из веб-источника** -Microsoft [PowerPoint 2013 и новее](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) поддерживает видео с YouTube в презентациях. Если видео, которое вы хотите использовать, доступно в интернете (например, на YouTube), вы можете добавить его в свою презентацию через веб-ссылку. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд через его индекс. -1. Добавьте объект [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) и передайте ссылку на видео. -1. Установите миниатюру для видеофрейма. -1. Сохраните презентацию. +## **Создать видеокадр с видео из веб‑источника** + +Microsoft [PowerPoint 2013 и новее](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) поддерживает видео YouTube в презентациях. Если нужное вам видео доступно онлайн (например, на YouTube), вы можете добавить его в презентацию по веб‑ссылке. -Этот код на Python показывает, как добавить видео из интернета на слайд в презентации PowerPoint: +1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +1. Получите ссылку на слайд по его индексу. +1. Добавьте объект [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) и передайте ссылку на видео. +1. Установите миниатюру для видеокадра. +1. Сохраните презентацию. +Этот код Python демонстрирует, как добавить видео из интернета на слайд в презентации PowerPoint: ```python import aspose.slides as slides from urllib.request import urlopen def add_video_from_youyube(pres, videoId): - # Добавляет видеофрейм + # Добавляет видеокадр videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId) videoFrame.play_mode = slides.VideoPlayModePreset.AUTO @@ -97,21 +97,21 @@ with slides.Presentation() as pres: pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Извлечь видео со слайда** -Кроме добавления видео на слайды, Aspose.Slides позволяет извлекать видео, встроенные в презентации. +Помимо добавления видео на слайды, Aspose.Slides позволяет извлекать видео, встроенные в презентации. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), чтобы загрузить презентацию, содержащую видео. -2. Проитерируйте все объекты [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/). -3. Проитерируйте все объекты [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/), чтобы найти [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) для загрузки презентации, содержащей видео. +2. Пройдитесь по всем объектам [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/). +3. Пройдитесь по всем объектам [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) в поиске [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). 4. Сохраните видео на диск. -Этот код на Python показывает, как извлечь видео из презентации на слайде: - +Этот код Python показывает, как извлечь видео со слайда презентации: ```python import aspose.slides as slides -# Создает объект Presentation, который представляет файл презентации +# Создаёт объект Presentation, представляющий файл презентации with slides.Presentation(path + "Video.pptx") as presentation: for shape in presentation.slides[0].shapes: if type(shape) is slides.VideoFrame: @@ -119,4 +119,23 @@ with slides.Presentation(path + "Video.pptx") as presentation: buffer = shape.embedded_video.binary_data with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream: stream.write(buffer) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Какие параметры воспроизведения видео можно изменить для VideoFrame?** + +Вы можете управлять [режимом воспроизведения](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_mode/) (авто или по щелчку) и [зацикливанием](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_loop_mode/). Эти параметры доступны через свойства объекта [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/). + +**Влияет ли добавление видео на размер файла PPTX?** + +Да. При встраивании локального видео бинарные данные включаются в документ, поэтому размер презентации растёт пропорционально размеру файла. При добавлении онлайн‑видео встраиваются только ссылка и миниатюра, поэтому увеличение размера меньше. + +**Можно ли заменить видео в существующем VideoFrame, не меняя его позицию и размеры?** + +Да. Вы можете заменить [видеоконтент](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/embedded_video/) внутри кадра, сохранив геометрию формы; это распространённый сценарий обновления медиа в уже существующей раскладке. + +**Можно ли определить тип содержимого (MIME) встроенного видео?** + +Да. Встроенное видео имеет [тип содержимого](https://reference.aspose.com/slides/python-net/aspose.slides/video/content_type/), который можно прочитать и использовать, например, при сохранении его на диск. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md b/ru/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md index 015d1fa082..6896c16c11 100644 --- a/ru/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/ru/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,37 +1,50 @@ --- -title: WordArt +title: Создание и применение эффектов WordArt в Python +linktitle: WordArt type: docs weight: 110 url: /ru/python-net/wordart/ -keywords: "WordArt, Word Art, Создать WordArt, шаблон WordArt, эффекты WordArt, тени, эффекты отображения, эффекты свечения, трансформации WordArt, 3D эффекты, внешние тени, внутренние тени, Python, Aspose.Slides для Python через .NET" -description: "Добавляйте, изменяйте и управляйте WordArt и эффектами в презентациях PowerPoint на Python или Aspose.Slides для Python через .NET" +keywords: +- WordArt +- создать WordArt +- шаблон WordArt +- эффект WordArt +- эффект тени +- эффект отображения +- эффект свечения +- трансформация WordArt +- 3D‑эффект +- эффект внешней тени +- эффект внутренней тени +- Python +- Aspose.Slides +description: "Узнайте, как создавать и настраивать эффекты WordArt в Aspose.Slides для Python через .NET. Это пошаговое руководство помогает разработчикам улучшать презентации стильным, профессиональным текстом в Python." --- -## **Что такое WordArt?** -WordArt или Word Art — это функция, которая позволяет применять эффекты к текстам, чтобы они выделялись. Например, с помощью WordArt вы можете обвести текст или залить его цветом (или градиентом), добавить к нему 3D эффекты и т. д. Вы также можете искажать, сгибать и растягивать форму текста. +## **О WordArt?** +WordArt или Word Art — это функция, позволяющая применять эффекты к тексту, чтобы он выделялся. С помощью WordArt, например, можно обвести текст контуром или заполнить его цветом (или градиентом), добавить 3D‑эффекты и т.д. Также можно наклонять, изгибать и растягивать форму текста. {{% alert color="primary" %}} -WordArt позволяет обращаться с текстом так же, как с графическим объектом. WordArt состоит из эффектов или специальных модификаций, внесенных в тексты, чтобы сделать их более привлекательными или заметными. +WordArt позволяет обращаться с текстом так же, как с графическим объектом. WordArt состоит из эффектов или специальных модификаций, применяемых к тексту, чтобы сделать его более привлекательным или заметным. {{% /alert %}} **WordArt в Microsoft PowerPoint** -Чтобы использовать WordArt в Microsoft PowerPoint, вам нужно выбрать один из предустановленных шаблонов WordArt. Шаблон WordArt — это набор эффектов, которые применяются к тексту или его форме. +Чтобы использовать WordArt в Microsoft PowerPoint, необходимо выбрать один из предопределённых шаблонов WordArt. Шаблон WordArt — это набор эффектов, которые применяются к тексту или его форме. **WordArt в Aspose.Slides** -В Aspose.Slides для Python через .NET 20.10 мы реализовали поддержку WordArt и внесли улучшения в эту функцию в последующих версиях Aspose.Slides для Python через .NET. +В Aspose.Slides для Python через .NET 20.10 была реализована поддержка WordArt, а в последующих версиях Aspose.Slides для Python через .NET функциональность была улучшена. -С помощью Aspose.Slides для Python через .NET вы можете легко создать свой собственный шаблон WordArt (один эффект или комбинацию эффектов) на Python и применить его к текстам. +С Aspose.Slides для Python через .NET вы можете легко создавать собственный шаблон WordArt (один эффект или комбинацию эффектов) в Python и применять его к текстам. -## Создание простого шаблона WordArt и его применение к тексту +## Создание простого шаблона WordArt и применение его к тексту **Использование Aspose.Slides** -Сначала создадим простой текст с помощью этого кода на Python: - +Сначала мы создаём простой текст с помощью этого кода Python: ```py import aspose.slides as slides @@ -45,30 +58,30 @@ with slides.Presentation() as pres: pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX) ``` -Теперь мы установим высоту шрифта текста на большее значение, чтобы эффект был более заметен, с помощью этого кода: +Теперь мы задаём высоту шрифта текста большим значением, чтобы эффект был более заметным, используя следующий код: ```py fontData = slides.FontData("Arial Black") portion.portion_format.latin_font = fontData portion.portion_format.font_height = 36 ``` + **Использование Microsoft PowerPoint** Перейдите в меню эффектов WordArt в Microsoft PowerPoint: ![todo:image_alt_text](image-20200930113926-1.png) -Из меню справа вы можете выбрать предустановленный эффект WordArt. Из меню слева вы можете задать настройки для нового WordArt. +В правой части меню можно выбрать предопределённый эффект WordArt. В левой части меню можно задать настройки нового WordArt. -Вот некоторые доступные параметры или опции: +Ниже перечислены некоторые доступные параметры или опции: ![todo:image_alt_text](image-20200930114015-3.png) **Использование Aspose.Slides** -Здесь мы применяем цвет шаблона SmallGrid к тексту и добавляем черную текстовую рамку шириной 1 с помощью этого кода: - +Здесь мы применяем к тексту цвет шаблона SmallGrid и добавляем чёрную границу шириной 1 пкс с помощью следующего кода: ```py portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange @@ -79,7 +92,8 @@ with slides.Presentation() as pres: portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black ``` -Получившийся текст: + +Полученный текст: ![todo:image_alt_text](image-20200930114108-4.png) @@ -87,16 +101,15 @@ with slides.Presentation() as pres: **Использование Microsoft PowerPoint** -Из интерфейса программы вы можете применить эти эффекты к тексту, текстовому блоку, форме или аналогичному элементу: +Из интерфейса программы можно применять эти эффекты к тексту, текстовому блоку, фигуре или аналогичному элементу: ![todo:image_alt_text](image-20200930114129-5.png) -Например, эффекты Тени, Отражения и Свечения могут быть применены к тексту; эффекты 3D Формата и 3D Поворота могут быть применены к текстовому блоку; свойство Мягкие края может быть применено к объекту фигуры (оно все равно оказывает влияние, даже если не установлено свойство 3D Формата). +Например, к тексту можно применить эффекты Тень, Отражение и Свечение; к текстовому блоку — эффекты 3D Формат и 3D Вращение; к объекту формы — свойство Мягкие края (оно действует, даже если не задано свойство 3D Формат). -### Применение эффектов тени - -Здесь мы намерены установить свойства, относящиеся только к тексту. Мы применяем эффект тени к тексту с помощью этого кода на Python: +### Применение теневых эффектов +Здесь мы будем менять свойства, относящиеся только к тексту. Применяем теневой эффект к тексту с помощью следующего кода Python: ```py portion.portion_format.effect_format.enable_outer_shadow_effect() portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black @@ -110,29 +123,29 @@ with slides.Presentation() as pres: portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32) ``` + API Aspose.Slides поддерживает три типа теней: OuterShadow, InnerShadow и PresetShadow. -С помощью PresetShadow вы можете применить тень к тексту (с использованием предустановленных значений). +С помощью PresetShadow можно применить тень к тексту (используя предустановленные значения). **Использование Microsoft PowerPoint** -В PowerPoint вы можете использовать один тип тени. Вот пример: +В PowerPoint доступен только один тип тени. Пример: ![todo:image_alt_text](image-20200930114225-6.png) **Использование Aspose.Slides** -Aspose.Slides на самом деле позволяет вам применять два типа теней одновременно: InnerShadow и PresetShadow. +Aspose.Slides позволяет одновременно применять два типа теней: InnerShadow и PresetShadow. **Примечания:** -- Когда OuterShadow и PresetShadow используются вместе, применяется только эффект OuterShadow. -- Если одновременно используются OuterShadow и InnerShadow, результирующий или примененный эффект зависит от версии PowerPoint. Например, в PowerPoint 2013 эффект удваивается. Но в PowerPoint 2007 применяется эффект OuterShadow. +- При одновременном использовании OuterShadow и PresetShadow применяется только эффект OuterShadow. +- Если OuterShadow и InnerShadow используются одновременно, применяемый эффект зависит от версии PowerPoint. Например, в PowerPoint 2013 эффект удваивается, а в PowerPoint 2007 применяется OuterShadow. ### Применение отображения к текстам -Мы добавляем отображение к тексту с помощью этого примера кода на Python: - +Мы добавляем отображение к тексту с помощью следующего примера кода Python: ```py portion.portion_format.effect_format.enable_reflection_effect() portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5 @@ -147,10 +160,10 @@ Aspose.Slides на самом деле позволяет вам применя portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT ``` -### Применение эффекта свечения к текстам -Мы применяем эффект свечения к тексту, чтобы он сиял или выделялся, с помощью этого кода: +### Применение эффекта свечения к текстам +Мы применяем эффект свечения к тексту, чтобы он сиял или выделялся, используя следующий код: ```py portion.portion_format.effect_format.enable_glow_effect() portion.portion_format.effect_format.glow_effect.color.r = 255 @@ -158,45 +171,46 @@ Aspose.Slides на самом деле позволяет вам применя portion.portion_format.effect_format.glow_effect.radius = 7 ``` + Результат операции: ![todo:image_alt_text](image-20200930114621-7.png) {{% alert color="primary" %}} -Вы можете изменить параметры тени, отображения и свечения. Свойства эффектов устанавливаются для каждой части текста отдельно. +Вы можете менять параметры тени, отображения и свечения. Свойства эффектов задаются отдельно для каждой части текста. {{% /alert %}} ### Использование трансформаций в WordArt -Мы используем свойство Transform (свойственное всему блоку текста) с помощью этого кода: +Мы применяем свойство Transform (действующее на весь блок текста) с помощью следующего кода: ```py textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR ``` + Результат: ![todo:image_alt_text](image-20200930114712-8.png) {{% alert color="primary" %}} -Как Microsoft PowerPoint, так и Aspose.Slides для Python через .NET предоставляют определенное количество предустановленных типов трансформаций. +И Microsoft PowerPoint, и Aspose.Slides для Python через .NET предоставляют определённое количество предопределённых типов трансформаций. {{% /alert %}} **Использование PowerPoint** -Чтобы получить доступ к предустановленным типам трансформаций, перейдите в: **Формат** -> **Эффект текста** -> **Трансформация** +Для доступа к предопределённым типам трансформаций перейдите: **Format** -> **TextEffect** -> **Transform** **Использование Aspose.Slides** Для выбора типа трансформации используйте перечисление TextShapeType. -### Применение 3D эффектов к текстам и формам - -Мы устанавливаем 3D эффект на текстовую форму с помощью этого образца кода: +### Применение 3D‑эффектов к текстам и фигурам +Мы задаём 3D‑эффект форме текста с помощью следующего примера кода: ```py autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE autoShape.three_d_format.bevel_bottom.height = 10.5 @@ -223,12 +237,12 @@ textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -Получившийся текст и его форма: -![todo:image_alt_text](image-20200930114816-9.png) +Полученный текст и его форма: -Мы применяем 3D эффект к тексту с помощью этого кода на Python: +![todo:image_alt_text](image-20200930114816-9.png) +Мы применяем 3D‑эффект к тексту с помощью этого кода Python: ```py textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5 @@ -255,61 +269,61 @@ textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` + Результат операции: ![todo:image_alt_text](image-20200930114905-10.png) {{% alert color="primary" %}} -Применение 3D эффектов к текстам или их формам и взаимодействие между эффектами основаны на определенных правилах. +Применение 3D‑эффектов к текстам или их формам и взаимодействие между эффектами основывается на определённых правилах. -Учтите сцену для текста и формы, содержащей этот текст. 3D эффект содержит представление 3D объекта и сцену, на которой этот объект был размещен. +Рассмотрим сцену для текста и формы, содержащей этот текст. 3D‑эффект включает представление 3D‑объекта и сцену, на которой объект размещён. -- Когда сцена установлена как для фигуры, так и для текста, сцена фигуры имеет приоритет — сцена текста игнорируется. -- Когда фигура не имеет своей собственной сцены, но имеет 3D представление, используется сцена текста. -- В противном случае — когда у фигуры изначально нет 3D эффекта — фигура плоская и 3D эффект применяется только к тексту. +- Когда сцена задаётся как для фигуры, так и для текста, приоритет имеет сцена фигуры — сцена текста игнорируется. +- Когда у фигуры нет собственной сцены, но есть 3D‑представление, используется сцена текста. +- Иначе — когда у формы изначально нет 3D‑эффекта, форма остаётся плоской, а 3D‑эффект применяется только к тексту. -Описание связано с [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) и [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) свойствами. +Эти описания связаны со свойствами [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) и [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/). {{% /alert %}} -## **Применение эффектов внешней тени к текстам** -Aspose.Slides для Python через .NET предоставляет классы [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) и [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/), которые позволяют применять эффекты тени к тексту, представленному TextFrame. Следуйте этим шагам: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд, используя его индекс. -3. Добавьте AutoShape типа Rectangle на слайд. -4. Получите доступ к TextFrame, связанному с AutoShape. -5. Установите FillType AutoShape на NoFill. -6. Создайте экземпляр класса OuterShadow. -7. Установите BlurRadius тени. -8. Установите Direction тени. -9. Установите Distance тени. -10. Установите RectanglelAlign на TopLeft. -11. Установите PresetColor тени на Black. -12. Запишите презентацию как файл PPTX. - -Этот пример кода на Python — реализация вышеуказанных шагов — показывает, как применить эффект внешней тени к тексту: - +## **Применение внешних теней к текстам** +Aspose.Slides для Python через .NET предоставляет классы [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) и [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/), позволяющие применять теневые эффекты к тексту, содержащемуся в TextFrame. Выполните следующие шаги: + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд, используя его индекс. +3. Добавьте к слайду AutoShape типа Rectangle. +4. Получите доступ к TextFrame, связанному с AutoShape. +5. Установите свойство FillType у AutoShape в значение NoFill. +6. Создайте экземпляр класса OuterShadow. +7. Задайте BlurRadius тени. +8. Установите Direction тени. +9. Задайте Distance тени. +10. Установите RectanglelAlign в TopLeft. +11. Установите PresetColor тени в Black. +12. Сохраните презентацию в файл PPTX. + +Этот пример кода на Python, реализующий описанные шаги, показывает, как применить внешний теневой эффект к тексту: ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as pres: - # Получите ссылку на слайд + # Получить ссылку на слайд sld = pres.slides[0] - # Добавьте AutoShape типа Rectangle + # Добавить AutoShape типа Rectangle ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50) - # Добавьте TextFrame в Rectangle + # Добавить TextFrame к Rectangle ashp.add_text_frame("Aspose TextBox") - # Отключите заливку формы, если мы хотим получить тень текста + # Отключить заливку фигуры, если нужно получить тень текста ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Добавьте внешнюю тень и установите все необходимые параметры + # Добавить внешнюю тень и установить все необходимые параметры ashp.effect_format.enable_outer_shadow_effect() shadow = ashp.effect_format.outer_shadow_effect shadow.blur_radius = 4.0 @@ -318,59 +332,78 @@ with slides.Presentation() as pres: shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT shadow.shadow_color.preset_color = slides.PresetColor.BLACK - #Запишите презентацию на диск + #Сохранить презентацию на диск pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Применение эффекта внутренней тени к формам** -Следуйте этим шагам: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд. -3. Добавьте AutoShape типа Rectangle. -4. Включите InnerShadowEffect. -5. Установите все необходимые параметры. -6. Установите ColorType как Scheme. -7. Установите цвет схемы. -8. Запишите презентацию как файл [PPTX](https://docs.fileformat.com/presentation/pptx/). +## **Применение внутренней тени к фигурам** +Выполните следующие шаги: -Этот пример кода (основываясь на вышеуказанных шагах) показывает, как добавить соединитель между двумя формами на Python: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд. +3. Добавьте AutoShape типа Rectangle. +4. Включите InnerShadowEffect. +5. Задайте все необходимые параметры. +6. Установите ColorType в Scheme. +7. Установите Scheme Color. +8. Сохраните презентацию в файл [PPTX](https://docs.fileformat.com/presentation/pptx/). +Этот пример кода (основанный на вышеуказанных шагах) показывает, как добавить соединитель между двумя фигурами в Python: ```py import aspose.slides as slides import aspose.pydrawing as draw with slides.Presentation() as presentation: - # Получите ссылку на слайд + # Получить ссылку на слайд slide = presentation.slides[0] - # Добавьте AutoShape типа Rectangle + # Добавить AutoShape типа Rectangle ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300) ashp.fill_format.fill_type = slides.FillType.NO_FILL - # Добавьте TextFrame в Rectangle + # Добавить TextFrame к Rectangle ashp.add_text_frame("Aspose TextBox") port = ashp.text_frame.paragraphs[0].portions[0] pf = port.portion_format pf.font_height = 50 - # Включите inner_shadow_effect + # Включить inner_shadow_effect ef = pf.effect_format ef.enable_inner_shadow_effect() - # Установите все необходимые параметры + # Установить все необходимые параметры ef.inner_shadow_effect.blur_radius = 8.0 ef.inner_shadow_effect.direction = 90.0 ef.inner_shadow_effect.distance = 6.0 ef.inner_shadow_effect.shadow_color.b = 189 - # Установите ColorType как Scheme + # Установить ColorType как Scheme ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME - # Установите цвет схемы + # Установить Scheme Color ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1 - # Сохраните презентацию + # Сохранить презентацию presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Можно ли использовать эффекты WordArt с разными шрифтами или скриптами (например, арабский, китайский)?** + +Да, Aspose.Slides поддерживает Unicode и работает со всеми основными шрифтами и скриптами. Эффекты WordArt, такие как тень, заливка и контур, можно применять независимо от языка, хотя доступность шрифтов и их отображение зависят от системных шрифтов. + +**Можно ли применять эффекты WordArt к элементам шаблона слайдов?** + +Да, вы можете применять эффекты WordArt к фигурам на шаблонах слайдов, включая заполнитель заголовка, нижний колонтитул или фоновый текст. Изменения, внесённые в шаблон, отразятся на всех связанных слайдах. + +**Влияют ли эффекты WordArt на размер файла презентации?** + +Слегка. Такие эффекты, как тени, свечение и градиентные заливки, могут немного увеличить размер файла за счёт добавления метаданных форматирования, но разница обычно незначительна. + +**Можно ли предварительно просмотреть результат эффектов WordArt без сохранения презентации?** + +Да, вы можете отрисовать слайды с WordArt в изображения (например, PNG, JPEG), используя метод `get_image` классов [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) или [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). Это позволяет увидеть результат в памяти или на экране перед сохранением или экспортом полной презентации. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 0b89db33ab..2185a942d8 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,5 +1,5 @@ --- -title: Настройте оси диаграмм в презентациях с помощью Python +title: Настройка осей диаграмм в презентациях с помощью Python linktitle: Ось диаграммы type: docs url: /ru/python-net/chart-axis/ @@ -25,22 +25,20 @@ keywords: description: "Узнайте, как использовать Aspose.Slides for Python via .NET для настройки осей диаграмм в презентациях PowerPoint и OpenDocument для отчетов и визуализаций." --- +## **Получение максимальных значений по вертикальной оси на диаграммах** +Aspose.Slides for Python via .NET позволяет получать минимальные и максимальные значения по вертикальной оси. Выполните следующие шаги: -## **Получение максимальных значений на вертикальной оси графиков** -Aspose.Slides для Python через .NET позволяет получить минимальные и максимальные значения на вертикальной оси. Выполните следующие шаги: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите доступ к первому слайду. -1. Добавьте график с данными по умолчанию. -1. Получите фактическое максимальное значение на оси. -1. Получите фактическое минимальное значение на оси. -1. Получите фактический основной единицу оси. -1. Получите фактическую вспомогательную единицу оси. -1. Получите фактический масштаб основной единицы оси. -1. Получите фактический масштаб вспомогательной единицы оси. - -Этот образец кода — реализация вышеуказанных шагов — показывает, как получить необходимые значения на Python: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите доступ к первому слайду. +3. Добавьте диаграмму с данными по умолчанию. +4. Получите фактическое максимальное значение оси. +5. Получите фактическое минимальное значение оси. +6. Получите фактическую основную единицу измерения оси. +7. Получите фактическую вспомогательную единицу измерения оси. +8. Получите фактический масштаб основной единицы оси. +9. Получите фактический масштаб вспомогательной единицы оси. +Этот пример кода — реализация указанных шагов — показывает, как получить требуемые значения в Python: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -60,11 +58,10 @@ with slides.Presentation() as pres: ``` -## **Переключение данных между осями** -Aspose.Slides позволяет быстро менять данные между осями — данные, представленные на вертикальной оси (ось y), перемещаются на горизонтальную ось (ось x) и наоборот. - -Этот код на Python показывает, как выполнить задачу переключения данных между осями графика: +## **Перемена данных между осями** +Aspose.Slides позволяет быстро менять данные между осями — данные, отображённые по вертикальной оси (y-axis), перемещаются на горизонтальную ось (x-axis) и наоборот. +Этот код на Python показывает, как выполнить замену данных между осями на диаграмме: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -80,10 +77,10 @@ with slides.Presentation() as pres: pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Отключение вертикальной оси для линейных графиков** -Этот код на Python показывает, как скрыть вертикальную ось для линейного графика: +## **Отключение вертикальной оси для линейных диаграмм** +Этот код на Python показывает, как скрыть вертикальную ось для линейной диаграммы: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -95,10 +92,10 @@ with slides.Presentation() as pres: pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX) ``` -## **Отключение горизонтальной оси для линейных графиков** -Этот код показывает, как скрыть горизонтальную ось для линейного графика: +## **Отключение горизонтальной оси для линейных диаграмм** +Этот код показывает, как скрыть горизонтальную ось для линейной диаграммы: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -110,10 +107,10 @@ with slides.Presentation() as pres: pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX) ``` -## **Изменение категории оси** -Используя свойство **CategoryAxisType**, вы можете указать предпочитаемый тип категории оси (**дата** или **текст**). Этот код на Python демонстрирует операцию: +## **Изменение оси категорий** +С помощью свойства **CategoryAxisType** можно указать предпочитаемый тип оси категорий (**date** или **text**). Этот код на Python демонстрирует операцию: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -127,9 +124,9 @@ with slides.Presentation(path + "ExistingChart.pptx") as presentation: presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Установка формата даты для значения оси категории** -Aspose.Slides для Python через .NET позволяет установить формат даты для значения оси категории. Операция демонстрируется в этом коде на Python: +## **Установка формата даты для значения оси категорий** +Aspose.Slides for Python via .NET позволяет задать формат даты для значения оси категорий. Операция продемонстрирована в этом коде на Python: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -165,9 +162,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Установка угла поворота для заголовка оси графика** -Aspose.Slides для Python через .NET позволяет установить угол поворота для заголовка оси графика. Этот код на Python демонстрирует операцию: +## **Установка угла поворота заголовка оси диаграммы** +Aspose.Slides for Python via .NET позволяет задать угол поворота заголовка оси диаграммы. Этот код на Python демонстрирует операцию: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -180,9 +177,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **Установка оси позиции в категории или значения оси** -Aspose.Slides для Python через .NET позволяет установить ось позиции в категории или значения оси. Этот код на Python показывает, как выполнить задачу: +## **Установка позиции оси в оси категорий или значений** +Aspose.Slides for Python via .NET позволяет установить позицию оси в оси категорий или значений. Этот код на Python показывает, как выполнить задачу: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -194,9 +191,9 @@ with slides.Presentation() as pres: pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX) ``` -## **Включение отображения единицы на оси значения графика** -Aspose.Slides для Python через .NET позволяет настроить график для отображения метки единицы на оси значения графика. Этот код на Python демонстрирует операцию: +## **Включение подписи единицы измерения на оси значений диаграммы** +Aspose.Slides for Python via .NET позволяет настроить диаграмму так, чтобы отображалась подпись единицы измерения на оси значений. Этот код на Python демонстрирует операцию: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -205,4 +202,15 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300) chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS pres.save("Result.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Как установить значение, при котором одна ось пересекает другую (пересечение осей)?** + +Оси предоставляют [настройку пересечения](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/cross_type/): можно выбрать пересечение на нуле, на максимальной категории/значении или в конкретном числовом значении. Это полезно для смещения оси X вверх или вниз или для подчёркивания базовой линии. + +**Как позиционировать подписи делений относительно оси (рядом, снаружи, внутри)?** + +Установите [позицию подписи](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/major_tick_mark/) в значение "cross", "outside" или "inside". Это влияет на читаемость и помогает экономить место, особенно в небольших диаграммах. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index 8e9264ff87..4045e3fba2 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,5 +1,5 @@ --- -title: Управляйте маркерами данных диаграмм в презентациях с помощью Python +title: Управление маркерами данных диаграммы в презентациях с помощью Python linktitle: Маркер данных type: docs url: /ru/python-net/chart-data-marker/ @@ -15,58 +15,57 @@ keywords: - презентация - Python - Aspose.Slides -description: "Изучите, как настраивать маркеры данных диаграмм в Aspose.Slides, повышая выразительность презентаций в форматах PPT, PPTX и ODP с понятными примерами кода." +description: "Узнайте, как настраивать маркеры данных диаграммы в Aspose.Slides, повышая влияние презентаций в форматах PPT, PPTX и ODP с помощью понятных примеров кода." --- -## **Настройка параметров маркеров графиков** -Маркеры можно установить на точки данных графика внутри конкретных серий. Для настройки параметров маркеров графиков выполните следующие шаги: +## **Задать параметры маркеров диаграммы** +Маркеры можно задавать для точек данных диаграммы внутри определенных серий. Чтобы задать параметры маркеров диаграммы, выполните следующие шаги: - Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Создайте график по умолчанию. +- Создайте диаграмму по умолчанию. - Установите изображение. -- Получите первую серию графика. +- Возьмите первую серию диаграммы. - Добавьте новую точку данных. - Запишите презентацию на диск. -В приведенном ниже примере мы установили параметры маркеров графиков на уровне точек данных. - +В приведённом ниже примере мы задали параметры маркеров диаграммы на уровне точек данных. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Создайте экземпляр класса Presentation +# Создать экземпляр класса Presentation with slides.Presentation() as presentation: slide = presentation.slides[0] - # Создание графика по умолчанию + # Создание диаграммы по умолчанию chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 0, 0, 400, 400) - # Получение индекса рабочего листа данных графика по умолчанию + # Получение индекса листа данных диаграммы по умолчанию defaultWorksheetIndex = 0 - # Получение рабочего листа данных графика + # Получение листа данных диаграммы fact = chart.chart_data.chart_data_workbook - # Удаление демонстрационных серий + # Удалить демонстрационную серию chart.chart_data.series.clear() - # Добавление новой серии - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Серия 1"), chart.type) + # Добавить новую серию + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) - # Установка изображения + # Установить изображение image1 = draw.Bitmap(path + "aspose-logo.jpg") imgx1 = presentation.images.add_image(image1) - # Установка изображения + # Установить изображение image2 = draw.Bitmap(path + "Tulips.jpg") imgx2 = presentation.images.add_image(image2) - # Получение первой серии графика + # Взять первую серию диаграммы series = chart.chart_data.series[0] - # Добавление новой точки (1:3) туда. + # Добавить новую точку (1:3) туда. point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx1 @@ -83,9 +82,20 @@ with slides.Presentation() as presentation: point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx2 - # Изменение размера маркера серии графика + # Изменение маркера серии диаграммы series.marker.size = 15 - # Запись презентации на диск + # Сохранить презентацию на диск presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Какие формы маркеров доступны сразу же?** + +Доступны стандартные формы (круг, квадрат, ромб, треугольник и т.д.); список определяется перечислением [MarkerStyleType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/markerstyletype/). Если нужна нестандартная форма, используйте маркер с заполнением изображением, чтобы имитировать пользовательскую визуализацию. + +**Сохраняются ли маркеры при экспорте диаграммы в изображение или SVG?** + +Да. При рендеринге диаграмм в [растровые форматы](/slides/ru/python-net/convert-powerpoint-to-png/) или сохранении [форм как SVG](/slides/ru/python-net/render-a-slide-as-an-svg-image/), маркеры сохраняют свой внешний вид и настройки, включая размер, заливку и контур. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 234f936eaf..159c5f4de7 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,109 +1,121 @@ --- -title: Настройте легенды графиков в презентациях с помощью Python -linktitle: Легенда графика +title: Настройка легенд диаграмм в презентациях с Python +linktitle: Легенда диаграммы type: docs url: /ru/python-net/chart-legend/ keywords: - - легенда графика - - положение легенды - - размер шрифта - - PowerPoint - - OpenDocument - - презентация - - Python - - Aspose.Slides -description: "Настройте легенды графиков с помощью Aspose.Slides for Python via .NET, чтобы оптимизировать презентации PowerPoint и OpenDocument с индивидуальным форматированием легенд." +- легенда диаграммы +- позиция легенды +- размер шрифта +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Настройте легенды диаграмм с помощью Aspose.Slides для Python через .NET, чтобы оптимизировать презентации PowerPoint и OpenDocument, используя индивидуальное форматирование легенд." --- -## **Позиционирование легенды** -Чтобы установить свойства легенды, выполните следующие шаги: +## **Обзор** -- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Получите ссылку на слайд. -- Добавьте график на слайд. -- Установите свойства легенды. -- Запишите презентацию в файл PPTX. +Aspose.Slides for Python предоставляет полный контроль над легендами диаграмм, позволяя делать подписи данных ясными и готовыми к презентации. Вы можете показывать или скрывать легенду, выбирать её позицию на слайде и настраивать макет, чтобы избежать наложения на область построения. API позволяет оформлять текст и маркеры, точно регулировать отступы и фон, а также задавать границы и заливки в соответствии с вашей темой. Разработчики также могут получать доступ к отдельным элементам легенды для переименования или фильтрации, гарантируя отображение только наиболее релевантных рядов. Благодаря этим возможностям ваши диаграммы остаются читаемыми, согласованными и соответствуют стандартам дизайна презентации. -В приведенном ниже примере мы установили позицию и размер для легенды графика. +## **Расположение легенды** +С помощью Aspose.Slides вы можете быстро управлять тем, где появляется легенда диаграммы и как она вписывается в макет слайда. Узнайте, как точно разместить легенду. + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Получите ссылку на слайд. +1. Добавьте диаграмму на слайд. +1. Установите свойства легенды. +1. Сохраните презентацию в файл PPTX. + +В примере ниже мы задаём позицию и размер легенды диаграммы: ```py import aspose.slides.charts as charts import aspose.slides as slides -# Создайте экземпляр класса Presentation +# Создайте экземпляр класса Presentation. with slides.Presentation() as presentation: - # Получите ссылку на слайд + # Получите ссылку на слайд. slide = presentation.slides[0] - # Добавить столбчатый график на слайд - chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 500, 500) + # Добавьте кластеризованную столбчатую диаграмму на слайд. + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 300) - # Установите свойства легенды - chart.legend.x = 50 / chart.width - chart.legend.y = 50 / chart.height + # Установите свойства легенды. + chart.legend.x = 80 / chart.width + chart.legend.y = 20 / chart.height chart.legend.width = 100 / chart.width chart.legend.height = 100 / chart.height - # Запишите презентацию на диск - presentation.save("Legend_out.pptx", slides.export.SaveFormat.PPTX) + # Сохраните презентацию на диск. + presentation.save("legend_positioning.pptx", slides.export.SaveFormat.PPTX) ``` - ## **Установить размер шрифта легенды** -Aspose.Slides для Python через .NET позволяет разработчикам устанавливать размер шрифта легенды. Пожалуйста, выполните следующие шаги: -- Создайте экземпляр класса `Presentation`. -- Создайте график по умолчанию. -- Установите размер шрифта. -- Установите минимальное значение на оси. -- Установите максимальное значение на оси. -- Запишите презентацию на диск. +Легенда диаграммы должна быть столь же читаемой, как и отображаемые данные. В этом разделе показано, как изменить размер шрифта легенды, чтобы он соответствовал типографике вашей презентации и повышал доступность. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Создайте диаграмму. +1. Установите размер шрифта. +1. Сохраните презентацию на диск. ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - chart.legend.text_format.portion_format.font_height = 20 - chart.axes.vertical_axis.is_automatic_min_value = False - chart.axes.vertical_axis.min_value = -5 - chart.axes.vertical_axis.is_automatic_max_value = False - chart.axes.vertical_axis.max_value = 10 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + chart.legend.text_format.portion_format.font_height = 20 - pres.save("output.pptx", slides.export.SaveFormat.PPTX) + presentation.save("font_size.pptx", slides.export.SaveFormat.PPTX) ``` -## **Установить размер шрифта для отдельных элементов легенды** -Aspose.Slides для Python через .NET позволяет разработчикам устанавливать размер шрифта для отдельных элементов легенды. Пожалуйста, выполните следующие шаги: +## **Установить размер шрифта для элемента легенды** -- Создайте экземпляр класса `Presentation`. -- Создайте график по умолчанию. -- Получите доступ к элементу легенды. -- Установите размер шрифта. -- Установите минимальное значение на оси. -- Установите максимальное значение на оси. -- Запишите презентацию на диск. +Aspose.Slides позволяет точно настраивать внешний вид легенд диаграмм, форматируя отдельные элементы. Пример ниже демонстрирует, как выбрать конкретный элемент легенды и задать его свойства без изменения остальных элементов. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Создайте диаграмму. +1. Получите доступ к элементу легенды. +1. Установите свойства элемента. +1. Сохраните презентацию на диск. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw - - -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - tf = chart.legend.entries[1].text_format - - tf.portion_format.font_bold = 1 - tf.portion_format.font_height = 20 - tf.portion_format.font_italic = 1 - tf.portion_format.fill_format.fill_type = slides.FillType.SOLID - tf.portion_format.fill_format.solid_fill_color.color = draw.Color.blue - - pres.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + text_format = chart.legend.entries[1].text_format + + text_format.portion_format.font_bold = slides.NullableBool.TRUE + text_format.portion_format.font_height = 20 + text_format.portion_format.font_italic = slides.NullableBool.TRUE + text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID + text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.blue + + presentation.save("legend_entry.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**Могу ли я включить легенду так, чтобы диаграмма автоматически выделяла для неё место, а не накладывала её?** + +Да. Используйте режим без наложения ([overlay](https://reference.aspose.com/slides/python-net/aspose.slides.charts/legend/overlay/) = `false`); в этом случае область построения сократится, чтобы разместить легенду. + +**Можно ли сделать многострочные подписи в легенде?** + +Да. Длинные подписи автоматически переносятся, когда места недостаточно; принудительные разрывы строки поддерживаются символами новой строки в имени ряда. + +**Как заставить легенду следовать цветовой схеме темы презентации?** + +Не задавайте явные цвета/заливки/шрифты для легенды или её текста. Тогда они будут наследоваться из темы и корректно обновятся при изменении дизайна. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 908415aa9c..5ba488841f 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,36 +1,33 @@ --- -title: Настройте области построения диаграмм презентаций в Python +title: Настройка областей построения диаграмм презентаций в Python linktitle: Область построения type: docs url: /ru/python-net/chart-plot-area/ keywords: - диаграмма -- график - область построения - ширина области построения - высота области построения - размер области построения - режим компоновки - PowerPoint -- OpenDocument - презентация - Python - Aspose.Slides -description: "Узнайте, как настраивать области построения диаграмм в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides for Python via .NET. Улучшайте визуальное оформление слайдов без усилий." +description: "Узнайте, как настраивать области построения диаграмм в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides для Python через .NET. Легко улучшайте визуальное оформление слайдов." --- -## **Получить ширину, высоту области построения графика** -Aspose.Slides для Python через .NET предоставляет простой API для. - -1. Создайте экземпляр класса [Презентация](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите доступ к первому слайду. -1. Добавьте график с данными по умолчанию. -1. Вызовите метод IChart.ValidateChartLayout() перед получением актуальных значений. -1. Получите актуальное положение X (влево) элемента графика относительно верхнего левого угла графика. -1. Получите актуальную верхнюю часть элемента графика относительно верхнего левого угла графика. -1. Получите актуальную ширину элемента графика. -1. Получите актуальную высоту элемента графика. +## **Получить ширину и высоту области построения диаграммы** +Aspose.Slides for Python via .NET предоставляет простой API для . +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +2. Получите доступ к первому слайду. +3. Добавьте диаграмму с данными по умолчанию. +4. Вызовите метод IChart.ValidateChartLayout() перед получением фактических значений. +5. Получает фактическое положение X (слева) элемента диаграммы относительно левого верхнего угла диаграммы. +6. Получает фактическую верхнюю позицию элемента диаграммы относительно левого верхнего угла диаграммы. +7. Получает фактическую ширину элемента диаграммы. +8. Получает фактическую высоту элемента диаграммы. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -44,18 +41,21 @@ with slides.Presentation() as pres: w = chart.plot_area.actual_width h = chart.plot_area.actual_height - # Сохранить презентацию с графиком + # Сохранить презентацию с диаграммой pres.save("Chart_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Установить режим компоновки области построения графика** -Aspose.Slides для Python через .NET предоставляет простой API для установки режима компоновки области построения графика. Свойство **LayoutTargetType** было добавлено в классы **ChartPlotArea** и **IChartPlotArea**. Если компоновка области построения определяется вручную, это свойство указывает, следует ли располагать область построения внутри (не включая оси и метки осей) или снаружи (включая оси и метки осей). Существует два возможных значения, определенных в перечислении **LayoutTargetType**. -- **LayoutTargetType.Inner** - указывает, что размер области построения должен определять размер области построения, не включая метки и метки осей. -- **LayoutTargetType.Outer** - указывает, что размер области построения должен определять размер области построения, меток и меток осей. -Пример кода приведен ниже. + +## **Установить режим макета области построения диаграммы** +Aspose.Slides for Python via .NET предоставляет простой API для установки режима макета области построения диаграммы. Свойство **LayoutTargetType** было добавлено в классы **ChartPlotArea** и **IChartPlotArea**. Если макет области построения определяется вручную, это свойство указывает, располагать область построения по её внутренней части (не включая оси и подписи осей) или по внешней части (включая оси и подписи осей). Существует два возможных значения, определённых в перечислении **LayoutTargetType**. + +- **LayoutTargetType.Inner** - указывает, что размер области построения определяется внутренней частью области, без отметок осей и подписей осей. +- **LayoutTargetType.Outer** - указывает, что размер области построения определяется внешней частью области, включая отметки осей и подписи осей. + +Пример кода приведён ниже. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -70,4 +70,23 @@ with slides.Presentation() as presentation: chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**В каких единицах возвращаются actual_x, actual_y, actual_width и actual_height?** + +В пунктах; 1 дюйм = 72 пункта. Это единицы координат Aspose.Slides. + +**Чем область построения отличается от области диаграммы по содержанию?** + +Область построения — это регион рисования данных (серии, сетка, тренд‑линии и т.д.); область диаграммы включает окружающие элементы (заголовок, легенду и т.п.). В 3D‑диаграммах область построения также включает стены/пол и оси. + +**Как интерпретируются X, Y, ширина и высота области построения при ручном макете?** + +Это доли (0–1) от общего размера диаграммы; в этом режиме автоматическое позиционирование отключено, и используются указанные вами доли. + +**Почему позиция области построения изменилась после добавления/перемещения легенды?** + +Легенда размещается в области диаграммы вне области построения, но влияет на макет и доступное пространство, поэтому при включённом автоматическом позиционировании область построения может сместиться. (Это стандартное поведение диаграмм PowerPoint.) \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md index 9ee9fad1fe..1a88d23c53 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md @@ -1,31 +1,38 @@ --- -title: Ошибка Штриховка +title: Настройка полос ошибок в диаграммах презентаций с Python +linktitle: Полоса ошибок type: docs url: /ru/python-net/error-bar/ -keywords: "Ошибка штриховка, значения ошибки штриховки презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Добавление ошибки штриховки в презентации PowerPoint на Python" +keywords: +- полоса ошибок +- пользовательское значение +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как добавлять и настраивать полосы ошибок в диаграммах с помощью Aspose.Slides for Python via .NET - оптимизируйте визуализацию данных в презентациях PowerPoint и OpenDocument." --- -## **Добавить Ошибку Штриховки** -Aspose.Slides для Python через .NET предоставляет простой API для управления значениями ошибок штриховки. Пример кода применяется при использовании пользовательского типа значения. Чтобы указать значение, используйте свойство **ErrorBarCustomValues** конкретной точки данных в коллекции **DataPoints** серии: +## **Добавить полосу ошибок** +Aspose.Slides for Python via .NET предоставляет простой API для управления значениями полос ошибок. Пример кода применим при использовании пользовательского типа значений. Чтобы задать значение, используйте свойство **ErrorBarCustomValues** конкретной точки данных в коллекции **DataPoints** серии: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Добавьте пузырьковую диаграмму на желаемый слайд. -1. Получите первую серию диаграммы и установите формат ошибки штриховки X. -1. Получите первую серию диаграммы и установите формат ошибки штриховки Y. -1. Установите значения и формат штриховок. -1. Запишите измененную презентацию в файл PPTX. - +1. Добавьте пузырчатую диаграмму на нужный слайд. +1. Получите первую серию диаграммы и задайте формат X‑error bar. +1. Получите первую серию диаграммы и задайте формат Y‑error bar. +1. Установка значений полос и их формат. +1. Запишите изменённую презентацию в файл PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides # Создание пустой презентации with slides.Presentation() as presentation: - # Создание пузырьковой диаграммы + # Создание пузырчатой диаграммы chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # Добавление ошибок штриховки и установка их формата + # Добавление полос ошибок и установка их формата errBarX = chart.chart_data.series[0].error_bars_x_format errBarY = chart.chart_data.series[0].error_bars_y_format errBarX.is_visible = True @@ -43,28 +50,26 @@ with slides.Presentation() as presentation: ``` - -## **Добавить Пользовательское Значение Ошибки Штриховки** -Aspose.Slides для Python через .NET предоставляет простой API для управления пользовательскими значениями ошибок штриховки. Пример кода применяется, когда свойство **IErrorBarsFormat.ValueType** равно **Custom**. Чтобы указать значение, используйте свойство **ErrorBarCustomValues** конкретной точки данных в коллекции **DataPoints** серии: +## **Добавить пользовательское значение полосы ошибок** +Aspose.Slides for Python via .NET предоставляет простой API для управления пользовательскими значениями полос ошибок. Пример кода применим, когда свойство **IErrorBarsFormat.ValueType** равно **Custom**. Чтобы задать значение, используйте свойство **ErrorBarCustomValues** конкретной точки данных в коллекции **DataPoints** серии: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Добавьте пузырьковую диаграмму на желаемый слайд. -1. Получите первую серию диаграммы и установите формат ошибки штриховки X. -1. Получите первую серию диаграммы и установите формат ошибки штриховки Y. -1. Получите индивидуальные точки данных серии диаграммы и установите значения Ошибки Штриховки для отдельной точки данных серии. -1. Установите значения и формат штриховок. -1. Запишите измененную презентацию в файл PPTX. - +1. Добавьте пузырчатую диаграмму на нужный слайд. +1. Получите первую серию диаграммы и задайте формат X‑error bar. +1. Получите первую серию диаграммы и задайте формат Y‑error bar. +1. Получите отдельные точки данных серии и задайте значения Error Bar для каждой точки. +1. Установка значений полос и их формат. +1. Запишите изменённую презентацию в файл PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides # Создание пустой презентации with slides.Presentation() as presentation: - # Создание пузырьковой диаграммы + # Создание пузырчатой диаграммы chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) - # Добавление пользовательских ошибок штриховки и установка их формата + # Добавление пользовательских полос ошибок и установка их формата series = chart.chart_data.series[0] errBarX = series.error_bars_x_format errBarY = series.error_bars_y_format @@ -73,14 +78,14 @@ with slides.Presentation() as presentation: errBarX.value_type = charts.ErrorBarValueType.CUSTOM errBarY.value_type = charts.ErrorBarValueType.CUSTOM - # Доступ к точкам данных серии диаграммы и установка значений ошибок штриховки для отдельной точки + # Доступ к точке данных серии диаграммы и установка значений полос ошибок для отдельной точки points = series.data_points points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_x_minus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_plus_values = charts.DataSourceType.DOUBLE_LITERALS points.data_source_type_for_error_bars_custom_values.data_source_type_for_y_minus_values = charts.DataSourceType.DOUBLE_LITERALS - # Установка ошибок штриховки для точек серии диаграммы + # Установка полос ошибок для точек серии диаграммы for i in range(len(points)): points[i].error_bars_custom_values.x_minus.as_literal_double = i + 1 points[i].error_bars_custom_values.x_plus.as_literal_double = i + 1 @@ -89,4 +94,19 @@ with slides.Presentation() as presentation: # Сохранение презентации presentation.save("ErrorBarsCustomValues_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Что происходит с полосами ошибок при экспорте презентации в PDF или изображения?** + +Они рендерятся как часть диаграммы и сохраняются при конвертации вместе с остальным форматированием диаграммы, при условии совместимости версии или рендерера. + +**Можно ли сочетать полосы ошибок с маркерами и подписями данных?** + +Да. Полосы ошибок являются отдельным элементом и совместимы с маркерами и подписями данных; при наложении элементов может потребоваться корректировка форматирования. + +**Где найти список свойств и перечислений для работы с полосами ошибок в API?** + +В справочнике API: класс [ErrorBarsFormat](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarsformat/) и связанные перечисления [ErrorBarType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbartype/) и [ErrorBarValueType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarvaluetype/). \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md index 413d3be357..bc82682a7e 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md @@ -1,40 +1,41 @@ --- -title: Добавляйте линии тренда к PowerPoint графикам на Python +title: Добавить линии тренда к диаграммам презентации на Python linktitle: Линия тренда type: docs url: /ru/python-net/trend-line/ keywords: +- диаграмма - линия тренда - экспоненциальная линия тренда - линейная линия тренда - логарифмическая линия тренда -- линия тренда скользящей средней +- линия тренда скользящего среднего - полиномиальная линия тренда - степенная линия тренда - пользовательская линия тренда - PowerPoint +- OpenDocument - презентация - Python - Aspose.Slides -description: "Быстро добавляйте и настраивайте трендовые линии в диаграммах PowerPoint с Aspose.Slides for Python via .NET — практическое руководство и примеры кода помогут повысить точность прогнозов и привлечь аудиторию." +description: "Быстро добавляйте и настраивайте линии тренда в диаграммах PowerPoint и OpenDocument с помощью Aspose.Slides for Python via .NET — практическое руководство и примеры кода для повышения точности прогнозов и привлечения вашей аудитории." --- ## **Добавить линию тренда** -Aspose.Slides для Python через .NET предоставляет простой API для управления различными линиями тренда в графиках: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд по его индексу. -1. Добавьте график с данными по умолчанию и любого необходимого типа (в этом примере используется ChartType.CLUSTERED_COLUMN). -1. Добавление экспоненциальной линии тренда для серии графика 1. -1. Добавление линейной линии тренда для серии графика 1. -1. Добавление логарифмической линии тренда для серии графика 2. -1. Добавление линии тренда скользящей средней для серии графика 2. -1. Добавление полиномиальной линии тренда для серии графика 3. -1. Добавление степенной линии тренда для серии графика 3. -1. Запишите изменённую презентацию в файл PPTX. - -Следующий код используется для создания графика с линиями тренда. - +Aspose.Slides for Python via .NET предоставляет простой API для управления различными линиями тренда диаграмм: + +1. Создать экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Получить ссылку на слайд по его индексу. +1. Добавить диаграмму с данными по умолчанию и нужным типом (в примере используется ChartType.CLUSTERED_COLUMN). +1. Добавить экспоненциальную линию тренда для ряда диаграммы 1. +1. Добавить линейную линию тренда для ряда диаграммы 1. +1. Добавить логарифмическую линию тренда для ряда диаграммы 2. +1. Добавить линию скользящего среднего для ряда диаграммы 2. +1. Добавить полиномиальную линию тренда для ряда диаграммы 3. +1. Добавить степень линии тренда для ряда диаграммы 3. +1. Сохранить изменённую презентацию в файл PPTX. + +Следующий код используется для создания диаграммы с линиями тренда. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -43,39 +44,39 @@ import aspose.pydrawing as draw # Создание пустой презентации with slides.Presentation() as pres: - # Создание кластерного столбчатого графика + # Создание диаграммы сгруппированных столбцов chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) - # Добавление экспоненциальной линии тренда для серии графика 1 + # Добавление экспоненциальной линии тренда для серии 1 диаграммы tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) tredLinep.display_equation = False tredLinep.display_r_squared_value = False - # Добавление линейной линии тренда для серии графика 1 + # Добавление линейной линии тренда для серии 1 диаграммы tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) tredLineLin.trendline_type = charts.TrendlineType.LINEAR tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red - # Добавление логарифмической линии тренда для серии графика 2 + # Добавление логарифмической линии тренда для серии 2 диаграммы tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC - tredLineLog.add_text_frame_for_overriding("Новая логарифмическая линия тренда") + tredLineLog.add_text_frame_for_overriding("New log trend line") - # Добавление линии тренда скользящей средней для серии графика 2 + # Добавление линии тренда скользящего среднего для серии 2 диаграммы tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE tredLineMovAvg.period = 3 - tredLineMovAvg.trendline_name = "Новое имя линии тренда" + tredLineMovAvg.trendline_name = "New TrendLine Name" - # Добавление полиномиальной линии тренда для серии графика 3 + # Добавление полиномиальной линии тренда для серии 3 диаграммы tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL tredLinePol.forward = 1 tredLinePol.order = 3 - # Добавление степенной линии тренда для серии графика 3 + # Добавление степенной линии тренда для серии 3 диаграммы tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) tredLinePower.trendline_type = charts.TrendlineType.POWER tredLinePower.backward = 1 @@ -86,18 +87,18 @@ with slides.Presentation() as pres: -## **Добавить пользовательскую линию** -Aspose.Slides для Python через .NET предоставляет простой API для добавления пользовательских линий в график. Чтобы добавить простую линию к выбранному слайду презентации, выполните следующие шаги: -- Создайте экземпляр класса Presentation -- Получите ссылку на слайд, используя его индекс -- Создайте новый график, используя метод AddChart, предоставленный объектом Shapes -- Добавьте фигуру AutoShape типа Линия, используя метод AddAutoShape, предоставленный объектом Shapes -- Установите цвет линий фигуры. -- Запишите изменённую презентацию в файл PPTX +## **Добавить пользовательскую линию** +Aspose.Slides for Python via .NET предоставляет простой API для добавления пользовательских линий в диаграмму. Чтобы добавить простую сплошную линию на выбранный слайд презентации, выполните следующие действия: -Следующий код используется для создания графика с пользовательскими линиями. +- Создать экземпляр класса Presentation +- Получить ссылку на слайд, используя его Index +- Создать новую диаграмму с помощью метода AddChart объекта Shapes +- Добавить AutoShape типа Line с помощью метода AddAutoShape объекта Shapes +- Установить цвет линий фигуры. +- Сохранить изменённую презентацию в файл PPTX +Следующий код используется для создания диаграммы с пользовательскими линиями. ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -109,4 +110,15 @@ with slides.Presentation() as pres: shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red pres.save("AddCustomLines.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Что означают параметры «forward» и «backward» для линии тренда?** + +Это длина линии тренда, проецируемой вперёд/назад: для диаграмм рассеяния (XY) — в единицах осей; для недисперсионных диаграмм — в количестве категорий. Допустимы только неотрицательные значения. + +**Сохранится ли линия тренда при экспорте презентации в PDF или SVG, либо при рендеринге слайда в изображение?** + +Да. Aspose.Slides конвертирует презентации в [PDF](/slides/ru/python-net/convert-powerpoint-to-pdf/)/[SVG](/slides/ru/python-net/render-a-slide-as-an-svg-image/) и рендерит диаграммы в изображения; линии тренда, как часть диаграммы, сохраняются при этих операциях. Также доступен метод для [экспорта изображения самой диаграммы](/slides/ru/python-net/create-shape-thumbnails/). \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md index 01dd865596..ff6d08a05c 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md @@ -1,59 +1,67 @@ --- -title: 3D Диаграмма +title: Настройка 3D‑диаграмм в презентациях с помощью Python +linktitle: 3D‑диаграмма type: docs url: /ru/python-net/3d-chart/ -keywords: "3d диаграмма, rotationX, rotationY, depthpercent, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Установите rotationX, rotationY и depthpercents для 3D диаграммы в презентации PowerPoint на Python" +keywords: +- 3D‑диаграмма +- вращение +- глубина +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как создавать и настраивать 3‑D‑диаграммы в Aspose.Slides for Python via .NET, с поддержкой файлов PPT, PPTX и ODP — улучшите свои презентации уже сегодня." --- -## **Установка свойств RotationX, RotationY и DepthPercents для 3D Диаграммы** -Aspose.Slides для Python через .NET предоставляет простой API для установки этих свойств. Эта статья поможет вам узнать, как установить различные свойства, такие как X, Y вращение, **DepthPercents** и т.д. Пример кода применяет установку вышеуказанных свойств. +## **Установите свойства RotationX, RotationY и DepthPercents 3D‑диаграммы** +Aspose.Slides for Python via .NET предоставляет простой API для установки этих свойств. В этой статье объясняется, как установить различные свойства, такие как вращение по X и Y, **DepthPercents** и т.д. Пример кода демонстрирует установку перечисленных выше свойств. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите первый слайд. -1. Добавьте диаграмму с данными по умолчанию. -1. Установите свойства Rotation3D. -1. Запишите измененную презентацию в файл PPTX. - +2. Получите доступ к первому слайду. +3. Добавьте диаграмму с данными по умолчанию. +4. Установите свойства Rotation3D. +5. Запишите изменённую презентацию в файл PPTX. ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Создайте экземпляр класса Presentation +# Создать экземпляр класса Presentation with slides.Presentation() as presentation: - # Получите первый слайд + # Получить доступ к первому слайду slide = presentation.slides[0] - # Добавьте диаграмму с данными по умолчанию + # Добавить диаграмму с данными по умолчанию chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN_3D, 0, 0, 500, 500) - # Установка индекса таблицы данных диаграммы + # Установка индекса листа данных диаграммы defaultWorksheetIndex = 0 - # Получение таблицы данных диаграммы + # Получение листа данных диаграммы fact = chart.chart_data.chart_data_workbook - # Добавьте серии - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Серия 1"), chart.type) - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Серия 2"), chart.type) + # Добавить серии + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type) - # Добавьте категории - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Категория 1")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Категория 2")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Категория 3")) + # Добавить категории + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")) - # Установите свойства Rotation3D + # Установить свойства Rotation3D chart.rotation_3d.right_angle_axes = True chart.rotation_3d.rotation_x = 40 chart.rotation_3d.rotation_y = 270 chart.rotation_3d.depth_percents = 150 - # Возьмите вторую серию диаграммы + # Выбрать вторую серию диаграммы series = chart.chart_data.series[1] - # Теперь заполняем данные серии + # Сейчас заполняем данные серии series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) @@ -61,9 +69,24 @@ with slides.Presentation() as presentation: series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60)) - # Установите значение OverLap + # Установить значение OverLap series.parent_series_group.overlap = 100 - # Запишите презентацию на диск + # Сохранить презентацию на диск presentation.save("Rotation3D_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Какие типы диаграмм поддерживают 3D‑режим в Aspose.Slides?** + +Aspose.Slides поддерживает 3D‑варианты столбчатых диаграмм, включая Column 3D, Clustered Column 3D, Stacked Column 3D и 100 % Stacked Column 3D, а также связанные 3D‑типы, доступные через перечисление [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/). Чтобы получить точный актуальный список, проверьте элементы перечисления [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) в справочнике API установленной версии. + +**Можно ли получить растровое изображение 3D‑диаграммы для отчёта или веба?** + +Да. Вы можете экспортировать диаграмму в изображение с помощью [chart API](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) или [отрисовать весь слайд](/slides/ru/python-net/convert-powerpoint-to-png/) в такие форматы, как PNG или JPEG. Это удобно, когда нужен пиксельно‑точный предварительный просмотр или требуется вставить диаграмму в документы, панели мониторинга или веб‑страницы без необходимости использовать PowerPoint. + +**Насколько производительно создание и рендеринг больших 3D‑диаграмм?** + +Производительность зависит от объёма данных и визуальной сложности. Для получения наилучших результатов минимизируйте 3D‑эффекты, избегайте тяжёлых текстур на стенах и областях построения, по возможности ограничьте количество точек данных в серии и рендерите в вывод подходящего размера (разрешения и размеров), соответствующего целевому дисплею или печати. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md index 3f3b60b4c0..9b70f6e6cc 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md @@ -1,13 +1,23 @@ --- -title: График пузырьков +title: Настройка пузырьковых диаграмм в презентациях с помощью Python +linktitle: Пузырьковая диаграмма type: docs url: /ru/python-net/bubble-chart/ -keywords: "График пузырьков, размер графика, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Размер графика пузырьков в презентациях PowerPoint на Python" +keywords: +- пузырьковая диаграмма +- размер пузыря +- масштабирование размера +- представление размера +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Создавайте и настраивайте мощные пузырьковые диаграммы в PowerPoint и OpenDocument с помощью Aspose.Slides для Python через .NET, чтобы легко улучшать визуализацию данных." --- -## **Масштабирование размера графика пузырьков** -Aspose.Slides для Python через .NET поддерживает масштабирование размера графика пузырьков. В Aspose.Slides для Python через .NET были добавлены свойства **ChartSeries.bubble_size_scale** и **ChartSeriesGroup.bubble_size_scale**. Приведен пример ниже. +## **Bubble Chart Size Scaling** +Aspose.Slides для Python через .NET предоставляет поддержку масштабирования размеров пузырьковой диаграммы. В Aspose.Slides для Python через .NET добавлены свойства **ChartSeries.bubble_size_scale** и **ChartSeriesGroup.bubble_size_scale**. Ниже приведён пример. ```py import aspose.slides.charts as charts @@ -19,8 +29,9 @@ with slides.Presentation() as pres: pres.save("Result.pptx", slides.export.SaveFormat.PPTX) ``` -## **Представление данных в виде размеров графиков пузырьков** -Свойство **bubble_size_representation** было добавлено в классы ChartSeries, ChartSeriesGroup. **bubble_size_representation** определяет, как значения размера пузырьков представлены в графике пузырьков. Возможные значения: **BubbleSizeRepresentationType.AREA** и **BubbleSizeRepresentationType.WIDTH**. Соответственно, был добавлен перечисляемый тип **BubbleSizeRepresentationType** для указания возможных способов представления данных в виде размеров графиков пузырьков. Пример кода приведен ниже. + +## **Represent Data as Bubble Chart Sizes** +В классы ChartSeries и ChartSeriesGroup добавлено свойство **bubble_size_representation**. **bubble_size_representation** определяет, как значения размеров пузырей отображаются на пузырьковой диаграмме. Возможные значения: **BubbleSizeRepresentationType.AREA** и **BubbleSizeRepresentationType.WIDTH**. Соответственно, добавлен перечисление **BubbleSizeRepresentationType**, позволяющее указать возможные способы представления данных в виде размеров пузырей. Ниже приведён пример кода. ```py import aspose.slides.charts as charts @@ -30,4 +41,19 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True) chart.chart_data.series_groups[0].bubble_size_representation = charts.BubbleSizeRepresentationType.WIDTH pres.save("Presentation_BubbleSizeRepresentation.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Is a "bubble chart with 3-D effect" supported, and how does it differ from a regular one?** + +Да. Существует отдельный тип диаграммы «Bubble with 3‑D». Он применяет 3‑D стилизацию к пузырям, но не добавляет дополнительную ось; данные остаются X‑Y‑S (размер). Этот тип доступен в перечислении [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/). + +**Is there a limit on the number of series and points in a bubble chart?** + +На уровне API жёсткого ограничения нет; ограничения определяются производительностью и целевой версией PowerPoint. Рекомендуется держать количество точек в разумных пределах для читаемости и скорости рендеринга. + +**How will export affect the appearance of a bubble chart (PDF, images)?** + +Экспорт в поддерживаемые форматы сохраняет внешний вид диаграммы; рендеринг выполняется движком Aspose.Slides. Для растровых/векторных форматов применяются общие правила отрисовки графики диаграмм (разрешение, сглаживание), поэтому выбирайте достаточное DPI для печати. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md index ae35fe6559..928c43c9d3 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md @@ -1,5 +1,5 @@ --- -title: Настройте точки данных в диаграммах Treemap и Sunburst с помощью Python +title: Настройка точек данных в диаграммах Treemap и Sunburst на Python linktitle: Точки данных в диаграммах Treemap и Sunburst type: docs url: /ru/python-net/data-points-of-treemap-and-sunburst-chart/ @@ -8,96 +8,108 @@ keywords: - диаграмма sunburst - точка данных - цвет метки -- цвет ветви +- цвет ветки - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Узнайте, как управлять точками данных в диаграммах treemap и sunburst с помощью Aspose.Slides for Python via .NET, совместимого с форматами PowerPoint и OpenDocument." +description: "Узнайте, как управлять точками данных в диаграммах treemap и sunburst с помощью Aspose.Slides for Python via .NET, совместимых с форматами PowerPoint и OpenDocument." --- -Среди других типов графиков PowerPoint есть два "иерархических" типа - **Иерархический график** и **График солнечного всплеска** (также известный как Солнечный график, Солнечная диаграмма, Радиальный график или Многоуровневый круговой график). Эти графики отображают иерархические данные, организованные в виде дерева - от листьев до верхушки ветки. Листья определяются точками данных серии, а каждый последующий вложенный уровень группировки определяется соответствующей категорией. Aspose.Slides для Python через .NET позволяет форматировать точки данных графика Солнечного Всплеска и Иерархического Графика на Python. - -Вот график солнечного всплеска, где данные в столбце Series1 определяют листья, в то время как другие столбцы определяют иерархические точки данных: - -![todo:image_alt_text](https://lh6.googleusercontent.com/TSSU5O7SLOi5NZD9JaubhgGU1QU5tYKc23RQX_cal3tlz5TpOvsgUFLV_rHvruwN06ft1XYgsLhbeEDXzVqdAybPIbpfGy-lwoQf_ydxDwcjAeZHWfw61c4koXezAAlEeCA7x6BZ) - -Давайте начнем с добавления нового графика солнечного всплеска в презентацию: +## **Введение** +Помимо других типов диаграмм PowerPoint, существуют два иерархических — **Treemap** и **Sunburst** (известные также как Sunburst Graph, Sunburst Diagram, Radial Chart, Radial Graph или Multi-Level Pie Chart). Эти диаграммы отображают иерархические данные, организованные в виде дерева — от листьев к вершине ветки. Листья задаются точками данных серии, а каждый последующий уровень вложенной группы определяется соответствующей категорией. Aspose.Slides for Python via .NET позволяет форматировать точки данных диаграмм Sunburst и Treemap в Python. +![пример диаграммы Sunburst](sunburst_example.png) +Начнём с добавления новой диаграммы Sunburst в презентацию: ```py -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) ``` -{{% alert color="primary" title="Смотрите также" %}} -- [**Создание графика солнечного всплеска**](/slides/ru/python-net/adding-charts/#addingcharts-creatingsunburstchart) -{{% /alert %}} +{{% alert color="primary" title="Смотрите также" %}} +- [**Создать диаграммы Sunburst**](/slides/ru/python-net/create-chart/#create-sunburst-charts) +{{% /alert %}} -Если необходимо отформатировать точки данных графика, нам следует использовать следующее: +Если вам требуется форматировать точки данных диаграммы, используйте следующие API: -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/),  -[IChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) классы  -и [**IChartDataPoint.DataPointLevels**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapoint/) свойство  -обеспечивают доступ для форматирования точек данных графиков Иерархического графика и Солнечного Всплеска.  -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/) -используется для доступа к многоуровневым категориям - он представляет контейнер объектов  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/). -По сути, это обертка для  -[**IChartCategoryLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartCategoryLevelsManager/) с -добавленными свойствами, специфичными для точек данных.  -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) класс имеет -два свойства: [**Format**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) и  -[**DataLabel** ](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/), которые -обеспечивают доступ к соответствующим настройкам. -## **Показать значение точки данных** -Показать значение точки данных "Лист 4": +[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/), [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/), и свойство [ChartDataPoint.data_point_levels](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapoint/data_point_levels/). Они предоставляют доступ к форматированию точек данных в диаграммах Treemap и Sunburst. [ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/) используется для доступа к многоуровневым категориям; он представляет собой контейнер объектов [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/). По сути, это обёртка над [ChartCategoryLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartcategorylevelsmanager/) с дополнительными свойствами, специфичными для точек данных. Тип [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/) раскрывает два свойства — [format](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/format/) и [label](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/label/) — которые предоставляют доступ к соответствующим настройкам. +## **Отображение значений точек данных** +В этом разделе показано, как отобразить значение отдельной точки данных в диаграммах Treemap и Sunburst. Вы увидите, как включить подписи значений для выбранных точек. +Отобразить значение точки данных «Leaf 4»: ```py - dataPoints = chart.chart_data.series[0].data_points - dataPoints[3].data_point_levels[0].label.data_label_format.show_value = True +data_points = chart.chart_data.series[0].data_points +data_points[3].data_point_levels[0].label.data_label_format.show_value = True ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/bKHMf5Bj37ZkMwUE1OfXjw7_CRmDhafhQOUuVWDmitwbtdkwD68ibWluY6Q1HQz_z2Q-BR_SBrBPZ_gID5bGH0PUqI5w37S22RT-ZZal6k7qIDstKntYi5QXS8z-SgpnsI78WGiu) -## **Установить метку и цвет точки данных** -Установите метку данных "Ветка 1", чтобы отображать название серии ("Series1") вместо названия категории. Затем установите цвет текста на желтый: +![значение точки данных](data_point_value.png) + +## **Установка меток и цветов для точек данных** +В этом разделе показано, как задать пользовательские метки и цвета для отдельных точек данных в диаграммах Treemap и Sunburst. Вы узнаете, как получить доступ к конкретной точке данных, назначить метку и применить сплошную заливку для выделения важных узлов. +Установить метку данных «Branch 1», чтобы отображалось имя серии («Series1») вместо имени категории, а затем задать цвет текста — желтый: ```py - branch1Label = dataPoints[0].data_point_levels[2].label - branch1Label.data_label_format.show_category_name = False - branch1Label.data_label_format.show_series_name = True +branch1_label = data_points[0].data_point_levels[2].label +branch1_label.data_label_format.show_category_name = False +branch1_label.data_label_format.show_series_name = True - branch1Label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID - branch1Label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow +branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID +branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/I9g0kewJnxkhUVlfSWRN39Ng-wzjWyRwF3yTbOD9HhLTLBt_sMJiEfDe7vOfqRNx89o9AVZsYTW3Vv_TIuj4EgM4_UEEi7zQ3jdvaO8FoG2JcsOqNRgbiE5HQZNz8xx_q9qdj8JQ) -## **Установить цвет ветки точки данных** -Измените цвет ветки "Стебель 4": +![метка и цвет точки данных](data_point_color.png) +## **Установка цветов веток для точек данных** + +Используйте цвета веток, чтобы управлять визуальной группировкой родительских и дочерних узлов в диаграммах Treemap и Sunburst. Этот раздел демонстрирует, как задать пользовательский цвет ветки для конкретной точки данных, чтобы выделить важные поддеревья и повысить читаемость диаграммы. + +Изменить цвет ветки «Stem 4»: ```py -import aspose.slides.charts as charts import aspose.slides as slides +import aspose.slides.charts as charts import aspose.pydrawing as draw -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) - dataPoints = chart.chart_data.series[0].data_points +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) + data_points = chart.chart_data.series[0].data_points - stem4branch = dataPoints[9].data_point_levels[1] + stem4_branch = data_points[9].data_point_levels[1] - stem4branch.format.fill.fill_type = slides.FillType.SOLID - stem4branch.format.fill.solid_fill_color.color = draw.Color.red + stem4_branch.format.fill.fill_type = slides.FillType.SOLID + stem4_branch.format.fill.solid_fill_color.color = draw.Color.red - pres.save("pres.pptx", slides.export.SaveFormat.PPTX) + presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX) ``` -![todo:image_alt_text](https://lh5.googleusercontent.com/Zll4cpQ5tTDdgwmJ4yuupolfGaANR8SWWTU3XaJav_ZVXVstV1pI1z1OFH-gov6FxPoDz1cxmMyrgjsdYGS24PlhaYa2daKzlNuL1a0xYcqEiyyO23AE6JMOLavWpvqA6SzOCA6_) + +![цвет ветки](branch_color.png) + +## **Вопросы и ответы** + +**Можно ли изменить порядок (сортировку) сегментов в диаграммах Sunburst/Treemap?** + +Нет. PowerPoint сортирует сегменты автоматически (обычно по убыванию значений по часовой стрелке). Aspose.Slides повторяет это поведение: изменить порядок напрямую нельзя; это достигается предварительной обработкой данных. + +**Как тема презентации влияет на цвета сегментов и меток?** + +Цвета диаграмм наследуют [тему/палитру](/slides/ru/python-net/presentation-theme/) презентации, если только вы явно не задаёте заливки/шрифты. Для получения предсказуемых результатов закрепите сплошные заливки и форматирование текста на нужных уровнях. + +**Сохранятся ли пользовательские цвета веток и настройки меток при экспорте в PDF/PNG?** + +Да. При экспорте презентации настройки диаграммы (заливки, метки) сохраняются в выходных форматах, поскольку Aspose.Slides рендерит их с учётом применённого форматирования. + +**Можно ли вычислить фактические координаты метки/элемента для размещения пользовательского наложения поверх диаграммы?** + +Да. После того как макет диаграммы валидирован, доступны свойства `actual_x`/`actual_y` для элементов (например, у [DataLabel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/datalabel/)), что упрощает точное позиционирование наложений. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md index d0e0cbe034..f9b57c6971 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md @@ -1,41 +1,55 @@ --- -title: Настройте кольцевые графики в презентациях с помощью Python -linktitle: Кольцевой график +title: Настройка кольцевых диаграмм в презентациях с Python +linktitle: Кольцевая диаграмма type: docs weight: 30 url: /ru/python-net/doughnut-chart/ keywords: - - кольцевой график - - центральный зазор - - размер отверстия - - PowerPoint - - OpenDocument - - презентация - - Python - - Aspose.Slides -description: "Узнайте, как создавать и настраивать кольцевые графики в Aspose.Slides for Python via .NET, поддерживая форматы PowerPoint и OpenDocument для динамических презентаций." +- кольцевая диаграмма +- центральный зазор +- размер отверстия +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как создавать и настраивать кольцевые диаграммы в Aspose.Slides для Python через .NET, поддерживая форматы PowerPoint и OpenDocument для динамических презентаций." --- -## **Укажите размер отверстия в кольцевой диаграмме** -Для того чтобы указать размер отверстия в кольцевой диаграмме, выполните следующие шаги: +## **Указать центральный зазор в кольцевой диаграмме** +Чтобы задать размер отверстия в кольцевой диаграмме, выполните следующие действия: -- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Добавьте кольцевую диаграмму на слайд. -- Укажите размер отверстия в кольцевой диаграмме. -- Сохраните презентацию на диск. - -В приведенном ниже примере мы задали размер отверстия в кольцевой диаграмме. +- Создать экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +- Добавить кольцевую диаграмму на слайд. +- Задать размер отверстия в кольцевой диаграмме. +- Записать презентацию на диск. +В приведённом ниже примере мы задали размер отверстия в кольцевой диаграмме. ```py import aspose.slides.charts as charts import aspose.slides as slides -# Создайте экземпляр класса Presentation +# Создать экземпляр класса Presentation with slides.Presentation() as presentation: chart = presentation.slides[0].shapes.add_chart(charts.ChartType.DOUGHNUT, 50, 50, 400, 400) chart.chart_data.series_groups[0].doughnut_hole_size = 90 - # Сохраните презентацию на диск + # Сохранить презентацию на диск presentation.save("DoughnutHoleSize_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Можно ли создать многоуровневую кольцевую диаграмму с несколькими кольцами?** + +Да. Добавьте несколько серий в одну кольцевую диаграмму — каждая серия становится отдельным кольцом. Порядок колец определяется порядком серий в коллекции. + +**Поддерживается ли «взрывная» кольцевая диаграмма (отдельные срезы)?** + +Да. Существует тип диаграммы Exploded Doughnut [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) и свойство explosion у точек данных; можно отделять отдельные срезы. + +**Как получить изображение кольцевой диаграммы (PNG/SVG) для отчёта?** + +Диаграмма является фигурой; её можно отрендерить в [растровое изображение](https://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) или экспортировать в [SVG‑изображение](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/). \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md index 1f44f384b7..c2dd1eedca 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md @@ -1,101 +1,127 @@ --- -title: Пироговая диаграмма +title: Настройка круговых диаграмм в презентациях с помощью Python +linktitle: Круговая диаграмма type: docs url: /ru/python-net/pie-chart/ -keywords: "Пироговая диаграмма, параметры графика, цвета срезов, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Параметры построения пироговой диаграммы и цвета срезов в презентации PowerPoint на Python" +keywords: +- круговая диаграмма +- управление диаграммой +- настройка диаграммы +- опции диаграммы +- настройки диаграммы +- параметры построения +- цвет сектора +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как создавать и настраивать круговые диаграммы в Python с помощью Aspose.Slides, экспортировать их в PowerPoint и OpenDocument, ускоряя рассказ о данных за считанные секунды." --- -## **Вторые параметры построения для диаграммы Пирог из Пирога и Бар из Пирога** -Aspose.Slides для Python через .NET теперь поддерживает вторые параметры построения для диаграммы Пирог из Пирога или Бар из Пирога. В этой теме мы рассмотрим примеры того, как указать эти параметры с помощью Aspose.Slides. Чтобы указать свойства, следуйте приведенным ниже шагам: +## **Вторичные параметры построения для диаграмм «Круг в круге» и «Бар в круге»** +Aspose.Slides for Python via .NET теперь поддерживает вторичные параметры построения для диаграмм «Круг в круге» и «Бар в круге». В этой статье мы посмотрим на пример, как задавать эти параметры с помощью Aspose.Slides. Чтобы задать свойства, выполните следующие шаги: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Добавьте график на слайд. -1. Укажите вторые параметры построения графика. +1. Создайте объект класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +1. Добавьте диаграмму на слайд. +1. Укажите вторичные параметры построения диаграммы. 1. Запишите презентацию на диск. -В приведенном ниже примере мы установили различные свойства диаграммы Пирог из Пирога. - +В приведённом ниже примере мы задали различные свойства диаграммы «Круг в круге». ```py import aspose.slides.charts as charts import aspose.slides as slides -# Создание экземпляра класса Presentation +# Создать экземпляр класса Presentation with slides.Presentation() as presentation: - # Добавление графика на слайд + # Добавить диаграмму на слайд chart = presentation.slides[0].shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 500, 400) - # Установка различных свойств + # Установить различные свойства chart.chart_data.series[0].labels.default_data_label_format.show_value = True chart.chart_data.series[0].parent_series_group.second_pie_size = 149 chart.chart_data.series[0].parent_series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE chart.chart_data.series[0].parent_series_group.pie_split_position = 53 - # Запись презентации на диск + # Сохранить презентацию на диск presentation.save("SecondPlotOptionsforCharts_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Установка автоматических цветов срезов пироговой диаграммы** -Aspose.Slides для Python через .NET предоставляет простой API для установки автоматических цветов срезов пироговой диаграммы. Пример кода применяет установку вышеуказанных свойств. + + + + +## **Установка автоматических цветов секторов круговой диаграммы** +Aspose.Slides for Python via .NET предоставляет простой API для установки автоматических цветов секторов круговой диаграммы. Пример кода применяет указанные выше свойства. 1. Создайте экземпляр класса Presentation. 1. Получите первый слайд. -1. Добавьте график с данными по умолчанию. -1. Установите заголовок графика. -1. Установите первое значение серии на Показать значения. -1. Установите индекс рабочего листа графика. -1. Получите рабочий лист данных графика. -1. Удалите сгенерированные по умолчанию серии и категории. +1. Добавьте диаграмму с данными по умолчанию. +1. Установите заголовок диаграммы. +1. Настройте первый ряд для отображения значений. +1. Установите индекс листа данных диаграммы. +1. Получите лист данных диаграммы. +1. Удалите автоматически сгенерированные ряды и категории. 1. Добавьте новые категории. -1. Добавьте новые серии. +1. Добавьте новые ряды. Запишите изменённую презентацию в файл PPTX. - ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# Создайте экземпляр класса Presentation, который представляет файл PPTX +# Создать экземпляр класса Presentation, представляющего файл PPTX with slides.Presentation() as presentation: - # Получите первый слайд + # Получить первый слайд slide = presentation.slides[0] - # Добавьте график с данными по умолчанию + # Добавить диаграмму с данными по умолчанию chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) - # Установка заголовка графика - chart.chart_title.add_text_frame_for_overriding("Пример заголовка") + # Установка заголовка диаграммы + chart.chart_title.add_text_frame_for_overriding("Sample Title") chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1 chart.chart_title.height = 20 chart.has_title = True - # Установите первое значение серии на Показать значения + # Установить отображение значений для первого ряда chart.chart_data.series[0].labels.default_data_label_format.show_value = True - # Установка индекса рабочего листа графика + # Установка индекса листа данных диаграммы defaultWorksheetIndex = 0 - # Получение рабочего листа данных графика + # Получение листа данных диаграммы fact = chart.chart_data.chart_data_workbook - # Удаление сгенерированных по умолчанию серий и категорий + # Удалить автоматически сгенерированные ряды и категории chart.chart_data.series.clear() chart.chart_data.categories.clear() # Добавление новых категорий - chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "Первый квартал")) - chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "Второй квартал")) - chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "Третий квартал")) + chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr")) - # Добавление новых серий - series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Серия 1"), chart.type) + # Добавление нового ряда + series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type) - # Теперь заполним данные серии + # Теперь заполняем данные ряда series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) series.parent_series_group.is_color_varied = True presentation.save("Pie.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Поддерживаются ли варианты «Круг в круге» и «Бар в круге»?** + +Да, библиотека [поддерживает](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) вторичное построение для круговых диаграмм, включая типы «Круг в круге» и «Бар в круге». + +**Могу ли я экспортировать только диаграмму как изображение (например, PNG)?** + +Да, вы можете [экспортировать саму диаграмму как изображение](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) (например, PNG) без всей презентации. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md index 8e75d55798..9b41a01284 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md @@ -1,15 +1,15 @@ --- -title: Применение формул рабочего листа диаграммы в презентациях на Python -linktitle: Формулы рабочего листа +title: Применение формул листа диаграммы в презентациях на Python +linktitle: Формулы листа type: docs weight: 70 url: /ru/python-net/chart-worksheet-formulas/ keywords: -- электронная таблица диаграммы +- таблица диаграммы - рабочий лист диаграммы - формула диаграммы -- формула рабочего листа -- формула электронной таблицы +- формула листа +- формула таблицы - источник данных - логическая константа - числовая константа @@ -19,34 +19,32 @@ keywords: - оператор сравнения - стиль A1 - стиль R1C1 -- предопределенная функция +- предопределённая функция - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Применяйте формулы в стиле Excel в рабочих листах диаграмм Aspose.Slides for Python via .NET и автоматизируйте отчёты в файлах PPT, PPTX и ODP." +description: "Применяйте формулы в стиле Excel в Aspose.Slides для Python через .NET листы диаграмм и автоматизируйте отчёты в файлах PPT, PPTX и ODP." --- -## **О формуле диаграммной таблицы в презентации** -**Диаграммная таблица** (или лист диаграммы) в презентации является источником данных для диаграммы. Диаграммная таблица содержит данные, которые представлены на диаграмме графически. Когда вы создаете диаграмму в PowerPoint, рабочий лист, связанный с этой диаграммой, также создается автоматически. Рабочий лист диаграммы создается для всех типов диаграмм: линейная диаграмма, столбчатая диаграмма, солнечная диаграмма, круговая диаграмма и т.д. Чтобы увидеть диаграммную таблицу в PowerPoint, вам нужно дважды щелкнуть на диаграмме: +## **О формуле листа данных диаграммы в презентации** +**Лист данных диаграммы** (или лист рабочего листа диаграммы) в презентации является источником данных диаграммы. Лист данных диаграммы содержит данные, которые графически отображаются на диаграмме. При создании диаграммы в PowerPoint автоматически создаётся соответствующий лист. Лист рабочего листа создаётся для всех типов диаграмм: линейных, столбчатых, круговых, графиков, и т.д. Чтобы увидеть лист данных диаграммы в PowerPoint, дважды щелкните по диаграмме: ![todo:image_alt_text](chart-worksheet-formulas_1.png) +Лист данных диаграммы содержит имена элементов диаграммы (Имя категории: *Category1*, Имя серии) и таблицу с числовыми данными, соответствующими этим категориям и сериям. По умолчанию, при создании новой диаграммы в листе данных диаграммы размещаются данные по умолчанию. Затем вы можете изменить данные листа вручную. +Обычно диаграмма представляет сложные данные (например, финансовые или научные анализы), где ячейки вычисляются из значений в других ячейках или из динамических данных. Ручное вычисление значения ячейки и фиксирование его в ячейке затрудняет последующее изменение. Если изменить значение определённой ячейки, все зависящие от неё ячейки также потребуют обновления. Более того, данные таблицы могут зависеть от данных других таблиц, создавая сложную схему данных презентации, которую необходимо легко и гибко обновлять. -Диаграммная таблица содержит названия элементов диаграммы (Имя категории: *Category1*, Имя серии) и таблицу с числовыми данными, соответствующими этим категориям и сериям. По умолчанию, когда вы создаете новую диаграмму, данные диаграммной таблицы устанавливаются с помощью данных по умолчанию. Затем вы можете вручную изменить данные таблицы в рабочем листе. +**Формула листа данных диаграммы** в презентации — это выражение для автоматического вычисления и обновления данных листа. Формула определяет логику вычисления данных для конкретной ячейки или набора ячеек. Формула может быть математической или логической, используя ссылки на ячейки, математические функции, логические операторы, арифметические операторы, функции преобразования, строковые константы и т.д. Определение формулы записывается в ячейку, и эта ячейка не содержит простого значения. Формула вычисляет значение и возвращает его, после чего значение присваивается ячейке. Формулы листов данных в презентациях фактически такие же, как формулы Excel, и поддерживают те же функции, операторы и константы. -Обычно диаграмма представляет сложные данные (например, финансовые аналитики, научные аналитики), имеющие ячейки, которые рассчитываются на основе значений в других ячейках или из других динамических данных. Ручной расчет значения ячейки и жесткое кодирование его в ячейку усложняет его изменение в будущем. Если вы измените значение определенной ячейки, все ячейки, зависимые от нее, также потребуют обновления. Более того, данные таблицы могут зависеть от данных из других таблиц, создавая сложную схему презентационных данных, которая должна обновляться удобным и гибким образом. - -**Формула диаграммной таблицы** в презентации представляет собой выражение для автоматического вычисления и обновления данных диаграммной таблицы. Формула таблицы определяет логику расчета данных для определенной ячейки или набора ячеек. Формула таблицы - это математическая формула или логическая формула, которая использует: ссылки на ячейки, математические функции, логические операторы, арифметические операторы, функции преобразования, строковые константы и т.д. Определение формулы записывается в ячейку, и эта ячейка не содержит простого значения. Формула таблицы рассчитывает значение и возвращает его, после чего это значение присваивается ячейке. Формулы диаграммной таблицы в презентациях фактически такие же, как формулы excel, и поддерживаются те же функции, операторы и константы по умолчанию для их реализации. - -В [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) диаграммная таблица представлена с помощью -[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) свойства типа +В [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) лист данных диаграммы представлен свойством +[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) типа [**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/). -Формула таблицы может быть назначена и изменена с помощью -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) свойства. -Следующий функционал поддерживается для формул в Aspose.Slides: +Формула листа может быть назначена и изменена через свойство +[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/). +В Aspose.Slides поддерживается следующая функциональность формул: - Логические константы - Числовые константы @@ -56,19 +54,15 @@ description: "Применяйте формулы в стиле Excel в раб - Операторы сравнения - Ссылки на ячейки в стиле A1 - Ссылки на ячейки в стиле R1C1 -- Предопределенные функции +- Предопределённые функции +Обычно листы хранят последние вычисленные значения формул. Если после загрузки презентации данные диаграммы не изменялись, свойство **IChartDataCell.Value** возвращает эти значения при чтении. Если данные листа были изменены, при чтении свойства **ChartDataCell.Value** генерируется **CellUnsupportedDataException** для неподдерживаемых формул. Это происходит потому, что при успешном разборе формул определяются зависимости ячеек и проверяется корректность последних значений. Если формулу не удаётся разобрать, корректность значения ячейки гарантировать нельзя. - -Обычно таблицы хранят последние вычисленные значения формулы. Если после загрузки презентации данные диаграммы не были изменены - **IChartDataCell.Value** возвращает эти значения при чтении. Но если данные таблицы были изменены, при чтении **ChartDataCell.Value** бросает **CellUnsupportedDataException** для неподдерживаемых формул. Это связано с тем, что когда формулы успешно разбираются, определяются зависимости ячеек и проверяется правильность последних значений. Но если формулу нельзя разобрать, правильность значения ячейки не может быть гарантирована. -## **Добавление формулы диаграммной таблицы в презентацию** -Сначала добавьте диаграмму с некоторыми образцовыми данными на первый слайд новой презентации с помощью +## **Добавление формулы листа данных диаграммы в презентацию** +Сначала добавьте диаграмму с образцовыми данными на первый слайд новой презентации с помощью [add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/). -Рабочий лист диаграммы создается автоматически и может быть доступен через -[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) свойства: - - - +Лист диаграммы создаётся автоматически и доступен через свойство +[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/): ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -80,13 +74,8 @@ with slides.Presentation() as presentation: ``` - -Давайте запишем некоторые значения в ячейки с помощью -[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) свойства -типа **Object**, что означает, что вы можете установить любое значение для свойства: - - - +Запишем некоторые значения в ячейки с помощью свойства +[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) типа **Object**, что означает возможность задать любое значение: ```py workbook.get_cell(0, "F2").value = -2.5 workbook.get_cell(0, "G3").value = 6.3 @@ -94,29 +83,22 @@ with slides.Presentation() as presentation: ``` - -Теперь, чтобы записать формулу в ячейку, вы можете использовать -[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) свойство: - +Теперь, чтобы записать формулу в ячейку, используйте свойство +[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): ```py workbook.get_cell(0, "B2").formula = "F2+G3+H4+1" ``` -*Примечание*: [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) свойство используется для установки ссылок на ячейки в стиле A1.  - +*Примечание*: свойство [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) используется для задания ссылок в стиле A1. -Чтобы установить [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) ссылку на ячейку, вы можете использовать -[**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) свойство: - +Чтобы задать ссылку в стиле [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/), используйте свойство [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/): ```py workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]" ``` -Затем используйте метод [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) для расчета всех формул в рабочем листе и обновления соответствующих значений ячеек: - - +Затем вызовите метод [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) для вычисления всех формул в рабочей книге и обновления соответствующих значений ячеек: ```py workbook.calculate_formulas() print(workbook.get_cell(0, "B2").value) # 7.8 @@ -124,111 +106,81 @@ with slides.Presentation() as presentation: ``` -## **Логические Константы** -Вы можете использовать логические константы, такие как *FALSE* и *TRUE*, в формулах ячеек: - - - - -## **Числовые Константы** -Числа могут быть использованы в обычной или научной нотации для создания формулы диаграммной таблицы: - - - - -## **Строковые Константы** -Строковая (или литеральная) константа - это конкретное значение, которое используется как есть и не изменяется. Строковые константы могут быть: даты, тексты, числа и т.д.: - +## **Логические константы** +В формулах ячеек можно использовать логические константы *FALSE* и *TRUE*: +## **Числовые константы** +Для создания формул листа данных диаграммы можно использовать числа в обычных или научных записях: +## **Строковые константы** +Строковая (или литеральная) константа — это конкретное значение, которое используется «как есть» и не меняется. Строковые константы могут быть: даты, тексты, числа и т.д.: -## **Константы Ошибок** -Иногда невозможно рассчитать результат по формуле. В этом случае вместо значения в ячейке отображается код ошибки. Каждый тип ошибки имеет конкретный код: +## **Константы ошибок** +Иногда результат формулы нельзя вычислить. В таком случае в ячейке вместо значения отображается код ошибки. Каждый тип ошибки имеет свой код: -- #DIV/0! - формула пытается разделить на ноль. -- #GETTING_DATA - может отображаться в ячейке, пока ее значение еще вычисляется. -- #N/A - информация отсутствует или недоступна. Некоторые причины могут быть: ячейки, используемые в формуле, пусты, лишний пробел, опечатка и т.д. -- #NAME? - определенная ячейка или другие объекты формулы не могут быть найдены по имени.  -- #NULL! - может появиться, когда в формуле есть ошибка, например:  (,) или пробел вместо двоеточия (:). -- #NUM! - числовое значение в формуле может быть недействительным, слишком длинным или слишком маленьким и т.д. -- #REF! - недействительная ссылка на ячейку. -- #VALUE! - неожиданный тип значения. Например, строковое значение назначено числовой ячейке. +- #DIV/0! — попытка деления на ноль. +- #GETTING_DATA — может появиться в ячейке, пока её значение ещё вычисляется. +- #N/A — информация отсутствует или недоступна (пустые ячейки, лишний пробел, опечатка и т.п.). +- #NAME? — не найден объект (ячейка или другая формула) по имени. +- #NULL! — ошибка в формуле, например использование (,) или пробела вместо двоеточия (:). +- #NUM! — некорректное числовое значение в формуле (слишком велико, слишком мало и т.п.). +- #REF! — недопустимая ссылка на ячейку. +- #VALUE! — неожиданный тип значения, например строка в числовой ячейке. +## **Арифметические операторы** +Во всех формулах листа данных диаграммы можно использовать следующие арифметические операторы: - - -## **Арифметические Операторы** -Вы можете использовать все арифметические операторы в формулах листа диаграммы: - - - -|**Оператор** |**Значение** |**Пример**| +|**Оператор**|**Значение**|**Пример**| | :- | :- | :- | -|+ (плюс) |Сложение или унарный плюс|2 + 3| -|- (минус) |Вычитание или отрицание |2 - 3
    -3| -|* (звездочка)|Умножение |2 * 3| -|/ (косая черта)|Деление |2 / 3| -|% (процент)|Процент |30%| -|^ (символ крыла)|Степень |2 ^ 3| - - -*Примечание*: Чтобы изменить порядок выполнения, заключите в скобки ту часть формулы, которая должна быть вычислена первой. +|+ (плюс)|Сложение или унарный плюс|2 + 3| +|- (минус)|Вычитание или отрицание|2 - 3
    -3| +|* (звёздочка)|Умножение|2 * 3| +|/ (слэш)|Деление|2 / 3| +|% (процент)|Процент|30%| +|^ (карет)|Возведение в степень|2 ^ 3| +*Примечание*: чтобы изменить порядок вычисления, заключите нужную часть формулы в скобки. -## **Операторы Сравнения** -Вы можете сравнивать значения ячеек с помощью операторов сравнения. Когда два значения сравниваются с использованием этих операторов, результат - логическое значение, либо *TRUE*, либо FALSE: +## **Операторы сравнения** +С помощью операторов сравнения можно сравнивать значения ячеек. Результат сравнения — логическое значение *TRUE* или *FALSE*: - - -|**Оператор** |**Значение** |**Значение** | +|**Оператор**|**Значение**|**Пример**| | :- | :- | :- | -|= (равно) |Равно |A2 = 3| -|<> (не равно) |Не равно|A2 <> 3| -|> (больше чем) |Больше чем|A2 > 3| +|= (равно)|Равно|A2 = 3| +|<> (не равно)|Не равно|A2 <> 3| +|> (больше)|Больше|A2 > 3| |>= (больше или равно)|Больше или равно|A2 >= 3| -|< (меньше чем)|Меньше чем|A2 < 3| +|< (меньше)|Меньше|A2 < 3| |<= (меньше или равно)|Меньше или равно|A2 <= 3| ## **Ссылки на ячейки в стиле A1** -**Ссылки на ячейки в стиле A1** используются для рабочих листов, где столбец имеет буквенный идентификатор (например, "*A*"), а строка имеет числовой идентификатор (например, "*1*"). Ссылки на ячейки в стиле A1 могут использоваться следующим образом: - +**Ссылки в стиле A1** используются, когда столбец обозначается буквой (например, "*A*"), а строка — цифрой (например, "*1*"). Пример использования: - -|**Ссылка на ячейку**|**Пример**||| +|**Ссылка**|**Пример**| | | | :- | :- | :- | :- | -||Абсолютная |Относительная |Смешанная| -|Ячейка |$A$2 |A2|

    A$2

    $A2

    | -|Строка |$2:$2 |2:2 |-| -|Столбец |$A:$A |A:A |-| -|Диапазон |$A$2:$C$4 |A2:C4|

    $A$2:C4

    A$2:$C4

    | - - -Вот пример, как использовать ссылку на ячейку в стиле A1 в формуле: - - +| |Абсолютная|Относительная|Смешанная| +|Ячейка|$A$2|A2|

    A$2

    $A2

    | +|Строка|$2:$2|2:2| - | +|Столбец|$A:$A|A:A| - | +|Диапазон|$A$2:$C$4|A2:C4|

    $A$2:C4

    A$2:$C4

    | +Пример использования ссылки в стиле A1 в формуле: ## **Ссылки на ячейки в стиле R1C1** -**Ссылки на ячейки в стиле R1C1** используются для рабочих листов, где как строка, так и столбец имеют числовой идентификатор. Ссылки на ячейки в стиле R1C1 могут использоваться следующим образом: - +**Ссылки в стиле R1C1** используют числовые идентификаторы как для строк, так и для столбцов. Пример использования: - -|**Ссылка на ячейку**|**Пример**||| +|**Ссылка**|**Пример**| | | | :- | :- | :- | :- | -||Абсолютная |Относительная |Смешанная| -|Ячейка |R2C3|R[2]C[3]|R2C[3]
    R[2]C3| -|Строка |R2|R[2]|-| -|Столбец |C3|C[3]|-| -|Диапазон |R2C3:R5C7|R[2]C[3]:R[5]C[7] |R2C3:R[5]C[7]
    R[2]C3:R5C[7]| - - -Вот пример, как использовать ссылку на ячейку в стиле A1 в формуле: +| |Абсолютная|Относительная|Смешанная| +|Ячейка|R2C3|R[2]C[3]|R2C[3]
    R[2]C3| +|Строка|R2|R[2]| - | +|Столбец|C3|C[3]| - | +|Диапазон|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]
    R[2]C3:R5C[7]| +Пример использования ссылки в стиле R1C1 в формуле: - - -## **Предопределенные Функции** -Существуют предопределенные функции, которые можно использовать в формулах для упрощения их реализации. Эти функции инкапсулируют наиболее часто используемые операции, такие как:  +## **Предопределённые функции** +Существует набор предопределённых функций, которые можно применять в формулах для упрощения их реализации. Эти функции охватывают наиболее часто используемые операции, такие как: - ABS - AVERAGE @@ -236,15 +188,24 @@ with slides.Presentation() as presentation: - CHOOSE - CONCAT - CONCATENATE -- DATE (система дат 1900 года) +- DATE (система дат 1900) - DAYS - FIND - FINDB - IF -- INDEX (референсная форма) +- INDEX (форма ссылки) - LOOKUP (векторная форма) - MATCH (векторная форма) - MAX - SUM - VLOOKUP +## **FAQ** + +**Поддерживаются ли внешние файлы Excel в качестве источника данных для диаграммы с формулами?** + +Да. Aspose.Slides поддерживает внешние рабочие книги в качестве [источника данных диаграммы](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatasourcetype/), что позволяет использовать формулы из XLSX‑файла, находящегося вне презентации. + +**Могут ли формулы диаграммы ссылаться на листы внутри той же рабочей книги по имени листа?** + +Да. Формулы следуют стандартной модели ссылок Excel, поэтому можно обращаться к другим листам внутри той же книги или к внешней книге. Для внешних ссылок указывайте путь и имя книги согласно синтаксису Excel. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md index 94afb61794..e26b77db75 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md @@ -1,5 +1,5 @@ --- -title: Экспортируйте диаграммы из презентаций на Python +title: Экспорт диаграмм презентации с Python linktitle: Экспорт диаграммы type: docs weight: 90 @@ -7,25 +7,49 @@ url: /ru/python-net/export-chart/ keywords: - диаграмма - диаграмма в изображение -- диаграмма как изображение +- диаграмма в виде изображения - извлечь изображение диаграммы - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Узнайте, как экспортировать диаграммы из презентаций с помощью Aspose.Slides for Python via .NET с поддержкой форматов PPT, PPTX и ODP и упростить подготовку отчетов в любом рабочем процессе." +description: "Узнайте, как экспортировать диаграммы презентаций с помощью Aspose.Slides для Python через .NET, поддерживая форматы PPT, PPTX и ODP, и оптимизировать построение отчетов в любой рабочий процесс." --- -## **Получить изображение графика** -Aspose.Slides для Python через .NET предоставляет поддержку извлечения изображения конкретного графика. Приведен пример ниже. - +## **Получить изображение диаграммы** +Aspose.Slides for Python через .NET предоставляет возможность извлекать изображение конкретной диаграммы. Ниже приведён пример. ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - with chart.get_image() as img: - img.save("image.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +with slides.Presentation("test.pptx") as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + + with chart.get_image() as image: + image.save("image.png", slides.ImageFormat.PNG) +``` + + +## **FAQ** + +**Могу ли я экспортировать диаграмму как вектор (SVG), а не как растровое изображение?** + +Да. Диаграмма является фигурой, и её содержимое можно сохранить в SVG с помощью [метода сохранения shape-to-SVG](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/write_as_svg/). + +**Как задать точный размер экспортируемой диаграммы в пикселях?** + +Используйте перегрузки рендеринга изображения, позволяющие указать размер или масштаб — библиотека поддерживает рендеринг объектов с заданными размерами/масштабом. + +**Что делать, если шрифты в подписи и легенде выглядят неправильно после экспорта?** + +[Загрузите необходимые шрифты](/slides/ru/python-net/custom-font/) через [FontsLoader](https://reference.aspose.com/slides/python-net/aspose.slides/fontsloader/) чтобы рендеринг диаграммы сохранял метрики и внешний вид текста. + +**Сохраняет ли экспорт темы PowerPoint, стили и эффекты?** + +Да. Рендерер Aspose.Slides следует форматированию презентации (темы, стили, заливки, эффекты), поэтому внешний вид диаграммы сохраняется. + +**Где можно найти доступные возможности рендеринга/экспорта помимо изображений диаграмм?** + +Смотрите раздел экспорта в [API](https://reference.aspose.com/slides/python-net/aspose.slides.export/)/[документации](/slides/ru/python-net/convert-powerpoint/) для целевых форматов вывода ([PDF](/slides/ru/python-net/convert-powerpoint-to-pdf/), [SVG](/slides/ru/python-net/render-a-slide-as-an-svg-image/), [XPS](/slides/ru/python-net/convert-powerpoint-to-xps/), [HTML](/slides/ru/python-net/convert-powerpoint-to-html/), и т.д.) и связанных параметров рендеринга. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md index 0a37d9b770..f6d9d28aa5 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md @@ -1,6 +1,6 @@ --- -title: Экспорт математических уравнений из презентаций на Python -linktitle: Экспорт уравнений +title: Экспорт математических уравнений из презентаций на Python +linktitle: Экспорт уравнений type: docs weight: 30 url: /ru/python-net/exporting-math-equations/ @@ -12,30 +12,35 @@ keywords: - презентация - Python - Aspose.Slides -description: "Беспрепятственно экспортируйте математические уравнения из PowerPoint в MathML с помощью Aspose.Slides for Python via .NET — сохраняйте форматирование и повышайте совместимость." +description: "Обеспечьте бесшовный экспорт математических уравнений из PowerPoint в MathML с помощью Aspose.Slides для Python через .NET — сохраняйте форматирование и повышайте совместимость." --- -Aspose.Slides для Python через .NET позволяет вам экспортировать математические уравнения из презентаций. Например, вам может понадобиться извлечь математические уравнения со слайдов (из конкретной презентации) и использовать их в другой программе или платформе. +## **Введение** -{{% alert color="primary" %}} +Aspose.Slides for Python via .NET позволяет экспортировать математические уравнения из презентаций. Например, вам может потребоваться извлечь уравнения из определённых слайдов и повторно использовать их в другой программе или платформе. -Вы можете экспортировать уравнения в MathML, популярный формат или стандарт для математических уравнений и подобного контента, которые встречаются в Интернете и во многих приложениях. +{{% alert color="primary" %}} + +Вы можете экспортировать уравнения в MathML — широко используемый стандарт представления математического контента в вебе и во многих приложениях. {{% /alert %}} -Хотя люди легко пишут код для некоторых форматов уравнений, таких как LaTeX, они испытывают трудности с написанием кода для MathML, потому что последний предназначен для автоматической генерации приложениями. Программы легко читают и разбирают MathML, потому что его код написан в XML, поэтому MathML часто используется в качестве формата вывода и печати во многих областях. +## **Сохранение математических уравнений в MathML** -Этот пример кода показывает, как экспортировать математическое уравнение из презентации в MathML: +Хотя людям легко писать LaTeX, MathML обычно генерируется автоматически приложениями. Поскольку MathML основан на XML, программы могут надёжно читать и разбирать его, поэтому он часто используется как формат вывода и печати во многих областях. +Следующий пример кода показывает, как экспортировать математическое уравнение из презентации в MathML: ```py import aspose.slides as slides import aspose.slides.mathtext as math -with slides.Presentation() as pres: - autoShape = pres.slides[0].shapes.add_math_shape(0, 0, 500, 50) - mathParagraph = autoShape.text_frame.paragraphs[0].portions[0].math_paragraph +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50) + math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph - mathParagraph.add( + math_paragraph.add( math.MathematicalText("a"). set_superscript("2"). join("+"). @@ -43,6 +48,29 @@ with slides.Presentation() as pres: join("="). join(math.MathematicalText("c").set_superscript("2"))) - with open("mathml.xml", "wb") as stream: - mathParagraph.write_as_math_ml(stream) -``` \ No newline at end of file + with open("mathml.xml", "wb") as file_stream: + math_paragraph.write_as_math_ml(file_stream) +``` + + +## **FAQ** + +**Что именно экспортируется в MathML — абзац или отдельный блок формулы?** + +Вы можете экспортировать как весь математический абзац ([MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/)), так и отдельный блок ([MathBlock](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathblock/)) в MathML. Оба типа предоставляют метод записи в MathML. + +**Как определить, что объект на слайде является математической формулой, а не обычным текстом или изображением?** + +Формула находится в [MathPortion](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathportion/) и имеет [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/). Изображения и обычные текстовые части без [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) не являются экспортируемыми формулами. + +**Откуда берётся MathML в презентации — это специфично для PowerPoint или это стандарт?** + +Экспортировается стандартный MathML (XML). Aspose использует Presentation MathML — подмножество стандарта, которое широко используется в приложениях и в вебе. + +**Поддерживается ли экспорт формул внутри таблиц, SmartArt, групп и т.д.?** + +Да, если эти объекты содержат текстовые части с [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) (то есть настоящие формулы PowerPoint), они экспортируются. Если формула вставлена как изображение, она не экспортируется. + +**Изменяет ли экспорт в MathML оригинальную презентацию?** + +Нет. Запись MathML — это сериализация содержимого формулы; она не изменяет файл презентации. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md index 5f06f2b564..583b98c607 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md @@ -1,16 +1,16 @@ --- -title: Управляйте элементами ActiveX в презентациях с помощью Python +title: Управление ActiveX элементами управления в презентациях с помощью Python linktitle: ActiveX type: docs weight: 80 url: /ru/python-net/activex/ keywords: - ActiveX -- элемент ActiveX +- элемент управления ActiveX - управление ActiveX - добавление ActiveX - изменение ActiveX -- медиа-плеер +- медиаплеер - PowerPoint - презентация - Python @@ -18,28 +18,28 @@ keywords: description: "Узнайте, как Aspose.Slides for Python via .NET использует ActiveX для автоматизации и улучшения презентаций PowerPoint, предоставляя разработчикам мощный контроль над слайдами." --- -Контролы ActiveX используются в презентациях. Aspose.Slides для Python через .NET позволяет управлять контролами ActiveX, но управление ими несколько сложнее и отличается от обычных фигур презентации. Начиная с версии 6.9.0 Aspose.Slides для Python через .NET, компонент поддерживает управление контролами ActiveX. В данный момент вы можете получить доступ к уже добавленному контролу ActiveX в вашей презентации и изменить или удалить его, используя различные свойства. Помните, что контролы ActiveX не являются фигурами и не входят в IShapeCollection презентации, а представляют собой отдельную IControlCollection. Эта статья показывает, как работать с ними. -## **Изменение контролей ActiveX** -Чтобы управлять простым контролем ActiveX, таким как текстовое поле и простая кнопка команд на слайде: +ActiveX‑элементы управления используются в презентациях. Aspose.Slides for Python via .NET позволяет управлять ActiveX‑элементами, но их обработка несколько сложнее и отличается от обычных фигур презентации. Начиная с Aspose.Slides for Python via .NET 6.9.0, компонент поддерживает управление ActiveX‑элементами. В данный момент вы можете получить доступ к уже добавленному ActiveX‑элементу в презентации и изменить его или удалить, используя различные свойства. Помните, что ActiveX‑элементы не являются фигурами и не входят в IShapeCollection презентации, а находятся в отдельном IControlCollection. В этой статье показано, как с ними работать. -1. Создайте экземпляр класса Presentation и загрузите презентацию с контролами ActiveX. -1. Получите ссылку на слайд по его индексу. -1. Получите доступ к контролам ActiveX на слайде, обратившись к IControlCollection. -1. Получите доступ к контролю ActiveX TextBox1 с помощью объекта ControlEx. -1. Измените различные свойства контроля ActiveX TextBox1, включая текст, шрифт, высоту шрифта и позицию рамки. -1. Получите доступ ко второму контролю, называемому CommandButton1. -1. Измените заголовок кнопки, шрифт и позицию. -1. Сдвиньте позицию рамок контролей ActiveX. -1. Запишите измененную презентацию в файл PPTX. - -Ниже приведен фрагмент кода, который обновляет контролы ActiveX на слайдах презентации, как показано ниже. +## **Изменить ActiveX‑элементы управления** +Для управления простым ActiveX‑элементом, таким как текстовое поле и простая кнопка команды на слайде: +1. Создайте экземпляр класса Presentation и загрузите презентацию с ActiveX‑элементами. +1. Получите ссылку на слайд по его индексу. +1. Получите доступ к ActiveX‑элементам на слайде, обратившись к IControlCollection. +1. Получите ActiveX‑элемент TextBox1 с помощью объекта ControlEx. +1. Измените различные свойства ActiveX‑элемента TextBox1, включая текст, шрифт, высоту шрифта и позицию рамки. +1. Получите второй элемент управления под названием CommandButton1. +1. Измените подпись кнопки, шрифт и позицию. +1. Сместите позицию рамок ActiveX‑элементов. +1. Запишите изменённую презентацию в файл PPTX. + +Ниже приведён фрагмент кода, который обновляет ActiveX‑элементы на слайдах презентации, как показано ниже. ```py import aspose.slides as slides import aspose.pydrawing as draw import io -# Доступ к презентации с контролами ActiveX +# Доступ к презентации с ActiveX элементами with slides.Presentation(path + "ActiveX.pptm") as presentation: # Доступ к первому слайду в презентации slide = presentation.slides[0] @@ -48,11 +48,11 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control = slide.controls[0] if control.name == "TextBox1" and control.properties != None: - newText = "Измененный текст" + newText = "Changed text" control.properties.remove("Value") control.properties.add("Value", newText) - # изменение заменяемого изображения. PowerPoint заменит это изображение при активации ActiveX, поэтому иногда его можно оставить неизменным. + # изменение заменяющего изображения. Powerpoint заменит это изображение при активации ActiveX, поэтому иногда допустимо оставить изображение без изменений. bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: @@ -94,7 +94,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # изменение заголовка кнопки + # изменение подписи кнопки control = slide.controls[1] if control.name == "CommandButton1" and control.properties != None: @@ -102,7 +102,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control.properties.remove("Caption") control.properties.add("Caption", newCaption) - # изменение заменяемого изображения + # изменение заменяющего изображения bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.CONTROL)) as brush: @@ -147,7 +147,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # Перемещение рамок ActiveX на 100 точек вниз + # Перемещение рамок ActiveX на 100 пунктов вниз for ctl in slide.controls: frame = control.frame control.frame = slides.ShapeFrame( @@ -159,50 +159,64 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: frame.flip_v, frame.rotation) - # Сохранение презентации с измененными контролами ActiveX + # Сохранение презентации с отредактированными элементами ActiveX presentation.save("withActiveX-edited_out.pptm", slides.export.SaveFormat.PPTM) - # Теперь удаление контролей + # Теперь удаляем элементы управления slide.controls.clear() - # Сохранение презентации с очищенными контролями ActiveX + # Сохранение презентации с удалёнными элементами ActiveX presentation.save("withActiveX.cleared_out.pptm", slides.export.SaveFormat.PPTM) ``` -## **Добавить контроль активного медиаплеера ActiveX** -Чтобы добавить контроль активного медиаплеера ActiveX, выполните следующие шаги: +## **Добавить ActiveX‑элемент управления Media Player** +Чтобы добавить ActiveX‑элемент управления Media Player, выполните следующие шаги: -1. Создайте экземпляр класса Presentation и загрузите образец презентации с контролями медиаплеера ActiveX. -1. Создайте экземпляр целевого класса Presentation и создайте пустой экземпляр презентации. -1. Клонируйте слайд с контролем медиаплеера ActiveX из шаблонной презентации в целевую презентацию. +1. Создайте экземпляр класса Presentation и загрузите образец презентации с ActiveX‑элементом Media Player. +1. Создайте экземпляр целевого класса Presentation и создайте пустой объект презентации. +1. Клонируйте слайд с ActiveX‑элементом Media Player из шаблонной презентации в целевую презентацию. 1. Получите доступ к клонированному слайду в целевой презентации. -1. Получите доступ к контролям ActiveX на слайде, обратившись к IControlCollection. -1. Получите доступ к контролю медиаплеера ActiveX и задайте путь к видео, используя его свойства. +1. Получите доступ к ActiveX‑элементам на слайде, обратившись к IControlCollection. +1. Получите ActiveX‑элемент Media Player и задайте путь к видео, используя его свойства. 1. Сохраните презентацию в файл PPTX. - ```py import aspose.slides as slides -# Создание экземпляра класса Presentation, представляющего файл PPTX +# Создать экземпляр класса Presentation, представляющего файл PPTX with slides.Presentation(path + "template.pptx") as presentation: - # Создание пустого экземпляра презентации + # Создать пустой экземпляр презентации with slides.Presentation() as newPresentation: - # Удаление стандартного слайда + # Удалить слайд по умолчанию newPresentation.slides.remove_at(0) - # Клонирование слайда с контролем медиаплеера ActiveX + # Клонировать слайд с ActiveX‑элементом Media Player newPresentation.slides.insert_clone(0, presentation.slides[0]) - # Получение доступа к контролю медиаплеера ActiveX и задайте путь к видео + # Получить доступ к ActiveX‑элементу Media Player и задать путь к видео prop = newPresentation.slides[0].controls[0].properties prop.remove("URL") prop.add("URL", "Wildlife.mp4") - # Сохранение презентации + # Сохранить презентацию newPresentation.save("LinkingVideoActiveXControl_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Сохраняет ли Aspose.Slides ActiveX‑элементы при чтении и повторном сохранении, если они не могут быть выполнены в среде Python?** + +Да. Aspose.Slides рассматривает их как часть презентации и может читать/изменять их свойства и рамки; выполнение самих элементов не требуется для их сохранения. + +**Чем ActiveX‑элементы отличаются от OLE‑объектов в презентации?** + +ActiveX‑элементы — это интерактивные управляемые элементы (кнопки, текстовые поля, медиаплеер), тогда как [OLE](/slides/ru/python-net/manage-ole/) относится к встроенным объектам приложений (например, листу Excel). Они хранятся и обрабатываются по‑разному и имеют различную модель свойств. + +**Работают ли события ActiveX и макросы VBA, если файл был изменён Aspose.Slides?** + +Aspose.Slides сохраняет существующую разметку и метаданные; однако события и макросы выполняются только в PowerPoint на Windows, когда позволяет безопасность. Библиотека не исполняет VBA. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md index 93bd8936b2..37cedaf025 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md @@ -1,80 +1,132 @@ --- -title: Создание миниатюров форм +title: Создание миниатюр фигур презентации на Python +linktitle: Миниатюры фигур type: docs weight: 70 url: /ru/python-net/create-shape-thumbnails/ -keywords: "Миниатюра формы. Презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Миниатюра формы в презентации PowerPoint на Python" +keywords: +- миниатюра фигуры +- изображение фигуры +- рисование фигуры +- рендеринг фигуры +- PowerPoint +- презентация +- Python +- Aspose.Slides +description: "Создавайте высококачественные миниатюры фигур из слайдов PowerPoint и OpenDocument с помощью Aspose.Slides for Python via .NET – легко создавайте и экспортируйте миниатюры презентаций." --- -Aspose.Slides для Python через .NET используется для создания файлов презентаций, где каждая страница является слайдом. Эти слайды можно просматривать, открыв файлы презентаций с помощью Microsoft PowerPoint. Но иногда разработчикам может потребоваться отдельно просмотреть изображения форм в просмотрщике изображений. В таких случаях Aspose.Slides для Python через .NET помогает вам генерировать миниатюры изображений форм слайда. Как использовать эту функцию описано в этой статье. -Эта статья объясняет, как генерировать миниатюры слайдов различными способами: +## **Введение** -- Генерация миниатюры формы внутри слайда. -- Генерация миниатюры формы для формы слайда с пользовательскими размерами. -- Генерация миниатюры формы в пределах внешнего вида формы. -- Генерация миниатюры дочернего узла SmartArt. -## **Генерация миниатюры формы из слайда** -Чтобы сгенерировать миниатюру формы из любого слайда с помощью Aspose.Slides для Python через .NET: +Aspose.Slides for Python via .NET используется для создания файлов презентаций, где каждая страница является слайдом. Вы можете просматривать эти слайды в Microsoft PowerPoint, открыв файл презентации. Однако разработчикам иногда требуется просматривать изображения фигур отдельно в просмотрщике изображений. В таких случаях Aspose.Slides может генерировать миниатюрные изображения фигур слайдов. В этой статье объясняется, как использовать эту функцию. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на любой слайд, используя его ID или индекс. -1. Получите изображение миниатюры формы указанного слайда в масштабе по умолчанию. -1. Сохраните изображение миниатюры в любой желаемый формат изображения. +## **Создание миниатюр фигур со слайдов** + +Когда вам нужен предварительный просмотр конкретного объекта, а не всего слайда, вы можете отрендерить миниатюру отдельной фигуры. Aspose.Slides позволяет экспортировать любую фигуру в изображение, что упрощает создание легковесных предварительных просмотров, иконок или ресурсов для последующей обработки. + +Чтобы создать миниатюру любой фигуры: -Пример ниже генерирует миниатюру формы. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по его ID или индексу. +3. Получите ссылку на фигуру на этом слайде. +4. Отрендерите миниатюрное изображение фигуры. +5. Сохраните миниатюру в нужном формате. +Пример ниже генерирует миниатюру фигуры. ```py import aspose.slides as slides -# Создайте экземпляр класса Presentation, представляющий файл презентации -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Создайте изображение полного масштаба - with presentation.slides[0].shapes[0].get_image() as bitmap: - # Сохраните изображение на диск в формате PNG - bitmap.save("Shape_thumbnail_out.png", slides.ImageFormat.PNG) +# Создайте экземпляр класса Presentation, чтобы открыть файл презентации. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Создайте изображение с масштабом по умолчанию. + with shape.get_image() as thumbnail: + # Сохраните изображение на диск в формате PNG. + thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG) ``` -## **Генерация миниатюры с пользовательским масштабом** -Чтобы сгенерировать миниатюру формы любого слайдового элемента с помощью Aspose.Slides для Python через .NET: +## **Создание миниатюр с пользовательским коэффициентом масштабирования** + +В этом разделе показано, как в Aspose.Slides генерировать миниатюры фигур с пользовательским коэффициентом масштабирования. Управляя масштабом, вы можете точно настроить размер миниатюры для предварительных просмотров, экспорта или дисплеев с высоким DPI. -1. Создайте экземпляр класса `Presentation`. -1. Получите ссылку на любой слайд, используя его ID или индекс. -1. Получите изображение миниатюры указанного слайда с границами формы. -1. Сохраните изображение миниатюры в любом желаемом формате изображения. +Чтобы создать миниатюру любой фигуры на слайде: -Пример ниже генерирует миниатюру с пользовательским масштабом. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите слайд по его ID или индексу. +3. Получите целевую фигуру на этом слайде. +4. Отрендерите миниатюрное изображение фигуры с указанным масштабом. +5. Сохраните миниатюру в нужном формате. +Пример ниже генерирует миниатюру с пользовательским коэффициентом масштабирования. ```py import aspose.slides as slides -# Создайте экземпляр класса Presentation, представляющий файл презентации -with slides.Presentation(path + "HelloWorld.pptx") as p: - # Создайте изображение полного масштаба - with p.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.SHAPE, 1, 1) as bitmap: - # Сохраните изображение на диск в формате PNG - bitmap.save("Scaling Factor Thumbnail_out.png", slides.ImageFormat.PNG) +scale_x = 2.0 +scale_y = scale_x + + # Создайте экземпляр класса Presentation, чтобы открыть файл презентации. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Создайте изображение с заданным масштабом. + with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail: + # Сохраните изображение на диск в формате PNG. + thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG) ``` -## **Создание миниатюры внешнего вида формы** -Этот метод для создания миниатюр форм позволяет разработчикам генерировать миниатюру в пределах внешнего вида формы. Он учитывает все эффекты формы. Сгенерированная миниатюра формы ограничена границами слайда. Чтобы сгенерировать миниатюру любой формы слайда в границах ее внешнего вида, используйте следующий пример кода: +## **Создание миниатюр с использованием границ отображения фигуры** -1. Создайте экземпляр класса `Presentation`. -1. Получите ссылку на любой слайд, используя его ID или индекс. -1. Получите изображение миниатюры указанного слайда с границами формы как внешний вид. -1. Сохраните изображение миниатюры в любом желаемом формате изображения. +В этом разделе показано, как создать миниатюру в пределах границ отображения фигуры. При этом учитываются все эффекты фигуры. Сгенерированная миниатюра ограничена границами слайда. -Пример ниже создает миниатюру с пользовательским масштабом. +Чтобы создать миниатюру любой фигуры слайда в пределах её границ отображения: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите слайд по его ID или индексу. +3. Получите целевую фигуру на этом слайде. +4. Отрендерите миниатюрное изображение фигуры с указанными границами. +5. Сохраните миниатюру в нужном формате изображения. + +Пример ниже создаёт миниатюру с пользовательски заданными границами. ```py import aspose.slides as slides -# Создайте экземпляр класса Presentation, представляющий файл презентации -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Создайте изображение формы с границами внешнего вида - with presentation.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.APPEARANCE, 1, 1) as bitmap: - # Сохраните изображение на диск в формате PNG - bitmap.save("Shape_thumbnail_Bound_Shape_out.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +image_bounds = slides.ShapeThumbnailBounds.APPEARANCE + +# Создайте экземпляр класса Presentation, чтобы открыть файл презентации. +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # Создайте изображение фигуры в пределах границ отображения. + with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail: + # Сохраните изображение на диск в формате PNG. + thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG) +``` + + +## **FAQ** + +**Какие форматы изображений можно использовать при сохранении миниатюр фигур?** + +[PNG, JPEG, BMP, GIF, TIFF](https://reference.aspose.com/slides/python-net/aspose.slides/imageformat/), и другие. Фигуры также можно [экспортировать как векторный SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) сохраняя содержимое фигуры в виде SVG. + +**В чём разница между границами SHAPE и APPEARANCE при рендеринге миниатюры?** + +`SHAPE` использует геометрию фигуры; `APPEARANCE` учитывает [визуальные эффекты](/slides/ru/python-net/shape-effect/) (тени, свечения и т.д.). + +**Что происходит, если фигура помечена как скрытая? Будет ли она всё равно отрендерена как миниатюра?** + +Скрытая фигура остаётся частью модели и может быть отрендерена; флаг скрытия влияет на отображение в слайд-шоу, но не мешает генерации изображения фигуры. + +**Поддерживаются ли групповые фигуры, диаграммы, SmartArt и другие сложные объекты?** + +Да. Любой объект, представленный как [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) (включая [GroupShape](https://reference.aspose.com/slides/python-net/aspose.slides/groupshape/), [Chart](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/), и [SmartArt](https://reference.aspose.com/slides/python-net/aspose.slides.smartart/smartart/)), может быть сохранён как миниатюра или как SVG. + +**Влияют ли системные шрифты на качество миниатюр текстовых фигур?** + +Да. Вам следует [предоставить необходимые шрифты](/slides/ru/python-net/custom-font/) (или [настроить замену шрифтов](/slides/ru/python-net/font-substitution/)), чтобы избежать нежелательных подстановок и переполнения текста. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md index 970fb77669..81308c9e14 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md @@ -1,46 +1,63 @@ --- -title: Анимация форм +title: Применение анимаций фигур в презентациях с Python +linktitle: Анимация фигур type: docs weight: 60 url: /ru/python-net/shape-animation/ -keywords: "анимация PowerPoint, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Создайте анимацию PowerPoint на Python" +keywords: +- фигура +- анимация +- эффект +- анимированная фигура +- анимированный текст +- добавить анимацию +- получить анимацию +- извлечь анимацию +- добавить эффект +- получить эффект +- извлечь эффект +- звук эффекта +- применить анимацию +- PowerPoint +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как создавать и настраивать анимацию фигур в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides для Python через .NET. Выделяйтесь!" --- -Анимации — это визуальные эффекты, которые можно применить к текстам, изображениям, формам или [диаграммам](/slides/ru/python-net/animated-charts/). Они оживляют презентации или их элементы. +Анимации — это визуальные эффекты, которые можно применять к тексту, изображениям, фигурам или [диаграммам](/slides/ru/python-net/animated-charts/). Они придают жизнь презентациям или их компонентам. -### **Зачем использовать анимации в презентациях?** +## **Зачем использовать анимацию в презентациях?** -Используя анимации, вы можете +Используя анимацию, вы можете -* контролировать поток информации -* подчеркивать важные моменты -* увеличить интерес или участие вашей аудитории -* облегчить восприятие или усвоение контента -* привлечь внимание ваших читателей или зрителей к важным частям презентации +* контролировать поток информации +* подчёркивать важные моменты +* повышать интерес или вовлечённость аудитории +* делать контент более лёгким для чтения, усвоения или обработки +* привлекать внимание читателей или зрителей к важным частям презентации -PowerPoint предоставляет множество вариантов и инструментов для анимаций и анимационных эффектов в категориях **вход**, **выход**, **акцент** и **движущиеся пути**. +PowerPoint предоставляет множество вариантов и инструментов для анимаций и анимационных эффектов в категориях **вход**, **выход**, **акцент** и **траектории движения**. -### **Анимации в Aspose.Slides** +## **Анимации в Aspose.Slides** -* Aspose.Slides предоставляет классы и типы, необходимые для работы с анимациями в пространстве имен [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/), -* Aspose.Slides предоставляет более **150 анимационных эффектов** в перечислении [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). Эти эффекты в основном аналогичны эффектам, используемым в PowerPoint. +* Aspose.Slides предоставляет классы и типы, необходимые для работы с анимациями в пространстве имён [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/). +* Aspose.Slides предоставляет более **150 анимационных эффектов** в перечислении [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/). Эти эффекты по существу такие же (или эквивалентные) эффекты, используемые в PowerPoint. -## **Применить анимацию к текстовому полю** +## **Применение анимации к TextBox** -Aspose.Slides для Python через .NET позволяет вам применять анимацию к тексту в форме. +Aspose.Slides для Python через .NET позволяет применять анимацию к тексту в фигуре. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд через его индекс. -3. Добавьте `прямоугольник` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. Добавьте текст в `IAutoShape.TextFrame`. -5. Получите основную последовательность эффектов. -6. Добавьте анимационный эффект к [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -7. Установите свойство`TextAnimation.BuildType` в значение из перечисления `BuildType`. -8. Запишите презентацию на диск в виде файла PPTX. - -Этот код на Python показывает, как применить эффект `Fade` к AutoShape и установить анимацию текста на значение *По 1-му уровню абзацев*: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по его индексу. +3. Добавьте `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +4. Добавьте текст в `IAutoShape.TextFrame`. +5. Получите основную последовательность эффектов. +6. Добавьте анимационный эффект к [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +7. Установите свойство `TextAnimation.BuildType` в значение из перечисления `BuildType`. +8. Запишите презентацию на диск в виде файла PPTX. +Этот код на Python показывает, как применить эффект `Fade` к AutoShape и установить анимацию текста со значением *By 1st Level Paragraphs*: ```python import aspose.slides as slides @@ -52,38 +69,38 @@ with slides.Presentation() as pres: autoShape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 100) textFrame = autoShape.text_frame - textFrame.text = "Первый абзац \nВторой абзац \n Третий абзац" + textFrame.text = "First paragraph \nSecond paragraph \n Third paragraph" # Получает основную последовательность слайда. sequence = sld.timeline.main_sequence - # Добавляет эффект анимации Fade к форме + # Добавляет эффект анимации Fade к фигуре effect = sequence.add_effect(autoShape, slides.animation.EffectType.FADE, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.ON_CLICK) - # Анимирует текст формы по 1-му уровню абзацев + # Анимирует текст фигуры по абзацам первого уровня effect.text_animation.build_type = slides.animation.BuildType.BY_LEVEL_PARAGRAPHS1 # Сохраняет файл PPTX на диск pres.save("AnimText_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -Кроме применения анимаций к тексту, вы также можете применять анимации к одному [абзацу](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). Смотрите [**Анимированный текст**](/slides/ru/python-net/animated-text/). +Помимо применения анимаций к тексту, вы также можете применять анимации к отдельному [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). См. [**Animated Text**](/slides/ru/python-net/animated-text/). {{% /alert %}} -## **Применить анимацию к PictureFrame** +## **Применение анимации к PictureFrame** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд через его индекс. -3. Добавьте или получите [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) на слайде. -4. Получите основную последовательность эффектов. -5. Добавьте анимационный эффект к [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). -6. Запишите презентацию на диск в виде файла PPTX. - -Этот код на Python показывает, как применить эффект `Fly` к рамке изображения: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по его индексу. +3. Добавьте или получите [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) на слайде. +4. Получите основную последовательность эффектов. +5. Добавьте анимационный эффект к [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). +6. Запишите презентацию на диск в виде файла PPTX. +Этот код на Python показывает, как применить эффект `Fly` к кадру изображения: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -91,7 +108,7 @@ import aspose.pydrawing as draw # Создает экземпляр класса презентации, представляющего файл презентации. with slides.Presentation() as pres: - # Загружает изображение для добавления в коллекцию изображений презентации + # Загружает изображение, которое будет добавлено в коллекцию изображений презентации img = draw.Bitmap("aspose-logo.jpg") image = pres.images.add_image(img) @@ -110,52 +127,52 @@ with slides.Presentation() as pres: pres.save("AnimImage_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Применить анимацию к форме** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд через его индекс. -3. Добавьте `прямоугольник` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). -4. Добавьте [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) с `Bevel` (когда на этот объект нажимают, воспроизводится анимация). -5. Создайте последовательность эффектов на форме с закругленными углами. -6. Создайте пользовательский `UserPath`. -7. Добавьте команды для перемещения к `UserPath`. -8. Запишите презентацию на диск в виде файла PPTX. +## **Применение анимации к Shape** -Этот код на Python показывает, как применить эффект `PathFootball` (футбольная траектория) к форме: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по его индексу. +3. Добавьте `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). +4. Добавьте `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) (при щелчке по этому объекту анимация воспроизводится). +5. Создайте последовательность эффектов для фигуры с фаской. +6. Создайте пользовательский `UserPath`. +7. Добавьте команды перемещения к `UserPath`. +8. Запишите презентацию на диск в виде файла PPTX. +Этот код на Python показывает, как применить эффект `PathFootball` (путь «футбол») к фигуре: ```python import aspose.slides.animation as anim import aspose.slides as slides import aspose.pydrawing as draw -# Создает экземпляр класса Презентации, представляющего файл PPTX +# Создает экземпляр класса Presentation, представляющего файл PPTX with slides.Presentation() as pres: sld = pres.slides[0] - # Создает эффект PathFootball для существующей формы с нуля. + # Создает эффект PathFootball для существующей фигуры с нуля. ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 150, 250, 25) - ashp.add_text_frame("Анимированное текстовое поле") + ashp.add_text_frame("Animated TextBox") - # Добавляет эффект анимации PathFootball. + # Добавляет анимационный эффект PathFootBall. pres.slides[0].timeline.main_sequence.add_effect(ashp, anim.EffectType.PATH_FOOTBALL, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS) - # Создает нечто вроде "кнопки". + # Создает некую "кнопку". shapeTrigger = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.BEVEL, 10, 10, 20, 20) # Создает последовательность эффектов для кнопки. seqInter = pres.slides[0].timeline.interactive_sequences.add(shapeTrigger) - # Создает пользовательский путь. Наш объект будет перемещен только после нажатия кнопки. + # Создает пользовательский путь. Наш объект будет перемещён только после нажатия кнопки. fxUserPath = seqInter.add_effect(ashp, anim.EffectType.PATH_USER, anim.EffectSubtype.NONE, anim.EffectTriggerType.ON_CLICK) - # Добавляет команды для перемещения, так как созданный путь пуст. + # Добавляет команды перемещения, так как созданный путь пуст. motionBhv = fxUserPath.behaviors[0] pts = [draw.PointF(0.076, 0.59)] @@ -168,54 +185,112 @@ with slides.Presentation() as pres: pres.save("AnimExample_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Получить примененные эффекты анимации к форме** -Вы можете решить узнать все анимационные эффекты, примененные к одной форме. +## **Получение анимационных эффектов, применённых к Shape** + +Ниже приведены примеры, показывающие, как использовать метод `get_effects_by_shape` из класса [Sequence](https://reference.aspose.com/slides/python-net/aspose.slides.animation/sequence/) для получения всех анимационных эффектов, применённых к фигуре. -Этот код на Python показывает, как получить все эффекты, примененные к конкретной форме: +**Пример 1: Получить анимационные эффекты, применённые к фигуре на обычном слайде** +Ранее вы узнали, как добавлять анимационные эффекты к фигурам в презентациях PowerPoint. Следующий пример кода демонстрирует, как получить эффекты, применённые к первой фигуре на первом обычном слайде в презентации `AnimExample_out.pptx`. ```python import aspose.slides as slides -# Создает экземпляр класса презентации, представляющего файл презентации. -with slides.Presentation("AnimExample_out.pptx") as pres: - firstSlide = pres.slides[0] +with slides.Presentation("AnimExample_out.pptx") as presentation: + first_slide = presentation.slides[0] - # Получает основную последовательность слайда. - sequence = firstSlide.timeline.main_sequence + # Получает основную последовательность анимации слайда. + sequence = first_slide.timeline.main_sequence - # Получает первую форму на слайде. - shape = firstSlide.shapes[0] + # Получает первую фигуру на первом слайде. + shape = first_slide.shapes[0] - # Получает все анимационные эффекты, примененные к форме. - shapeEffects = sequence.get_effects_by_shape(shape) + # Получает анимационные эффекты, применённые к фигуре. + shape_effects = sequence.get_effects_by_shape(shape) - if len(shapeEffects) > 0: - print("Форма " + shape.name + " имеет " + str(len(shapeEffects)) + " анимационных эффектов.") + if len(shape_effects) > 0: + print("The shape", shape.name, "has", len(shape_effects), "animation effects.") ``` -## **Изменить свойства времени анимационного эффекта** -Aspose.Slides для Python через .NET позволяет вам изменять свойства времени анимационного эффекта. +**Пример 2: Получить все анимационные эффекты, включая наследованные из заполнителей** -Это панель времени анимации в Microsoft PowerPoint: +Если фигура на обычном слайде имеет заполнители, расположенные на слайде‑макете и/или мастере, и к этим заполнителям добавлены анимационные эффекты, то все эффекты фигуры будут воспроизводиться во время показа, включая унаследованные из заполнителей. -![example1_image](shape-animation.png) +Предположим, у нас есть файл презентации PowerPoint `sample.pptx` с одним слайдом, содержащим только фигуру нижнего колонтитула с текстом «Made with Aspose.Slides», к которой применён эффект **Random Bars**. + +![Эффект анимации фигуры на слайде](slide-shape-animation.png) + +Предположим также, что к заполнителю нижнего колонтитула на **макете** применён эффект **Split**. + +![Эффект анимации фигуры на макете](layout-shape-animation.png) + +И, наконец, к заполнителю нижнего колонтитула на **мастере** применён эффект **Fly In**. + +![Эффект анимации фигуры на мастере](master-shape-animation.png) -Вот соответствия между временем PowerPoint и свойствами `Effect.Timing`: +Следующий пример кода показывает, как использовать метод `get_base_placeholder` из класса [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) для доступа к заполнителям фигуры и получения анимационных эффектов, применённых к фигуре нижнего колонтитула, включая унаследованные из заполнителей, расположенных на макете и мастере. +```py +import aspose.slides as slides + +def print_effects(effects): + for effect in effects: + print(effect.type.name, effect.subtype.name) +``` + +```py +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + + # Получить анимационные эффекты фигуры на обычном слайде. + shape = slide.shapes[0] + shape_effects = slide.timeline.main_sequence.get_effects_by_shape(shape) + + # Получить анимационные эффекты заполнителя на слайде макета. + layout_shape = shape.get_base_placeholder() + layout_shape_effects = slide.layout_slide.timeline.main_sequence.get_effects_by_shape(layout_shape) -- Выпадающий список времени PowerPoint **Начало** соответствует свойству [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/). -- **Продолжительность** времени PowerPoint соответствует свойству `Effect.Timing.Duration`. Продолжительность анимации (в секундах) — это общее время, необходимое для завершения анимации в одном цикле. -- **Задержка** времени PowerPoint соответствует свойству `Effect.Timing.TriggerDelayTime`. + # Получить анимационные эффекты заполнителя на слайде мастера. + master_shape = layout_shape.get_base_placeholder() + master_shape_effects = slide.layout_slide.master_slide.timeline.main_sequence.get_effects_by_shape(master_shape) -Вот как изменить свойства времени эффекта: + print("Main sequence of shape effects:") + print_effects(master_shape_effects) + print_effects(layout_shape_effects) + print_effects(shape_effects) +``` + + +Output: +```text +Main sequence of shape effects: +FLY BOTTOM +SPLIT VERTICAL_IN +RANDOM_BARS HORIZONTAL +``` -1. [Примените](#apply-animation-to-shape) или получите анимационный эффект. -2. Установите новые значения для необходимых вам свойств `Effect.Timing`. -3. Сохраните измененный файл PPTX. -Этот код на Python иллюстрирует операцию: +## **Изменение свойств тайминга анимационных эффектов** +Aspose.Slides для Python через .NET позволяет изменять свойства тайминга анимационного эффекта. + +Это панель тайминга анимации в Microsoft PowerPoint: + +![example1_image](shape-animation.png) + +Соответствия между таймингом PowerPoint и свойствами `Effect.Timing`: + +- Выпадающий список **Start** в PowerPoint соответствует свойству [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/). +- Параметр **Duration** соответствует свойству `Effect.Timing.Duration`. Длительность анимации (в секундах) — это общее время, за которое анимация завершает один цикл. +- Параметр **Delay** соответствует свойству `Effect.Timing.TriggerDelayTime`. + +Как изменить свойства тайминга эффекта: + +1. [Примените](#apply-animation-to-shape) или получите анимационный эффект. +2. Установите новые значения нужных вам свойств `Effect.Timing`. +3. Сохраните изменённый файл PPTX. + +Этот код на Python демонстрирует операцию: ```python import aspose.slides as slides @@ -227,30 +302,30 @@ with slides.Presentation("AnimExample_out.pptx") as pres: # Получает первый эффект основной последовательности. effect = sequence[0] - # Изменяет тип триггера эффекта на начало по клику + # Изменяет TriggerType эффекта, чтобы запускать по щелчку effect.timing.trigger_type = slides.animation.EffectTriggerType.ON_CLICK - # Изменяет продолжительность эффекта + # Изменяет длительность эффекта effect.timing.duration = 3 - # Изменяет задержку триггера эффекта + # Изменяет время задержки запуска эффекта effect.timing.trigger_delay_time = 0.5 # Сохраняет файл PPTX на диск pres.save("AnimExample_changed.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Звук анимационного эффекта** -Aspose.Slides предоставляет эти свойства для работы со звуками в анимационных эффектах: +Aspose.Slides предоставляет следующие свойства для работы со звуками в анимационных эффектах: -- `sound` -- `stop_previous_sound` +- `sound` +- `stop_previous_sound` ### **Добавить звук анимационного эффекта** -Этот код на Python показывает, как добавить звук анимационного эффекта и остановить его, когда начинается следующий эффект: - +Этот код на Python показывает, как добавить звук к анимационному эффекту и остановить его, когда начинается следующий эффект: ```python import aspose.slides as slides @@ -266,30 +341,30 @@ with Presentation("AnimExample_out.pptx") as pres: # Получает первый эффект основной последовательности first_effect = sequence[0] - # Проверяет эффект на "Без звука" + # Проверяет эффект на отсутствие звука if not first_effect.stop_previous_sound and first_effect.sound is None: - # Добавляет звук для первого эффекта + # Добавляет звук к первому эффекту first_effect.sound = effect_sound # Получает первую интерактивную последовательность слайда. interactive_sequence = first_slide.timeline.interactive_sequences[0] - # Устанавливает флаг "Остановить предыдущий звук" для эффекта + # Устанавливает флаг эффекта "Stop previous sound" interactive_sequence[0].stop_previous_sound = True # Записывает файл PPTX на диск pres.save("AnimExample_Sound_out.pptx", slides.export.SaveFormat.PPTX) ``` + ### **Извлечь звук анимационного эффекта** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд через его индекс. -3. Получите основную последовательность эффектов. -4. Извлеките `sound`, встроенный в каждый анимационный эффект. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по его индексу. +3. Получите основную последовательность эффектов. +4. Извлеките встроенный в каждый анимационный эффект `sound`. Этот код на Python показывает, как извлечь звук, встроенный в анимационный эффект: - ```python import aspose.slides as slides @@ -304,29 +379,29 @@ with slides.Presentation("EffectSound.pptx") as presentation: if effect.sound is None: continue - # Извлекает звук эффекта в байтовый массив + # Извлекает звук эффекта в виде массива байтов audio = effect.sound.binary_data ``` + ## **После анимации** -Aspose.Slides для .NET позволяет вам изменять свойства после анимации анимационного эффекта. +Aspose.Slides для .NET позволяет изменять свойство After animation анимационного эффекта. -Это панель эффектов анимации и расширенное меню в Microsoft PowerPoint: +Это панель анимационного эффекта и расширенное меню в Microsoft PowerPoint: ![example1_image](shape-after-animation.png) -Выпадающий список **После анимации** эффекта PowerPoint соответствует следующим свойствам: +Выпадающий список **After animation** в PowerPoint соответствует следующим свойствам: -- свойство `after_animation_type`, которое описывает тип после анимации : - * **Дополнительные цвета** PowerPoint соответствует типу [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); - * элемент списка **Не затемнять** PowerPoint соответствует типу [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (тип после анимации по умолчанию); - * элемент **Скрыть после анимации** PowerPoint соответствует типу [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); - * элемент **Скрыть при следующем щелчке мыши** PowerPoint соответствует типу [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); -- свойство `after_animation_color`, которое определяет формат цвета после анимации. Это свойство работает в совокупности с типом [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). Если вы измените тип на другой, цвет после анимации будет очищен. - -Этот код на Python показывает, как изменить эффект после анимации: +- свойство `after_animation_type`, которое описывает тип After animation: + * Пункт **More Colors** соответствует типу [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); + * Пункт **Don't Dim** соответствует типу [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) (тип по умолчанию); + * Пункт **Hide After Animation** соответствует типу [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); + * Пункт **Hide on Next Mouse Click** соответствует типу [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/); +- свойство `after_animation_color`, которое задаёт цвет после анимации. Это свойство работает совместно с типом [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/). При изменении типа на другой цвет после анимации будет очищен. +Этот код на Python показывает, как изменить эффект After animation: ```python import aspose.slides as slides @@ -337,35 +412,35 @@ with slides.Presentation("AnimImage_out.pptx") as pres: # Получает первый эффект основной последовательности first_effect = first_slide.timeline.main_sequence[0] - # Изменяет тип после анимации на Цвет + # Изменяет тип after animation на Color first_effect.after_animation_type = AfterAnimationType.COLOR - # Устанавливает цвет затемнения после анимации + # Устанавливает цвет затемнения after animation first_effect.after_animation_color.color = Color.alice_blue - # Записывает файл PPTX на диск + # Сохраняет файл PPTX на диск pres.save("AnimImage_AfterAnimation.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Анимировать текст** -Aspose.Slides предоставляет эти свойства для работы с блоком *Анимировать текст* анимационного эффекта: +Aspose.Slides предоставляет следующие свойства для работы с блоком *Animate text* анимационного эффекта: -- `animate_text_type`, который описывает тип анимации текста эффекта. Текст формы может быть анимирован: - - Все сразу ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) тип) - - По словам ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) тип) - - По буквам ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) тип) -- `delay_between_text_parts` устанавливает задержку между анимированными частями текста (словами или буквами). Положительное значение указывает процент от продолжительности эффекта. Отрицательное значение указывает задержку в секундах. +- `animate_text_type`, который описывает тип анимации текста. Текст фигуры может быть анимирован: + - Всё одновременно ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) тип) + - По словам ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) тип) + - По буквам ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) тип) +- `delay_between_text_parts` задаёт задержку между частями анимированного текста (словами или буквами). Положительное значение указывает процент от длительности эффекта, отрицательное — задержку в секундах. -Вот как вы можете изменить свойства анимации текста эффекта: +Как изменить свойства Animate text эффекта: -1. [Примените](#apply-animation-to-shape) или получите анимационный эффект. -2. Установите свойство `build_type` в значение [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/), чтобы отключить режим анимации *По абзацам*. -3. Установите новые значения для свойств `animate_text_type` и `delay_between_text_parts`. -4. Сохраните измененный файл PPTX. +1. [Примените](#apply-animation-to-shape) или получите анимационный эффект. +2. Установите свойство `build_type` в значение [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/), чтобы отключить режим *By Paragraphs*. +3. Установите новые значения для свойств `animate_text_type` и `delay_between_text_parts`. +4. Сохраните изменённый файл PPTX. Этот код на Python демонстрирует операцию: - ```python import aspose.slides as slides @@ -375,16 +450,31 @@ with slides.Presentation("AnimTextBox_out.pptx") as pres: # Получает первый эффект основной последовательности first_effect = first_slide.timeline.main_sequence[0] - # Изменяет тип анимации текста эффекта на "Как один объект" + # Изменяет тип текстовой анимации эффекта на "As One Object" first_effect.text_animation.build_type = slides.animation.BuildType.AS_ONE_OBJECT - # Изменяет тип анимации текста эффекта на "По словам" + # Изменяет тип анимации текста эффекта на "By word" first_effect.animate_text_type = slides.animation.AnimateTextType.BY_WORD - # Устанавливает задержку между словами в 20% от продолжительности эффекта + # Устанавливает задержку между словами на 20% от длительности эффекта first_effect.delay_between_text_parts = 20 - # Записывает файл PPTX на диск + # Сохраняет файл PPTX на диск pres.save("AnimTextBox_AnimateText.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Как обеспечить сохранение анимаций при публикации презентации в веб?** + +[Export to HTML5](/slides/ru/python-net/export-to-html5/) и включить соответствующие [options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) для анимаций [shape](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) и [transition](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/). Обычный HTML не воспроизводит анимацию слайдов, тогда как HTML5 — воспроизводит. + +**Как изменение порядка слоёв (z‑order) фигур влияет на анимацию?** + +Порядок анимации и порядок отрисовки независимы: эффект управляет временем и типом появления/исчезновения, а [z-order](https://reference.aspose.com/slides/python-net/aspose.slides/shape/z_order_position/) определяет, что покрывает что. Видимый результат формируется их комбинацией. (Это общее поведение PowerPoint; модель Aspose.Slides следует той же логике.) + +**Есть ли ограничения при конвертации анимаций в видео для некоторых эффектов?** + +В целом [анимации поддерживаются](/slides/ru/python-net/convert-powerpoint-to-video/), однако в редких случаях или для специфических эффектов результат может отличаться. Рекомендуется протестировать используемые эффекты и текущую версию библиотеки. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md index f50eaeaa2e..aa3c0df21b 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md @@ -1,26 +1,37 @@ --- -title: Эффект формы +title: Применение эффектов фигур в презентациях с Python +linktitle: Эффект фигуры type: docs weight: 30 url: /ru/python-net/shape-effect -keywords: "Эффект формы, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Применить эффект к форме PowerPoint в Python" +keywords: +- эффект фигуры +- эффект тени +- эффект отражения +- эффект свечения +- эффект мягких краёв +- формат эффекта +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Преобразуйте свои файлы PPT, PPTX и ODP с помощью продвинутых эффектов фигур, используя Aspose.Slides для Python — создавайте яркие, профессиональные слайды за секунды." --- -Хотя эффекты в PowerPoint могут использоваться для того, чтобы выделить форму, они отличаются от [заливок](/slides/ru/python-net/shape-formatting/#gradient-fill) или контуров. Используя эффекты PowerPoint, вы можете создать убедительные отражения на форме, распространить свечение формы и т. д. +В то время как эффекты в PowerPoint могут использоваться для выделения формы, они отличаются от [заливки](/slides/ru/python-net/shape-formatting/#gradient-fill) или контуров. С помощью эффектов PowerPoint можно создать убедительные отражения на форме, распространить её светящееся свечение и т.д. shape-effect -* PowerPoint предоставляет шесть эффектов, которые можно применить к формам. Вы можете применить один или несколько эффектов к форме. +* PowerPoint предоставляет шесть эффектов, которые можно применять к фигурам. К одной фигуре можно применить один или несколько эффектов. -* Некоторые комбинации эффектов выглядят лучше, чем другие. По этой причине PowerPoint предлагает параметры под **Предустановки**. Параметры предустановок представляют собой известную хорошо выглядящую комбинацию двух или более эффектов. Таким образом, выбрав предустановку, вы не потратите время на тестирование или комбинирование различных эффектов в поисках красивой комбинации. +* Некоторые комбинации эффектов выглядят лучше, чем другие. По этой причине PowerPoint имеет параметры под **Preset**. Параметры Preset представляют собой известные визуально привлекательные комбинации двух и более эффектов. Таким образом, выбрав готовый набор, вам не придётся тратить время на экспериментирование и комбинирование разных эффектов в поисках удачной комбинации. -Aspose.Slides предоставляет свойства и методы в классе [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/), которые позволяют применять одни и те же эффекты к формам в презентациях PowerPoint. +Aspose.Slides предоставляет свойства и методы в классе [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/), которые позволяют применять те же эффекты к фигурам в презентациях PowerPoint. ## **Применить эффект тени** -Этот код на Python показывает, как применить эффект внешней тени (`outer_shadow_effect`) к прямоугольнику: - +This Python code shows you how to apply the outer shadow effect (`outer_shadow_effect`) to a rectangle: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -36,10 +47,10 @@ with slides.Presentation() as pres: pres.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **Применить эффект отражения** -Этот код на Python показывает, как применить эффект отражения к форме: +## **Применить эффект отражения** +This Python code shows you how to apply the reflection effect to a shape: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -56,10 +67,10 @@ with slides.Presentation() as pres: pres.save("reflection.pptx", slides.export.SaveFormat.PPTX) ``` -## **Применить эффект свечения** -Этот код на Python показывает, как применить эффект свечения к форме: +## **Применить эффект свечения** +This Python code shows you how to apply the glow effect to a shape: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -74,10 +85,10 @@ with slides.Presentation() as pres: pres.save("glow.pptx", slides.export.SaveFormat.PPTX) ``` -## **Применить эффект мягких краев** -Этот код на Python показывает, как применить эффект мягких краев к форме: +## **Применить эффект мягких краёв** +This Python code shows you how to apply the soft edges to a shape: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -89,4 +100,19 @@ with slides.Presentation() as pres: shape.effect_format.soft_edge_effect.radius = 15 pres.save("softEdges.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Можно ли применить несколько эффектов к одной фигуре?** + +Да, вы можете комбинировать разные эффекты, такие как тень, отражение и свечение, на одной фигуре, чтобы создать более динамичный вид. + +**К каким фигурам можно применять эффекты?** + +Эффекты можно применять к различным фигурам, включая автоконтуры, диаграммы, таблицы, изображения, объекты SmartArt, OLE‑объекты и прочее. + +**Можно ли применять эффекты к сгруппированным фигурам?** + +Да, эффекты можно применять к сгруппированным фигурам. Эффект будет применён ко всей группе. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md index 3205e39a24..7f9f17c08c 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md @@ -1,5 +1,5 @@ --- -title: Управляйте соединителями в презентациях с помощью Python +title: Управление соединителями в презентациях с Python linktitle: Соединитель type: docs weight: 10 @@ -10,363 +10,383 @@ keywords: - точка соединителя - линия соединителя - угол соединителя -- соединение фигур +- связывать фигуры - PowerPoint - презентация - Python - Aspose.Slides -description: "Расширьте возможности приложений Python для рисования, соединения и автоматической трассировки линий на слайдах PowerPoint и OpenDocument — получите полный контроль над прямыми, коленчатыми и криволинейными соединителями." +description: "Позвольте Python‑приложениям рисовать, соединять и автоматически прокладывать линии в слайдах PowerPoint и OpenDocument — получайте полный контроль над прямыми, угловыми и изогнутыми соединителями." --- -Коннектор PowerPoint — это специальная линия, которая соединяет или связывает две фигуры вместе и остается прикрепленной к фигурам, даже когда они перемещаются или изменяют свое положение на данном слайде. +## **Введение** -Коннекторы, как правило, соединены с *точками подключения* (зелеными точками), которые по умолчанию существуют на всех фигурах. Точки подключения появляются, когда курсор приближается к ним. +Соединитель PowerPoint — это специализированная линия, соединяющая две фигуры и остающаяся привязанной к ним при перемещении или переустановке фигур на слайде. Соединители привязываются к **точкам соединения** (зеленые точки) на фигурах. Точки соединения появляются, когда указатель приближается к ним. **Ручки регулировки** (желтые точки), доступные для некоторых соединителей, позволяют изменять положение и форму соединителя. -*Точки регулировки* (оранжевые точки), которые существуют только на определенных коннекторах, используются для изменения положения и формы коннекторов. +## **Типы соединителей** -## **Типы коннекторов** +В PowerPoint можно использовать три типа соединителей: прямой, с изгибом (угловой) и изогнутый. -В PowerPoint вы можете использовать прямые, угловые (изогнутые) и кривые коннекторы. +Aspose.Slides поддерживает следующие типы соединителей: -Aspose.Slides предоставляет эти коннекторы: +| Тип соединителя | Изображение | Количество точек регулировки | +| ---------------- | ------------ | ---------------------------- | +| `ShapeType.LINE` | ![Линейный соединитель](shapetype-lineconnector.png) | 0 | +| `ShapeType.STRAIGHT_CONNECTOR1` | ![Прямой соединитель 1](shapetype-straightconnector1.png) | 0 | +| `ShapeType.BENT_CONNECTOR2` | ![Сгнутый соединитель 2](shapetype-bent-connector2.png) | 0 | +| `ShapeType.BENT_CONNECTOR3` | ![Сгнутый соединитель 3](shapetype-bentconnector3.png) | 1 | +| `ShapeType.BENT_CONNECTOR4` | ![Сгнутый соединитель 4](shapetype-bentconnector4.png) | 2 | +| `ShapeType.BENT_CONNECTOR5` | ![Сгнутый соединитель 5](shapetype-bentconnector5.png) | 3 | +| `ShapeType.CURVED_CONNECTOR2` | ![Изогнутый соединитель 2](shapetype-curvedconnector2.png) | 0 | +| `ShapeType.CURVED_CONNECTOR3` | ![Изогнутый соединитель 3](shapetype-curvedconnector3.png) | 1 | +| `ShapeType.CURVED_CONNECTOR4` | ![Изогнутый соединитель 4](shapetype-curvedconnector4.png) | 2 | +| `ShapeType.CURVED_CONNECTOR5` | ![Изогнутый соединитель 5](shapetype.curvedconnector5.png) | 3 | -| Коннектор | Изображение | Количество точек регулировки | -| ------------------------------ | ------------------------------------------------------------ | ----------------------------- | -| `ShapeType.LINE` | ![shapetype-lineconnector](shapetype-lineconnector.png) | 0 | -| `ShapeType.STRAIGHT_CONNECTOR1` | ![shapetype-straightconnector1](shapetype-straightconnector1.png) | 0 | -| `ShapeType.BENT_CONNECTOR2` | ![shapetype-bent-connector2](shapetype-bent-connector2.png) | 0 | -| `ShapeType.BENT_CONNECTOR3` | ![shapetype-bentconnector3](shapetype-bentconnector3.png) | 1 | -| `ShapeType.BENT_CONNECTOR4` | ![shapetype-bentconnector4](shapetype-bentconnector4.png) | 2 | -| `ShapeType.BENT_CONNECTOR5` | ![shapetype-bentconnector5](shapetype-bentconnector5.png) | 3 | -| `ShapeType.CURVED_CONNECTOR2` | ![shapetype-curvedconnector2](shapetype-curvedconnector2.png) | 0 | -| `ShapeType.CURVED_CONNECTOR3` | ![shapetype-curvedconnector3](shapetype-curvedconnector3.png) | 1 | -| `ShapeType.CURVED_CONNECTOR4` | ![shapetype-curvedconnector4](shapetype-curvedconnector4.png) | 2 | -| `ShapeType.CURVED_CONNECTOR5` | ![shapetype.curvedconnector5](shapetype.curvedconnector5.png) | 3 | +## **Соединять фигуры с помощью соединителей** -## **Соединение фигур с помощью коннекторов** +В этом разделе показано, как связывать фигуры с помощью соединителей в Aspose.Slides. Вы добавите соединитель на слайд, привяжете его начало и конец к целевым фигурам. Использование точек соединения гарантирует, что соединитель останется «приклеенным» к фигурам даже при их перемещении или изменении размера. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд через его индекс. -1. Добавьте две [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) на слайд, используя метод `add_auto_shape`, предоставленный объектом `Shapes`. -1. Добавьте коннектор, используя метод `add_auto_shape`, предоставленный объектом `Shapes`, определив тип коннектора. -1. Соедините фигуры, используя коннектор. -1. Вызовите метод `reroute`, чтобы применить самый короткий путь подключения. -1. Сохраните презентацию. - -Этот код на Python показывает, как добавить коннектор (изогнутый коннектор) между двумя фигурами (эллипс и прямоугольник): - +2. Получите ссылку на слайд по его индексу. +3. Добавьте два объекта [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) на слайд, используя метод `add_auto_shape`, предоставляемый объектом [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +4. Добавьте соединитель с помощью метода `add_connector`, предоставляемого объектом [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/), указав тип соединителя. +5. Соедините фигуры с помощью соединителя. +6. Вызовите метод `reroute`, чтобы применить кратчайший путь соединения. +7. Сохраните презентацию. + +Следующий код Python показывает, как добавить сгнутый соединитель между двумя фигурами (эллипсом и прямоугольником): ```python import aspose.slides as slides -# Создает экземпляр класса презентации, который представляет PPTX-файл -with slides.Presentation() as input: - # Получает доступ к коллекции фигур для конкретного слайда - shapes = input.slides[0].shapes + # Создать экземпляр класса Presentation для создания файла PPTX. + with slides.Presentation() as presentation: - # Добавляет Эллипс - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Получить коллекцию фигур первого слайда. + shapes = presentation.slides[0].shapes - # Добавляет Прямоугольник - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100) + # Добавить AutoShape‑окружность. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Добавляет коннектор к коллекции фигур - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) + # Добавить AutoShape‑прямоугольник. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Соединяет фигуры с помощью коннектора - connector.start_shape_connected_to = ellipse - connector.end_shape_connected_to = rectangle + # Добавить соединитель на слайд. + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) - # Вызывает reroute, который устанавливает автоматический самый короткий путь между фигурами - connector.reroute() + # Соединить фигуры с помощью соединителя. + connector.start_shape_connected_to = ellipse + connector.end_shape_connected_to = rectangle - # Сохраняет презентацию - input.save("Connecting shapes using connectors_out.pptx", slides.export.SaveFormat.PPTX) + # Вызвать reroute для установки кратчайшего пути. + connector.reroute() + # Сохранить презентацию. + presentation.save("connected_shapes.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} - -Метод `connector.reroute` перенастраивает коннектор и заставляет его следовать по самому короткому возможному пути между фигурами. Чтобы достичь своей цели, метод может изменить точки `start_shape_connection_site_index` и `end_shape_connection_site_index`. -{{% /alert %}} +{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} +Метод `connector.reroute` переупорядочивает соединитель, заставляя его выбрать наиболее короткий возможный путь между фигурами. Для этого метод может изменить значения `start_shape_connection_site_index` и `end_shape_connection_site_index`. +{{% /alert %}} -## **Указать точку подключения** +## **Указать точки соединения** -Если вы хотите, чтобы коннектор соединял две фигуры, используя конкретные точки на фигурах, вы должны указать свои предпочтительные точки подключения следующим образом: +Этот раздел объясняет, как привязать соединитель к конкретной точке соединения на фигуре в Aspose.Slides. Точная настройка точек соединения позволяет управлять маршрутизацией и размещением соединителей, получая чистые и предсказуемые диаграммы в презентациях. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд через его индекс. -1. Добавьте две [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) на слайд, используя метод `add_auto_shape`, предоставленный объектом `Shapes`. -1. Добавьте коннектор, используя метод `add_connector`, предоставленный объектом `Shapes`, определив тип коннектора. -1. Соедините фигуры, используя коннектор. -1. Установите ваши предпочтительные точки подключения на фигурах. -1. Сохраните презентацию. - -Этот код на Python демонстрирует операцию, где указывается предпочтительная точка подключения: - +2. Получите ссылку на слайд по его индексу. +3. Добавьте два объекта [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) на слайд, используя метод `add_auto_shape`, предоставляемый объектом [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +4. Добавьте соединитель с помощью метода `add_connector` на объекте [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) и укажите тип соединителя. +5. Соедините фигуры с помощью соединителя. +6. Установите предпочтительные точки соединения на фигурах. +7. Сохраните презентацию. + +Следующий код Python демонстрирует, как указать предпочтительную точку соединения: ```python import aspose.slides as slides -# Создает экземпляр класса презентации, который представляет PPTX-файл +# Создать экземпляр класса Presentation для создания файла PPTX. with slides.Presentation() as presentation: - # Получает доступ к коллекции фигур для конкретного слайда + + # Получить коллекцию фигур первого слайда. shapes = presentation.slides[0].shapes - # Добавляет коннектор к коллекции фигур на слайде - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) + # Добавить AutoShape‑окружность. + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # Добавляет Эллипс - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # Добавить AutoShape‑прямоугольник. + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # Добавляет Прямоугольник - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 100, 100) + # Добавить соединитель в коллекцию фигур слайда. + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) - # Соединяет фигуры с помощью коннектора + # Соединить фигуры с помощью соединителя. connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # Устанавливает индекс предпочтительной точки подключения на фигуре Эллипс - wantedIndex = 6 - - # Проверяет, меньше ли предпочтительный индекс максимального количества точек подключения - if ellipse.connection_site_count > wantedIndex: - # Устанавливает предпочтительную точку подключения на Эллипсе - connector.start_shape_connection_site_index = wantedIndex + # Установить предпочтительный индекс точки подключения для окружности. + site_index = 6 - # Сохраняет презентацию - presentation.save("Connecting_Shape_on_desired_connection_site_out.pptx", slides.export.SaveFormat.PPTX) + # Проверить, что предпочтительный индекс находится в пределах количества доступных точек. + if ellipse.connection_site_count > site_index: + # Присвоить предпочтительную точку подключения для AutoShape‑окружности. + connector.start_shape_connection_site_index = site_index + # Сохранить презентацию. + presentation.save("connection_points.pptx", slides.export.SaveFormat.PPTX) ``` -## **Регулировка точки коннектора** -Вы можете отрегулировать существующий коннектор через его точки регулировки. Только коннекторы с точками регулировки могут быть изменены таким образом. Смотрите таблицу в разделе **[Типы коннекторов.](/slides/ru/python-net/connector/#types-of-connectors)** +## **Регулировать точки соединителя** -#### **Простой случай** +Вы можете изменять соединители, используя их точки регулировки. Только соединители, которые открывают точки регулировки, могут быть изменены таким способом. Подробнее о том, какие соединители поддерживают регулировку, смотрите в таблице в разделе [Типы соединителей](/slides/ru/python-net/connector/#connector-types). -Рассмотрим случай, когда коннектор между двумя фигурами (A и B) проходит через третью фигуру (C): +### **Простой случай** -![connector-obstruction](connector-obstruction.png) +Рассмотрим ситуацию, когда соединитель между двумя фигурами (A и B) пересекает третью фигуру (C): -Код: +![Препятствие соединителя](connector-obstruction.png) +Пример кода: ```python import aspose.slides as slides import aspose.pydrawing as draw -with slides.Presentation() as pres: - sld = pres.slides[0] - shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.black - connector.start_shape_connected_to = shapeFrom - connector.end_shape_connected_to = shapeTo + connector.start_shape_connected_to = shape_from + connector.end_shape_connected_to = shape_to connector.start_shape_connection_site_index = 2 ``` -Чтобы избежать или обойти третью фигуру, мы можем отрегулировать коннектор, переместив его вертикальную линию влево следующим образом: -![connector-obstruction-fixed](connector-obstruction-fixed.png) +Чтобы избежать третьей фигуры, переместите вертикальный сегмент соединителя влево: +![Устранённое препятствие соединителя](connector-obstruction-fixed.png) ```python - adj2 = connector.adjustments[1] - adj2.raw_value += 10000 + adjustment2 = connector.adjustments[1] + adjustment2.raw_value += 10000 ``` + ### **Сложные случаи** -Для выполнения более сложных исправлений вам нужно учитывать следующие моменты: +Для более продвинутой регулировки рассмотрите следующее: -* Точка регулировки коннектора тесно связана с формулой, которая вычисляет и определяет ее положение. Поэтому изменения в местоположении точки могут изменить форму коннектора. -* Точки регулировки коннектора определяются в строгом порядке в массиве. Точки регулировки пронумерованы от начальной точки до конечной. -* Значения точек регулировки отражают процент ширины/высоты формы коннектора. - * Форма ограничена начальными и конечными точками коннектора, умноженными на 1000. - * Первая точка, вторая точка и третья точка определяют процент от ширины, процент от высоты и процент от ширины (снова) соответственно. -* Для расчетов, которые определяют координаты точек регулировки коннектора, необходимо учитывать вращение коннектора и его отражение. **Обратите внимание**, что угол вращения для всех коннекторов, показанных в разделе **[Типы коннекторов](/slides/ru/python-net/connector/#types-of-connectors)**, равен 0. +- Точка регулировки соединителя управляется формулой, определяющей её положение. Изменение этой точки может изменить общую форму соединителя. +- Точки регулировки соединителя хранятся в строго упорядоченном массиве, нумерованном от начала соединителя к его концу. +- Значения точек регулировки представляют собой проценты от ширины/высоты формы соединителя. + - Форма ограничена начальной и конечной точками соединителя и масштабируется на 1000. + - Первая, вторая и третья точки регулировки означают соответственно: процент ширины, процент высоты и снова процент ширины. +- При вычислении координат точек регулировки учитывайте вращение и отражение соединителя. **Примечание:** Для всех соединителей, перечисленных в разделе [Типы соединителей](/slides/ru/python-net/connector/#connector-types), угол вращения равен 0. #### **Случай 1** -Рассмотрим случай, когда два объекта текстового фрейма соединены через коннектор: +Рассмотрим случай, когда два текстовых фрейма связаны соединителем: -![connector-shape-complex](connector-shape-complex.png) - -Код: +![Связанные фигуры](connector-shape-complex.png) +Пример кода: ```python import aspose.slides as slides import aspose.pydrawing as draw -# Создает экземпляр класса презентации, который представляет PPTX-файл -with slides.Presentation() as pres: - # Получает первый слайд в презентации - sld = pres.slides[0] - # Добавляет фигуры, которые будут соединены через коннектор - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) - shapeFrom.text_frame.text = "От" - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) - shapeTo.text_frame.text = "К" - # Добавляет коннектор - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) - # Указывает направление коннектора +# Создать экземпляр класса Presentation для создания PPTX‑файла. +with slides.Presentation() as presentation: + + # Получить первый слайд. + slide = presentation.slides[0] + + # Получить первый слайд. + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) + shape_from.text_frame.text = "From" + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) + shape_to.text_frame.text = "To" + + # Добавить соединитель. + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) + # Установить направление соединителя. connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE - # Указывает цвет коннектора + # Установить цвет соединителя. connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.crimson - # Указывает толщину линии коннектора + # Установить толщину линии соединителя. connector.line_format.width = 3 - # Соединяет фигуры с помощью коннектора - connector.start_shape_connected_to = shapeFrom + # Связать фигуры соединителем. + connector.start_shape_connected_to = shape_from connector.start_shape_connection_site_index = 3 - connector.end_shape_connected_to = shapeTo + connector.end_shape_connected_to = shape_to connector.end_shape_connection_site_index = 2 - # Получает точки регулировки для коннектора - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] + # Получить точки регулировки соединителя. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] ``` -**Регулировка** -Мы можем изменить значения точек регулировки коннектора, увеличив соответствующий процент ширины и высоты на 20% и 200% соответственно: +**Регулировка** +Измените значения точек регулировки соединителя, увеличив процент ширины на 20 % и процент высоты на 200 % соответственно: ```python - # Изменяет значения точек регулировки - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + # Изменить значения точек регулировки. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` -Результат: -![connector-adjusted-1](connector-adjusted-1.png) +Результат: -Чтобы определить модель, позволяющую нам определить координаты и форму отдельных частей коннектора, давайте создадим фигуру, которая будет соответствовать горизонтальному компоненту коннектора в точке connector.adjustments[0]: +![Регулировка соединителя 1](connector-adjusted-1.png) +Чтобы определить модель, позволяющую вычислять координаты и форму сегментов соединителя, создайте фигуру, соответствующую вертикальному компоненту соединителя при `connector.adjustments[0]`: ```python - # Рисует вертикальный компонент коннектора - - x = connector.x + connector.width * adjValue_0.raw_value / 100000 + # Нарисовать вертикальную часть соединителя. + x = connector.x + connector.width * adjustment_0.raw_value / 100000 y = connector.y - height = connector.height * adjValue_1.raw_value / 100000 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) + height = connector.height * adjustment_1.raw_value / 100000 + + slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) ``` + Результат: -![connector-adjusted-2](connector-adjusted-2.png) +![Регулировка соединителя 2](connector-adjusted-2.png) #### **Случай 2** -В **Случае 1** мы продемонстрировали простую операцию регулировки коннектора, используя основные принципы. В обычных ситуациях вам нужно учитывать вращение коннектора и его отображение (которые устанавливаются через connector.rotation, connector.frame.flip_h и connector.frame.flip_v). Теперь мы продемонстрируем процесс. - -Сначала давайте добавим новый объект текстового фрейма (**К 1**) на слайд (для целей соединения) и создадим новый (зеленый) коннектор, который соединяет его с уже созданными объектами. +В **Случае 1** мы продемонстрировали простую регулировку соединителя на основе базовых принципов. В типичных сценариях необходимо учитывать вращение соединителя и его настройки отображения (контролируемые параметрами `connector.rotation`, `connector.frame.flip_h` и `connector.frame.flip_v`). Ниже описание процесса. +Сначала добавьте новый текстовый фрейм (**To 1**) на слайд (для соединения) и создайте новый зелёный соединитель, связывающий его с существующими объектами. ```python - # Создает новый связывающий объект - shapeTo_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) - shapeTo_1.text_frame.text = "К 1" - # Создает новый коннектор + # Создать новый целевой объект. + shape_to_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) + shape_to_1.text_frame.text = "To 1" + + # Создать новый соединитель. connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.medium_aquamarine connector.line_format.width = 3 - # Соединяет объекты с помощью нового созданного коннектора + + # Соединить объекты с помощью только что созданного соединителя. connector.start_shape_connected_to = shapeFrom connector.start_shape_connection_site_index = 2 - connector.end_shape_connected_to = shapeTo_1 + connector.end_shape_connected_to = shape_to_1 connector.end_shape_connection_site_index = 3 - # Получает точки регулировки коннектора - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] - # Изменяет значения точек регулировки - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + + # Получить точки регулировки соединителя. + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] + + # Изменить значения точек регулировки. + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + Результат: -![connector-adjusted-3](connector-adjusted-3.png) +![Регулировка соединителя 3](connector-adjusted-3.png) -Во-вторых, давайте создадим фигуру, которая будет соответствовать горизонтальному компоненту коннектора, проходящего через точку регулировки нового коннектора connector.adjustments[0]. Мы будем использовать значения из данных коннектора для connector.rotation, connector.frame.flip_h и connector.frame.flip_v и применим популярную формулу преобразования координат для вращения вокруг заданной точки x0: +Затем создайте фигуру, соответствующую **горизонтальному** сегменту соединителя, проходящему через новую точку регулировки `connector.adjustments[0]`. Используйте значения `connector.rotation`, `connector.frame.flip_h` и `connector.frame.flip_v`, и примените стандартную формулу преобразования координат при вращении вокруг точки `x0`: X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; Y = (x — x0) * sin(alpha) + (y — y0) * cos(alpha) + y0; -В нашем случае угол объекта составляет 90 градусов, а коннектор отображается вертикально, поэтому вот соответствующий код: - +В нашем случае угол вращения объекта = 90 °, а соединитель отображается вертикально, поэтому соответствующий код выглядит так: ```python - # Сохраняет координаты коннектора + # Сохранить координаты соединителя. x = connector.x y = connector.y - # Корректирует координаты коннектора в случае, если он появляется + + # Корректировать координаты соединителя, если он отражён. if connector.frame.flip_h == 1: x += connector.width if connector.frame.flip_v == 1: y += connector.height - # Учитывает значение точки регулировки как координату + # Использовать значение точки регулировки как координату. x += connector.width * adjValue_0.raw_value / 100000 - # Преобразует координаты, поскольку Sin(90) = 1 и Cos(90) = 0 + # Преобразовать координаты, так как sin(90°) = 1 и cos(90°) = 0. xx = connector.frame.center_x - y + connector.frame.center_y yy = x - connector.frame.center_x + connector.frame.center_y - # Определяет ширину горизонтального компонента с использованием значения второй точки регулировки + # Определить ширину горизонтального сегмента, используя значение второй точки регулировки. width = connector.height * adjValue_1.raw_value / 100000 shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, xx, yy, width, 0) shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red ``` + Результат: -![connector-adjusted-4](connector-adjusted-4.png) +![Регулировка соединителя 4](connector-adjusted-4.png) -Мы продемонстрировали расчеты, связанные с простыми регулировками и сложными точками регулировки (точки регулировки с углами вращения). Используя полученные знания, вы можете разработать свою собственную модель (или написать код), чтобы получить объект `GraphicsPath` или даже установить значения точек регулировки коннектора на основе конкретных координат слайда. +Мы продемонстрировали расчёты, включающие как простые регулировки, так и более сложные точки регулировки (учитывающие вращение). Используя эти знания, вы можете разработать собственную модель — или написать код — для получения объекта `GraphicsPath` или даже установки значений точек регулировки соединителя на основе конкретных координат слайда. -## **Нахождение угла линий коннектора** +## **Найти углы линии соединителя** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд через его индекс. -1. Получите доступ к форме линии коннектора. -1. Используйте ширину линии, высоту, высоту рамки формы и ширину рамки формы, чтобы вычислить угол. +Используйте пример ниже, чтобы определить угол линии соединителя на слайде с помощью Aspose.Slides. Вы узнаете, как считывать конечные точки соединителя и вычислять его ориентацию, чтобы точно выравнивать стрелки, подписи и другие фигуры. -Этот код на Python демонстрирует операцию, в которой мы вычислили угол для формы линии коннектора: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по индексу. +3. Доступ к форме линии соединителя. +4. Используйте ширину и высоту линии, а также ширину и высоту кадра фигуры, чтобы рассчитать угол. +Следующий код Python демонстрирует, как вычислить угол для формы линии соединителя: ```python import aspose.slides as slides import math -def get_direction(w, h, flipH, flipV): - endLineX = w * (-1 if flipH else 1) - endLineY = h * (-1 if flipV else 1) - endYAxisX = 0 - endYAxisY = h - angle = math.atan2(endYAxisY, endYAxisX) - math.atan2(endLineY, endLineX) +def get_direction(w, h, flip_h, flip_v): + end_line_x = w * (-1 if flip_h else 1) + end_line_y = h * (-1 if flip_v else 1) + end_y_axis_x = 0 + end_y_axis_y = h + angle = math.atan2(end_y_axis_y, end_y_axis_x) - math.atan2(end_line_y, end_line_x) if (angle < 0): angle += 2 * math.pi return angle * 180.0 / math.pi -with slides.Presentation(path + "ConnectorLineAngle.pptx") as pres: - slide = pres.slides[0] - for i in range(len(slide.shapes)): - dir = 0.0 - shape = slide.shapes[i] - if (type(shape) is slides.AutoShape): - if shape.shape_type == slides.ShapeType.LINE: - dir = get_direction(shape.width, shape.Height, shape.frame.flip_h, shape.frame.flip_v) +with slides.Presentation("connector_line_angle.pptx") as presentation: + slide = presentation.slides[0] + for shape_index in range(len(slide.shapes)): + direction = 0.0 + shape = slide.shapes[shape_index] + if type(shape) is slides.AutoShape and shape.shape_type == slides.ShapeType.LINE: + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) elif type(shape) is slides.Connector: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + print(direction) +``` + + +## **Вопросы и ответы** + +**Как понять, может ли соединитель «приклеиваться» к конкретной фигуре?** + +Проверьте, открывает ли фигура [точки соединения](https://reference.aspose.com/slides/python-net/aspose.slides/shape/connection_site_count/). Если их нет или их количество равно 0, приклеивание недоступно; в этом случае используйте свободные концы и позиционируйте их вручную. Рекомендуется проверять количество точек перед привязкой. + +**Что происходит с соединителем, если удалить одну из связанных фигур?** + +Его концы будут отсоединены; соединитель останется на слайде как обычная линия со свободным началом/концом. Вы можете либо удалить его, либо переназначить соединения и при необходимости [переупорядочить](https://reference.aspose.com/slides/python-net/aspose.slides/connector/reroute/). - print(dir) +**Сохраняются ли привязки соединителей при копировании слайда в другую презентацию?** -``` \ No newline at end of file +Как правило, да, при условии, что связанные фигуры также копируются. Если слайд вставляется в другой файл без связанных фигур, концы становятся свободными, и их необходимо заново привязать. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md index db4a15eae7..5f049e03c6 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md @@ -1,161 +1,208 @@ --- -title: Пользовательская Форма +title: Настройка фигур в презентациях с Python +linktitle: Пользовательская фигура type: docs weight: 20 url: /ru/python-net/custom-shape/ -keywords: "Форма PowerPoint, пользовательская форма, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Добавление пользовательской формы в презентацию PowerPoint на Python" +keywords: +- пользовательская фигура +- добавить фигуру +- создать фигуру +- изменить фигуру +- геометрия фигуры +- путь геометрии +- точки пути +- редактировать точки +- добавить точку +- удалить точку +- операция редактирования +- скруглённый угол +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Создавайте и настраивайте фигуры в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides для Python на платформе .NET: геометрические пути, скруглённые углы, составные фигуры." --- -# Изменение формы с помощью контрольных точек +## **Обзор** -Рассмотрим квадрат. В PowerPoint, с помощью **контрольных точек**, вы можете +Рассмотрим квадрат. В PowerPoint, используя **Edit Points**, вы можете: -* перемещать угол квадрата внутрь или наружу -* задавать кривизну для угла или точки -* добавлять новые точки к квадрату -* манипулировать точками на квадрате и т.д. +* перемещать угол квадрата внутрь или наружу, +* регулировать кривизну угла или точки, +* добавлять новые точки к квадрату, +* манипулировать его точками. -По сути, вы можете выполнять описанные задачи с любой фигурой. Используя контрольные точки, вы можете изменить фигуру или создать новую фигуру на основе существующей. +Эти операции можно применять к любой фигуре. С помощью **Edit Points** вы можете изменить форму или создать новую на основе существующей формы. -## Советы по редактированию фигур +## **Советы по редактированию фигур** -![overview_image](custom_shape_0.png) +![Команда "Edit Points"](custom_shape_0.png) -Перед тем, как начать редактирование фигур PowerPoint через контрольные точки, вам стоит учесть следующие моменты о формах: +Прежде чем начать редактировать фигуры PowerPoint с помощью **Edit Points**, учитывайте следующие замечания о фигурах: -* Фигура (или ее путь) может быть закрытой или открытой. -* Когда фигура закрыта, у нее нет начальной или конечной точки. Когда фигура открыта, у нее есть начало и конец. -* Все фигуры состоят как минимум из 2 якорных точек, связанных между собой линиями. -* Линия может быть прямой или изогнутой. Якорные точки определяют природу линии. -* Якорные точки существуют как угловые точки, простые точки или гладкие точки: - * Угловая точка - это точка, где 2 прямые линии соединяются под углом. - * Гладкая точка - это точка, где 2 ручки находятся на прямой линии, а сегменты линии соединяются плавной кривой. В этом случае все ручки отделены от якорной точки на равное расстояние. - * Простая точка - это точка, где 2 ручки находятся на прямой линии, а сегменты линии соединяются плавной кривой. В этом случае ручки не обязательно должны быть отделены от якорной точки на равное расстояние. -* Перемещая или редактируя якорные точки (что меняет угол линий), вы можете изменить внешний вид фигуры. +* Фигура (или её контур) может быть **закрытой** или **открытой**. +* Закрытая фигура не имеет начальной или конечной точки; открытая фигура имеет начало и конец. +* Каждая фигура имеет как минимум две опорные точки, соединённые отрезками. +* Отрезок может быть прямым или изогнутым; опорные точки определяют характер отрезка. +* Опорные точки могут быть **угловыми**, **плавными** или **прямыми**: + * Точка **угловая** — это место, где два прямых отрезка встречаются под углом. + * Точка **плавная** имеет две ручки, лежащие на одной линии, и прилегающие отрезки образуют плавную кривую. При этом обе ручки находятся на одинаковом расстоянии от опорной точки. + * Точка **прямая** также имеет две коллинеарные ручки, и прилегающие отрезки образуют плавную кривую. В этом случае ручки не обязаны находиться на одинаковом расстоянии от опорной точки. +* Перемещая или редактируя опорные точки (тем самым изменяя углы отрезков), вы можете менять внешний вид фигуры. -Для редактирования фигур PowerPoint через контрольные точки, **Aspose.Slides** предоставляет класс [**GeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) и интерфейс [**IGeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). +Чтобы редактировать фигуры PowerPoint, Aspose.Slides предоставляет класс [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -* Экземпляр [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) представляет собой геометрический путь объекта [IGeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/). -* Для получения `GeometryPath` из экземпляра `IGeometryShape`, вы можете использовать метод [IGeometryShape.GetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/). -* Чтобы установить `GeometryPath` для фигуры, вы можете использовать эти методы: [IGeometryShape.SetGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) для *сплошных фигур* и [IGeometryShape.SetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) для *композитных фигур*. -* Чтобы добавить сегменты, вы можете использовать методы, указанные в [IGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/). -* Используя свойства [IGeometryPath.Stroke](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) и [IGeometryPath.FillMode](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/), вы можете установить внешний вид для геометрического пути. -* Используя свойство [IGeometryPath.PathData](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/properties/pathdata), вы можете получить геометрический путь `GeometryShape` в виде массива сегментов пути. -* Чтобы получить доступ к дополнительным параметрам настройки геометрии формы, вы можете преобразовать [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) в [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -* Используйте методы `GeometryPathToGraphicsPath` и `GraphicsPathToGeometryPath` (из класса [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/)) для преобразования `GeometryPath` в `GraphicsPath` и обратно. +* Объект [GeometryPath] представляет геометрический путь [GeometryShape] объекта. +* Чтобы получить [GeometryPath] из экземпляра [GeometryShape], используйте метод [GeometryShape.get_geometry_paths]. +* Для установки [GeometryPath] для фигуры используйте [GeometryShape.set_geometry_path] для *solid shapes* и [GeometryShape.set_geometry_paths] для *composite shapes*. +* Для добавления отрезков используйте методы класса [GeometryPath]. +* Используйте свойства [GeometryPath.stroke] и [GeometryPath.fill_mode] для управления внешним видом геометрического пути. +* Используйте свойство [GeometryPath.path_data] для получения геометрического пути фигуры в виде массива отрезков пути. ## **Простые операции редактирования** -Этот код на Python показывает, как +Следующие методы используются для простых операций редактирования. **Добавить линию** в конец пути: - ```py line_to(point) line_to(x, y) ``` -**Добавить линию** в указанное положение на пути: + +**Добавить линию** в указанной позиции пути: ```py line_to(point, index) line_to(x, y, index) ``` -**Добавить кубическую кривую Безье** в конец пути: + +**Добавить кубическую кривую Безье** в конец пути: ```py cubic_bezier_to(point1, point2, point3) cubic_bezier_to(x1, y1, x2, y2, x3, y3) ``` -**Добавить кубическую кривую Безье** в указанное положение на пути: + +**Добавить кубическую кривую Безье** в указанной позиции пути: ```py cubic_bezier_to(point1, point2, point3, index) cubic_bezier_to(x1, y1, x2, y2, x3, y3, index) ``` + + **Добавить квадратичную кривую Безье** в конец пути: ```py quadratic_bezier_to(point1, point2) quadratic_bezier_to(x1, y1, x2, y2) ``` -**Добавить квадратичную кривую Безье** в указанное положение на пути: + +**Добавить квадратичную кривую Безье** в указанной позиции пути: ```py quadratic_bezier_to(point1, point2, index) quadratic_bezier_to(x1, y1, x2, y2, index) ``` -**Добавить заданный дуговой сегмент** к пути: + + +**Добавить дугу** к пути: ```py -arc_to(width, height, startAngle, sweepAngle) +arc_to(width, heigth, startAngle, sweepAngle) ``` -**Закрыть текущую фигуру** пути: + + +**Закрыть текущую фигуру** в пути: ```py close_figure() ``` -**Установить положение для следующей точки**: + + +**Установить позицию для следующей точки**: ```py move_to(point) move_to(x, y) ``` -**Удалить сегмент пути** по указанному индексу: + +**Удалить сегмент пути** по заданному индексу: ```py remove_at(index) ``` -## Добавление пользовательских точек к фигуре -1. Создайте экземпляр класса [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) и установите тип [ShapeType.Rectangle](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). -2. Получите экземпляр класса [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) из фигуры. -3. Добавьте новую точку между двумя верхними точками на пути. -4. Добавьте новую точку между двумя нижними точками на пути. -6. Примените путь к фигуре. -Этот код на Python показывает, как добавить пользовательские точки к фигуре: +## **Добавить пользовательские точки к фигурам** + +Здесь вы узнаете, как определить произвольную форму, добавляя собственную последовательность точек. Указывая упорядоченные точки и типы отрезков (прямые или изогнутые) и, при необходимости, закрывая путь, вы можете рисовать точные пользовательские графические элементы — многоугольники, значки, выноски или логотипы — непосредственно на слайдах. + +1. Создайте экземпляр класса [GeometryShape] и задайте ему [ShapeType.RECTANGLE]. +2. Получите экземпляр [GeometryPath] из фигуры. +3. Вставьте новую точку между двумя верхними точками пути. +4. Вставьте новую точку между двумя нижними точками пути. +5. Примените обновлённый путь к фигуре. + +Следующий код на Python показывает, как добавить пользовательские точки к фигуре: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath = shape.get_geometry_paths()[0] +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) + + geometry_path = shape.get_geometry_paths()[0] + geometry_path.line_to(100, 50, 1) + geometry_path.line_to(100, 50, 4) - geometryPath.line_to(100, 50, 1) - geometryPath.line_to(100, 50, 4) - shape.set_geometry_path(geometryPath) + shape.set_geometry_path(geometry_path) + + presentation.save("custom_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example1_image](custom_shape_1.png) -## Удаление точек из фигуры +![Пользовательские точки](custom_shape_1.png) + +## **Удалить точки из фигур** -1. Создайте экземпляр класса [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) и установите тип [ShapeType.Heart](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/). -2. Получите экземпляр класса [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) из фигуры. -3. Удалите сегмент для пути. -4. Примените путь к фигуре. +Иногда пользовательская фигура содержит лишние точки, усложняющие её геометрию или влияющие на отображение. В этом разделе показано, как удалить конкретные точки из пути фигуры, чтобы упростить контур и достичь более чистых, точных результатов. -Этот код на Python показывает, как удалить точки из фигуры: +1. Создайте экземпляр класса [GeometryShape] и задайте ему тип [ShapeType.HEART]. +2. Получите экземпляр [GeometryPath] из фигуры. +3. Удалите сегмент из пути. +4. Примените обновлённый путь к фигуре. +Следующий код на Python показывает, как удалить точки из фигуры: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) path = shape.get_geometry_paths()[0] path.remove_at(2) + shape.set_geometry_path(path) + + presentation.save("removed_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example2_image](custom_shape_2.png) -## Создание пользовательской фигуры + +![Удалённые точки](custom_shape_2.png) + +## **Создать пользовательские фигуры** + +Создавайте индивидуальные векторные фигуры, определяя [GeometryPath] и составляя её из линий, дуг и кривых Безье. В этом разделе показано, как построить пользовательскую геометрию с нуля и добавить получившуюся фигуру на слайд. 1. Вычислите точки для фигуры. -2. Создайте экземпляр класса [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). +2. Создайте экземпляр класса [GeometryPath]. 3. Заполните путь точками. -4. Создайте экземпляр класса [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). +4. Создайте экземпляр класса [GeometryShape]. 5. Примените путь к фигуре. -Этот код на Python показывает, как создать пользовательскую фигуру: - +Следующий код на Python показывает, как создать пользовательскую фигуру: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -178,128 +225,149 @@ for angle in range(-90, 270, step): y = r * math.sin(radians) points.append(draw.PointF(x + R, y + R)) -starPath = slides.GeometryPath() -starPath.move_to(points[0]) +star_path = slides.GeometryPath() +star_path.move_to(points[0]) for i in range(len(points)): - starPath.line_to(points[i]) + star_path.line_to(points[i]) -starPath.close_figure() +star_path.close_figure() -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) - shape.set_geometry_path(starPath) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) + shape.set_geometry_path(star_path) + + presentation.save("custom_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example3_image](custom_shape_3.png) -## Создание составной пользовательской фигуры +![Пользовательская фигура](custom_shape_3.png) -1. Создайте экземпляр класса [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -2. Создайте первый экземпляр класса [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -3. Создайте второй экземпляр класса [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/). -4. Примените пути к фигуре. +## **Создать составные пользовательские фигуры** -Этот код на Python показывает, как создать составную пользовательскую фигуру: +Создание составной пользовательской фигуры позволяет объединить несколько геометрических путей в одну, переиспользуемую фигуру на слайде. Определите и объедините эти пути, чтобы построить сложные визуальные элементы, выходящие за рамки стандартного набора фигур. +1. Создайте экземпляр класса [GeometryShape]. +2. Создайте первый экземпляр класса [GeometryPath]. +3. Создайте второй экземпляр класса [GeometryPath]. +4. Примените оба пути к фигуре. + +Следующий код на Python показывает, как создать составную пользовательскую фигуру: ```py import aspose.slides as slides -import aspose.pydrawing as draw -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - geometryPath0 = slides.GeometryPath() - geometryPath0.move_to(0, 0) - geometryPath0.line_to(shape.width, 0) - geometryPath0.line_to(shape.width, shape.height/3) - geometryPath0.line_to(0, shape.height / 3) - geometryPath0.close_figure() + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath1 = slides.GeometryPath() - geometryPath1.move_to(0, shape.height/3 * 2) - geometryPath1.line_to(shape.width, shape.height / 3 * 2) - geometryPath1.line_to(shape.width, shape.height) - geometryPath1.line_to(0, shape.height) - geometryPath1.close_figure() + geometry_path_0 = slides.GeometryPath() + geometry_path_0.move_to(0, 0) + geometry_path_0.line_to(shape.width, 0) + geometry_path_0.line_to(shape.width, shape.height/3) + geometry_path_0.line_to(0, shape.height / 3) + geometry_path_0.close_figure() - shape.set_geometry_paths([geometryPath0, geometryPath1]) + geometry_path_1 = slides.GeometryPath() + geometry_path_1.move_to(0, shape.height/3 * 2) + geometry_path_1.line_to(shape.width, shape.height / 3 * 2) + geometry_path_1.line_to(shape.width, shape.height) + geometry_path_1.line_to(0, shape.height) + geometry_path_1.close_figure() + + shape.set_geometry_paths([ geometry_path_0, geometry_path_1]) + + presentation.save("composite_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example4_image](custom_shape_4.png) -## **Создание пользовательской фигуры с закругленными углами** -Этот код на Python показывает, как создать пользовательскую фигуру с закругленными углами (внутрь): +![Составная фигура](custom_shape_4.png) + +## **Создать пользовательские фигуры со скруглёнными углами** +В этом разделе показано, как нарисовать пользовательскую фигуру со сглаженными скруглёнными углами, используя геометрический путь. Вы комбинируете прямые отрезки и круговые дуги, чтобы сформировать контур, и добавите готовую фигуру на слайд. + +Следующий код на Python показывает, как создать пользовательскую фигуру со скруглёнными углами: ```py import aspose.slides as slides import aspose.pydrawing as draw -shapeX = 20 -shapeY = 20 -shapeWidth = 300 -shapeHeight = 200 +shape_x = 20 +shape_y = 20 +shape_width = 300 +shape_height = 200 -leftTopSize = 50 -rightTopSize = 20 -rightBottomSize = 40 -leftBottomSize = 10 +left_top_size = 50 +right_top_size = 20 +right_bottom_size = 40 +left_bottom_size = 10 with slides.Presentation() as presentation: - childShape = presentation.slides[0].shapes.add_auto_shape( - slides.ShapeType.CUSTOM, shapeX, shapeY, shapeWidth, shapeHeight) + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape( + slides.ShapeType.CUSTOM, shape_x, shape_y, shape_width, shape_height) + + point1 = draw.PointF(left_top_size, 0) + point2 = draw.PointF(shape_width - right_top_size, 0) + point3 = draw.PointF(shape_width, shape_height - right_bottom_size) + point4 = draw.PointF(left_bottom_size, shape_height) + point5 = draw.PointF(0, left_top_size) + + geometry_path = slides.GeometryPath() + geometry_path.move_to(point1) + geometry_path.line_to(point2) + geometry_path.arc_to(right_top_size, right_top_size, 180, -90) + geometry_path.line_to(point3) + geometry_path.arc_to(right_bottom_size, right_bottom_size, -90, -90) + geometry_path.line_to(point4) + geometry_path.arc_to(left_bottom_size, left_bottom_size, 0, -90) + geometry_path.line_to(point5) + geometry_path.arc_to(left_top_size, left_top_size, 90, -90) + geometry_path.close_figure() + + shape.set_geometry_path(geometry_path) + + presentation.save("curved_corners.pptx", slides.export.SaveFormat.PPTX) +``` - geometryPath = slides.GeometryPath() - point1 = draw.PointF(leftTopSize, 0) - point2 = draw.PointF(shapeWidth - rightTopSize, 0) - point3 = draw.PointF(shapeWidth, shapeHeight - rightBottomSize) - point4 = draw.PointF(leftBottomSize, shapeHeight) - point5 = draw.PointF(0, leftTopSize) +![Скруглённые углы](custom_shape_6.png) - geometryPath.move_to(point1) - geometryPath.line_to(point2) - geometryPath.arc_to(rightTopSize, rightTopSize, 180, -90) - geometryPath.line_to(point3) - geometryPath.arc_to(rightBottomSize, rightBottomSize, -90, -90) - geometryPath.line_to(point4) - geometryPath.arc_to(leftBottomSize, leftBottomSize, 0, -90) - geometryPath.line_to(point5) - geometryPath.arc_to(leftTopSize, leftTopSize, 90, -90) +## **Определить, является ли геометрия фигуры замкнутой** - geometryPath.close_figure() +Замкнутая фигура определяется как такая, где все её стороны соединены, образуя единую границу без пробелов. Такая фигура может быть простой геометрической формой или сложным пользовательским контуром. Следующий пример кода показывает, как проверить, является ли геометрия фигуры замкнутой: +```py +def is_geometry_closed(geometry_shape): + is_closed = None - childShape.set_geometry_path(geometryPath) + for geometry_path in geometry_shape.get_geometry_paths(): + data_length = len(geometry_path.path_data) + if data_length == 0: + continue - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` + last_segment = geometry_path.path_data[data_length - 1] + is_closed = last_segment.path_command == PathCommandType.CLOSE -## Преобразование GeometryPath в GraphicsPath (System.Drawing.Drawing2D) + if not is_closed: + return False -1. Создайте экземпляр класса [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/). -2. Создайте экземпляр класса [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) из пространства имен [System.Drawing.Drawing2D](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0). -3. Преобразуйте экземпляр [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) в экземпляр [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) с помощью класса [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/). -4. Примените пути к фигуре. + return is_closed +``` -Этот код на Python — реализация вышеуказанных шагов — демонстрирует процесс преобразования **GeometryPath** в **GraphicsPath**: -```py -import aspose.slides as slides -import aspose.pydrawing as draw +## **FAQ** -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 100) +**Что произойдёт с заливкой и контуром после замены геометрии?** - originalPath = shape.get_geometry_paths()[0] - originalPath.fill_mode = slides.PathFillModeType.NONE +Стиль остаётся привязанным к фигуре; меняется только контур. Заливка и контур автоматически применяются к новой геометрии. - gPath = draw.drawing2d.GraphicsPath() +**Как правильно повернуть пользовательскую фигуру вместе с её геометрией?** - gPath.add_string("Text in shape", draw.FontFamily("Arial"), 1, 40, draw.PointF(10, 10), draw.StringFormat.generic_default) +Используйте свойство [rotation] фигуры; геометрия вращается вместе с фигурой, поскольку привязана к собственной системе координат фигуры. - textPath = slides.util.ShapeUtil.graphics_path_to_geometry_path(gPath) - textPath.fill_mode = slides.PathFillModeType.NORMAL +**Можно ли преобразовать пользовательскую фигуру в изображение, чтобы “зафиксировать” результат?** - shape.set_geometry_paths([originalPath, textPath]) -``` -![example5_image](custom_shape_5.png) \ No newline at end of file +Да. Экспортируйте необходимую область [slide](/slides/ru/python-net/convert-powerpoint-to-png/) или саму [shape](/slides/ru/python-net/create-shape-thumbnails/) в растровый формат; это упрощает дальнейшую работу с тяжёлыми геометриями. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md index d15a922e17..cd9d9edeee 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md @@ -1,12 +1,12 @@ --- -title: Добавляйте эллипсы в презентации на Python +title: Добавление эллипсов в презентации на Python linktitle: Эллипс type: docs weight: 30 url: /ru/python-net/ellipse/ keywords: - эллипс -- фигура +- форма - добавить эллипс - создать эллипс - нарисовать эллипс @@ -16,72 +16,85 @@ keywords: - презентация - Python - Aspose.Slides -description: "Узнайте, как создавать, форматировать и управлять фигурами-эллипсами в Aspose.Slides for Python via .NET в презентациях PPT, PPTX и ODP — примеры кода включены." +description: "Узнайте, как создавать, форматировать и управлять формами эллипсов в Aspose.Slides for Python via .NET в презентациях PPT, PPTX и ODP — включены примеры кода." --- - ## **Создать эллипс** -В этой теме мы ознакомим разработчиков с добавлением форм эллипса на их слайды с помощью Aspose.Slides для Python через .NET. Aspose.Slides для Python через .NET предоставляет более простой набор API для рисования различных видов форм всего за несколько строк кода. Чтобы добавить простой эллипс на выбранный слайд презентации, выполните следующие шаги: +В этой статье мы расскажем разработчикам, как добавить форму эллипса на слайды с помощью Aspose.Slides for Python via .NET. Aspose.Slides for Python via .NET предоставляет упрощённый набор API для рисования различных фигур всего в несколько строк кода. Чтобы добавить простой эллипс на выбранный слайд презентации, выполните следующие шаги: 1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) -1. Получите ссылку на слайд, используя его индекс -1. Добавьте автоформу типа эллипс с помощью метода AddAutoShape, предоставленного объектом IShapes -1. Запишите модифицированную презентацию в файл PPTX - -В приведенном ниже примере мы добавили эллипс на первый слайд. +2. Получите ссылку на слайд, используя его Index +3. Добавьте AutoShape типа Ellipse с помощью метода AddAutoShape, доступного через объект IShapes +4. Сохраните изменённую презентацию в файл PPTX +В примере ниже мы добавили эллипс на первый слайд. ```py import aspose.slides as slides -# Создайте экземпляр класса Presentation, который представляет PPTX +# Создайте экземпляр класса Presentation, представляющего PPTX with slides.Presentation() as pres: - # Получите первый слайд + # Получить первый слайд sld = pres.slides[0] - # Добавьте автоформу типа эллипс + # Добавить автофигуру типа эллипс sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Запишите файл PPTX на диск + #Записать файл PPTX на диск pres.save("EllipseShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Создать форматированный эллипс** -Чтобы добавить более красиво оформленный эллипс на слайд, выполните следующие шаги: -1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд, используя его индекс. -1. Добавьте автоформу типа эллипс с помощью метода AddAutoShape, предоставленного объектом IShapes. -1. Установите тип заливки эллипса на сплошной. -1. Установите цвет эллипса, используя свойство SolidFillColor.Color, предоставленное объектом FillFormat, связанным с объектом IShape. -1. Установите цвет линий эллипса. -1. Установите ширину линий эллипса. -1. Запишите модифицированную презентацию в файл PPTX. - -В приведенном ниже примере мы добавили форматированный эллипс на первый слайд презентации. +## **Создать отформатированный эллипс** +Чтобы добавить более отформатированный эллипс на слайд, выполните следующие шаги: +1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. Получите ссылку на слайд, используя его Index +3. Добавьте AutoShape типа Ellipse с помощью метода AddAutoShape, доступного через объект IShapes +4. Установите Fill Type эллипса в Solid +5. Задайте цвет эллипса через свойство SolidFillColor.Color объекта FillFormat, связанного с объектом IShape +6. Задайте цвет линий эллипса +7. Задайте толщину линий эллипса +8. Сохраните изменённую презентацию в файл PPTX + +В примере ниже мы добавили отформатированный эллипс на первый слайд презентации. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Создайте экземпляр класса Presentation, который представляет PPTX +# Создайте экземпляр класса Presentation, представляющего PPTX with slides.Presentation() as pres: - # Получите первый слайд + # Получить первый слайд sld = pres.slides[0] - # Добавьте автоформу типа эллипс + # Добавить автофигуру типа эллипс shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # Примените некоторые настройки к форме эллипса + # Применить некоторое форматирование к форме эллипса shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Примените некоторые настройки к линии эллипса + # Применить некоторое форматирование к линии эллипса shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # Запишите файл PPTX на диск + #Записать файл PPTX на диск pres.save("EllipseShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Как задать точное положение и размер эллипса относительно единиц измерения слайда?** + +Координаты и размеры обычно указываются **в пунктах**. Для предсказуемых результатов рассчитывайте на основе размеров слайда и преобразуйте требуемые миллиметры или дюймы в пункты перед присвоением значений. + +**Как разместить эллипс выше или ниже других объектов (управление порядком наложения)?** + +Измените порядок отрисовки объекта, переместив его на передний план или отправив назад. Это позволит эллипсу перекрывать другие объекты или показывать те, что находятся под ним. + +**Как анимировать появление или акцентирование эллипса?** + +[Apply](/slides/ru/python-net/shape-animation/) входные, акцентные или выходные эффекты к форме, а также настройте триггеры и тайминг, чтобы определить, когда и как будет воспроизводиться анимация. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md index 28eac89a59..ff98b3809b 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md @@ -1,5 +1,5 @@ --- -title: Создавайте линии в презентациях с использованием Python +title: Создание фигур линий в презентациях с Python linktitle: Линия type: docs weight: 50 @@ -11,82 +11,102 @@ keywords: - простая линия - настроить линию - кастомизировать линию -- штрих-пунктир -- наконечник стрелки +- стиль пунктиров +- стрелка - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Узнайте, как управлять форматированием линий в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides for Python via .NET. Изучите свойства, методы и примеры." +description: "Узнайте, как управлять форматированием линий в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides for Python via .NET. Откройте свойства, методы и примеры." --- -Aspose.Slides для Python через .NET поддерживает добавление различных форм на слайды. В этой теме мы начнем работать с формами, добавляя линии на слайды. С помощью Aspose.Slides для Python через .NET разработчики могут не только создавать простые линии, но и рисовать некоторые декоративные линии на слайдах. -## **Создание простой линии** -Чтобы добавить простую линию на выбранный слайд презентации, выполните следующие шаги: +## **Обзор** -- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Получите ссылку на слайд, используя его индекс. -- Добавьте Автофигуру типа линия, используя метод [add_auto_shape](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/), предоставленный объектом Shapes. -- Запишите измененную презентацию в файл PPTX. +Aspose.Slides for Python via .NET поддерживает добавление разных видов фигур на слайды. В этой статье мы начнём работать с фигурами, добавляя линии на слайды. С помощью Aspose.Slides разработчики могут создавать не только простые линии, но и рисовать на слайдах некоторые изящные линии. -В приведенном ниже примере мы добавили линию на первый слайд презентации. +## **Создание простых линий** +Используйте Aspose.Slides, чтобы добавить простую линию на слайд в качестве простого разделителя или соединителя. Чтобы добавить простую линию на выбранный слайд в презентации, выполните следующие действия: + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по индексу. +3. Добавьте [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) типа `LINE`, используя метод `add_auto_shape` объекта [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +4. Сохраните презентацию в файл PPTX. + +В примере ниже линия добавлена на первый слайд презентации. ```py import aspose.slides as slides -# Создание экземпляра класса PresentationEx, представляющего файл PPTX -with slides.Presentation() as pres: - # Получаем первый слайд - sld = pres.slides[0] +# Создать экземпляр класса Presentation. +with slides.Presentation() as presentation: - # Добавляем автофигуру типа линия - sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + # Получить первый слайд. + slide = presentation.slides[0] - # Записываем PPTX на диск - pres.save("LineShape1_out.pptx", slides.export.SaveFormat.PPTX) + # Добавить автофигуру типа LINE. + slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # Сохранить презентацию в файл PPTX. + presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX) ``` -## **Создание линии в форме стрелки** -Aspose.Slides для Python через .NET также позволяет разработчикам настраивать некоторые свойства линии, чтобы она выглядела более привлекательно. Давайте попробуем настроить несколько свойств линии, чтобы она выглядела как стрелка. Выполните следующие шаги: -- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -- Получите ссылку на слайд, используя его индекс. -- Добавьте Автофигуру типа линия, используя метод AddAutoShape, предоставленный объектом Shapes. -- Установите стиль линии на один из стилей, предложенных Aspose.Slides для Python через .NET. -- Установите ширину линии. -- Установите [стиль штриха](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) линии на один из стилей, предложенных Aspose.Slides для Python через .NET. -- Установите [стиль наконечника стрелки](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) и длину начальной точки линии. -- Установите стиль наконечника стрелки и длину конечной точки линии. -- Запишите измененную презентацию в файл PPTX. +## **Создание линий со стрелками** + +Используя Aspose.Slides, можно настроить свойства линии, чтобы они выглядели более привлекательно. Ниже мы настраиваем несколько свойств линии, чтобы она выглядела как стрелка. Выполните следующие действия: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. Получите ссылку на слайд по индексу. +3. Добавьте [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) типа `LINE`, используя метод `add_auto_shape` объекта [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/). +4. Установите [стиль линии](https://reference.aspose.com/slides/python-net/aspose.slides/linestyle/). +5. Установите ширину линии. +6. Установите [dash style](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/). +7. Установите [arrowhead style](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) и длину для начальной точки линии. +8. Установите стиль и длину наконечника для конечной точки линии. +9. Сохраните презентацию в файл PPTX. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Создание экземпляра класса PresentationEx, представляющего файл PPTX -with slides.Presentation() as pres: - # Получаем первый слайд - sld = pres.slides[0] +# Создать экземпляр класса Presentation, представляющего файл PPTX. +with slides.Presentation() as presentation: + # Получить первый слайд. + slide = presentation.slides[0] + + # Добавить автофигуру типа LINE. + shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # Применить форматирование к линии. + shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN + shape.line_format.width = 10 + + shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT + + shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT + shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL + + shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG + shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE + + shape.line_format.fill_format.fill_type = slides.FillType.SOLID + shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon + + # Сохранить презентацию в файл PPTX. + presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX) +``` + - # Добавляем автофигуру типа линия - shp = sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) +## **FAQ** - # Применяем некоторые настройки к линии - shp.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN - shp.line_format.width = 10 +**Можно ли преобразовать обычную линию в соединитель, чтобы она «прилипала» к фигурам?** - shp.line_format.dash_style = slides.LineDashStyle.DASH_DOT +Нет. Обычная линия (это [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) типа [LINE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/)) автоматически не превращается в соединитель. Чтобы она «прилипала» к фигурам, используйте специальный тип [Connector](https://reference.aspose.com/slides/python-net/aspose.slides/connector/) и [corresponding APIs](/slides/ru/python-net/connector/) для соединений. - shp.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT - shp.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL +**Что делать, если свойства линии наследуются из темы и трудно определить их окончательные значения?** - shp.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG - shp.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE +[Read the effective properties](/slides/ru/python-net/shape-effective-properties/) через классы [ILineFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilineformateffectivedata/)/[ILineFillFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilinefillformateffectivedata/) — они уже учитывают наследование и стили темы. - shp.line_format.fill_format.fill_type = slides.FillType.SOLID - shp.line_format.fill_format.solid_fill_color.color = draw.Color.maroon +**Можно ли заблокировать линию от редактирования (перемещения, изменения размера)?** - # Записываем PPTX на диск - pres.save("LineShape2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Да. Фигуры предоставляют [lock objects](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/), которые позволяют [disallow editing operations](/slides/ru/python-net/applying-protection-to-presentation/). \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md index 09287ea92d..31b2efe19e 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md @@ -1,47 +1,46 @@ --- -title: Получите границы абзаца в презентациях на Python +title: Получить границы абзаца из презентаций в Python linktitle: Абзац type: docs weight: 60 url: /ru/python-net/paragraph/ keywords: - границы абзаца -- границы фрагмента текста -- координаты абзаца -- координаты фрагмента текста +- границы текстового фрагмента +- координата абзаца +- координата фрагмента - размер абзаца -- размер фрагмента текста -- текстовый фрейм +- размер текстового фрагмента +- текстовый кадр - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Узнайте, как получать границы абзацев и фрагментов текста в Aspose.Slides for Python via .NET, чтобы оптимизировать позиционирование текста в презентациях PowerPoint и OpenDocument." +description: "Узнайте, как получить границы абзаца и текстового фрагмента в Aspose.Slides for Python via .NET для оптимизации позиционирования текста в презентациях PowerPoint и OpenDocument." --- -## **Получение координат параграфа и доли в TextFrame** -Используя Aspose.Slides для Python via .NET, разработчики теперь могут получать прямоугольные координаты для параграфа внутри коллекции параграфов TextFrame. Это также позволяет получать координаты доли внутри коллекции долей параграфа. В этой теме мы собираемся продемонстрировать на примере, как получить прямоугольные координаты для параграфа вместе с положением доли внутри параграфа. - -## **Получение прямоугольных координат параграфа** -В метод была добавлена новая функция **GetRect()**. Она позволяет получить прямоугольные границы параграфа. +## **Получение координат абзаца и фрагмента в TextFrame** +Используя Aspose.Slides for Python via .NET, разработчики теперь могут получить прямоугольные координаты Paragraph внутри коллекции абзацев TextFrame. Это также позволяет получить координаты Portion внутри коллекции фрагментов абзаца. В этой теме мы покажем на примере, как получить прямоугольные координаты абзаца вместе с позицией фрагмента внутри абзаца. +## **Получение прямоугольных координат абзаца** +Добавлен новый метод **GetRect()**. Он позволяет получить прямоугольник границ абзаца. ```py import aspose.slides as slides -# Создаем объект Presentation, который представляет файл презентации +# Создайте объект Presentation, представляющий файл презентации with slides.Presentation(path + "Shapes.pptx") as presentation: shape = presentation.slides[0].shapes[0] textFrame = shape.text_frame rect = textFrame.paragraphs[0].get_rect() ``` -## **Получение размера параграфа и доли внутри текстового фрейма ячейки таблицы** ## -Чтобы получить размер и координаты [Доли](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) или [Параграфа](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) в текстовом фрейме ячейки таблицы, вы можете использовать методы [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) и [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). +## **Получить размер абзаца и фрагмента внутри текстового кадра ячейки таблицы** ## -Этот образец кода демонстрирует описанную операцию: +Чтобы получить размер и координаты [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) или [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) в текстовом кадре ячейки таблицы, вы можете использовать методы [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) и [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/). +Этот пример кода демонстрирует описанную операцию: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -51,6 +50,7 @@ with slides.Presentation(path + "source.pptx") as pres: cell = tbl.rows[1][1] + x = tbl.X + tbl.rows[1][1].offset_x y = tbl.Y + tbl.rows[1][1].offset_y @@ -73,4 +73,23 @@ with slides.Presentation(path + "source.pptx") as pres: rect.x + x, rect.y + y, rect.width, rect.height) shape.fill_format.fill_type = slides.FillType.NO_FILL -``` \ No newline at end of file +``` + + +## **FAQ** + +**В каких единицах измеряются возвращаемые координаты абзаца и текстовых фрагментов?** + +В пунктах, где 1 дюйм = 72 пункта. Это применимо ко всем координатам и размерам на слайде. + +**Влияет ли перенос слов на границы абзаца?** + +Да. Если [wrapping](https://reference.aspose.com/slides/python-net/aspose.slides/textframeformat/wrap_text/) включён в [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), текст разбивается по ширине области, что меняет фактические границы абзаца. + +**Можно ли надёжно сопоставить координаты абзаца с пикселями в экспортированном изображении?** + +Да. Преобразуйте пункты в пиксели с помощью: pixels = points × (DPI / 72). Результат зависит от выбранного DPI при рендеринге/экспорте. + +**Как получить «эффективные» параметры форматирования абзаца с учётом наследования стилей?** + +Используйте [effective paragraph formatting data structure](/slides/ru/python-net/shape-effective-properties/); он возвращает окончательные объединённые значения отступов, интервалов, переноса, RTL и др. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md index af781e92a4..2b93cc211f 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md @@ -1,24 +1,53 @@ --- -title: Часть +title: Управление частями текста в презентациях с помощью Python +linktitle: Часть текста type: docs weight: 70 url: /ru/python-net/portion/ -keywords: "Часть, Фигура PowerPoint, Презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Получить часть в презентации PowerPoint на Python" +keywords: +- часть текста +- текстовый фрагмент +- координаты текста +- позиция текста +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как управлять частями текста в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides для Python через .NET, повышая производительность и возможности настройки." --- -## **Получить координаты позиции части** -Метод **GetCoordinates()** был добавлен в классы IPortion и Portion, который позволяет получать координаты начала части: +## **Получить координаты частей текста** +Метод [get_coordinates](https://reference.aspose.com/slides/python-net/aspose.slides/portion/get_coordinates/) был добавлен в класс [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/), который позволяет получать координаты частей текста: ```py import aspose.slides as slides -with slides.Presentation(path + "HelloWorld.pptx") as presentation: +with slides.Presentation("HelloWorld.pptx") as presentation: shape = presentation.slides[0].shapes[0] - textFrame = shape.text_frame + text_frame = shape.text_frame - for paragraph in textFrame.paragraphs: + for paragraph in text_frame.paragraphs: for portion in paragraph.portions: point = portion.get_coordinates() - print("Координаты X =" + str(point.x) + " Координаты Y =" + str(point.y)) -``` \ No newline at end of file + print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y)) +``` + + +## **Часто задаваемые вопросы** + +**Могу ли я применить гиперссылку только к части текста в одном абзаце?** + +Да, вы можете [assign a hyperlink](/slides/ru/python-net/manage-hyperlinks/) к отдельному фрагменту; только этот фрагмент будет кликабельным, а не весь абзац. + +**Как работает наследование стилей: что переопределяет Portion и что берётся из Paragraph/TextFrame?** + +Свойства уровня Portion имеют наивысший приоритет. Если свойство не задано у [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/), движок берёт его из [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/); если оно не задано и там, — из [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) или стиля [theme](https://reference.aspose.com/slides/python-net/aspose.slides.theme/theme/). + +**Что произойдёт, если указанный для Portion шрифт отсутствует на целевой машине/сервере?** + +Применяются [Font substitution rules](/slides/ru/python-net/font-selection-sequence/). Текст может перераспределяться: могут измениться метрики, переносы и ширина, что важно для точного позиционирования. + +**Могу ли я задать прозрачность или градиент заливки текста для конкретного Portion независимо от остального абзаца?** + +Да, цвет текста, заливка и прозрачность на уровне [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) могут отличаться от соседних фрагментов. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md index 316340bef8..814b8efee3 100644 --- a/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md +++ b/ru/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md @@ -1,5 +1,5 @@ --- -title: Добавляйте прямоугольники в презентации на Python +title: Добавление прямоугольников в презентации на Python linktitle: Прямоугольник type: docs weight: 80 @@ -7,7 +7,7 @@ url: /ru/python-net/rectangle/ keywords: - добавить прямоугольник - создать прямоугольник -- форма прямоугольника +- фигура прямоугольника - простой прямоугольник - форматированный прямоугольник - PowerPoint @@ -15,69 +15,99 @@ keywords: - презентация - Python - Aspose.Slides -description: "Усильте свои презентации PowerPoint и OpenDocument, добавляя прямоугольники с помощью Aspose.Slides for Python via .NET — легко создавайте и изменяйте фигуры программно." +description: "Улучшите свои презентации PowerPoint и OpenDocument, добавив прямоугольники с помощью Aspose.Slides for Python via .NET — легко создавайте и изменяйте формы программно." --- -## **Создание простого прямоугольника** -Как и в предыдущих темах, эта также посвящена добавлению фигуры, и на этот раз мы обсудим прямоугольник. В этой теме мы описали, как разработчики могут добавлять простые или форматированные прямоугольники на свои слайды с использованием Aspose.Slides для Python через .NET. Чтобы добавить простой прямоугольник на выбранный слайд презентации, выполните следующие шаги: +## **Создать простой прямоугольник** +Как и в предыдущих темах, здесь также рассматривается добавление фигуры, а именно — прямоугольника. В этой теме мы описали, как разработчики могут добавлять простые или форматированные прямоугольники в свои презентации с помощью Aspose.Slides for Python via .NET. Чтобы добавить простой прямоугольник на выбранный слайд презентации, выполните следующие шаги: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд, используя его индекс. -3. Добавьте IAutoShape типа Прямоугольник с помощью метода AddAutoShape, предоставленного объектом IShapes. -4. Запишите измененную презентацию в файл PPTX. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Получите ссылку на слайд, используя его индекс. +1. Добавьте IAutoShape типа Rectangle с помощью метода AddAutoShape, предоставляемого объектом IShapes. +1. Сохраните изменённую презентацию в файл PPTX. В примере ниже мы добавили простой прямоугольник на первый слайд презентации. - ```py import aspose.slides as slides -# Создайте экземпляр класса Presentation, который представляет PPTX +# Создать экземпляр класса Presentation, представляющего PPTX with slides.Presentation() as pres: - # Получите первый слайд + # Получить первый слайд sld = pres.slides[0] - # Добавьте автофигуру типа прямоугольник + # Добавить автофигуру типа Rectangle sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # Запишите файл PPTX на диск + # Сохранить файл PPTX на диск pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Создание форматированного прямоугольника** -Чтобы добавить форматированный прямоугольник на слайд, выполните следующие шаги: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -2. Получите ссылку на слайд, используя его индекс. -3. Добавьте IAutoShape типа Прямоугольник с помощью метода AddAutoShape, предоставленного объектом IShapes. -4. Установите тип заливки прямоугольника на Сплошной. -5. Установите цвет прямоугольника, используя свойство SolidFillColor.Color, предоставленное объектом FillFormat, связанным с объектом IShape. -6. Установите цвет линий прямоугольника. -7. Установите ширину линий прямоугольника. -8. Запишите измененную презентацию в файл PPTX. - Эти шаги реализованы в примере ниже. +## **Создать форматированный прямоугольник** +Чтобы добавить форматированный прямоугольник на слайд, выполните следующие шаги: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) . +1. Получите ссылку на слайд, используя его индекс. +1. Добавьте IAutoShape типа Rectangle с помощью метода AddAutoShape, предоставляемого объектом IShapes. +1. Установите тип заливки Rectangle в Solid. +1. Задайте цвет прямоугольника через свойство SolidFillColor.Color объекта FillFormat, связанного с объектом IShape. +1. Установите цвет линий прямоугольника. +1. Установите толщину линий прямоугольника. +1. Сохраните изменённую презентацию в файл PPTX. + Приведённые выше шаги реализованы в примере ниже. ```py import aspose.slides as slides import aspose.pydrawing as draw -# Создайте экземпляр класса Presentation, который представляет PPTX +# Создать экземпляр класса Presentation, представляющего PPTX with slides.Presentation() as pres: - # Получите первый слайд + # Получить первый слайд sld = pres.slides[0] - # Добавьте автофигуру типа прямоугольник + # Добавить автофигуру типа Rectangle shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # Примените некоторые настройки к фигуре прямоугольника + # Применить некоторое форматирование к фигуре прямоугольника shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # Примените некоторые настройки к линии прямоугольника + # Применить некоторое форматирование к линии прямоугольника shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # Запишите файл PPTX на диск + #Сохранить файл PPTX на диск pres.save("RectShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Как добавить прямоугольник со скруглёнными углами?** + +Используйте тип фигуры с закруглёнными углами [shape type](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) и настройте радиус скругления в свойствах фигуры; скругление можно применять отдельно к каждому углу с помощью геометрических корректировок. + +**Как заполнить прямоугольник изображением (текстурой)?** + +Выберите тип заливки изображения [fill type](https://reference.aspose.com/slides/python-net/aspose.slides/filltype/), укажите источник изображения и настройте режимы растяжения/мозаики [stretching/tiling modes](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillmode/). + +**Можно ли добавить к прямоугольнику тень и свечение?** + +Да. Доступны [outer/inner shadow, glow и soft edges](/slides/ru/python-net/shape-effect/) с настраиваемыми параметрами. + +**Можно ли превратить прямоугольник в кнопку с гиперссылкой?** + +Да. [Assign a hyperlink](/slides/ru/python-net/manage-hyperlinks/) к клику по фигуре (переход к слайду, файлу, веб‑адресу или e‑mail). + +**Как защитить прямоугольник от перемещения и изменений?** + +[Use shape locks](/slides/ru/python-net/applying-protection-to-presentation/): вы можете запретить перемещение, изменение размеров, выделение или редактирование текста, чтобы сохранить макет. + +**Можно ли преобразовать прямоугольник в растровое изображение или SVG?** + +Да. Вы можете [render the shape](http://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) в изображение с указанными размерами/масштабом или [export it as SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) для векторного использования. + +**Как быстро получить фактические (effective) свойства прямоугольника с учётом темы и наследования?** + +[Use the shape’s effective properties](/slides/ru/python-net/shape-effective-properties/): API возвращает вычисленные значения, учитывающие стили темы, макет и локальные настройки, упрощая анализ форматирования. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md index 132476856c..b863a918f8 100644 --- a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md +++ b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md @@ -1,53 +1,75 @@ --- -title: Настройте шрифт по умолчанию в презентациях с помощью Python +title: Настройка шрифтов по умолчанию в презентациях с помощью Python linktitle: Шрифт по умолчанию type: docs weight: 30 url: /ru/python-net/default-font/ keywords: - - шрифт по умолчанию - - обычный шрифт - - нормальный шрифт - - азиатский шрифт - - экспорт в PDF - - экспорт в XPS - - экспорт изображений - - PowerPoint - - OpenDocument - - презентация - - Python - - Aspose.Slides -description: "Установите шрифты по умолчанию в Aspose.Slides for Python, чтобы обеспечить корректное преобразование PowerPoint (PPT, PPTX) и OpenDocument (ODP) в PDF, XPS и изображения." +- шрифт по умолчанию +- обычный шрифт +- нормальный шрифт +- азиатский шрифт +- экспорт PDF +- экспорт XPS +- экспорт изображений +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Установите шрифты по умолчанию в Aspose.Slides для Python, чтобы обеспечить правильное преобразование PowerPoint (PPT, PPTX) и OpenDocument (ODP) в PDF, XPS и изображения." --- -## **Использование шрифтов по умолчанию для рендеринга презентации** -Aspose.Slides позволяет установить шрифт по умолчанию для рендеринга презентации в PDF, XPS или миниатюры. В этой статье показано, как определить шрифт DefaultRegular и шрифт DefaultAsian для использования в качестве шрифтов по умолчанию. Пожалуйста, следуйте приведённым ниже шагам для загрузки шрифтов из внешних каталогов с использованием Aspose.Slides для Python через API .NET: +## **Использование шрифтов по умолчанию при рендеринге презентации** +Aspose.Slides позволяет задать шрифт по умолчанию для рендеринга презентации в PDF, XPS или миниатюры. В этой статье показано, как определить DefaultRegularFont и DefaultAsianFont для использования в качестве шрифтов по умолчанию. Пожалуйста, выполните следующие шаги для загрузки шрифтов из внешних каталогов с помощью Aspose.Slides for Python via .NET API: 1. Создайте экземпляр LoadOptions. -2. Установите DefaultRegularFont на желаемый шрифт. В следующем примере я использовал Wingdings. -3. Установите DefaultAsianFont на желаемый шрифт. Я использовал Wingdings в следующем примере. -4. Загрузите презентацию, используя Presentation и установив параметры загрузки. -5. Теперь создайте миниатюру слайда, PDF и XPS, чтобы проверить результаты. - -Реализация вышеуказанного приведена ниже. +1. Установите DefaultRegularFont на нужный вам шрифт. В следующем примере я использовал Wingdings. +1. Установите DefaultAsianFont на нужный вам шрифт. Я использовал Wingdings в следующем образце. +1. Загрузите презентацию, используя Presentation и указав параметры загрузки. +1. Теперь сгенерируйте миниатюру слайда, PDF и XPS, чтобы проверить результаты. +Реализация вышеописанного приведена ниже. ```py import aspose.slides as slides -# Используйте параметры загрузки для определения шрифтов по умолчанию для обычных и азиатских шрифтов +# Используйте параметры загрузки для определения шрифтов по умолчанию regular и asian# Используйте параметры загрузки для определения шрифтов по умолчанию regular и asian loadOptions = slides.LoadOptions(slides.LoadFormat.AUTO) loadOptions.default_regular_font = "Wingdings" loadOptions.default_asian_font = "Wingdings" -# Загрузите презентацию +# Загрузить презентацию with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: - # Создайте миниатюру слайда + # Создать миниатюру слайда with pptx.slides[0].get_image(1, 1) as img: img.save("output_out.png", slides.ImageFormat.PNG) - # Создайте PDF + # Создать PDF pptx.save("output_out.pdf", slides.export.SaveFormat.PDF) - # Создайте XPS + # Создать XPS pptx.save("output_out.xps", slides.export.SaveFormat.XPS) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Что именно влияют параметры default_regular_font и default_asian_font — только экспорт или также миниатюры, PDF, XPS, HTML и SVG?** + +Они участвуют в конвейере рендеринга для всех поддерживаемых выходов. Это включает миниатюры слайдов, [PDF](/slides/ru/python-net/convert-powerpoint-to-pdf/), [XPS](/slides/ru/python-net/convert-powerpoint-to-xps/), [растровые изображения](/slides/ru/python-net/convert-powerpoint-to-png/), [HTML](/slides/ru/python-net/convert-powerpoint-to-html/), и [SVG](/slides/ru/python-net/render-a-slide-as-an-svg-image/), поскольку Aspose.Slides использует одинаковую логику разметки и разрешения глифов для всех этих целей. + +**Применяются ли шрифты по умолчанию при простом чтении и сохранении PPTX без какого‑либо рендеринга?** + +Нет. Шрифты по умолчанию имеют значение, когда текст нужно измерять и рисовать. Прямое открытие‑и‑сохранение презентации не изменяет сохранённые наборы шрифтов или структуру файла. Шрифты по умолчанию вступают в силу во время операций, которые рендерят или переупорядочивают текст. + +**Если я добавлю собственные каталоги шрифтов или предоставлю шрифты из памяти, будут ли они учитываться при выборе шрифтов по умолчанию?** + +Да. [Custom font sources](/slides/ru/python-net/custom-font/) расширяют каталог доступных семейств и глифов, которые может использовать движок. Шрифты по умолчанию и любые [fallback rules](/slides/ru/python-net/fallback-font/) будут сначала проверять эти источники, обеспечивая более надёжное покрытие на серверах и в контейнерах. + +**Будут ли шрифты по умолчанию влиять на метрики текста (кернинг, шаги) и, следовательно, на переносы строк и обтекание?** + +Да. Смена шрифта изменяет метрики глифов и может влиять на переносы строк, обтекание и разбиение на страницы во время рендеринга. Для стабильности разметки рекомендуется [embed the original fonts](/slides/ru/python-net/embedded-font/) или выбирать метрично совместимые семейства шрифтов по умолчанию и fallback. + +**Есть ли смысл задавать шрифты по умолчанию, если все шрифты в презентации уже встроены?** + +Часто это не требуется, поскольку [embedded fonts](/slides/ru/python-net/embedded-font/) уже обеспечивают единообразный вид. Шрифты по умолчанию всё же могут служить страховкой для символов, не покрытых встроенным подмножеством, или когда файл сочетает встроенный и не встроенный текст. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md index 9ff281301f..f0f4e84d56 100644 --- a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md +++ b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md @@ -1,19 +1,44 @@ --- -title: Резервный Шрифт +title: Управление резервными шрифтами для презентаций на Python +linktitle: Резервный шрифт type: docs weight: 50 url: /ru/python-net/fallback-font/ -keywords: "Резервный шрифт, шрифт, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Резервный шрифт PowerPoint на Python" +keywords: +- резервный шрифт +- доступный шрифт +- замена глифов +- указание шрифта +- указание правила +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как Aspose.Slides для Python через .NET использует резервные шрифты, чтобы текст оставался читаемым в презентациях PowerPoint и OpenDocument, когда оригинальные шрифты недоступны." --- -## **Резервный Шрифт** -Резервный шрифт используется, когда шрифт, указанный для текста, доступен в системе, но этот шрифт не содержит необходимый глиф. В этом случае возможно использовать один из указанных резервных шрифтов для замены глифа. +## **Резервный шрифт** +Резервный шрифт используется, когда указанный для текста шрифт доступен в системе, но этот шрифт не содержит необходимый глиф. В этом случае можно использовать один из указанных резервных шрифтов для замены глифа. -Aspose.Slides позволяет создавать резервные шрифты, добавлять их в коллекцию резервных шрифтов, устанавливать коллекцию резервных шрифтов для определенной презентации, удалять резервные шрифты из презентации, задавать правила для применения резервных шрифтов и другое. +Aspose.Slides позволяет создавать резервные шрифты, добавлять их в коллекцию резервных шрифтов, задавать коллекцию резервных шрифтов для конкретной презентации, удалять резервные шрифты из презентации, указывать правила применения резервных шрифтов и многое другое. -Чтобы ознакомиться с этими функциями, используйте следующие ссылки: +Чтобы ознакомиться с этими возможностями, используйте следующие ссылки: -- [Создать Резервный Шрифт](/slides/ru/python-net/create-fallback-font) -- [Создать Коллекцию Резервных Шрифтов](/slides/ru/python-net/create-fallback-fonts-collection) -- [Отобразить Презентацию с Резервным Шрифтом](/slides/ru/python-net/render-presentation-with-fallback-font) \ No newline at end of file +- [Создать резервный шрифт](/slides/ru/python-net/create-fallback-font) +- [Создать коллекцию резервных шрифтов](/slides/ru/python-net/create-fallback-fonts-collection) +- [Отрисовать презентацию с резервным шрифтом](/slides/ru/python-net/render-presentation-with-fallback-font) + +## **FAQ** + +**В чём различие между резервными шрифтами и заменой шрифта?** + +Резервный шрифт применяется к каждому символу или диапазону Unicode, когда основной шрифт не содержит определённые глифы; он заполняет только отсутствующие символы. [Substitution](/slides/ru/python-net/font-substitution/) заменяет отсутствующий или недоступный шрифт для всего фрагмента или части текста другим шрифтом. Их можно комбинировать, но область применения и логика выбора различаются. + +**Сохраняются ли настройки резервных шрифтов внутри файла презентации?** + +Нет. Конфигурация резервных шрифтов существует только во время обработки/отрисовки в библиотеке и не сериализуется в PPTX. Презентация не сохраняет ваши правила резервных шрифтов. + +**Влияет ли резервный шрифт на элементы, созданные объектами PowerPoint (SmartArt, диаграммы, WordArt)?** + +Да. Текст внутри этих объектов проходит тот же конвейер отрисовки, поэтому к нему применяются те же правила резервного шрифта, что и к обычному тексту. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md index 14a9fa0a80..94c6b2e27c 100644 --- a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md +++ b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md @@ -1,14 +1,28 @@ --- -title: Создание резервного шрифта +title: Укажите резервные шрифты для презентаций в Python +linktitle: Резервный шрифт type: docs weight: 10 url: /ru/python-net/create-fallback-font/ -keywords: "Шрифты, резервный шрифт, презентация PowerPoint на Python, Aspose.Slides для Python через .NET" -description: "Резервный шрифт в PowerPoint на Python" +keywords: +- резервный шрифт +- правило резервного шрифта +- применить шрифт +- заменить шрифт +- диапазон Unicode +- отсутствующий глиф +- правильный глиф +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Освойте Aspose.Slides для Python через .NET, чтобы задавать резервные шрифты в файлах PPT, PPTX и ODP, обеспечивая одинаковое отображение текста на любом устройстве или ОС." --- -Aspose.Slides поддерживает интерфейс [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) и класс [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) для указания правил применения резервного шрифта. Класс [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) представляет собой ассоциацию между указанным диапазоном Юникода, используемым для поиска отсутствующих глифов, и списком шрифтов, которые могут содержать соответствующие глифы: +## **Указать резервные шрифты** +Aspose.Slides поддерживает интерфейс [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) и класс [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) для указания правил применения резервного шрифта. Класс [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) представляет ассоциацию между указанным диапазоном Unicode, используемым для поиска недостающих глифов, и списком шрифтов, которые могут содержать нужные глифы: ```py startUnicodeIndex = 0x0B80 endUnicodeIndex = 0x0BFF @@ -16,16 +30,41 @@ endUnicodeIndex = 0x0BFF firstRule = slides.FontFallBackRule(startUnicodeIndex, endUnicodeIndex, "Vijaya") secondRule = slides.FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic") -# Используя несколько способов, вы можете добавить список шрифтов: +#Используя несколько способов, вы можете добавить список шрифтов: fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial" ] thirdRule = slides.FontFallBackRule(0x1F300, 0x1F64F, fontNames) ``` -Также возможно [Удалить()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) резервный шрифт или [ДобавитьРезервныеШрифты()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) в существующий объект [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/). -[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) может быть использован для организации списка объектов [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/), когда необходимо указать правила замены резервного шрифта для нескольких диапазонов Юникода. -{{% alert color="primary" title="Смотрите также" %}} -- [Создание коллекции резервных шрифтов](/slides/ru/python-net/create-fallback-fonts-collection/) -{{% /alert %}} \ No newline at end of file + +Также можно [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) резервный шрифт или [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) в существующий объект [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/). + +[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) можно использовать для организации списка объектов [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/), когда необходимо указать правила замены резервных шрифтов для нескольких диапазонов Unicode. + +{{% alert color="primary" title="See also" %}} +- [Create Fallback Fonts Collection](/slides/ru/python-net/create-fallback-fonts-collection/) +{{% /alert %}} + +## **FAQ** + +**В чём разница между резервным шрифтом, заменой шрифта и встраиванием шрифта?** + +Резервный шрифт используется только для символов, отсутствующих в основном шрифте. [Font substitution](/slides/ru/python-net/font-substitution/) заменяет весь указанный шрифт другим шрифтом. [Font embedding](/slides/ru/python-net/embedded-font/) упаковывает шрифты в выходной файл, чтобы получатели могли увидеть текст как задумано. + +**Применяются ли резервные шрифты при экспорте, например в PDF, PNG или SVG, или только при рендеринге на экране?** + +Да. Резервный шрифт влияет на все [rendering and export operations](/slides/ru/python-net/convert-presentation/), где необходимо отрисовать символы, отсутствующие в исходном шрифте. + +**Изменяет ли настройка резервного шрифта сам файл презентации и будет ли она сохраняться при будущих открываниях?** + +Нет. Правила резервного шрифта являются настройками рендеринга во время выполнения в вашем коде; они не сохраняются в .pptx и не появятся в PowerPoint. + +**Влияют ли операционная система (Windows/Linux/macOS) и набор каталогов шрифтов на выбор резервного шрифта?** + +Да. Движок ищет шрифты в доступных системных папках и любых [additional paths](/slides/ru/python-net/custom-font/), которые вы указываете. Если шрифт физически недоступен, правило, ссылающееся на него, не может сработать. + +**Работает ли резервный шрифт для WordArt, SmartArt и диаграмм?** + +Да. Когда эти объекты содержат текст, применяется тот же механизм замены глифов для рендеринга недостающих символов. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md index 5902362874..bcf80abf04 100644 --- a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md +++ b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md @@ -1,11 +1,12 @@ --- -title: Оптимизируйте замену шрифтов в презентациях с помощью Python +title: Оптимизировать замену шрифтов в презентациях с помощью Python linktitle: Замена шрифтов type: docs weight: 60 url: /ru/python-net/font-replacement/ keywords: - шрифт +- заменить шрифт - замена шрифта - изменить шрифт - PowerPoint @@ -13,28 +14,29 @@ keywords: - презентация - Python - Aspose.Slides -description: "Беспрепятственно заменяйте шрифты в Aspose.Slides for Python via .NET, чтобы обеспечить единообразную типографику в презентациях PowerPoint и OpenDocument." +description: "Бесшовно заменяйте шрифты в Aspose.Slides Python через .NET, чтобы обеспечить единообразную типографику в презентациях PowerPoint и OpenDocument." --- -Если вы передумали использовать шрифт, вы можете заменить его другим шрифтом. Все экземпляры старого шрифта будут заменены новым шрифтом. +## **Replace Fonts** + +Если вы передумали использовать определённый шрифт, вы можете заменить его другим шрифтом. Все вхождения старого шрифта будут заменены новым шрифтом. Aspose.Slides позволяет заменить шрифт следующим образом: -1. Загрузите нужную презентацию. -2. Загрузите шрифт, который будет заменен. -3. Загрузите новый шрифт. -4. Замените шрифт. -5. Запишите измененную презентацию в файл PPTX. +1. Загрузите нужную презентацию. +2. Загрузите шрифт, который будет заменён. +3. Загрузите новый шрифт. +4. Выполните замену шрифта. +5. Сохраните изменённую презентацию в файл PPTX. Этот код на Python демонстрирует замену шрифта: - ```py import aspose.pydrawing as draw import aspose.slides as slides -# Загрузка презентации +# Загружает презентацию with slides.Presentation(path + "Fonts.pptx") as presentation: - # Загружает исходный шрифт, который будет заменен + # Загружает исходный шрифт, который будет заменён sourceFont = slides.FontData("Arial") # Загружает новый шрифт @@ -47,8 +49,43 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: presentation.save("UpdatedFont_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert title="Примечание" color="warning" %}} -Чтобы установить правила, определяющие, что происходит в определенных условиях (например, если шрифт недоступен), смотрите [**Замена шрифтов**](/slides/ru/python-net/font-substitution/). +Чтобы задать правила, определяющие, что происходит в определённых условиях (например, если шрифт недоступен), см. [**Подстановка шрифтов**](/slides/ru/python-net/font-substitution/). + +{{% /alert %}} + +## **FAQ** + +**В чём разница между «заменой шрифта», «подстановкой шрифта» и «резервными шрифтами»?** + +Замена — это преднамеренный переход от одной гарнитуры к другой во всём документе. [Подстановка](/slides/ru/python-net/font-substitution/) — это правило типа «если шрифт недоступен, использовать X». [Резервный шрифт](/slides/ru/python-net/fallback-font/) — применяется выборочно для отдельных недостающих глифов, когда базовый шрифт установлен, но не содержит требуемых символов. + +**Применяется ли замена к шаблонам слайдов, макетам, заметкам и комментариям?** + +Да. Замена влияет на все объекты презентации, использующие исходный шрифт, включая шаблоны слайдов и заметки; комментарии также являются частью документа и учитываются шрифтовым движком. + +**Изменится ли шрифт внутри встроенных OLE‑объектов (например, Excel)?** + +Нет. [OLE‑контент](/slides/ru/python-net/manage-ole/) управляется своим приложением. Замена в презентации не переоформляет внутренние данные OLE; они могут отображаться как изображение или как внешний редактируемый контент. + +**Могу ли я заменить шрифт только в части презентации (по слайдам или регионам)?** + +Целевая замена возможна, если менять шрифт на уровне нужных объектов/диапазонов, а не применять глобальную замену ко всему документу. Общая логика выбора шрифта при рендеринге остаётся прежней. + +**Как заранее определить, какие шрифты использует презентация?** + +Используйте [font manager] презентации (https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/): он предоставляет список [используемых гарнитур] (https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) и информацию о [подстановках/«неизвестных» шрифтах] (https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_substitutions/), что помогает планировать замену. + +**Работает ли замена шрифта при конвертации в PDF/изображения?** + +Да. При экспорте Aspose.Slides применяет ту же [последовательность выбора/подстановки шрифтов](/slides/ru/python-net/font-selection-sequence/), поэтому выполненная заранее замена будет учтена при конвертации. + +**Нужно ли устанавливать целевой шрифт в системе, или можно подключить папку со шрифтами?** + +Установка не требуется: библиотека позволяет [загружать внешние шрифты](/slides/ru/python-net/custom-font/) из пользовательских папок для использования при [рендеринге и экспорте](/slides/ru/python-net/convert-powerpoint/). + +**Исправит ли замена проблему «тофу» (квадратов вместо символов)?** -{{% /alert %}} \ No newline at end of file +Только если целевой шрифт действительно содержит требуемые глифы. В противном случае настройте [резервный шрифт](/slides/ru/python-net/fallback-font/) для покрытия недостающих символов. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md index 427d802055..b473df11fb 100644 --- a/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md +++ b/ru/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md @@ -1,52 +1,97 @@ --- -title: Замена шрифтов +title: Настройка подстановки шрифтов в презентациях с помощью Python +linktitle: Подстановка шрифтов type: docs weight: 70 url: /ru/python-net/font-substitution/ -keywords: "Шрифт, замена шрифта, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Замена шрифта в PowerPoint на Python" +keywords: +- шрифт +- замена шрифта +- подстановка шрифтов +- заменить шрифт +- замена шрифта +- правило подстановки +- правило замены +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Обеспечьте оптимальную подстановку шрифтов в Aspose.Slides для Python через .NET при преобразовании презентаций PowerPoint и OpenDocument в другие форматы файлов." --- -Aspose.Slides позволяет задавать правила для шрифтов, которые определяют, что необходимо делать при определенных условиях (например, когда шрифт недоступен) следующим образом: +## **Установить правила подстановки** + +Aspose.Slides позволяет задавать правила для шрифтов, определяющие, что необходимо делать в определённых условиях (например, когда шрифт недоступен), следующим образом: 1. Загрузите соответствующую презентацию. -2. Загрузите шрифт, который будет заменен. +2. Загрузите шрифт, который будет заменён. 3. Загрузите новый шрифт. 4. Добавьте правило для замены. 5. Добавьте правило в коллекцию правил замены шрифтов презентации. -6. Сгенерируйте изображение слайда, чтобы увидеть эффект. - -Этот код на Python демонстрирует процесс замены шрифтов: +6. Создайте изображение слайда, чтобы увидеть эффект. +Этот код на Python демонстрирует процесс подстановки шрифтов: ```python import aspose.slides as slides # Загружает презентацию with slides.Presentation(path + "Fonts.pptx") as presentation: - # Загружает исходный шрифт, который будет заменен + # Загружает исходный шрифт, который будет заменён sourceFont = slides.FontData("SomeRareFont") # Загружает новый шрифт destFont = slides.FontData("Arial") - # Добавляет правило шрифта для замены шрифта + # Добавляет правило замены шрифта fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE) - # Добавляет правило в коллекцию правил замены шрифтов + # Добавляет правило в коллекцию правил подстановки шрифтов fontSubstRuleCollection = slides.FontSubstRuleCollection() fontSubstRuleCollection.add(fontSubstRule) # Добавляет коллекцию правил шрифтов в список правил presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection - # Шрифт Arial будет использован вместо SomeRareFont, когда последний недоступен + # Шрифт Arial будет использоваться вместо SomeRareFont, когда последний недоступен with presentation.slides[0].get_image(1, 1) as bmp: # Сохраняет изображение на диск в формате JPEG bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG) ``` -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} -Вы можете посмотреть [**Замена шрифтов**](/slides/ru/python-net/font-replacement/). +{{% alert title="NOTE" color="warning" %}} + +Возможно, вы хотите посмотреть [**Замена шрифтов**](/slides/ru/python-net/font-replacement/). + +{{% /alert %}} + +## **FAQ** + +**В чём разница между заменой шрифтов и их подстановкой?** + +[Замена](/slides/ru/python-net/font-replacement/) — принудительная замена одного шрифта другим во всей презентации. Подстановка — правило, которое срабатывает при определённом условии, например когда оригинальный шрифт недоступен, и тогда используется указанный запасной шрифт. + +**Когда именно применяются правила подстановки?** + +Правила участвуют в стандартной последовательности [выбора шрифта](/slides/ru/python-net/font-selection-sequence/), которая оценивается при загрузке, рендеринге и конвертации; если выбранный шрифт недоступен, применяется замена или подстановка. + +**Каково поведение по умолчанию, если ни замена, ни подстановка не настроены, а шрифт отсутствует в системе?** + +Библиотека попытается выбрать наиболее подходящий доступный системный шрифт, аналогично тому, как это делает PowerPoint. + +**Могу ли я подключать пользовательские внешние шрифты во время выполнения, чтобы избежать подстановки?** + +Да. Вы можете [добавлять внешние шрифты](/slides/ru/python-net/custom-font/) во время выполнения, чтобы библиотека учитывала их при выборе и рендеринге, включая последующие конвертации. + +**Поставляет ли Aspose какие-либо шрифты вместе с библиотекой?** + +Нет. Aspose не распространяет платные или бесплатные шрифты; вы добавляете и используете шрифты по своему усмотрению и ответственности. + +**Есть ли различия в поведении подстановки на Windows, Linux и macOS?** + +Да. Поиск шрифтов начинается с каталогов шрифтов операционной системы. Набор доступных по умолчанию шрифтов и пути поиска различаются между платформами, что влияет на их доступность и необходимость подстановки. + +**Как подготовить окружение, чтобы минимизировать неожиданную подстановку при пакетных конверсиях?** -{{% /alert %}} \ No newline at end of file +Синхронизируйте набор шрифтов между машинами или контейнерами, [добавьте внешние шрифты](/slides/ru/python-net/custom-font/) необходимые для выводимых документов, и [встраивайте шрифты](/slides/ru/python-net/embedded-font/) в презентации, когда это возможно, чтобы выбранные шрифты были доступны при рендеринге. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-notes/_index.md b/ru/python-net/developer-guide/presentation-notes/_index.md index c4cf24cf29..250552bc58 100644 --- a/ru/python-net/developer-guide/presentation-notes/_index.md +++ b/ru/python-net/developer-guide/presentation-notes/_index.md @@ -1,6 +1,6 @@ --- -title: Управляйте заметками к презентации в Python -linktitle: Заметки к презентации +title: Управление заметками презентации в Python +linktitle: Заметки презентации type: docs weight: 110 url: /ru/python-net/presentation-notes/ @@ -10,72 +10,78 @@ keywords: - добавить заметки - удалить заметки - стиль заметок -- мастер заметок +- главные заметки - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Настраивайте заметки к презентации с помощью Aspose.Slides for Python via .NET. Работайте с заметками PowerPoint и OpenDocument без усилий, повышая продуктивность." +description: "Настройте заметки презентации с помощью Aspose.Slides for Python via .NET. Беспрепятственно работайте с заметками PowerPoint и OpenDocument, повышая свою продуктивность." --- - - -Aspose.Slides поддерживает удаление слайдов с заметками из презентации. В этой теме мы представим эту новую функцию удаления заметок, а также добавления стилевых слайдов с заметками из любой презентации. Aspose.Slides для Python через .NET предоставляет возможность удаления заметок с любого слайда, а также добавления стиля к существующим заметкам. Разработчики могут удалять заметки следующими способами: +Aspose.Slides поддерживает удаление слайдов заметок из презентации. В этой теме мы представим новую возможность удаления заметок, а также добавления стилей заметок к любой презентации. Aspose.Slides for Python via .NET предоставляет возможность удалять заметки любого слайда, а также добавлять стиль к существующим заметкам. Разработчики могут удалять заметки следующими способами: - Удалить заметки конкретного слайда презентации. -- Удалить заметки со всех слайдов презентации. +- Удалить заметки всех слайдов презентации. ## **Удалить заметки со слайда** -Заметки с конкретного слайда можно удалить, как показано в следующем примере: - +Заметки определённого слайда можно удалить, как показано в примере ниже: ```py import aspose.slides as slides -# Создаем объект презентации, представляющий файл презентации +# Создайте объект Presentation, представляющий файл презентации with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Удаляем заметки первого слайда + # Удаление заметок первого слайда mgr = presentation.slides[0].notes_slide_manager mgr.remove_notes_slide() - # сохраняем презентацию на диск + # Сохранить презентацию на диск presentation.save("RemoveNotesAtSpecificSlide_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **Удалить заметки со всех слайдов** -Заметки со всех слайдов презентации можно удалить, как показано в следующем примере: - +Заметки всех слайдов презентации можно удалить, как показано в примере ниже: ```py import aspose.slides as slides -# Создаем объект презентации, представляющий файл презентации +# Создайте объект Presentation, представляющий файл презентации with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Удаляем заметки со всех слайдов + # Удаление заметок всех слайдов for i in range(len(presentation.slides)): mgr = presentation.slides[i].notes_slide_manager mgr.remove_notes_slide() - # сохраняем презентацию на диск + # Сохранить презентацию на диск presentation.save("RemoveNotesFromAllSlides_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Добавить стиль заметок** -Свойство NotesStyle было добавлено к интерфейсу [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) и классу [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) соответственно. Это свойство задает стиль текста заметок. Реализация демонстрируется в следующем примере. - +## **Add NotesStyle** +Свойство NotesStyle было добавлено в интерфейс [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) и класс [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) соответственно. Это свойство задаёт стиль текста заметок. Реализация продемонстрирована в примере ниже. ```py import aspose.slides as slides -# Создаем класс презентации, представляющий файл презентации +# Создайте объект Presentation, представляющий файл презентации with slides.Presentation(path + "AccessSlides.pptx") as presentation: notesMaster = presentation.master_notes_slide_manager.master_notes_slide if notesMaster != None: - # Получаем стиль текста MasterNotesSlide + # Получить стиль текста MasterNotesSlide notesStyle = notesMaster.notes_style - # Устанавливаем символ для списков первого уровня + #Установить символный маркер для абзацев первого уровня paragraphFormat = notesStyle.get_level(0) paragraphFormat.bullet.type = slides.BulletType.SYMBOL - # сохраняем файл PPTX на диск + # Сохранить файл PPTX на диск presentation.save("AddNotesSlideWithNotesStyle_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Какой объект API предоставляет доступ к заметкам конкретного слайда?** + +Заметки доступны через менеджер заметок слайда: у слайда есть [NotesSlideManager](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/) и [property](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/notes_slide/) которые возвращают объект заметок, или `None`, если заметок нет. + +**Есть ли различия в поддержке заметок в разных версиях PowerPoint, с которыми работает библиотека?** + +Библиотека работает с широким диапазоном форматов Microsoft PowerPoint (97‑и новее) и ODP; заметки поддерживаются в этих форматах без необходимости установленной копии PowerPoint. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-properties/_index.md b/ru/python-net/developer-guide/presentation-properties/_index.md index 5891cc6689..be587651bc 100644 --- a/ru/python-net/developer-guide/presentation-properties/_index.md +++ b/ru/python-net/developer-guide/presentation-properties/_index.md @@ -1,124 +1,115 @@ --- -title: Управляйте свойствами презентации в Python +title: Управление свойствами презентации с помощью Python linktitle: Свойства презентации type: docs weight: 70 url: /ru/python-net/presentation-properties/ keywords: -- свойства PowerPoint -- свойства презентации -- свойства документа -- встроенные свойства -- пользовательские свойства -- расширенные свойства -- управление свойствами -- изменение свойств -- метаданные документа -- редактирование метаданных -- язык проверки орфографии -- язык по умолчанию +- Свойства PowerPoint +- Свойства презентации +- Свойства документа +- Встроенные свойства +- Пользовательские свойства +- Расширенные свойства +- Управление свойствами +- Изменение свойств +- Метаданные документа +- Редактирование метаданных +- Язык проверки орфографии +- Язык по умолчанию - PowerPoint - OpenDocument -- презентация +- Презентация - Python - Aspose.Slides -description: "Освойте работу со свойствами презентаций в Aspose.Slides for Python via .NET и упростите поиск, брендинг и рабочие процессы в ваших файлах PowerPoint." +description: "Освойте свойства презентаций в Aspose.Slides for Python via .NET и упростите поиск, брендинг и рабочий процесс в ваших файлах PowerPoint." --- - -## **Пример в реальном времени** -Попробуйте [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) онлайн-приложение, чтобы увидеть, как работать со свойствами документа через API Aspose.Slides: - -[](https://products.aspose.app/slides/metadata) - -[![todo:image_alt_text](slides-metadata.png)](https://products.aspose.app/slides/metadata) - - ## **О свойствах презентации** -Как мы уже описали ранее, Aspose.Slides для Python через .NET поддерживает два типа свойств документа: **Встроенные** и **Пользовательские** свойства. Таким образом, разработчики могут получать доступ к обоим типам свойств с использованием API Aspose.Slides для Python через .NET. Aspose.Slides для Python через .NET предоставляет класс [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/), который представляет свойства документа, связанные с файлом презентации через свойство [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/). Разработчики могут использовать свойство [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/), предоставляемое объектом **Presentation**, для доступа к свойствам документа файлов презентации, как описано ниже: - +Как мы описали ранее, Aspose.Slides for Python via .NET поддерживает два типа свойств документа: **Встроенные** и **Пользовательские**. Поэтому разработчики могут получать доступ к обоим типам свойств с помощью API Aspose.Slides for Python via .NET. Aspose.Slides for Python via .NET предоставляет класс [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/), который представляет свойства документа, связанные с файлом презентации, через свойство [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/). Разработчики могут использовать свойство [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/), доступное через объект **Presentation**, чтобы получить доступ к свойствам документа презентации, как описано ниже: {{% alert color="primary" %}} - -Обратите внимание, что вы не можете устанавливать значения для полей **Application** и **Producer**, потому что Aspose Ltd. и Aspose.Slides для Python через .NET x.x.x будут отображаться в этих полях. - +Обратите внимание, что вы не можете задавать значения полям **Application** и **Producer**, так как в этих полях будет отображаться Aspose Ltd. и Aspose.Slides for Python via .NET x.x.x. {{% /alert %}} - ## **Управление свойствами презентации** -Microsoft PowerPoint предоставляет функцию добавления некоторых свойств к файлам презентации. Эти свойства документа позволяют хранить полезную информацию вместе с документами (файлами презентации). Существует два типа свойств документа: -- Определенные системой (Встроенные) свойства -- Определенные пользователем (Пользовательские) свойства +Microsoft PowerPoint предоставляет возможность добавлять свойства к файлам презентаций. Эти свойства документа позволяют хранить полезную информацию вместе с документами (файлами презентаций). Существует два вида свойств документа: -**Встроенные** свойства содержат общую информацию о документе, такую как заголовок документа, имя автора, статистика документа и так далее. **Пользовательские** свойства — это те, которые определены пользователями в виде пар **Имя/Значение**, где и имя, и значение определяются пользователем. С помощью Aspose.Slides для Python через .NET разработчики могут получать доступ и изменять значения встроенных свойств, а также пользовательских свойств. Microsoft PowerPoint 2007 позволяет управлять свойствами документов файлов презентации. Все, что вам нужно сделать, это щелкнуть значок Office и далее выбрать пункт меню **Подготовка | Свойства | Расширенные свойства** в Microsoft PowerPoint 2007. После того как вы выберете пункт меню **Расширенные свойства**, появится диалоговое окно, позволяющее управлять свойствами документа PowerPoint. В диалоговом окне **Свойства** вы можете видеть, что есть множество вкладок, таких как **Общие, Сводка, Статистика, Содержимое и Пользовательские**. Все эти вкладки позволяют настраивать различные виды информации, связанные с файлами PowerPoint. Вкладка **Пользовательские** используется для управления пользовательскими свойствами файлов PowerPoint. +- Системные (встроенные) свойства +- Пользовательские (настраиваемые) свойства + +**Встроенные** свойства содержат общую информацию о документе, такую как заголовок, имя автора, статистика документа и т.д. **Пользовательские** свойства – это пары **Имя/Значение**, которые определяются пользователем. С помощью Aspose.Slides for Python via .NET разработчики могут получать доступ и изменять значения как встроенных, так и пользовательских свойств. Microsoft PowerPoint 2007 позволяет управлять свойствами документа презентации. Для этого достаточно нажать значок Office и выбрать пункт меню **Prepare | Properties | Advanced Properties** в Microsoft PowerPoint 2007. После выбора пункта **Advanced Properties** появится диалоговое окно, позволяющее управлять свойствами документа PowerPoint‑файла. В **Properties Dialog** вы увидите несколько вкладок: **General**, **Summary**, **Statistics**, **Contents** и **Custom**. Все эти вкладки позволяют настраивать различную информацию, связанную с PowerPoint‑файлами. Вкладка **Custom** используется для управления пользовательскими свойствами PowerPoint‑файлов. ## **Доступ к встроенным свойствам** -Эти свойства, предоставленные объектом **IDocumentProperties**, включают: **Автор**, **Описание**, **Ключевые слова**, **Дата создания**, **Дата изменения**, **Дата последнего печати**, **Последний сохранитель**, **Ключевые слова**, **Общий документ** (Общий между разными производителями?), **Формат презентации**, **Тема** и **Заголовок** +Эти свойства, доступные через объект **IDocumentProperties**, включают: **Creator(Author)**, **Description**, **Keywords**, **Created** (дата создания), **Modified** (дата изменения), **Printed** (дата последней печати), **LastModifiedBy**, **SharedDoc** (общий документ?), **PresentationFormat**, **Subject** и **Title** ```py import aspose.slides as slides -# Создаем экземпляр класса Presentation, представляющего презентацию +# Создать экземпляр класса Presentation, представляющего презентацию with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: - # Создаем ссылку на объект, связанный с презентацией + # Создать ссылку на объект, связанный с презентацией documentProperties = pres.document_properties - # Отображаем встроенные свойства - print("категория : " + documentProperties.category) - print("Текущий статус : " + documentProperties.content_status) - print("Дата создания : " + str(documentProperties.created_time)) - print("Автор : " + documentProperties.author) - print("Описание : " + documentProperties.comments) - print("Ключевые слова : " + documentProperties.keywords) - print("Последний изменитель : " + documentProperties.last_saved_by) - print("Руководитель : " + documentProperties.manager) - print("Дата изменения : " + str(documentProperties.last_saved_time)) - print("Формат презентации : " + documentProperties.presentation_format) - print("Дата последней печати : " + str(documentProperties.last_printed)) - print("Общий между производителями : " + str(documentProperties.shared_doc)) - print("Тема : " + documentProperties.subject) - print("Заголовок : " + documentProperties.title) + # Вывести встроенные свойства + print("category : " + documentProperties.category) + print("Current Status : " + documentProperties.content_status) + print("Creation Date : " + str(documentProperties.created_time)) + print("Author : " + documentProperties.author) + print("Description : " + documentProperties.comments) + print("KeyWords : " + documentProperties.keywords) + print("Last Modified By : " + documentProperties.last_saved_by) + print("Supervisor : " + documentProperties.manager) + print("Modified Date : " + str(documentProperties.last_saved_time)) + print("Presentation Format : " + documentProperties.presentation_format) + print("Last Print Date : " + str(documentProperties.last_printed)) + print("Is Shared between producers : " + str(documentProperties.shared_doc)) + print("Subject : " + documentProperties.subject) + print("Title : " + documentProperties.title) ``` + + ## **Изменение встроенных свойств** -Изменять встроенные свойства файлов презентации так же просто, как и получать к ним доступ. Вы можете просто присвоить строковое значение любому желаемому свойству, и значение свойства будет изменено. В приведенном ниже примере мы продемонстрировали, как мы можем изменить встроенные свойства документа файла презентации. +Изменять встроенные свойства файлов презентаций так же просто, как их получать. Достаточно присвоить строковое значение нужному свойству, и значение будет изменено. В примере ниже показано, как изменить встроенные свойства документа презентации. ```py import aspose.slides as slides -# Создаем экземпляр класса Presentation, представляющего презентацию +# Создать экземпляр класса Presentation, представляющего презентацию with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation: - # Создаем ссылку на объект, связанный с презентацией + # Создать ссылку на объект, связанный с презентацией documentProperties = presentation.document_properties - # Устанавливаем встроенные свойства - documentProperties.author = "Aspose.Slides для .NET" - documentProperties.title = "Изменение свойств презентации" - documentProperties.subject = "Тема Aspose" - documentProperties.comments = "Описание Aspose" - documentProperties.manager = "Менеджер Aspose" + # Установить встроенные свойства + documentProperties.author = "Aspose.Slides for .NET" + documentProperties.title = "Modifying Presentation Properties" + documentProperties.subject = "Aspose Subject" + documentProperties.comments = "Aspose Description" + documentProperties.manager = "Aspose Manager" - # сохраняем вашу презентацию в файл + # Сохранить презентацию в файл presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Добавление пользовательских свойств презентации** -Aspose.Slides для Python через .NET также позволяет разработчикам добавлять пользовательские значения для свойств документа презентации. Пример приведен ниже и показывает, как установить пользовательские свойства для презентации. +Aspose.Slides for Python via .NET также позволяет разработчикам добавлять пользовательские значения для свойств документа презентации. Ниже приведён пример, показывающий, как установить пользовательские свойства для презентации. ```py import aspose.slides as slides -# Создаем экземпляр класса Presentation +# Создать экземпляр класса Presentation with slides.Presentation() as presentation: # Получение свойств документа documentProperties = presentation.document_properties # Добавление пользовательских свойств - documentProperties.set_custom_property_value("Новое пользовательское", 12) - documentProperties.set_custom_property_value("Мое имя", "Мудассир") - documentProperties.set_custom_property_value("Пользовательское", 124) + documentProperties.set_custom_property_value("New Custom", 12) + documentProperties.set_custom_property_value("My Nam", "Mudassir") + documentProperties.set_custom_property_value("Custom", 124) - # Получение имени свойства по определенному индексу + # Получение имени свойства по индексу getPropertyName = documentProperties.get_custom_property_name(2) # Удаление выбранного свойства @@ -128,48 +119,36 @@ with slides.Presentation() as presentation: presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **Доступ и изменение пользовательских свойств** -Aspose.Slides для Python через .NET также позволяет разработчикам получать доступ к значениям пользовательских свойств. Пример приведен ниже и показывает, как вы можете получить доступ и изменить все эти пользовательские свойства для презентации. +Aspose.Slides for Python via .NET также позволяет разработчикам получать доступ к значениям пользовательских свойств. Ниже приведён пример, показывающий, как получить доступ и изменить все эти пользовательские свойства для презентации. ```py import aspose.slides as slides -# Создаем экземпляр класса Presentation, представляющего PPTX +# Создать экземпляр класса Presentation, представляющего PPTX with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentation: - # Создаем ссылку на объект document_properties, связанный с презентацией + # Создать ссылку на объект document_properties, связанный с презентацией documentProperties = presentation.document_properties # Доступ и изменение пользовательских свойств for i in range(documentProperties.count_of_custom_properties): - # Отображаем имена и значения пользовательских свойств - print("Имя пользовательского свойства : " + documentProperties.get_custom_property_name(i)) - print("Значение пользовательского свойства : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) + # Отобразить имена и значения пользовательских свойств + print("Custom Property Name : " + documentProperties.get_custom_property_name(i)) + print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) - # Изменяем значения пользовательских свойств - documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "Новое значение " + str(i + 1)) - # сохраняем вашу презентацию в файл + # Изменить значения пользовательских свойств + documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1)) + # Сохранить презентацию в файл presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **Проверка, была ли изменена или создана презентация** -Aspose.Slides для Python через .NET предоставляет возможность проверить, была ли изменена или создана презентация. Пример приведен ниже и показывает, как проверить, создана ли или изменена презентация. -```py -import aspose.slides as slides +## **Установка языка проверки орфографии** -info =slides.PresentationFactory.instance.get_presentation_info(path + "AccessModifyingProperties.pptx") -props = info.read_document_properties() - -print(props.name_of_application) -print(props.app_version) -``` - -## **Установка языка проверки** - -Aspose.Slides предоставляет свойство `Language_Id` (представленное классом [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)), чтобы позволить вам установить язык проверки для документа PowerPoint. Язык проверки - это язык, для которого проверяются правописание и грамматика в PowerPoint. - -Этот код Python показывает, как установить язык проверки для PowerPoint: +Aspose.Slides предоставляет свойство `Language_Id` (доступное через класс [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/)), позволяющее задать язык проверки орфографии для документа PowerPoint. Язык проверки орфографии — это язык, для которого проверяются правописание и грамматика в PowerPoint. +Этот пример на Python показывает, как установить язык проверки орфографии для PowerPoint: ```python import aspose.slides as slides @@ -185,17 +164,17 @@ with slides.Presentation(path + "SetProofingLanguage.pptx") as pres: portion_format.east_asian_font = font portion_format.latin_font = font - # Устанавливаем идентификатор языка проверки + # set the Id of a proofing language portion_format.language_id = "zh-CN" new_portion.text = "1。" paragraph.portions.add(new_portion) ``` -## **Установка языка по умолчанию** -Этот код Python показывает, как установить язык по умолчанию для целой презентации PowerPoint: +## **Установка языка по умолчанию** +Этот пример на Python показывает, как установить язык по умолчанию для всей презентации PowerPoint: ```python import aspose.slides as slides @@ -205,7 +184,28 @@ load_options.default_text_language = "en_US" with slides.Presentation(load_options) as pres: shp = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 150) text_frame = shp.text_frame - text_frame.text = "Новый текст" + text_frame.text = "New Text" print(text_frame.paragraphs[0].portions[0].portion_format.language_id) -``` \ No newline at end of file +``` + + +## **Онлайн‑пример** + +Попробуйте онлайн‑приложение [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata), чтобы увидеть, как работать со свойствами документа через API Aspose.Slides: + +[![View & Edit PowerPoint Metadata](slides-metadata.png)](https://products.aspose.app/slides/metadata) + +## **FAQ** + +**Как удалить встроенное свойство из презентации?** + +Встроенные свойства являются неотъемлемой частью презентации и полностью удалить их нельзя. Однако вы можете изменить их значения или установить пустое значение, если это допускается конкретным свойством. + +**Что происходит, если я добавляю пользовательское свойство, которое уже существует?** + +Если вы добавляете пользовательское свойство, которое уже существует, его текущее значение будет перезаписано новым. Удалять или проверять наличие свойства заранее не требуется — Aspose.Slides автоматически обновит значение свойства. + +**Могу ли я получить доступ к свойствам презентации без полной загрузки её содержимого?** + +Да, вы можете получить доступ к свойствам презентации без полной загрузки, используя метод [get_presentation_info](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/get_presentation_info/) класса [PresentationFactory](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/). Затем используйте метод [read_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/read_document_properties/) класса [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/), чтобы эффективно читать свойства, экономя память и повышая производительность. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md b/ru/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md index 9475a7adb7..83a2534979 100644 --- a/ru/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md +++ b/ru/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md @@ -1,45 +1,40 @@ --- -title: Добавляйте цифровые подписи к презентациям с помощью Python +title: Добавление цифровых подписей к презентациям с помощью Python linktitle: Цифровая подпись type: docs weight: 10 url: /ru/python-net/digital-signature-in-powerpoint/ keywords: - - цифровая подпись - - цифровой сертификат - - центр сертификации - - PFX-сертификат - - PowerPoint - - OpenDocument - - презентация - - Python - - Aspose.Slides -description: "Узнайте, как цифровым образом подписывать файлы PowerPoint и OpenDocument с помощью Aspose.Slides for Python via .NET. Защитите ваши слайды за секунды с помощью понятных примеров кода." +- цифровая подпись +- цифровой сертификат +- центр сертификации +- сертификат PFX +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как цифрово подписывать файлы PowerPoint & OpenDocument с помощью Aspose.Slides для Python через .NET. Защитите свои слайды за секунды с понятными примерами кода." --- - -**Цифровой сертификат** используется для создания презентации PowerPoint с защищенным паролем, помеченной как созданная определенной организацией или лицом. Цифровой сертификат можно получить, обратившись в уполномоченную организацию – удостоверяющий центр. После установки цифрового сертификата в систему его можно использовать для добавления цифровой подписи к презентации через Файл -> Информация -> Защитить презентацию: +**Цифровой сертификат** используется для создания презентации PowerPoint, защищённой паролем, отмеченной как созданная конкретной организацией или лицом. Цифровой сертификат можно получить, обратившись в уполномоченную организацию — центр сертификации. После установки цифрового сертификата в систему им можно подписать презентацию через Файл → Информация → Защитить презентацию: ![todo:image_alt_text](https://lh5.googleusercontent.com/OPGhgHMb_L54PGJztP5oIO9zhxGXzhtnbcrC-z7yLUrc_NkRX1obBfwffXhPV1NWBiqhidiupCphixNGl25LkfQhliG6MCM6E-x16ZuQgMyLABC9bQ446ohMluZr6-ThgQLXCOyy) - - -Презентация может содержать более одной цифровой подписи. После добавления цифровой подписи к презентации в PowerPoint появится специальное сообщение: +Презентация может содержать более одной цифровой подписи. После добавления цифровой подписи в презентацию появляется специальное сообщение в PowerPoint: ![todo:image_alt_text](https://lh3.googleusercontent.com/7ZfH7wElhwcvgJ_btF3C32zasBRbT1yA4tFOpnNnUm0q57ayBKJr0Pb43Oi4RgeCoOmwhyxxz_g8kw3H3Qw8Iqeaka5Xipip9cqvwbadY4E40D_NhXnUnbtdXSHFX6fjNm_UBvLJ) +Чтобы подписать презентацию или проверить подлинность её подписей, **Aspose.Slides API** предоставляет интерфейс [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/) , интерфейс [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) и свойство [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/) . В настоящее время цифровые подписи поддерживаются только для формата PPTX. - -Чтобы подписать презентацию или проверить подлинность подписей в презентации, **Aspose.Slides API** предоставляет интерфейсы [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/) и [**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) и свойство [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/). В настоящее время цифровые подписи поддерживаются только для формата PPTX. ## **Добавить цифровую подпись из сертификата PFX** Пример кода ниже демонстрирует, как добавить цифровую подпись из сертификата PFX: -1. Откройте файл PFX и передайте пароль PFX объекту [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/). +1. Откройте файл PFX и передайте пароль PFX объекту [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/) . 1. Добавьте созданную подпись к объекту презентации. - ```py -#[TODO:Исключение] RuntimeError: Ошибка прокси (FileNotFoundException): Невозможно загрузить файл или сборку 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Файл не найден. +#[TODO:Exception] RuntimeError: Ошибка прокси(FileNotFoundException): Не удалось загрузить файл или сборку 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Файл не найден. import aspose.slides as slides @@ -47,38 +42,49 @@ with slides.Presentation() as pres: # Создать объект DigitalSignature с файлом PFX и паролем PFX signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1") - # Прокомментировать новую цифровую подпись - signature.comments = "Тест цифровой подписи Aspose.Slides." + # Добавить комментарий к новой цифровой подписи + signature.comments = "Aspose.Slides digital signing test." # Добавить цифровую подпись к презентации pres.digital_signatures.add(signature) - # сохранить презентацию - pres.save("НекотораяПодписаннаяПрезентация.pptx", slides.export.SaveFormat.PPTX) + # Сохранить презентацию + pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX) ``` - -Теперь можно проверить, была ли презентация цифровой подписью и не была ли она изменена: - - - +Теперь можно проверить, была ли презентация подписана цифровой подписью и не была изменена: ```py # Открыть презентацию -with slides.Presentation("НекотораяПодписаннаяПрезентация.pptx") as pres: +with slides.Presentation("SomePresentationSigned.pptx") as pres: if len(pres.digital_signatures) > 0: - всеПодписиДействительны = True + allSignaturesAreValid = True - print("Подписи, использованные для подписания презентации: ") - # Проверить, действительны ли все цифровые подписи + print("Signatures used to sign the presentation: ") + # Проверить, являются ли все цифровые подписи действительными for signature in pres.digital_signatures : print(signature.certificate.subject_name.name + ", " - + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "ДЕЙСТВИТЕЛЬНА" if signature.is_valid else "НЕДЕЙСТВИТЕЛЬНА") - всеПодписиДействительны = всеПодписиДействительны and signature.is_valid + + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID") + allSignaturesAreValid = allSignaturesAreValid and signature.is_valid - if всеПодписиДействительны: - print("Презентация подлинная, все подписи действительны.") + if allSignaturesAreValid: + print("Presentation is genuine, all signatures are valid.") else: - print("Презентация была изменена с момента подписания.") -``` \ No newline at end of file + print("Presentation has been modified since signing.") +``` + + +## **FAQ** + +**Могу ли я удалить существующие подписи из файла?** + +Да. Коллекция цифровых подписей поддерживает [удаление отдельных элементов](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/remove_at/) и [полную очистку](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/clear/) ; после сохранения файла в презентации не будет подписей. + +**Становится ли файл «только для чтения» после подписи?** + +Нет. Подпись сохраняет целостность и авторство, но не блокирует редактирование. Чтобы ограничить редактирование, комбинируйте её с ["Read-only" or a password](/slides/ru/python-net/password-protected-presentation/) . + +**Отображается ли подпись корректно в разных версиях PowerPoint?** + +Подпись создаётся для контейнера OOXML (PPTX). Современные версии PowerPoint, поддерживающие подписи OOXML, корректно отображают статус таких подписей. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md b/ru/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md index 00daa32458..1d084da76f 100644 --- a/ru/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md +++ b/ru/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md @@ -1,86 +1,109 @@ --- -title: Защищенная паролем презентация +title: Защита презентаций паролем с помощью Python +linktitle: Защита паролем type: docs weight: 20 url: /ru/python-net/password-protected-presentation/ -keywords: "Заблокировать PowerPoint, разблокировать PowerPoint, защитить PowerPoint, установить пароль, добавить пароль, зашифровать PowerPoint, расшифровать PowerPoint, Защита записи, безопасность PowerPoint, презентация PowerPoint, Python, Aspose.Slides для Python через .NET" -description: "Защита паролем PowerPoint, шифрование и безопасность в Python" - +keywords: +- блокировать PowerPoint +- блокировать презентацию +- разблокировать PowerPoint +- разблокировать презентацию +- защитить PowerPoint +- защитить презентацию +- установить пароль +- добавить пароль +- зашифровать PowerPoint +- зашифровать презентацию +- расшифровать PowerPoint +- расшифровать презентацию +- защита от записи +- безопасность PowerPoint +- безопасность презентации +- удалить пароль +- удалить защиту +- удалить шифрование +- отключить пароль +- отключить защиту +- удалить защиту от записи +- презентация PowerPoint +- Python +- Aspose.Slides +description: "Узнайте, как легко блокировать и разблокировать презентации PowerPoint и OpenDocument, защищённые паролем, с помощью Aspose.Slides для Python через .NET. Повышайте продуктивность и защищайте свои презентации с нашим пошаговым руководством." --- ## **О защите паролем** -### **Как работает защита паролем для презентации?** -Когда вы защищаете презентацию паролем, это означает, что вы устанавливаете пароль, который накладывает определенные ограничения на презентацию. Для снятия ограничений необходимо ввести пароль. Презентация, защищенная паролем, считается заблокированной. +### **Как работает защита паролем презентации?** +Когда вы защищаете презентацию паролем, вы задаёте пароль, который накладывает определённые ограничения на презентацию. Чтобы снять ограничения, необходимо ввести пароль. Презентация, защищённая паролем, считается заблокированной презентацией. -Обычно вы можете установить пароль для наложения этих ограничений на презентацию: +Обычно вы можете задать пароль, чтобы наложить эти ограничения на презентацию: -- **Модификация** +- **Изменение** - Если вы хотите, чтобы только определенные пользователи могли изменять вашу презентацию, вы можете установить ограничение на модификацию. Это ограничение предотвращает изменение, копирование или модификацию содержимого вашей презентации (если они не предоставят пароль). + Если вы хотите, чтобы только определённые пользователи могли изменять вашу презентацию, вы можете установить ограничение на изменение. Это ограничение препятствует людям изменять, менять или копировать элементы в вашей презентации (если только они не введут пароль). - Однако в этом случае даже без пароля пользователь сможет открыть ваш документ. В этом режиме только для чтения пользователь может просматривать содержимое или элементы — гиперссылки, анимации, эффекты и другие — внутри вашей презентации, но не сможет копировать элементы или сохранять презентацию. + Однако в этом случае, даже без пароля, пользователь сможет получить доступ к вашему документу и открыть его. В режиме только для чтения пользователь может просматривать содержимое или элементы — гиперссылки, анимацию, эффекты и т. д. — внутри вашей презентации, но он не может копировать элементы или сохранять презентацию. - **Открытие** - Если вы хотите, чтобы только определенные пользователи могли открыть вашу презентацию, вы можете установить ограничение на открытие. Это ограничение предотвращает просмотр содержимого вашей презентации (если они не предоставят пароль). + Если вы хотите, чтобы только определённые пользователи могли открывать вашу презентацию, вы можете установить ограничение на открытие. Это ограничение препятствует людям даже просматривать содержание вашей презентации (если только они не введут пароль). + + Технически ограничение на открытие также мешает пользователям изменять ваши презентации: если люди не могут открыть презентацию, они не могут вносить в неё изменения. - Технически, ограничение на открытие также предотвращает пользователей от изменения ваших презентаций: когда люди не могут открыть презентацию, они не могут ее модифицировать или вносить изменения. - - **Примечание**: когда вы защищаете презентацию паролем, чтобы предотвратить открытие, файл презентации становится зашифрованным. + **Примечание** что когда вы защищаете презентацию паролем, чтобы запретить её открытие, файл презентации становится зашифрованным. ## Как защитить презентацию паролем онлайн -1. Перейдите на нашу страницу [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). +1. Перейдите на страницу [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock). ![todo:image_alt_text](slides-lock.png) -2. Нажмите **Перетащите или загрузите ваши файлы**. +2. Нажмите **Drop or upload your files**. -3. Выберите файл, который вы хотите защитить паролем на вашем компьютере. +3. Выберите файл, который вы хотите защитить паролем, на вашем компьютере. -4. Введите предпочтительный пароль для защиты редактирования; введите предпочтительный пароль для защиты просмотра. +4. Введите желаемый пароль для защиты от редактирования; введите желаемый пароль для защиты от просмотра. -5. Если вы хотите, чтобы пользователи видели вашу презентацию как финальную копию, установите флажок **Пометить как финальную**. +5. Если вы хотите, чтобы пользователи видели вашу презентацию как окончательную копию, установите флажок **Mark as final**. -6. Нажмите **ЗАЩИТИТЬ СЕЙЧАС.** +6. Нажмите **PROTECT NOW.** -7. Нажмите **СКАЧАТЬ СЕЙЧАС.** +7. Нажмите **DOWNLOAD NOW.** -## **Защита паролем для презентаций в Aspose.Slides** +## **Защита паролем презентаций в Aspose.Slides** **Поддерживаемые форматы** -Aspose.Slides поддерживает защиту паролем, шифрование и аналогичные операции для презентаций в следующих форматах: +Aspose.Slides поддерживает защиту паролем, шифрование и похожие операции для презентаций в следующих форматах: -- PPTX и PPT - Презентация Microsoft PowerPoint -- ODP - Презентация OpenDocument -- OTP - Шаблон презентации OpenDocument +- PPTX и PPT — Microsoft PowerPoint Presentation +- ODP — OpenDocument Presentation +- OTP — OpenDocument Presentation Template **Поддерживаемые операции** -Aspose.Slides позволяет вам использовать защиту паролем для презентаций, чтобы предотвратить модификацию следующими способами: +Aspose.Slides позволяет использовать защиту паролем презентаций, чтобы предотвратить изменения следующими способами: - Шифрование презентации -- Установка защиты записи на презентацию +- Установка защиты от записи для презентации **Другие операции** -Aspose.Slides позволяет вам выполнять другие задачи, связанные с защитой паролем и шифрованием следующими способами: +Aspose.Slides позволяет выполнять другие задачи, связанные с защитой паролем и шифрованием, следующими способами: - Расшифровка презентации; открытие зашифрованной презентации - Удаление шифрования; отключение защиты паролем -- Удаление защиты записи с презентации +- Снятие защиты от записи с презентации - Получение свойств зашифрованной презентации - Проверка, зашифрована ли презентация - Проверка, защищена ли презентация паролем. ## **Шифрование презентации** -Вы можете зашифровать презентацию, установив пароль. Затем, чтобы изменить заблокированную презентацию, пользователю необходимо предоставить пароль. - -Чтобы зашифровать или защитить презентацию паролем, вам нужно использовать метод шифрования (из [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)) для установки пароля для презентации. Вы передаете пароль в метод шифрования и используете метод save для сохранения теперь уже зашифрованной презентации. +Вы можете зашифровать презентацию, задав пароль. Затем, чтобы изменить заблокированную презентацию, пользователь должен ввести пароль. -Следующий пример кода показывает, как зашифровать презентацию: +Чтобы зашифровать или защитить паролем презентацию, вам необходимо использовать метод encrypt (из [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/)), чтобы задать пароль для презентации. Вы передаёте пароль методу encrypt и используете метод save для сохранения теперь зашифрованной презентации. +Этот пример кода показывает, как зашифровать презентацию: ```py import aspose.slides as slides @@ -89,14 +112,14 @@ with slides.Presentation() as pres: pres.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Установка защиты записи на презентацию** -Вы можете добавить отметку с текстом «Не модифицировать» к презентации. Таким образом, вы сообщаете пользователям, что не хотите, чтобы они вносили изменения в презентацию. +## **Установка защиты от записи для презентации** -**Примечание**: процесс защиты записи не шифрует презентацию. Поэтому пользователи — если они действительно захотят — могут модифицировать презентацию, но чтобы сохранить изменения, им нужно будет создать презентацию с другим именем. +Вы можете добавить пометку «Не изменять» к презентации. Таким образом, вы сообщаете пользователям, что не хотите, чтобы они вносили изменения в презентацию. -Чтобы установить защиту записи, вам нужно использовать метод setWriteProtection. Следующий пример кода показывает, как установить защиту записи на презентацию: +**Примечание** что процесс защиты от записи не шифрует презентацию. Поэтому пользователи — если они действительно захотят — могут изменять презентацию, но чтобы сохранить изменения, им придётся создать презентацию с другим именем. +Чтобы установить защиту от записи, вам необходимо использовать метод setWriteProtection. Этот пример кода показывает, как установить защиту от записи для презентации: ```py import aspose.slides as slides @@ -105,12 +128,12 @@ with slides.Presentation() as pres: pres.save("write-protected-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **Расшифровка презентации; Открытие зашифрованной презентации** -Aspose.Slides позволяет вам загрузить зашифрованный файл, передав его пароль. Для расшифровки презентации необходимо вызвать метод [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) без параметров. Вам затем нужно будет ввести правильный пароль для загрузки презентации. +## **Расшифровка презентации; открытие зашифрованной презентации** -Следующий пример кода показывает, как расшифровать презентацию: +Aspose.Slides позволяет загрузить зашифрованный файл, передав его пароль. Чтобы расшифровать презентацию, необходимо вызвать метод [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) без параметров. Затем вам потребуется ввести правильный пароль для загрузки презентации. +Этот пример кода показывает, как расшифровать презентацию: ```py import aspose.slides as slides @@ -120,12 +143,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: print(pres.document_properties.author) ``` -## **Удаление шифрования; Отключение защиты паролем** -Вы можете удалить шифрование или защиту паролем в презентации. Таким образом, пользователи смогут получить доступ к презентации или модифицировать её без ограничений. +## **Удаление шифрования; отключение защиты паролем** -Чтобы удалить шифрование или защиту паролем, вам нужно вызвать метод [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Следующий пример кода показывает, как удалить шифрование из презентации: +Вы можете удалить шифрование или защиту паролем с презентации. Таким образом, пользователи смогут получить доступ к презентации или изменить её без ограничений. +Чтобы удалить шифрование или защиту паролем, необходимо вызвать метод [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Этот пример кода показывает, как удалить шифрование из презентации: ```py import aspose.slides as slides @@ -136,12 +159,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: pres.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Удаление защиты записи с презентации** -Вы можете использовать Aspose.Slides для удаления защиты записи из файла презентации. Таким образом, пользователи смогут изменять как им угодно — при этом они не получат никаких предупреждений, когда выполняют такие действия. +## **Снятие защиты от записи с презентации** -Вы можете удалить защиту записи с презентации, используя метод [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Следующий пример кода показывает, как удалить защиту записи с презентации: +Вы можете использовать Aspose.Slides для снятия защиты от записи, использованной в файле презентации. Таким образом, пользователи могут изменять её как захотят — и им не будет показано никаких предупреждений при выполнении таких действий. +Вы можете снять защиту от записи с презентации, используя метод [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/). Этот пример кода показывает, как снять защиту от записи с презентации: ```py import aspose.slides as slides @@ -150,14 +173,14 @@ with slides.Presentation("write-protected-pres.pptx") as pres: pres.save("write-protection-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **Получение свойств зашифрованной презентации** -Как правило, пользователи сталкиваются с трудностями при получении свойств документа зашифрованной или защищенной паролем презентации. Однако Aspose.Slides предлагает механизм, который позволяет вам защитить презентацию паролем, сохраняя при этом возможность для пользователей получать доступ к свойствам этой презентации. +## **Получение свойств зашифрованной презентации** -**Примечание**: когда Aspose.Slides шифрует презентацию, свойства документа презентации по умолчанию также защищаются паролем. Но если вам нужно сделать свойства презентации доступными (даже после шифрования презентации), Aspose.Slides позволяет вам сделать именно это. +Обычно пользователи сталкиваются с трудностями при получении свойств документа зашифрованной или защищённой паролем презентации. Однако Aspose.Slides предоставляет механизм, позволяющий защищать презентацию паролем, одновременно сохраняя возможность пользователей получать свойства этой презентации. -Если вы хотите, чтобы пользователи сохраняли возможность получать доступ к свойствам презентации, которую вы зашифровали, вы можете установить свойство [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) в `True`. Следующий пример кода показывает, как зашифровать презентацию, предоставляя возможность пользователям получить доступ к ее свойствам документа: +**Примечание** что когда Aspose.Slides шифрует презентацию, свойства документа презентации также по умолчанию защищаются паролем. Но если вам нужно, чтобы свойства презентации оставались доступными (даже после шифрования презентации), Aspose.Slides позволяет именно это сделать. +Если вы хотите, чтобы пользователи сохраняли возможность доступа к свойствам зашифрованной презентации, вы можете установить свойство [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) в `True`. Этот пример кода показывает, как зашифровать презентацию, предоставив пользователям возможность доступа к её свойствам документа: ```py import aspose.slides as slides @@ -166,25 +189,25 @@ with slides.Presentation() as pres: pres.protection_manager.encrypt("123123") ``` -## **Проверка, защищена ли презентация паролем перед загрузкой** -Перед тем как загрузить презентацию, вы можете захотеть проверить и подтвердить, что презентация не была защищена паролем. Таким образом, вы сможете избежать ошибок и подобных проблем, которые возникают, когда защищенная паролем презентация загружается без пароля. +## **Проверка, защищена ли презентация паролем, перед её загрузкой** -Этот код на Python показывает, как проверить презентацию, чтобы узнать, защищена ли она паролем (без загрузки самой презентации): +Прежде чем загрузить презентацию, вы можете захотеть проверить и убедиться, что презентация не защищена паролем. Таким образом, вы избежите ошибок и подобных проблем, которые возникают при загрузке защищённой паролем презентации без пароля. +Этот код на Python показывает, как проверить презентацию, защищена ли она паролем (не загружая саму презентацию): ```python import aspose.slides as slides presentationInfo = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -print("Презентация защищена паролем: " + str(presentationInfo.is_password_protected)) +print("The presentation is password protected: " + str(presentationInfo.is_password_protected)) ``` + ## **Проверка, зашифрована ли презентация** -Aspose.Slides позволяет вам проверить, зашифрована ли презентация. Для выполнения этой задачи вы можете использовать свойство [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), которое возвращает `True`, если презентация зашифрована, или `False`, если презентация не зашифрована. +Aspose.Slides позволяет проверить, зашифрована ли презентация. Для выполнения этой задачи вы можете использовать свойство [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), которое возвращает `True`, если презентация зашифрована, и `False`, если презентация не зашифрована. Этот пример кода показывает, как проверить, зашифрована ли презентация: - ```py import aspose.slides as slides @@ -192,12 +215,12 @@ with slides.Presentation() as pres: print(str(pres.protection_manager.is_encrypted)) ``` + ## **Проверка, защищена ли презентация от записи** -Aspose.Slides позволяет вам проверить, защищена ли презентация от записи. Для выполнения этой задачи вы можете использовать свойство [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), которое возвращает `True`, если презентация защищена от записи, или `False`, если презентация не защищена от записи. +Aspose.Slides позволяет проверить, защищена ли презентация от записи. Для выполнения этой задачи вы можете использовать свойство [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/), которое возвращает `True`, если презентация защищена, и `False`, если презентация не защищена. Этот пример кода показывает, как проверить, защищена ли презентация от записи: - ```py import aspose.slides as slides @@ -205,23 +228,38 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(pres.protection_manager.is_write_protected)) ``` -## **Проверка или подтверждение того, что для защиты презентации был использован конкретный пароль** -Вы можете захотеть проверить и подтвердить, что для защиты документа презентации использовался конкретный пароль. Aspose.Slides предоставляет средства для валидации пароля. +## **Проверка или подтверждение того, что конкретный пароль использовался для защиты презентации** -Этот пример кода показывает, как проверить пароль: +Возможно, вы захотите проверить и подтвердить, что конкретный пароль был использован для защиты документа презентации. Aspose.Slides предоставляет средства для проверки пароля. +Этот пример кода показывает, как проверить пароль: ```py import aspose.slides as slides with slides.Presentation("write-protected-pres.pptx") as pres: - # проверьте соответствие "pass" + # проверка, совпадает ли "pass" с matched = pres.protection_manager.check_write_protection("my_password") print(str(matched)) ``` -Он возвращает `True`, если презентация была зашифрована с указанным паролем. В противном случае он возвращает `False`. + +Он возвращает `True`, если презентация зашифрована указанным паролем. В противном случае он возвращает `False`. {{% alert color="primary" title="Смотрите также" %}} -- [Цифровая подпись в PowerPoint](/slides/ru/python-net/digital-signature-in-powerpoint/) -{{% /alert %}} \ No newline at end of file +- [Digital Signature in PowerPoint](/slides/ru/python-net/digital-signature-in-powerpoint/) +{{% /alert %}} + +## **FAQ** + +**Какие методы шифрования поддерживает Aspose.Slides?** + +Aspose.Slides поддерживает современные методы шифрования, включая алгоритмы на базе AES, обеспечивая высокий уровень безопасности данных ваших презентаций. + +**Что происходит, если при попытке открыть презентацию вводится неверный пароль?** + +Если используется неверный пароль, генерируется исключение, уведомляющее вас о том, что доступ к презентации отказан. Это помогает предотвратить неавторизованный доступ и защищает содержимое презентации. + +**Есть ли какие‑либо последствия для производительности при работе с презентациями, защищёнными паролем?** + +Процесс шифрования и расшифровки может вызвать небольшие задержки при операциях открытия и сохранения. В большинстве случаев воздействие на производительность минимально и не оказывает существенного влияния на общее время обработки ваших задач с презентациями. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md b/ru/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md index 8109adf178..263ad57205 100644 --- a/ru/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md +++ b/ru/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md @@ -1,33 +1,34 @@ --- -title: Сохраняйте презентации в режиме «только для чтения» с помощью Python -linktitle: Презентация «только для чтения» +title: Сохранить презентации в режиме только для чтения с помощью Python +linktitle: Презентация только для чтения type: docs weight: 30 url: /ru/python-net/read-only-presentation/ keywords: -- только чтение +- только для чтения - защита презентации - предотвращение редактирования - PowerPoint - презентация - Python - Aspose.Slides -description: "Загружайте и сохраняйте файлы PowerPoint (PPT, PPTX) в режиме «только для чтения» с Aspose.Slides for Python via .NET, обеспечивая точный предварительный просмотр слайдов без изменения ваших презентаций." +description: "Загружайте и сохраняйте файлы PowerPoint (PPT, PPTX) в режиме только для чтения с помощью Aspose.Slides for Python via .NET, получая точные предварительные просмотры слайдов без изменения ваших презентаций." --- -В PowerPoint 2019 компания Microsoft представила параметр **Всё время открывать в режиме только для чтения** как один из вариантов, который пользователи могут использовать для защиты своих презентаций. Вы можете захотеть использовать этот режим только для чтения, чтобы защитить презентацию, когда +## **Применить режим только для чтения** -- Вы хотите предотвратить случайные изменения и сохранить содержимое вашей презентации в безопасности. -- Вы хотите предупредить людей, что предоставленная вами презентация является окончательной версией. +В PowerPoint 2019 компания Microsoft внедрила параметр **Always Open Read-Only**, как одну из возможностей, которые пользователи могут использовать для защиты своих презентаций. Вы можете захотеть использовать этот параметр только для чтения, чтобы защитить презентацию, когда -После того как вы выберете опцию **Всё время открывать в режиме только для чтения** для презентации, когда пользователи открывают презентацию, они увидят рекомендацию **Только для чтения** и могут увидеть сообщение в следующей форме: *Чтобы предотвратить случайные изменения, автор установил этот файл для открытия только для чтения.* +- Вы хотите предотвратить случайные изменения и сохранить содержимое вашей презентации в безопасности. +- Вы хотите предупредить людей, что предоставленная вами презентация является окончательной версией. -Рекомендация только для чтения является простым, но эффективным средством сдерживания, которое discourages редактирование, поскольку пользователи должны выполнить задачу, чтобы снять ее, прежде чем им разрешено редактировать презентацию. Если вы не хотите, чтобы пользователи вносили изменения в презентацию и хотите вежливо сообщить им об этом, то рекомендация только для чтения может стать хорошим вариантом для вас. +После того как вы выберете параметр **Always Open Read-Only** для презентации, при открытии презентации пользователи видят рекомендацию **Read-Only** и могут увидеть сообщение в следующем виде: *To prevent accidental changes, the author has set this file to open as read-only.* -> Если презентация с защитой **Только для чтения** открывается в более старой версии Microsoft PowerPoint — которая не поддерживает недавно введенную функцию — рекомендация **Только для чтения** игнорируется (презентация открывается нормально). +Рекомендация **Read-Only** — это простой, но эффективный способ отговорить от редактирования, потому что пользователям необходимо выполнить действие, чтобы удалить рекомендацию, прежде чем им будет разрешено редактировать презентацию. Если вы не хотите, чтобы пользователи вносили изменения в презентацию, и хотите вежливо об этом сообщить, то рекомендация **Read-Only** может быть хорошим вариантом. -Aspose.Slides для Python через .NET позволяет вам установить презентацию в режим **Только для чтения**, что означает, что пользователи (после открытия презентации) увидят рекомендацию **Только для чтения**. Этот пример кода показывает, как установить презентацию в режим **Только для чтения** на Python с использованием Aspose.Slides: +> Если презентация с защитой **Read-Only** открывается в более старой версии Microsoft PowerPoint, которая не поддерживает недавно введённую функцию, рекомендация **Read-Only** игнорируется (презентация открывается обычным способом). +Aspose.Slides for Python via .NET позволяет установить презентацию в режим **Read-Only**, что означает, что пользователи (после открытия презентации) видят рекомендацию **Read-Only**. Этот пример кода показывает, как установить презентацию в режим **Read-Only** на Python с использованием Aspose.Slides: ```py import aspose.slides as slides @@ -36,8 +37,27 @@ with slides.Presentation() as pres: pres.save("ReadOnlyPresentation.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -**Примечание**: Рекомендация **Только для чтения** просто предназначена для того, чтобы предотвратить редактирование или остановить пользователей от внесения случайных изменений в презентацию PowerPoint. Если мотивированный человек — который знает, что делает — решит отредактировать вашу презентацию, он может легко удалить настройку только для чтения. Если вам действительно нужно предотвратить несанкционированное редактирование, лучше использовать [более строгие меры защиты, которые включают шифрование и пароли](https://docs.aspose.com/slides/python-net/password-protected-presentation/). +**Примечание**: Рекомендация **Read-Only** предназначена просто для того, чтобы отговорить от редактирования или предотвратить случайные изменения PowerPoint‑презентации. Если мотивированный пользователь, который знает, что делает, решит отредактировать вашу презентацию, он легко удалит настройку **Read-Only**. Если вам действительно нужно предотвратить неавторизованное редактирование, лучше использовать [more stringent protections that involve encryptions and passwords](https://docs.aspose.com/slides/python-net/password-protected-presentation/). + +{{% /alert %}} + +## **FAQ** + +**Чем «Read-Only recommended» отличается от полной защиты паролем?** + +«Read-Only recommended» только отображает предложение открыть файл в режиме только для чтения и легко обходится. [Password protection](/slides/ru/python-net/password-protected-presentation/) действительно ограничивает открытие или редактирование и подходит, когда нужны реальные меры безопасности. + +**Можно ли сочетать «Read-Only recommended» с водяными знаками для усиления отвращения к правке?** + +Да. Рекомендацию можно сочетать с [watermarks](/slides/ru/python-net/watermark/) как визуальным средством сдерживания; они независимы и хорошо работают вместе. + +**Может ли макрос или внешнее средство всё равно изменить файл, когда рекомендация включена?** + +Да. Рекомендация не блокирует программные изменения. Чтобы предотвратить автоматические правки, используйте [passwords and encryption](/slides/ru/python-net/password-protected-presentation/). + +**Как «Read-Only recommended» соотносится с флагами «is_encrypted» и «is_write_protected»?** -{{% /alert %}} \ No newline at end of file +Это разные сигналы. «Read-Only recommended» — мягкое, необязательное уведомление; [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_write_protected/) и [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_encrypted/) указывают на реальные ограничения записи или чтения, зависящие от пароля или шифрования. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-security/watermark/_index.md b/ru/python-net/developer-guide/presentation-security/watermark/_index.md index dd1ed4c93f..96a07265e1 100644 --- a/ru/python-net/developer-guide/presentation-security/watermark/_index.md +++ b/ru/python-net/developer-guide/presentation-security/watermark/_index.md @@ -1,5 +1,5 @@ --- -title: Добавляйте водяные знаки в презентации на Python +title: Добавить водяные знаки в презентации на Python linktitle: Водяной знак type: docs weight: 40 @@ -18,192 +18,219 @@ keywords: - удалить водяной знак из PPT - удалить водяной знак из PPTX - удалить водяной знак из ODP -- удаление водяного знака из PPT -- удаление водяного знака из PPTX -- удаление водяного знака из ODP +- удалить водяной знак из PPT +- удалить водяной знак из PPTX +- удалить водяной знак из ODP - PowerPoint - OpenDocument - презентация - Python - Aspose.Slides -description: "Узнайте, как управлять текстовыми и графическими водяными знаками в презентациях PowerPoint и OpenDocument на Python, чтобы помечать черновики, конфиденциальную информацию, авторские права и многое другое." +description: "Узнайте, как управлять текстовыми и графическими водяными знаками в презентациях PowerPoint и OpenDocument на Python, чтобы указать черновик, конфиденциальную информацию, авторские права и многое другое." --- -## **О водяном знаке** -**Водяной знак** в презентации — это текстовая или изображенческая метка, используемая на слайде или на всех слайдах презентации. Обычно водяной знак используется, чтобы указать, что презентация является черновиком (например, водяной знак "Черновик"); что она содержит конфиденциальную информацию (например, водяной знак "Конфиденциально"); для указания, к какой компании она принадлежит (например, водяной знак "Название компании"); идентифицировать автора презентации и т. д. Водяной знак помогает предотвратить нарушение авторских прав на презентацию, указывая, что презентацию нельзя копировать. Водяные знаки используются как в формате PowerPoint, так и в формате OpenOffice. В Aspose.Slides вы можете добавить водяной знак в форматы файлов PowerPoint PPT, PPTX и OpenOffice ODP. +## **О водяных знаках** + +**Водяной знак** в презентации — это текстовая или графическая метка, используемая на отдельном слайде или на всех слайдах презентации. Обычно водяной знак применяется, чтобы указать, что презентация является черновиком (например, водяной знак «Черновик»), содержит конфиденциальную информацию (например, «Конфиденциально»), обозначить принадлежность к компании (например, «Название компании»), идентифицировать автора презентации и т.д. Водяной знак помогает предотвратить нарушения авторских прав, показывая, что презентацию нельзя копировать. Водяные знаки используются как в форматах PowerPoint, так и в OpenOffice. В Aspose.Slides вы можете добавить водяной знак в файлы форматов PowerPoint PPT, PPTX и OpenOffice ODP. -В [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) существует несколько способов создать водяной знак в PowerPoint или OpenOffice, обернуть его в различные формы, изменить дизайн и поведение и т. д. Общим является то, что для добавления текстовых водяных знаков вы должны использовать класс [**TextFrame**](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), а для добавления изображений водяного знака - [**PictureFrame**](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/). PictureFrame реализует интерфейс [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) и может использовать всю мощь гибких настроек объекта формы. TextFrame не является формой, и его настройки ограничены. Поэтому рекомендуется обернуть TextFrame в объект [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/). +В [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) существует несколько способов создания водяных знаков в документах PowerPoint или OpenOffice и их последующего изменения. Общий момент — для добавления текстовых водяных знаков следует использовать класс [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/), а для добавления графических водяных знаков — класс [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) или заполнить форму водяного знака изображением. `PictureFrame` реализует класс [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), что позволяет использовать все гибкие настройки объекта формы. Поскольку `TextFrame` не является формой и его настройки ограничены, он оборачивается в объект [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). -Существует два способа применения водяного знака: к одному слайду и ко всем слайдам презентации. Главный слайд используется для применения водяного знака ко всем слайдам презентации - водяной знак добавляется в главный слайд, полностью оформляется там и применяется ко всем слайдам без изменения разрешения на модификацию водяного знака на слайдах. +Водяной знак можно применить двумя способами: к отдельному слайду или ко всем слайдам презентации. Для применения водяного знака ко всем слайдам используется мастер слайдов — водяной знак добавляется в мастер слайдов, полностью оформляется там и применяется ко всем слайдам без ограничения возможности изменения водяного знака на отдельных слайдах. -Водяной знак обычно считается недоступным для редактирования другими пользователями. Чтобы предотвратить редактирование водяного знака (или, точнее, родительской формы водяного знака), Aspose.Slides предоставляет функциональность блокировки формы. Определенная форма может быть заблокирована на обычном слайде или на главном слайде. При блокировке формы водяного знака на главном слайде - она будет заблокирована на всех слайдах презентации. +Водяной знак обычно считается недоступным для редактирования другими пользователями. Чтобы предотвратить редактирование водяного знака (а точнее его родительской формы), Aspose.Slides предоставляет функциональность блокировки форм. Конкретную форму можно заблокировать как на обычном слайде, так и на мастере слайдов. Когда форма водяного знака заблокирована на мастере слайдов, она будет заблокирована на всех слайдах презентации. -Вы можете установить имя водяного знака, чтобы в будущем, если вы захотите удалить водяной знак, вы могли найти его на форме слайда по имени. +Вы можете задать имя водяному знаку, чтобы в дальнейшем, при необходимости удалить его, найти форму по имени в коллекции форм слайда. + +Водяной знак можно оформить любой способ, однако обычно у него есть общие черты, такие как центрирование, вращение, положение спереди и т.п. Ниже рассмотрим, как использовать эти свойства в примерах. -Вы можете оформить водяной знак любым образом, однако обычно существуют общие характеристики водяных знаков, такие как: центрирование, вращение, положение спереди и т. д. Мы рассмотрим, как использовать их в примерах ниже. ## **Текстовый водяной знак** -### **Добавить текстовый водяной знак на слайд** -Чтобы добавить текстовый водяной знак в PPT, PPTX или ODP, вы можете сначала добавить форму на слайд, затем добавить текстовую рамку в эту форму. Текстовая рамка представлена типом [**TextFrame**](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). Этот тип не наследуется от [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/), который имеет широкий набор свойств для установки водяного знака гибким образом. Поэтому рекомендуется обернуть объект [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) в объект [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/). Чтобы добавить водяной знак в форму, используйте метод [**add_text_frame**](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) с переданным текстом водяного знака: +### **Добавление текстового водяного знака на слайд** + +Чтобы добавить текстовый водяной знак в PPT, PPTX или ODP, сначала добавьте форму на слайд, затем добавьте к этой форме текстовый фрейм. Текстовый фрейм представляет класс [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/). Этот тип не наследуется от [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/), который обладает широким набором свойств для гибкого позиционирования водяного знака. Поэтому объект [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) оборачивается в объект [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/). Чтобы добавить текст водяного знака в форму, используйте метод [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str), как показано ниже. ```py -import aspose.slides as slides +watermark_text = "CONFIDENTIAL" -with slides.Presentation() as presentation: +with Presentation() as presentation: slide = presentation.slides[0] - watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.TRIANGLE, 0, 0, 0, 0) - watermarkTextFrame = watermarkShape.add_text_frame("Водяной знак") - presentation.save("watermark-1.pptx", slides.export.SaveFormat.PPTX) + watermark_shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 100, 100, 400, 40) + watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` - -{{% alert color="primary" title="См. также" %}} -- [Как использовать ](/slides/ru/python-net/slide-master/)[TextFrame](/slides/ru/python-net/adding-and-formatting-text/) +{{% alert color="primary" title="See also" %}} +- [How to Use the TextFrame Class](/slides/ru/python-net/text-formatting/) {{% /alert %}} -### **Добавить текстовый водяной знак в презентацию** -Если вы хотите добавить водяной знак в презентацию (то есть, все слайды сразу), добавьте его в [**MasterSlide**](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). Вся другая логика такая же, как и при добавлении водяного знака на один слайд - создайте объект [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) и затем добавьте водяной знак в него с помощью метода [**add_text_frame**](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/): +### **Добавление текстового водяного знака в презентацию** +Если нужно добавить текстовый водяной знак ко всей презентации (то есть сразу на все слайды), добавьте его в [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/). Остальная логика аналогична добавлению водяного знака на отдельный слайд — создайте объект [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) и затем добавьте к нему водяной знак с помощью метода [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str). ```py -import aspose.slides as slides +watermark_text = "CONFIDENTIAL" + +with Presentation() as presentation: + master_slide = presentation.masters[0] -with slides.Presentation() as pres: - master = pres.masters[0] - watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.TRIANGLE, 0, 0, 0, 0) - watermarkTextFrame = watermarkShape.add_text_frame("Водяной знак") - presentation.save("watermark-2.pptx", slides.export.SaveFormat.PPTX) + watermark_shape = master_slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 100, 100, 400, 40) + watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -{{% alert color="primary" title="См. также" %}} -- [Как использовать ](/slides/ru/python-net/slide-master/)[Главный слайд](/slides/ru/python-net/slide-master/) +{{% alert color="primary" title="See also" %}} +- [How to Use the Slide Master](/slides/ru/python-net/slide-master/) {{% /alert %}} -### **Установить шрифт текстового водяного знака** -Вы можете изменить шрифт текстового водяного знака: +### **Установка прозрачности формы водяного знака** +По умолчанию прямоугольная форма имеет цвета заливки и линии. Следующий код делает форму прозрачной. ```py -watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0] -watermarkPortion.portion_format.font_height = 52 +watermark_shape.fill_format.fill_type = FillType.NO_FILL +watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL ``` -### **Установить прозрачность текстового водяного знака** -Чтобы установить прозрачность текстового водяного знака, используйте этот код: +### **Установка шрифта для текстового водяного знака** +Вы можете изменить шрифт текстового водяного знака, как показано ниже. ```py -watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0] -watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID -watermarkPortion.portion_format.fill_format.solid_fill_color.color = draw.Color.from_argb(150, 200, 200, 200) +text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format +text_format.latin_font = FontData("Arial") +text_format.font_height = 50 ``` -### **Центрировать текстовый водяной знак** -Можно центрировать водяной знак на слайде, и для этого вы можете сделать следующее: +### **Установка цвета текста водяного знака** +Чтобы задать цвет текста водяного знака, используйте следующий код: +```py +alpha = 150 +red = 200 +green = 200 +blue = 200 + +fill_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format.fill_format +fill_format.fill_type = FillType.SOLID +fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue) +``` +### **Центрирование текстового водяного знака** + +Можно центрировать водяной знак на слайде, для чего выполните следующее: ```py -center = draw.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2) +slide_size = presentation.slide_size.size -width = 300 -height = 300 +watermark_width = 400 +watermark_height = 40 +watermark_x = (slide_size.width - watermark_width) / 2 +watermark_y = (slide_size.height - watermark_height) / 2 -x = center.x - width / 2 -y = center.y - height / 2 +watermark_shape = slide.shapes.add_auto_shape( + ShapeType.RECTANGLE, watermark_x, watermark_y, watermark_width, watermark_height) -# ... код ... -watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.TRIANGLE, x, y, width, height) +watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -## **Изображенческий водяной знак** -### **Добавить изображенческий водяной знак в презентацию** -Чтобы добавить изображенческий водяной знак во все слайды презентации, вы можете сделать следующее: +Ниже показан итоговый результат. -```py -with slides.Presentation() as presentation: - with open("image.png", "rb") as fs: - data = fs.read() - image = presentation.images.add_image(data) +![The text watermark](text_watermark.png) -# ... +## **Графический водяной знак** -watermarkShape.fill_format.fill_type = slides.FillType.PICTURE -watermarkShape.fill_format.picture_fill_format.picture.image = image -watermarkShape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH -``` +### **Добавление графического водяного знака в презентацию** +Чтобы добавить графический водяной знак на слайд презентации, выполните следующее: +```py +with open("watermark.png", "rb") as image_stream: + image = presentation.images.add_image(image_stream.read()) + watermark_shape.fill_format.fill_type = FillType.PICTURE + watermark_shape.fill_format.picture_fill_format.picture.image = image + watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH +``` -## **Заблокировать водяной знак от редактирования** -Если необходимо предотвратить редактирование водяного знака, используйте свойство [**AutoShape.shape_lock**](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) на форме, которая его оборачивает. С помощью этого свойства вы можете защитить форму от выбора, изменения размера, изменения положения, группировки с другими элементами, заблокировать его текст от редактирования и многое другое: +## **Блокировка водяного знака от редактирования** +Если необходимо запретить редактирование водяного знака, используйте свойство [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) формы. С помощью этого свойства можно защитить форму от выбора, изменения размеров, перемещения, группировки с другими элементами, блокировать её текст от редактирования и многое другое: ```py -# Заблокировать формы от изменения -watermarkShape.shape_lock.select_locked = True -watermarkShape.shape_lock.size_locked = True -watermarkShape.shape_lock.text_locked = True -watermarkShape.shape_lock.position_locked = True -watermarkShape.shape_lock.grouping_locked = True +# Заблокировать форму водяного знака от изменения +watermark_shape.auto_shape_lock.select_locked = True +watermark_shape.auto_shape_lock.size_locked = True +watermark_shape.auto_shape_lock.text_locked = True +watermark_shape.auto_shape_lock.position_locked = True +watermark_shape.auto_shape_lock.grouping_locked = True ``` +## **Перемещение водяного знака на передний план** -{{% alert color="primary" title="См. также" %}} -- [Как заблокировать формы от редактирования](/slides/ru/python-net/presentation-locking/) -{{% /alert %}} +В Aspose.Slides порядок Z-слоёв форм можно задать методом [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape). Для этого вызовите метод из списка слайдов презентации, передав в него ссылку на форму и её порядковый номер. Таким образом можно переместить форму на передний план или отправить её назад. Эта возможность особенно полезна, если нужно разместить водяной знак перед содержимым презентации: +```py +shape_count = len(slide.shapes) +slide.shapes.reorder(shape_count - 1, watermark_shape) +``` -## **Перенести водяной знак на передний план** -В Aspose.Slides порядок Z форм можно установить с помощью метода [**reorder**](https://reference.aspose.com/slides/python-net/aspose.slides.slidecollection/). Для этого вам нужно вызвать этот метод из списка слайдов презентации и передать ссылку на форму и ее номер порядка в метод. Таким образом, возможно разместить форму на переднем плане или на заднем плане слайда. Эта функция особенно полезна, если вам нужно поместить водяной знак на передний план презентации: +## **Установка вращения водяного знака** + +Ниже пример кода, показывающий, как скорректировать вращение водяного знака, чтобы он располагался по диагонали слайда: ```py -slide.shapes.reorder(len(slide.shapes) - 1, watermarkShape) +diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi + +watermark_shape.rotation = float(diagonal_angle) ``` -## **Установить вращение водяного знака** -Вот пример того, как установить вращение водяного знака (и его родительской формы): +## **Задание имени водяному знаку** +Aspose.Slides позволяет задать имя форме. Используя имя формы, вы сможете в дальнейшем получить к ней доступ для изменения или удаления. Чтобы задать имя форме водяного знака, присвойте его свойству [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/): ```py -def calculate_rotation(height, width): - rotation = math.atan(height / width) * 180 / math.pi - return rotation +watermark_shape.name = "watermark" +``` + -h = presentation.slide_size.size.height -w = presentation.slide_size.size.width +## **Удаление водяного знака** -watermarkShape.x = (w - watermarkShape.width) / 2 -watermarkShape.y = (h - watermarkShape.height) / 2 -watermarkShape.rotation = calculate_rotation(h, w) +Чтобы удалить форму водяного знака, используйте метод [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) для её поиска в коллекции форм слайда. Затем передайте найденную форму в метод [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape): +```py +slide_shapes = list(slide.shapes) +for shape in slide_shapes: + if shape.name == "watermark": + slide.shapes.remove(watermark_shape) ``` -## **Установить имя для водяного знака** -Aspose.Slides позволяет установить имя формы. По имени формы вы можете получить к ней доступ в будущем для модификации или удаления. Чтобы установить имя родительской формы водяного знака - установите его в свойство [**name**](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/): +## **Онлайн‑пример** +Вы можете опробовать бесплатные онлайн‑инструменты Aspose.Slides **Add Watermark**[https://products.aspose.app/slides/watermark] и **Remove Watermark**[https://products.aspose.app/slides/watermark/remove-watermark]. +![Online tools to add and remove watermarks](online_tools.png) -```py -watermarkShape.name = "водяной знак" -``` +## **FAQ** +**Что такое водяной знак и зачем он нужен?** -## **Удалить водяной знак** -Чтобы удалить форму водяного знака и ее дочерние элементы с слайда, используйте свойство [name](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) для поиска его на формах слайда. Затем передайте форму водяного знака в метод [**remove**](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/): +Водяной знак — это наложение текста или изображения на слайды, которое помогает защищать интеллектуальную собственность, усиливать узнаваемость бренда или предотвращать несанкционированное использование презентаций. -```py -for i in range(len(slide.shapes)): - shape = slide.shapes[i] +**Можно ли добавить водяной знак ко всем слайдам презентации?** - if shape.name == "водяной знак": - slide.shapes.remove(shape) -``` +Да, Aspose.Slides позволяет добавить водяной знак на каждый слайд презентации. Вы можете пройтись по всем слайдам и применить настройки водяного знака индивидуально. + +**Как изменить прозрачность водяного знака?** + +Прозрачность водяного знака регулируется изменением настроек заливки ([FillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/fillformat/)) формы. Это позволяет делать знак ненавязчивым и не отвлекать внимание от содержимого слайда. + +**Какие форматы изображений поддерживаются для водяных знаков?** + +Aspose.Slides поддерживает различные форматы изображений, такие как PNG, JPEG, GIF, BMP, SVG и другие. + +**Можно ли настроить шрифт и стиль текстового водяного знака?** +Да, вы можете выбрать любой шрифт, размер и стиль, чтобы они соответствовали дизайну вашей презентации и поддерживали согласованность бренда. -## **Пример в реальном времени** -Вы можете ознакомиться с **Aspose.Slides** **бесплатными** [**Добавить водяной знак**](https://products.aspose.app/slides/watermark) и [**Удалить водяной знак**](https://products.aspose.app/slides/watermark/remove-watermark) онлайн инструментами. +**Как изменить позицию или ориентацию водяного знака?** -![todo:image_alt_text](slides-watermark.png) \ No newline at end of file +Позицию и ориентацию водяного знака можно скорректировать, изменяя координаты, размер и свойства вращения [shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md b/ru/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md index d822d7f528..7fe780055f 100644 --- a/ru/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md +++ b/ru/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md @@ -1,96 +1,111 @@ --- -title: Доступ к слайду в презентации +title: Доступ к слайдам в презентациях с Python +linktitle: Доступ к слайду type: docs weight: 20 url: /ru/python-net/access-slide-in-presentation/ -keywords: "Доступ к презентации PowerPoint, Доступ к слайду, Изменение свойств слайда, Изменение позиции слайда, Установка номера слайда, индекса, ID, позиции Python, Aspose.Slides" -description: "Доступ к слайду PowerPoint по индексу, ID или позиции на Python. Изменение свойств слайда" +keywords: +- доступ к слайду +- индекс слайда +- идентификатор слайда +- положение слайда +- изменить положение +- свойства слайда +- номер слайда +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Узнайте, как получать доступ к слайдам и управлять ими в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides for Python через .NET. Повышайте продуктивность с примерами кода." --- -Aspose.Slides позволяет вам получать доступ к слайдам двумя способами: по индексу и по ID. +## **Обзор** + +В этой статье объясняется, как получить доступ к конкретным слайдам в презентации PowerPoint с использованием Aspose.Slides for Python. Показано, как открыть презентацию, ссылаться на слайды по индексу или уникальному идентификатору и читать базовую информацию о слайде, необходимую для навигации внутри файла. С помощью этих техник вы можете надёжно находить точный слайд, который требуется просмотреть или обработать. ## **Доступ к слайду по индексу** -Все слайды в презентации расположены в числовом порядке, начиная с позиции 0. Первый слайд доступен через индекс 0; второй слайд доступен через индекс 1; и так далее. +Слайды в презентации индексируются по положению, начиная с 0. Первый слайд имеет индекс 0, второй — индекс 1 и т.д. -Класс Presentation, представляющий файл презентации, предоставляет все слайды в виде коллекции [ISlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/islidecollection/) (коллекция объектов [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/)). Этот код на Python показывает, как получить доступ к слайду через его индекс: +Класс [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) (который представляет файл презентации) предоставляет доступ к слайдам через [SlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) объектов [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/). +Следующий код Python демонстрирует, как получить доступ к слайду по его индексу: ```python import aspose.slides as slides -# Создает объект Presentation, представляющий файл презентации -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Получает ссылку на слайд через его индекс +# Создать объект Presentation, представляющий файл презентации. +with slides.Presentation("sample.pptx") as presentation: + # Получить слайд по его индексу. slide = presentation.slides[0] ``` -## **Доступ к слайду по ID** -Каждый слайд в презентации имеет уникальный ID, связанный с ним. Вы можете использовать метод `get_slide_by_id(id)` (предоставленный классом [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) для доступа к этому ID. Этот код на Python показывает, как предоставить действительный ID слайда и получить доступ к этому слайду через метод `get_slide_by_id(id)`: +## **Доступ к слайду по идентификатору** + +Каждому слайду в презентации присвоен уникальный идентификатор. Вы можете использовать метод [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) (предоставляемый классом [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) для получения слайда по этому идентификатору. +Следующий код Python показывает, как указать действительный идентификатор слайда и получить доступ к нему через метод [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/): ```python import aspose.slides as slides -# Создает объект Presentation, представляющий файл презентации -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # Получает ID слайда +# Создать объект Presentation, который представляет файл презентации. +with slides.Presentation("sample.pptx") as presentation: + # Получить идентификатор слайда. id = presentation.slides[0].slide_id - # Получает доступ к слайду через его ID + # Доступ к слайду по его идентификатору. slide = presentation.get_slide_by_id(id) ``` + ## **Изменение позиции слайда** -Aspose.Slides позволяет изменять позицию слайда. Например, вы можете указать, что первый слайд должен стать вторым слайдом. +Aspose.Slides позволяет изменять позицию слайда. Например, вы можете сделать первый слайд вторым. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите ссылку на слайд (позицию которого вы хотите изменить) через его индекс. -1. Установите новую позицию для слайда через свойство `slide_number`. -1. Сохраните измененную презентацию. - -Этот код на Python демонстрирует операцию, в которой слайд на позиции 1 перемещается на позицию 2: +1. Получите ссылку на слайд, позицию которого нужно изменить, по его индексу. +1. Установите новую позицию для слайда через свойство [slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/slide/slide_number/). +1. Сохраните изменённую презентацию. +Следующий код Python перемещает слайд с позиции 1 на позицию 2: ```python import aspose.slides as slides -# Создает объект Presentation, представляющий файл презентации -with slides.Presentation(path + "ChangePosition.pptx") as pres: - # Получает слайд, позиция которого будет изменена - sld = pres.slides[0] - # Устанавливает новую позицию для слайда - sld.slide_number = 2 - # Сохраняет измененную презентацию - pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX) +# Создать объект Presentation, представляющий файл презентации. +with slides.Presentation("sample.pptx") as presentation: + # Получить слайд, позицию которого нужно изменить. + slide = presentation.slides[0] + # Установить новую позицию для слайда. + slide.slide_number = 2 + # Сохранить изменённую презентацию. + presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -Первый слайд стал вторым; второй слайд стал первым. Когда вы изменяете позицию слайда, другие слайды автоматически настраиваются. + +Первый слайд становится вторым; второй слайд становится первым. При изменении позиции слайда остальные слайды автоматически корректируются. ## **Установка номера слайда** -С помощью свойства `first_slide_number` (предоставленного классом [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)) вы можете указать новый номер для первого слайда в презентации. Эта операция приводит к перерасчету номеров других слайдов. +Используя свойство [first_slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) (предоставляемое классом [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)), вы можете задать новый номер для первого слайда в презентации. Эта операция приводит к пересчёту номеров остальных слайдов. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Получите номер слайда. 1. Установите номер слайда. -1. Сохраните измененную презентацию. - -Этот код на Python демонстрирует операцию, где номер первого слайда устанавливается на 10: +1. Сохраните изменённую презентацию. +Следующий код Python демонстрирует операцию, в которой номер первого слайда устанавливается в 10: ```python import aspose.slides as slides -# Создает объект Presentation, представляющий файл презентации -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # Получает номер слайда - firstSlideNumber = presentation.first_slide_number - # Устанавливает номер слайда +# Создать объект Presentation, представляющий файл презентации. +with slides.Presentation("sample.pptx") as presentation: + # Установить номер слайда. presentation.first_slide_number = 10 - # Сохраняет измененную презентацию - presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX) + # Сохранить изменённую презентацию. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -Если вы предпочитаете пропустить первый слайд, вы можете начать нумерацию со второго слайда (и скрыть нумерацию для первого слайда) следующим образом: +Если вы хотите пропустить первый слайд, вы можете начать нумерацию со второго слайда (и скрыть номер на первом слайде) следующим образом: ```python import aspose.slides as slides @@ -100,15 +115,30 @@ with slides.Presentation() as presentation: presentation.slides.add_empty_slide(layout_slide) presentation.slides.add_empty_slide(layout_slide) - # Устанавливает номер для первого слайда презентации + # Установить номер первого слайда в презентации. presentation.first_slide_number = 0 - # Показывает номера слайдов для всех слайдов + # Показать номера слайдов для всех слайдов. presentation.header_footer_manager.set_all_slide_numbers_visibility(True) - # Скрывает номер слайда для первого слайда + # Скрыть номер слайда на первом слайде. presentation.slides[0].header_footer_manager.set_slide_number_visibility(False) - # Сохраняет измененную презентацию - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + # Сохранить изменённую презентацию. + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **FAQ** + +**Совпадает ли номер слайда, видимый пользователем, с нулевым индексом коллекции?** + +Номер, отображаемый на слайде, может начинаться с произвольного значения (например, 10) и не обязан совпадать с индексом; соотношение управляется настройкой [first slide number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) презентации. + +**Влияют ли скрытые слайды на индексирование?** + +Да. Скрытый слайд остаётся в коллекции и учитывается при индексировании; «скрытый» относится к отображению, а не к его позиции в коллекции. + +**Меняется ли индекс слайда, когда добавляются или удаляются другие слайды?** + +Да. Индексы всегда отражают текущий порядок слайдов и пересчитываются при вставке, удалении и перемещении. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-slide/compare-slides/_index.md b/ru/python-net/developer-guide/presentation-slide/compare-slides/_index.md index b85d9a4b58..30c96307a8 100644 --- a/ru/python-net/developer-guide/presentation-slide/compare-slides/_index.md +++ b/ru/python-net/developer-guide/presentation-slide/compare-slides/_index.md @@ -1,17 +1,24 @@ --- -title: Сравнить слайды +title: Сравнение слайдов презентации в Python +linktitle: Сравнить слайды type: docs weight: 50 url: /ru/python-net/compare-slides/ -keywords: "Сравнить слайды PowerPoint, Сравнить два слайда, Презентация, Python, Aspose.Slides" -description: "Сравнить слайды презентации PowerPoint на Python" +keywords: +- сравнение слайдов +- анализ слайдов +- PowerPoint +- OpenDocument +- презентация +- Python +- Aspose.Slides +description: "Сравнивайте презентации PowerPoint и OpenDocument программно с помощью Aspose.Slides для Python через .NET. Быстро определяйте различия между слайдами в коде." --- -## **Сравнить два слайда** -Метод Equals был добавлен в интерфейс [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) и класс [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). Он возвращает true для слайдов/шаблонов и слайдов/мастер-слайдов, которые идентичны по своей структуре и статическому содержимому. - -Два слайда равны, если все формы, стили, тексты, анимация и другие настройки и т.д. Сравнение не учитывает значения уникальных идентификаторов, например, SlideId и динамическое содержимое, например, текущее значение даты в поле даты. +## **Сравнение двух слайдов** +Метод Equals был добавлен в интерфейс [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) и класс [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/). Он возвращает true для слайдов/макетов и слайдов‑мастеров, которые идентичны по своей структуре и статическому содержимому. +Два слайда считаются равными, если все формы, стили, тексты, анимация и другие настройки и т.д. Сравнение не учитывает значения уникальных идентификаторов, например SlideId, и динамического содержимого, например текущее значение даты в заполнителе даты. ```py import aspose.slides as slides @@ -20,5 +27,20 @@ with slides.Presentation(path + "AccessSlides.pptx") as p1: for i in range(len(p1.masters)): for j in range(len(p2.masters)): if p1.masters[i] == p2.masters[j]: - print("Мастер-слайд Презентации1#{0} равен Мастер-слайду Презентации2#{1}".format(i,j)) -``` \ No newline at end of file + print("Presentation1 MasterSlide#{0} is equal to Presentation2 MasterSlide#{1}".format(i,j)) +``` + + +## **FAQ** + +**Влияет ли факт скрытия слайда на сравнение самих слайдов?** + +[Hidden status](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) — это свойство уровня презентации/воспроизведения, а не визуального содержимого. Равенство двух конкретных слайдов определяется их структурой и статическим содержимым; сам факт скрытия слайда не делает слайды разными. + +**Учитываются ли гиперссылки и их параметры?** + +Да. Ссылки являются частью статического содержимого слайда. Если URL или действие гиперссылки отличаются, это обычно считается различием в статическом содержимом. + +**Если диаграмма ссылается на внешний файл Excel, будет ли содержимое этого файла учитываться?** + +Нет. Сравнение выполняется на основе самих слайдов. Внешние источники данных обычно не читаются во время сравнения; учитывается только то, что присутствует в структуре и статическом состоянии слайда. \ No newline at end of file diff --git a/ru/python-net/developer-guide/presentation-via-vba/_index.md b/ru/python-net/developer-guide/presentation-via-vba/_index.md index bb44d3b9d2..729214772d 100644 --- a/ru/python-net/developer-guide/presentation-via-vba/_index.md +++ b/ru/python-net/developer-guide/presentation-via-vba/_index.md @@ -1,5 +1,5 @@ --- -title: Управляйте проектами VBA в презентациях с помощью Python +title: Управление проектами VBA в презентациях с помощью Python linktitle: Презентация через VBA type: docs weight: 250 @@ -19,146 +19,161 @@ keywords: - презентация - Python - Aspose.Slides -description: "Узнайте, как создавать и управлять презентациями PowerPoint и OpenDocument через VBA с помощью Aspose.Slides for Python via .NET, чтобы оптимизировать рабочий процесс." +description: "Узнайте, как создавать и манипулировать презентациями PowerPoint и OpenDocument через VBA с помощью Aspose.Slides for Python via .NET, чтобы оптимизировать ваш рабочий процесс." --- -Пространство имен [Aspose.Slides.Vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) содержит классы и интерфейсы для работы с макросами и кодом VBA. +## **Обзор** -{{% alert title="Примечание" color="warning" %}} +В этой статье рассматриваются основные возможности Aspose.Slides for Python via .NET для работы с макросами в презентациях PowerPoint. Библиотека предоставляет удобные средства для добавления, удаления и извлечения макросов, что позволяет автоматизировать создание и изменение презентаций. -Когда вы конвертируете презентацию, содержащую макросы, в другой формат файла (PDF, HTML и т. д.), Aspose.Slides игнорирует все макросы (макросы не переносятся в результирующий файл). +С помощью Aspose.Slides вы можете: -Когда вы добавляете макросы в презентацию или повторно сохраняете презентацию, содержащую макросы, Aspose.Slides просто записывает байты макросов. +- Ускорить разработку презентаций — автоматизация рутинных задач сокращает время подготовки материалов. +- Обеспечить гибкость — возможность управлять макросами позволяет адаптировать презентации к конкретным задачам и сценариям. +- Интегрировать данные — простая интеграция с внешними источниками данных помогает поддерживать актуальность содержимого слайдов. +- Упростить сопровождение — централизованное управление макросами облегчает внесение изменений и обновление презентаций. -Aspose.Slides **никогда** не выполняет макросы в презентации. +Статья также содержит практические примеры использования Aspose.Slides для эффективной работы с макросами в PowerPoint. +Пространство имён [aspose.slides.vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) предоставляет классы для работы с макросами и кодом VBA. + +{{% alert title="Note" color="warning" %}} +При конвертации презентации, содержащей макросы, в другой формат (PDF, HTML и др.) Aspose.Slides игнорирует макросы — они не переносятся в выходной файл. + +При добавлении макросов в презентацию или повторном сохранении презентации, содержащей макросы, Aspose.Slides записывает байты макроса без изменений. + +Aspose.Slides **никогда** не исполняет макросы в презентации. {{% /alert %}} -## **Добавление VBA макросов** +## **Добавление макросов VBA** -Aspose.Slides предоставляет класс [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/), который позволяет создавать проекты VBA (и ссылки на проекты) и редактировать существующие модули. Вы можете использовать интерфейс [IVbaProject](https://reference.aspose.com/slides/net/aspose.slides.vba/ivbaproject/) для управления VBA, встроенной в презентацию. +Aspose.Slides предоставляет класс [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) для создания проектов VBA (и ссылок на проекты) и редактирования существующих модулей. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. Используйте конструктор [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) для добавления нового проекта VBA. -1. Добавьте модуль в VbaProject. +1. Добавьте модуль в проект VBA. 1. Установите исходный код модуля. -1. Добавьте ссылки на ``. -1. Добавьте ссылки на **Microsoft Office**. +1. Добавьте ссылку на ``. +1. Добавьте ссылку на **Microsoft Office**. 1. Свяжите ссылки с проектом VBA. 1. Сохраните презентацию. -Этот код на Python показывает, как добавить макрос VBA с нуля в презентацию: - +Ниже приведён пример кода на Python, показывающий, как добавить макрос VBA с нуля в презентацию: ```python import aspose.slides as slides -# Создает экземпляр класса презентации +# Создайте экземпляр класса Presentation. with slides.Presentation() as presentation: - # Создает новый VBA проект + + # Создайте новый проект VBA. presentation.vba_project = slides.vba.VbaProject() - # Добавляет пустой модуль в проект VBA + # Добавьте пустой модуль в проект VBA. module = presentation.vba_project.modules.add_empty_module("Module") - - # Устанавливает исходный код модуля - module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub" - # Создает ссылку на - stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") + # Установите исходный код модуля. + module.source_code = """ + Sub Test(oShape As Shape) + MsgBox "Hello, world!" + End Sub + """ - # Создает ссылку на Office - officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Библиотека объектов Microsoft Office 14.0") + # Создайте ссылку на . + stdole_reference = slides.vba.VbaReferenceOleTypeLib("stdole", + "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - # Добавляет ссылки в проект VBA - presentation.vba_project.references.add(stdoleReference) - presentation.vba_project.references.add(officeReference) + # Создайте ссылку на Microsoft Office. + office_reference = slides.vba.VbaReferenceOleTypeLib("Office", + "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") - - # Сохраняет презентацию - presentation.save("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) -``` + # Добавьте ссылки в проект VBA. + presentation.vba_project.references.add(stdole_reference) + presentation.vba_project.references.add(office_reference) -{{% alert color="primary" %}} + # Сохраните презентацию. + presentation.save("macros.pptm", slides.export.SaveFormat.PPTM) +``` -Возможно, вы захотите ознакомиться с **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros) — бесплатным веб-приложением, используемым для удаления макросов из документов PowerPoint, Excel и Word. -{{% /alert %}} +{{% alert color="primary" %}} +Вы можете попробовать **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros), бесплатное веб‑приложение для удаления макросов из документов PowerPoint, Excel и Word. +{{% /alert %}} -## **Удаление VBA макросов** +## **Удаление макросов VBA** -Используя свойство [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/#properties) класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), вы можете удалить VBA макрос. +С помощью свойства [vba_project](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/vba_project/) класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) можно удалить макрос VBA. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) и загрузите презентацию, содержащую макрос. -1. Получите доступ к модулю Макрос и удалите его. -1. Сохраните измененную презентацию. - -Этот код на Python показывает, как удалить VBA макрос: +1. Получите доступ к модулю макроса и удалите его. +1. Сохраните изменённую презентацию. +Ниже показан пример кода на Python, демонстрирующий удаление макроса VBA: ```python import aspose.slides as slides -# Загружает презентацию, содержащую макрос -with slides.Presentation(path + "VBA.pptm") as presentation: - # Получает доступ к Vba модулю и удаляет его - presentation.vba_project.modules.remove(presentation.vba_project.modules[0]) +# Загрузите презентацию, содержащую макрос. +with slides.Presentation("VBA.pptm") as presentation: + + # Получите доступ к VBA модулю. + vba_module = presentation.vba_project.modules[0] - # Сохраняет презентацию - presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) + # Удалите VBA модуль. + presentation.vba_project.modules.remove(vba_module) + + # Сохраните презентацию. + presentation.save("removed_macro.pptm", slides.export.SaveFormat.PPTM) ``` -## **Извлечение VBA макросов** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) и загрузите презентацию, содержащую VBA макросы. -2. Проверьте, содержит ли презентация встроенный проект VBA. -3. Переберите все модули, входящие в проект VBA, чтобы извлечь и просмотреть исходный код макросов. +## **Извлечение макросов VBA** -Ниже приведён пример Python-кода, демонстрирующий, как программно извлечь VBA макросы из презентации PowerPoint: +Используя свойство `modules` класса [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/), можно получить доступ ко всем модулям проекта VBA. Класс [VbaModule](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbamodule/) позволяет извлечь свойства модуля, такие как имя и код. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) и загрузите презентацию, содержащую макрос. +1. Проверьте, содержит ли презентация проект VBA. +1. Пройдитесь по всем модулям проекта VBA, чтобы просмотреть макросы. + +Ниже приведён пример кода на Python, показывающий, как извлечь макросы VBA из презентации: ```python import aspose.slides as slides -with slides.Presentation(path + "VBA.pptm") as pres: - if pres.vba_project is not None: # Проверяет содержит ли презентация проект VBA - for module in pres.vba_project.modules: +with slides.Presentation("VBA.pptm") as presentation: + # Проверьте, содержит ли презентация проект VBA. + if presentation.vba_project is not None: + for module in presentation.vba_project.modules: print(module.name) print(module.source_code) ``` -## Часто задаваемые вопросы (FAQ) - -### Что такое макросы VBA в PowerPoint? - -Макросы VBA — это сценарии, написанные на языке Visual Basic for Applications, встроенные в презентации PowerPoint. Они позволяют автоматизировать задачи, такие как генерация слайдов, обработка данных и взаимодействие с пользователем. - -### Можно ли извлечь VBA макросы из PowerPoint-презентации с помощью Python? - -Да. Библиотека **Aspose.Slides для Python via .NET** позволяет программно извлекать, просматривать и сохранять VBA макросы без необходимости использовать Microsoft PowerPoint. -### Поддерживает ли Aspose.Slides добавление и удаление VBA макросов? +## **Проверка, защищён ли проект VBA паролем** -Да. Вы можете: +С помощью свойства [VbaProject.is_password_protected](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/is_password_protected/) можно определить, защищены ли свойства проекта паролем. -* Добавлять новые макросы в презентацию -* Удалять существующие макросы -* Редактировать модули VBA -* Управлять ссылками на библиотеки, такие как Microsoft Office и stdole - -### Сохраняются ли макросы при конвертации в PDF или другие форматы? +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) и загрузите презентацию, содержащую макрос. +1. Проверьте, содержит ли презентация [VBA project](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/). +1. Проверьте, защищён ли проект VBA паролем, чтобы просмотреть его свойства. +```py +import aspose.slides as slides -Нет. При конвертации презентации в другие форматы (например, PDF, HTML и т. д.) Aspose.Slides игнорирует макросы. Макросы не переносятся в итоговый файл. +with slides.Presentation("VBA.pptm") as presentation: + # Проверьте, содержит ли презентация проект VBA. + if presentation.vba_project is not None: + if presentation.vba_project.is_password_protected: + print(f"The VBA Project '{presentation.vba_project.name}' is protected by password to view project properties.") +``` -### Выполняет ли Aspose.Slides макросы при открытии или сохранении презентации? -Нет. Aspose.Slides никогда не выполняет макросы. При открытии или сохранении презентации библиотека просто считывает или записывает их как данные, без выполнения кода. +## **Вопросы и ответы** -### Какие форматы презентаций с макросами поддерживаются? +**Что происходит с макросами, если я сохраняю презентацию как PPTX?** -Поддерживаются файлы формата **PPTM** — это расширение формата PPTX, содержащее макросы VBA. Aspose.Slides позволяет читать и сохранять такие файлы с макросами. +Макросы удаляются, поскольку формат PPTX не поддерживает VBA. Чтобы сохранить макросы, выбирайте PPTM, PPSM или POTM. -### Нужно ли устанавливать Microsoft PowerPoint для работы с макросами? +**Может ли Aspose.Slides выполнять макросы внутри презентации, например, обновлять данные?** -Нет. Aspose.Slides работает автономно и не требует установки Microsoft PowerPoint или других сторонних приложений. +Нет. Библиотека никогда не исполняет код VBA; исполнение возможно только в PowerPoint при соответствующих настройках безопасности. ---- +**Поддерживается ли работа с элементами управления ActiveX, связанными с кодом VBA?** -Для удаления макросов из презентации можно использовать бесплатное онлайн-приложение [Aspose Macro Remover](https://products.aspose.app/slides/remove-macros). +Да, вы можете получать доступ к существующим [ActiveX controls](/slides/ru/python-net/activex/), изменять их свойства и удалять их. Это полезно, когда макросы взаимодействуют с ActiveX. \ No newline at end of file diff --git a/ru/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md b/ru/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md index 22ff4879aa..4a9640189a 100644 --- a/ru/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md +++ b/ru/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md @@ -1,15 +1,15 @@ --- -title: Предотвращайте изменение презентаций с помощью блокировки фигур на Python -linktitle: Предотвращение изменений презентации +title: Предотвращение редактирования презентаций с помощью блокировок фигур в Python +linktitle: Предотвращение редактирования презентации type: docs weight: 70 url: /ru/python-net/applying-protection-to-presentation/ keywords: -- предотвращение изменений +- предотвращение редактирования - защита от редактирования - блокировка фигуры -- блокировка положения -- блокировка выделения +- блокировка позиции +- блокировка выбора - блокировка размера - блокировка группировки - PowerPoint @@ -17,144 +17,119 @@ keywords: - презентация - Python - Aspose.Slides -description: "Узнайте, как Aspose.Slides for Python via .NET блокирует или разблокирует фигуры в файлах PPT, PPTX и ODP, обеспечивая защиту презентаций и позволяя контролируемое редактирование и более быструю доставку." +description: "Узнайте, как Aspose.Slides для Python через .NET блокирует или разблокирует фигуры в файлах PPT, PPTX и ODP, обеспечивая безопасность презентаций при возможности контролируемого редактирования и более быстрой доставки." --- -{{% alert color="primary" %}} +## **Обзор** -Обычное использование Aspose.Slides заключается в создании, обновлении и сохранении презентаций Microsoft PowerPoint 2007 (PPTX) в рамках автоматизированного рабочего процесса. Пользователи приложения, использующего Aspose.Slides таким образом, получают доступ к выходным презентациям. Защита их от редактирования является распространенной проблемой. Важно, чтобы автоматически созданные презентации сохраняли свое оригинальное форматирование и содержание. +Распространённое применение Aspose.Slides — создание, обновление и сохранение презентаций Microsoft PowerPoint (PPTX) в рамках автоматизированного рабочего процесса. Пользователи приложений, использующих Aspose.Slides таким образом, имеют доступ к сгенерированным презентациям, поэтому защита их от редактирования является актуальной проблемой. Важно, чтобы автоматически созданные презентации сохраняли своё оригинальное форматирование и содержимое. -В этой статье объясняется, как [конструируются презентации и слайды](/slides/ru/python-net/applying-protection-to-presentation/) и как Aspose.Slides для Python через .NET может [применить защиту к](/slides/ru/python-net/applying-protection-to-presentation/), а затем [удалить ее из](/slides/ru/python-net/applying-protection-to-presentation/) презентации. Эта функция уникальна для Aspose.Slides и на момент написания недоступна в Microsoft PowerPoint. Это дает разработчикам возможность контролировать, как используются презентации, создаваемые их приложениями. +В этой статье объясняется, как структурированы презентации и слайды, а также как Aspose.Slides for Python может применить защиту к презентации и затем снять её. Она предоставляет разработчикам возможность контролировать использование презентаций, генерируемых их приложениями. -{{% /alert %}} ## **Состав слайда** -Слайд PPTX состоит из ряда компонентов, таких как автофигуры, таблицы, OLE-объекты, сгруппированные фигуры, рамки для изображений, рамки для видео, соединители и различные другие элементы, доступные для создания презентации. -В Aspose.Slides для Python через .NET каждый элемент на слайде превращен в объект Shape. Другими словами, каждый элемент на слайде является либо объектом Shape, либо объектом, производным от объекта Shape. +Слайд презентации состоит из компонентов, таких как автоконтуры, таблицы, OLE‑объекты, сгруппированные фигуры, рамки изображений, видеокадры, соединители и другие элементы, используемые для создания презентации. В Aspose.Slides for Python каждый элемент на слайде представлен объектом, наследующим класс [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/). -Структура PPTX сложна, поэтому в отличие от PPT, где можно использовать общий замок для всех типов фигур, существуют разные типы замков для разных типов фигур. Класс BaseShapeLock — это общий класс блокировки PPTX. В Aspose.Slides для Python через .NET поддерживаются следующие типы блокировок для PPTX: +Структура PPTX сложна, поэтому, в отличие от PPT, где можно использовать универсальный замок для всех типов фигур, разные типы фигур требуют разных замков. Класс [BaseShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/baseshapelock/) является универсальным классом блокировки для PPTX. В Aspose.Slides for Python для PPTX поддерживаются следующие типы замков: -- AutoShapeLock блокирует автофигуры. -- ConnectorLock блокирует соединительные фигуры. -- GraphicalObjectLock блокирует графические объекты. -- GroupshapeLock блокирует групповые фигуры. -- PictureFrameLock блокирует рамки для изображений. +- [AutoShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshapelock/) блокирует автоконтуры. +- [ConnectorLock](https://reference.aspose.com/slides/python-net/aspose.slides/connectorlock/) блокирует соединительные фигуры. +- [GraphicalObjectLock](https://reference.aspose.com/slides/python-net/aspose.slides/graphicalobjectlock/) блокирует графические объекты. +- [GroupShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/groupshapelock/) блокирует сгруппированные фигуры. +- [PictureFrameLock](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/) блокирует рамки изображений. + +Любое действие, выполненное над всеми объектами фигур в объекте [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), применяется ко всей презентации. -Любое действие, выполняемое над всеми объектами Shape в объекте Presentation, применяется ко всей презентации. ## **Применение и удаление защиты** -Применение защиты обеспечивает невозможность редактирования презентации. Это полезная техника для защиты содержания презентации. -### **Применение защиты к фигурам PPTX** -Aspose.Slides для Python через .NET предоставляет класс Shape для работы с фигурой на слайде. -Как упоминалось ранее, каждому классу фигуры соответствует связанный класс блокировки фигуры для защиты. Эта статья сосредоточена на блокировках NoSelect, NoMove и NoResize. Эти блокировки обеспечивают невозможность выбора фигур (через клики мыши или другие методы выбора), а также их перемещения или изменения размера. +Применение защиты гарантирует, что презентацию нельзя будет редактировать. Это полезный приём для защиты содержимого презентации. + +### **Применить защиту к фигурам PPTX** + +Aspose.Slides for Python предоставляет класс [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) для работы с фигурами на слайде. -Следующие примеры кода применяют защиту ко всем типам фигур в презентации. +Как упоминалось ранее, каждый класс фигуры имеет связанный класс блокировки формы для защиты. В этой статье рассматриваются блокировки NoSelect, NoMove и NoResize. Эти блокировки гарантируют, что фигуры нельзя будет выбрать (щелчком мыши или другими методами выбора) и что их нельзя будет перемещать или изменять в размере. +Пример кода ниже применяет защиту ко всем типам фигур в презентации. ```py import aspose.slides as slides -#Создание экземпляра класса Presentation, который представляет файл PPTX -with slides.Presentation(path + "RectPicFrame.pptx") as pres: - #Объект ISlide для доступа к слайдам в презентации - slide = pres.slides[0] - - #Перебор всех слайдов в презентации - for slide in pres.slides: +# Создайте объект класса Presentation, представляющий файл PPTX. +with slides.Presentation("Sample.pptx") as presentation: + # Проходим все слайды в презентации. + for slide in presentation.slides: + # Проходим все фигуры на слайде. for shape in slide.shapes: - #если фигура является автофигурой if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Применение замков к фигурам - auto_shape_lock.position_locked = True - auto_shape_lock.select_locked = True - auto_shape_lock.size_locked = True - - #если фигура является групповой фигурой + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Применение замков к фигурам - group_shape_lock.grouping_locked = True - group_shape_lock.position_locked = True - group_shape_lock.select_locked = True - group_shape_lock.size_locked = True - - #если фигура является соединителем + shape.shape_lock.grouping_locked = True + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Применение замков к фигурам - connector_lock.position_move = True - connector_lock.select_locked = True - connector_lock.size_locked = True - #если фигура является рамкой для изображения + shape.shape_lock.position_move = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.PictureFrame: - #Приведение к типу рамки для изображения и получение замка для рамки - picture_lock = shape.shape_lock - - #Применение замков к фигурам - picture_lock.position_locked = True - picture_lock.select_locked = True - picture_lock.size_locked = True - - #Сохранение файла презентации - pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True + # Сохраняем файл презентации. + presentation.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) ``` -### **Удаление защиты** -Защита, применяемая с помощью Aspose.Slides для Python через .NET, может быть удалена только с помощью Aspose.Slides для Python через .NET. Чтобы разблокировать фигуру, установите значение примененной блокировки в false. Пример кода ниже показывает, как разблокировать фигуры в защищенной презентации. +### **Удалить защиту** +Чтобы разблокировать фигуру, установите значение соответствующего замка в `False`. В следующем примере кода показано, как разблокировать фигуры в заблокированной презентации. ```py import aspose.slides as slides -#Открытие нужной презентации -with slides.Presentation("ProtectedSample.pptx") as pres: - for slide in pres.slides: +# Создайте объект класса Presentation, представляющий файл PPTX. +with slides.Presentation("ProtectedSample.pptx") as presentation: + # Проходим все слайды в презентации. + for slide in presentation.slides: + # Проходим все фигуры на слайде. for shape in slide.shapes: - - if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - #Применение замков к фигурам - auto_shape_lock.position_locked = False - auto_shape_lock.select_locked = False - auto_shape_lock.size_locked = False - - elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - #Применение замков к фигурам - group_shape_lock.grouping_locked = False - group_shape_lock.position_locked = False - group_shape_lock.select_locked = False - group_shape_lock.size_locked = False + if type(shape) is slides.AutoShape: + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + elif type(shape) is slides.GroupShape: + shape.shape_lock.grouping_locked = False + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - #Применение замков к фигурам - connector_lock.position_move = False - connector_lock.select_locked = False - connector_lock.size_locked = False + shape.shape_lock.position_move = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.PictureFrame: - picture_lock = shape.shape_lock - - #Применение замков к фигурам - picture_lock.position_locked = False - picture_lock.select_locked = False - picture_lock.size_locked = False - #Сохранение файла презентации - pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + # Сохраняем файл презентации. + presentation.save("RemovedProtectionSample.pptx", slides.export.SaveFormat.PPTX) ``` +### **Заключение** + +Aspose.Slides предоставляет несколько вариантов защиты фигур в презентации. Вы можете заблокировать отдельную фигуру или пройтись по всем фигурам в презентации и заблокировать каждую, чтобы эффективно защитить весь файл. Защиту можно снять, установив значение замка в `False`. + +## **FAQ** + +**Могу ли я комбинировать блокировки фигур и защиту паролем в одной презентации?** + +Да. Блокировки ограничивают редактирование объектов внутри файла, тогда как [password protection](/slides/ru/python-net/password-protected-presentation/) контролирует доступ к открытию и/или сохранению изменений. Эти механизмы дополняют друг друга и работают совместно. -### **Резюме** -{{% alert color="primary" %}} +**Могу ли я ограничить редактирование на отдельных слайдах, не затрагивая остальные?** -Aspose.Slides предоставляет ряд возможностей для применения защиты к фигурам в презентации. Можно заблокировать конкретную фигуру или пройтись по всем фигурам в презентации и заблокировать их все, чтобы эффективно заблокировать презентацию. +Да. Примените блокировки к фигурам на выбранных слайдах; остальные слайды останутся редактируемыми. -Только Aspose.Slides для Python через .NET может удалить защиту из презентации, которую он ранее защитил. Удалите защиту, установив значение блокировки в false. +**Применяются ли блокировки фигур к сгруппированным объектам и соединителям?** -{{% /alert %}} \ No newline at end of file +Да. Для групп, соединителей, графических объектов и других типов фигур поддерживаются специальные типы блокировок. \ No newline at end of file diff --git a/ru/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md b/ru/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md index 78e799c220..10d824c343 100644 --- a/ru/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md +++ b/ru/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md @@ -1,22 +1,30 @@ --- -title: Извлечение изображений из фигур презентации +title: Извлечение изображений из фигур презентации в Python +linktitle: Изображение из фигуры type: docs weight: 90 url: /ru/python-net/extracting-images-from-presentation-shapes/ -keywords: "Извлечение изображения, PowerPoint, PPT, PPTX, Презентация PowerPoint, Python, Aspose.Slides для Python" -description: "Извлечение изображений из презентации PowerPoint на Python" +keywords: +- извлечение изображения +- получить изображение +- фон слайда +- фон фигуры +- PowerPoint +- презентация +- Python +- Aspose.Slides +description: "Извлекайте изображения из фигур в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides для Python через .NET — быстрое, удобное для кода решение." --- -{{% alert color="primary" %}} +## **Извлечение изображений из фигур** -Изображения часто добавляются в фигуры и также часто используются в качестве фона слайдов. Объекты изображений добавляются через [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/), которая является коллекцией объектов [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). +{{% alert color="primary" %}} +Изображения часто добавляются к фигурам и также часто используются в качестве фона слайдов. Объекты изображений добавляются через [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/), который представляет собой коллекцию объектов [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/). В этой статье объясняется, как извлечь изображения, добавленные в презентации. - {{% /alert %}} -Чтобы извлечь изображение из презентации, сначала нужно найти изображение, пройдя через каждый слайд и затем через каждую фигуру. Как только изображение найдено или идентифицировано, его можно извлечь и сохранить как новый файл. XXX - +Чтобы извлечь изображение из презентации, необходимо сначала найти изображение, пройдя по каждому слайду, а затем по каждой фигуре. Как только изображение найдено или идентифицировано, его можно извлечь и сохранить как новый файл. XXX ```py import aspose.slides as slides @@ -31,14 +39,14 @@ def get_image_format(image_type): }.get(image_type, slides.ImageFormat.JPEG) with slides.Presentation("pres.pptx") as pres: - # Доступ к презентации + #Получение доступа к презентации slideIndex = 0 image_type = "" ifImageFound = False for slide in pres.slides: slideIndex += 1 - # Доступ к первому слайду + #Получение доступа к первому слайду image_format = slides.ImageFormat.JPEG back_image = None @@ -46,15 +54,15 @@ with slides.Presentation("pres.pptx") as pres: is_layout = False if slide.background.fill_format.fill_type == slides.FillType.PICTURE: - # Получение фонового изображения + #Получение фонового изображения back_image = slide.background.fill_format.picture_fill_format.picture.image elif slide.layout_slide.background.fill_format.fill_type == slides.FillType.PICTURE: - # Получение фонового изображения + #Получение фонового изображения back_image = slide.layout_slide.background.fill_format.picture_fill_format.picture.image is_layout = True if back_image is not None: - # Установка желаемого формата изображения + #Установка требуемого формата изображения image_type = back_image.content_type.split("/")[1] image_format = get_image_format(image_type) @@ -78,4 +86,23 @@ with slides.Presentation("pres.pptx") as pres: shape_image.image.save( file_name.format("shape_"+str(i)+"_", slideIndex, image_type), image_format) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Могу ли я извлечь оригинальное изображение без обрезки, эффектов или трансформаций фигуры?** + +Да. При доступе к изображению фигуры вы получаете объект изображения из коллекции изображений презентации, что означает оригинальные пиксели без обрезки или стилистических эффектов. Рабочий процесс проходит через коллекцию изображений презентации и объекты [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/), которые хранят исходные данные. + +**Существует ли риск дублирования одинаковых файлов при одновременном сохранении множества изображений?** + +Да, если сохранять всё без разбора. Коллекция изображений презентации может содержать одинаковые бинарные данные, на которые ссылаются разные фигуры или слайды. Чтобы избежать дублирования, сравните хеши, размеры или содержимое извлечённых данных перед записью. + +**Как определить, какие фигуры связаны с конкретным изображением из коллекции презентации?** + +Aspose.Slides не хранит обратные ссылки от [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) к фигурам. Создайте сопоставление вручную во время обхода: каждый раз, когда вы находите ссылку на [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/), фиксируйте, какие фигуры используют её. + +**Могу ли я извлечь изображения, встроенные в OLE‑объекты, например, вложенные документы?** + +Не напрямую, поскольку OLE‑объект является контейнером. Необходимо извлечь сам OLE‑пакет, а затем проанализировать его содержимое с помощью отдельных инструментов. Фигуры‑изображения в презентации работают через [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/); OLE — это другой тип объекта. \ No newline at end of file diff --git a/ru/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md b/ru/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md index b09137e984..ec616b72c1 100644 --- a/ru/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md +++ b/ru/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md @@ -1,5 +1,5 @@ --- -title: Получите полный фон слайда презентации как изображение +title: Получить полный фон слайда из презентации в виде изображения linktitle: Полный фон слайда type: docs weight: 95 @@ -8,7 +8,7 @@ keywords: - слайд - фон - фон слайда -- финальный фон +- окончательный фон - фон в изображение - PowerPoint - OpenDocument @@ -18,22 +18,24 @@ keywords: - ODP - Python - Aspose.Slides -description: "Извлекайте полные фоны слайдов как изображения из презентаций PowerPoint и OpenDocument с помощью Aspose.Slides for Python via .NET, ускоряя визуальные рабочие процессы." +description: "Извлекайте полные фоны слайдов в виде изображений из презентаций PowerPoint и OpenDocument с помощью Aspose.Slides for Python через .NET, упрощая визуальные рабочие процессы." --- -В презентациях PowerPoint фон слайда может состоять из множества элементов. В дополнение к изображению, установленному в качестве [фона слайда](/slides/ru/python-net/presentation-background/), финальный фон может зависеть от темы презентации, цветовой схемы и форм, размещенных на основном слайде и слайде макета. +## **Получить весь фон слайда** -Aspose.Slides для Python не предоставляет простого метода для извлечения всего фонового изображения презентации слайда, но вы можете следовать приведенным ниже шагам, чтобы сделать это: +В презентациях PowerPoint фон слайда может состоять из множества элементов. Помимо изображения, установленного как [фон слайда](/slides/ru/python-net/presentation-background/), окончательный фон может зависеть от темы презентации, цветовой схемы и фигур, размещённых на слайде‑мастере и слайде‑макете. + +Aspose.Slides for Python не предоставляет простой метод для извлечения полного фона слайда презентации в виде изображения, но вы можете выполнить следующие шаги: 1. Загрузите презентацию, используя класс [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. Получите размер слайда из презентации. 1. Выберите слайд. 1. Создайте временную презентацию. -1. Установите тот же размер слайда в временной презентации. +1. Установите тот же размер слайда во временной презентации. 1. Клонируйте выбранный слайд во временную презентацию. 1. Удалите фигуры с клонированного слайда. 1. Преобразуйте клонированный слайд в изображение. -Следующий пример кода извлекает фоновое изображение всей презентации слайда. +Следующий пример кода извлекает полный фон слайда презентации в виде изображения. ```py slide_index = 0 image_scale = 1 @@ -51,4 +53,23 @@ with slides.Presentation("sample.pptx") as presentation: with cloned_slide.get_image(image_scale, image_scale) as background: background.save("output.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Сохранятся ли сложные градиенты, текстуры или заливки изображениями с мастер‑слайда в результирующем изображении фона?** + +Да. Aspose.Slides рендерит градиентные, картинные и текстурные заливки, определённые на слайде, макете или мастере. Если нужно изолировать внешний вид от наследуемых мастеров, [установите собственный фон](/slides/ru/python-net/presentation-background/) на текущий слайд перед экспортом. + +**Могу ли я добавить водяной знак к результирующему изображению фона перед сохранением?** + +Да. Вы можете [добавить водяной знак](/slides/ru/python-net/watermark/) в виде фигуры или изображения на рабочую [копию слайда](/slides/ru/python-net/clone-slides/) (размещённую позади другого контента), а затем выполнить экспорт. Это позволяет создать изображение фона с внедрённым водяным знаком. + +**Могу ли я получить фон конкретного макета или мастера без привязки к существующему слайду?** + +Да. Получите доступ к нужному мастеру или макету, примените его к [временному слайду](/slides/ru/python-net/clone-slides/) нужного размера и экспортируйте этот слайд, чтобы получить фон, полученный из этого макета или мастера. + +**Есть ли ограничения лицензирования, влияющие на экспорт изображений?** + +Функции рендеринга полностью доступны при наличии [действующей лицензии](/slides/ru/python-net/licensing/). В режиме оценки вывод может содержать ограничения, такие как водяной знак. Активируйте лицензию один раз на процесс перед выполнением пакетного экспорта. \ No newline at end of file diff --git a/ru/python-net/developer-guide/technical-articles/multithreading/_index.md b/ru/python-net/developer-guide/technical-articles/multithreading/_index.md index 4dab10fdff..a3c2eb8fa3 100644 --- a/ru/python-net/developer-guide/technical-articles/multithreading/_index.md +++ b/ru/python-net/developer-guide/technical-articles/multithreading/_index.md @@ -6,7 +6,7 @@ weight: 200 url: /ru/python-net/multithreading/ keywords: - многопоточность -- несколько потоков +- многопоточные задачи - параллельная работа - конвертация слайдов - слайды в изображения @@ -15,14 +15,75 @@ keywords: - презентация - Python - Aspose.Slides -description: "Многопоточность Aspose.Slides for Python via .NET ускоряет обработку PowerPoint и OpenDocument. Узнайте лучшие практики для эффективных рабочих процессов с презентациями." +description: "Aspose.Slides для Python с помощью .NET многопоточности ускоряет обработку PowerPoint и OpenDocument. Откройте лучшие практики для эффективных рабочих процессов презентаций." --- -{{% alert color="primary" %}} +## **Введение** -Хотя параллельная работа с презентациями возможна (кроме парсинга/загрузки/клонирования) и в большинстве случаев проходит успешно, есть небольшая вероятность, что вы получите некорректные результаты при использовании библиотеки в нескольких потоках. +Хотя параллельная работа с презентациями возможна (кроме парсинга/загрузки/клонирования) и в большинстве случаев всё проходит успешно, существует небольшая вероятность получения некорректных результатов при использовании библиотеки в нескольких потоках. -Мы настоятельно рекомендуем вам **не** использовать единственный экземпляр [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) в многопоточной среде, так как это может привести к непредсказуемым ошибкам или сбоям, которые не так легко обнаружить. +Мы настоятельно рекомендуем **не** использовать один экземпляр [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) в многопоточной среде, так как это может привести к непредсказуемым ошибкам или отказам, которые трудно обнаружить. -Не безопасно загружать, сохранять и/или клонировать экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) в нескольких потоках. Такие операции **не** поддерживаются. Если вам нужно выполнять такие задачи, вы должны распараллелить операции, используя несколько однопоточных процессов — и каждый из этих процессов должен использовать свой собственный экземпляр презентации. +Не безопасно загружать, сохранять и/или клонировать экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) в нескольких потоках. Такие операции **не** поддерживаются. Если необходимо выполнять такие задачи, следует параллелить операции, используя несколько однопоточных процессов — каждый из этих процессов должен использовать свой собственный экземпляр презентации. +## **Параллельное конвертирование слайдов презентации в изображения** + +Допустим, мы хотим параллельно конвертировать все слайды PowerPoint‑презентации в PNG‑изображения. Поскольку использование одного экземпляра `Presentation` в нескольких потоках небезопасно, мы разбиваем слайды презентации на отдельные презентации и конвертируем слайды в изображения параллельно, используя каждую презентацию в отдельном потоке. Ниже приведён пример кода, показывающий, как это сделать. +```py +input_file_path = "sample.pptx" +output_file_path_template = "slide_{0}.png" +image_scale = 2 + +presentation = Presentation(input_file_path) + +slide_count = len(presentation.slides) +slide_size = presentation.slide_size.size + +conversion_tasks = [] + + +def convert_slide(slide_index): + # Извлечь слайд i в отдельную презентацию. + with Presentation() as slide_presentation: + slide_presentation.slide_size.set_size(slide_size.width, slide_size.height, SlideSizeScaleType.DO_NOT_SCALE) + slide_presentation.slides.remove_at(0) + slide_presentation.slides.add_clone(presentation.slides[slide_index]) + + slide_number = slide_index + 1 + slide = slide_presentation.slides[0] + + # Преобразовать слайд в изображение. + with slide.get_image(image_scale, image_scale) as image: + image_file_path = output_file_path_template.format(slide_number) + image.save(image_file_path, ImageFormat.PNG) + + +with ThreadPoolExecutor() as thread_executor: + for index in range(slide_count): + conversion_tasks.append(thread_executor.submit(convert_slide, index)) + +# Дождаться завершения всех задач. +for task in conversion_tasks: + task.result() + +del presentation +``` + + +## **FAQ** + +**Нужно ли вызывать настройку лицензии в каждом потоке?** + +Нет. Достаточно сделать это один раз на процесс/домен приложения до запуска потоков. Если настройка [license setup](/slides/ru/python-net/licensing/) может вызываться одновременно (например, при ленивой инициализации), синхронизируйте этот вызов, так как метод настройки лицензии сам по себе не является потокобезопасным. + +**Можно ли передавать объекты `Presentation` или `Slide` между потоками?** + +Передача «живых» объектов презентации между потоками не рекомендуется: используйте независимые экземпляры для каждого потока или предварительно создайте отдельные презентации/контейнеры слайдов для каждого потока. Такой подход соответствует общему совету не делиться одним экземпляром презентации между потоками. + +**Безопасно ли параллелить экспорт в разные форматы (PDF, HTML, изображения), если у каждого потока свой экземпляр `Presentation`?** + +Да. При независимых экземплярах и отдельных путях вывода такие задачи обычно корректно параллелятся; избегайте общих объектов презентации и общих потоков ввода‑вывода. + +**Что делать с глобальными настройками шрифтов (папки, подстановки) в многопоточном режиме?** + +Инициализируйте все глобальные настройки шрифтов до запуска потоков и не меняйте их во время параллельной работы. Это устраняет гонки при доступе к общим ресурсам шрифтов. \ No newline at end of file diff --git a/ru/python-net/getting-started/features-overview/_index.md b/ru/python-net/getting-started/features-overview/_index.md index f5f6d2565c..85da1eb476 100644 --- a/ru/python-net/getting-started/features-overview/_index.md +++ b/ru/python-net/getting-started/features-overview/_index.md @@ -1,12 +1,12 @@ --- -title: Обзор возможностей +title: Обзор функций type: docs weight: 20 url: /ru/python-net/features-overview/ keywords: -- возможности +- функции - поддерживаемые платформы -- файловый формат +- формат файлов - конвертация - рендеринг - печать @@ -16,79 +16,104 @@ keywords: - презентация - Python - Aspose.Slides -description: "Познакомьтесь с Aspose.Slides for Python via .NET — мощным API для эффективного создания, редактирования, автоматизации и преобразования презентаций PowerPoint и OpenDocument." +description: "Ознакомьтесь с Aspose.Slides for Python via .NET: мощным API для создания, редактирования, автоматизации и эффективного конвертирования презентаций PowerPoint и OpenDocument." --- ## **Поддерживаемые платформы** -Платформы Aspose.Slides для Python через .NET могут быть использованы на Windows x64 или x86 и широком спектре дистрибутивов Linux с установленным Python 3.5 или более поздней версии. Существуют дополнительные требования к целевой платформе Linux: -- Библиотеки времени выполнения GCC-6 (или более поздние) -- Зависимости .NET Core Runtime. Установка самого .NET Core Runtime НЕ обязательна -- Для Python 3.5-3.7: Необходима сборка Python с `pymalloc`. Опция сборки Python `--with-pymalloc` включена по умолчанию. Обычно сборка Python с `pymalloc` имеет суффикс `m` в имени файла. -- Общая библиотека Python `libpython`. Опция сборки Python `--enable-shared` выключена по умолчанию, некоторые дистрибутивы Python не содержат общую библиотеку `libpython`. Для некоторых платформ Linux общую библиотеку `libpython` можно установить с помощью менеджера пакетов, например: `sudo apt-get install libpython3.7`. Общей проблемой является то, что библиотека `libpython` устанавливается в другом месте, чем стандартное системное место для общих библиотек. Проблему можно решить, используя параметры сборки Python для установки альтернативных путей библиотек при компиляции Python, или устранив ее, создав символическую ссылку на файл библиотеки `libpython` в стандартном системном местоположении для общих библиотек. Обычно имя файла общей библиотеки `libpython` — `libpythonX.Ym.so.1.0` для Python 3.5-3.7 или `libpythonX.Y.so.1.0` для Python 3.8 или более поздней версии (например: `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). +Платформы, на которых можно использовать Aspose.Slides for Python via .NET, включают Windows x64 или x86 и широкий набор дистрибутивов Linux с установленным Python 3.5 или более поздней версии. Для целевой платформы Linux существуют дополнительные требования: +- Библиотеки времени выполнения GCC‑6 (или новее) +- Зависимости .NET Core Runtime. Установка самого .NET Core Runtime НЕ требуется +- Для Python 3.5‑3.7: требуется сборка Python с `pymalloc`. Параметр сборки `--with-pymalloc` включён по умолчанию. Обычно сборка `pymalloc` отмечается суффиксом `m` в имени файла. +- Общая библиотека Python `libpython`. Параметр сборки `--enable-shared` отключён по умолчанию, некоторые дистрибутивы Python не содержат `libpython`. Для некоторых платформ Linux её можно установить через менеджер пакетов, например: `sudo apt-get install libpython3.7`. Частая проблема – библиотека `libpython` установлена в другом месте, чем стандартный системный путь для разделяемых библиотек. Проблему можно решить, указав альтернативные пути к библиотекам при сборке Python, либо создав символическую ссылку на файл `libpython` в стандартном системном каталоге. Обычно имя файла выглядит как `libpythonX.Ym.so.1.0` для Python 3.5‑3.7 или `libpythonX.Y.so.1.0` для Python 3.8 и новее (например: `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). -Если вам нужна поддержка большего количества платформ, обратите внимание на "близнечные" продукты Aspose.Slides для .NET или Aspose.Slides для Java. +Если вам нужна поддержка большего количества платформ, ищите «близнеца» – продукты Aspose.Slides for .NET или Aspose.Slides for Java. - -## **Форматы файлов и преобразования** -Aspose.Slides для Python через .NET поддерживает большинство форматов документов PowerPoint. Также он позволяет экспортировать их в популярные форматы, которые широко используются организациями и обмениваются между собой. Ознакомьтесь с этими деталями: +## **Форматы файлов и конверсия** +Aspose.Slides for Python via .NET поддерживает большинство форматов документов PowerPoint. Он также позволяет экспортировать их в популярные форматы, широко используемые организациями. Подробности: |**Функция**|**Описание**| | :- | :- | -|[Microsoft PowerPoint (PPT)](/slides/ru/python-net/ppt-vs-pptx/)|Aspose.Slides для Python через .NET обеспечивает самую быструю обработку для этого формата документной презентации.| -|[Преобразование PPT в PPTX](/slides/ru/python-net/convert-ppt-to-pptx/)|Aspose.Slides для Python через .NET поддерживает преобразование PPT в PPTX.| -|[Portable Document Format (PDF)](/slides/ru/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Вы можете экспортировать все поддерживаемые форматы файлов в документы формата Adobe Portable Document Format (PDF) с помощью одного метода.| -|[XML Parser Specification (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|Вы можете экспортировать все поддерживаемые форматы файлов в документы XML Parser Specification (XPS) с помощью одного метода.| -|[Tagged Image File Format (TIFF)](/slides/ru/python-net/convert-powerpoint-to-tiff/)|Вы можете экспортировать все поддерживаемые форматы презентационных файлов в Tagged Image File Format (TIFF).| -|[Преобразование PPTX в HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides для Python через .NET поддерживает преобразование PresentationEx в формат HTML.| +|[Microsoft PowerPoint (PPT)](/slides/ru/python-net/ppt-vs-pptx/)|Aspose.Slides for Python via .NET обеспечивает самую быструю обработку этого формата презентаций.| +|[PPT to PPTX conversion](/slides/ru/python-net/convert-ppt-to-pptx/)|Aspose.Slides for Python via .NET поддерживает конверсию PPT в PPTX.| +|[Portable Document Format (PDF)](/slides/ru/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|Можно экспортировать все поддерживаемые форматы файлов в документы Adobe Portable Document Format (PDF) одним методом.| +|[XML Parser Specification (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|Можно экспортировать все поддерживаемые форматы файлов в документы XML Parser Specification (XPS) одним методом.| +|[Tagged Image File Format (TIFF)](/slides/ru/python-net/convert-powerpoint-to-tiff/)|Можно экспортировать все поддерживаемые форматы презентаций в Tagged Image File Format (TIFF).| +|[PPTX To HTML Conversion](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides for Python via .NET поддерживает конверсию PresentationEx в формат HTML.| -## **Отрисовка и печать** -Aspose.Slides для Python через .NET поддерживает высококачественную отрисовку слайдов в презентационных документах в различные графические форматы. Ознакомьтесь с этими деталями: +## **Рендеринг и печать** +Aspose.Slides for Python via .NET поддерживает высококачественный рендеринг слайдов презентаций в различные графические форматы. Подробности: |**Функция**|**Описание**| | :- | :- | -|Поддерживаемые форматы изображений .NET|С помощью Aspose.Slides для Python через .NET вы можете отображать слайды презентаций и изображения на слайдах во всех поддерживаемых .NET графических форматах, таких как TIFF, PNG, BMP, JPEG, GIF и метафайлы.| -|Формат SVG|Aspose.Slides для Python через .NET также предоставляет встроенные методы, которые позволяют экспортировать слайды презентаций в форматы Scalable Vector Graphics (SVG).| -|Печать презентаций|Последние версии Aspose.Slides для Python через .NET предоставляют встроенные методы печати с различными опциями.| +|.NET Supported Image Formats|С помощью Aspose.Slides for Python via .NET можно рендерить слайды и изображения на слайдах во все графические форматы, поддерживаемые .NET, такие как TIFF, PNG, BMP, JPEG, GIF и метафайлы.| +|SVG Format|Aspose.Slides for Python via .NET также предоставляет встроенные методы, позволяющие экспортировать слайды презентации в формат Scalable Vector Graphics (SVG).| +|Presentation Printing|Последние версии Aspose.Slides for Python via .NET предоставляют встроенные методы печати с различными опциями.| -## **Функции содержания** -Aspose.Slides для Python через .NET позволяет вам получать доступ, изменять или создавать почти все элементы или содержимое презентационных документов. Ознакомьтесь с этими деталями: +## **Функции контента** +Aspose.Slides for Python via .NET позволяет получать доступ, изменять или создавать почти все элементы или содержимое презентационных документов. Подробности: |**Функция**|**Описание**| | :- | :- | -|Мастер-слайды|Мастер-слайды определяют макет обычных слайдов. Aspose.Slides для Python через .NET позволяет вам получать доступ и изменять мастер-слайды презентационных документов.| -|Обычные слайды|С помощью Aspose.Slides для Python через .NET вы можете создавать новые слайды разных типов; вы также можете получать доступ и изменять существующие слайды в презентациях.| -|Клонирование / Копирование слайдов|Есть встроенные методы, предоставленные Aspose.Slides для Python через .NET, которые позволяют вам клонировать или копировать существующие слайды внутри презентации. Вы также можете использовать скопированные и клонированные слайды из одной презентации в другую. Поскольку слайд наследует свой макет от мастер-слайда, встроенные методы клонирования автоматически копируют мастер при клонировании.| -|Управление разделами слайдов|Методы для организации слайдов в разные разделы внутри презентации.| -|Места для заполнения и текстовые контейнеры|Вы можете получить доступ к местам для заполнения и текстовым контейнерам в слайде. Более того, вы можете создать слайд с текстовыми контейнерами с нуля, используя соответствующий метод.| -|Верхние и нижние колонтитулы|Aspose.Slides для Python через .NET облегчает работу с верхними и нижними колонтитулами на слайдах.| -|Заметки на слайдах|С помощью Aspose.Slides для Python через .NET вы можете получать доступ и изменять заметки, связанные со слайдом, а также добавлять новые заметки.| -|Поиск формы|Вы также можете найти определенную форму на слайде, используя альтернативный текст, связанный с формой.| -|Фоны|Aspose.Slides для Python через .NET позволяет вам работать с фонами, связанными с мастер-слайдом или обычным слайдом в презентации.| -|Текстовые поля|Текстовые поля могут быть созданы с нуля. Вы можете получить доступ к существующим текстовым полям. Вы также можете изменять их текст, не теряя оригинальный формат текста.| -|Прямоугольные формы|Вы можете создавать или изменять прямоугольные формы с помощью Aspose.Slides для Python через .NET.| -|Полиформы|Вы можете создавать или изменять полиформы с помощью Aspose.Slides для Python через .NET.| -|Эллиптические формы|Вы можете создавать или изменять эллиптические формы с помощью Aspose.Slides для Python через .NET.| -|Группировка форм|Aspose.Slides для Python через .NET поддерживает групповые формы.| -|Автоформы|Aspose.Slides для Python через .NET поддерживает автоформы.| -|SmartArt|Aspose.Slides для Python через .NET предоставляет поддержку форм SmartArt в MS PowerPoint.| -|Диаграммы|Aspose.Slides для Python через .NET предоставляет поддержку MSO диаграмм в PowerPoint.| -|Сериализация форм|Aspose.Slides для Python через .NET поддерживает большое количество форм. Когда Aspose.Slides для Python через .NET не поддерживает форму, вы можете использовать метод сериализации, с помощью которого вы можете сериализовать эту форму из существующего слайда. Таким образом, вы сможете использовать форму дальше по своим требованиям.| -|Картинные рамки|Вы можете управлять изображениями в картинных рамках с помощью Aspose.Slides для Python через .NET.| -|Аудио рамки|Вы можете связать или встроить аудиофайлы в аудиорамки на слайдах с помощью Aspose.Slides для Python через .NET.| -|Видеорамки|Вы можете управлять видеофайлами в видеорамках. Aspose.Slides для Python через .NET также предоставляет поддержку связанных и встроенных видео.| -|OLE рамка|Вы можете управлять объектами OLE в OLE-рамках с помощью Aspose.Slides для Python через .NET.| -|Таблицы|Aspose.Slides для Python через .NET поддерживает таблицы на слайдах.| -|ActiveX элементы управления|Поддержка элементов управления ActiveX.| -|VBA макросы|Поддержка управления VBA макросами внутри презентаций.| -|Текстовый кадр|Вы получаете доступ к тексту с любым элементом через текстовый кадр, связанный с этим элементом.| -|Сканирование текста|Вы можете сканировать текст в презентации на уровне презентации или слайда с помощью встроенных методов сканирования.| -|Анимации|Вы можете применять анимации к формам.| -|Слайды показов|Aspose.Slides для Python через .NET поддерживает слайд-шоу и переходы слайдов.| - -## **Функции форматирования** -С помощью Aspose.Slides для Python через .NET вы можете форматировать тексты и формы на слайдах в презентациях. Ознакомьтесь с этими деталями: +|Master Slides|Мастер‑слайды определяют макет обычных слайдов. Aspose.Slides for Python via .NET позволяет получать доступ к мастер‑слайдам и изменять их.| +|Normal Slides|С помощью Aspose.Slides for Python via .NET можно создавать новые слайды разных типов; также можно получать доступ к существующим слайдам и изменять их.| +|Cloning / Copying Slides|В Aspose.Slides for Python via .NET есть встроенные методы, позволяющие клонировать или копировать существующие слайды внутри презентации. Клонированные и скопированные слайды можно использовать в другой презентации. Поскольку слайд наследует макет от мастер‑слайда, встроенные методы клонирования автоматически копируют мастер‑слайд.| +|Managing Slides sections|Методы для организации слайдов в разные разделы внутри презентации.| +|Place Holders and Text Holders|Можно получать доступ к плейсхолдерам и текстовым плейсхолдерам на слайде. Кроме того, можно создавать слайд с текстовыми плейсхолдерами с нуля, используя соответствующий метод.| +|Header and Footers|Aspose.Slides for Python via .NET упрощает работу с заголовками/нижними колонтитулами на слайдах.| +|Notes in Slides|С помощью Aspose.Slides for Python via .NET можно получать доступ к заметкам, связанным со слайдом, изменять их и добавлять новые заметки.| +|Finding a Shape|Можно также найти конкретную форму на слайде, используя альтернативный текст, связанный с этой формой.| +|Backgrounds|Aspose.Slides for Python via .NET позволяет работать с фонами, связанными с мастер‑слайдом или обычным слайдом презентации.| +|Text Boxes|Текстовые блоки можно создавать с нуля. Можно получать доступ к существующим текстовым блокам и изменять их текст, сохраняя исходный формат.| +|Rectangle Shapes|Можно создавать или изменять прямоугольные формы с помощью Aspose.Slides for Python via .NET.| +|Poly Line Shapes|Можно создавать или изменять полилинейные формы с помощью Aspose.Slides for Python via .NET.| +|Ellipse Shapes|Можно создавать или изменять эллиптические формы с помощью Aspose.Slides for Python via .NET.| +|Group Shapes|Aspose.Slides for Python via .NET поддерживает групповые формы.| +|Auto Shapes|Aspose.Slides for Python via .NET поддерживает автофигуры.| +|SmartArt|Aspose.Slides for Python via .NET предоставляет поддержку SmartArt‑форм в MS PowerPoint.| +|Charts|Aspose.Slides for Python via .NET предоставляет поддержку диаграмм MSO в PowerPoint.| +|Shapes Serialization|Aspose.Slides for Python via .NET поддерживает большое количество форм. Когда поддержка определённой формы отсутствует, можно воспользоваться методом сериализации, позволяющим сериализовать форму из существующего слайда и дальше использовать её по необходимости.| +|Picture Frames|Можно управлять изображениями в picture frames с помощью Aspose.Slides for Python via .NET.| +|Audio Frames|Можно привязывать или встраивать аудиофайлы в audio frames на слайдах с Aspose.Slides for Python via .NET.| +|Video Frames|Можно работать с видеофайлами в video frames. Aspose.Slides for Python via .NET также поддерживает привязанные и встроенные видео.| +|OLE Frame|Можно управлять OLE‑объектами в OLE frames с Aspose.Slides for Python via .NET.| +|Tables|Aspose.Slides for Python via .NET поддерживает таблицы на слайдах.| +|ActiveX Controls|Поддержка ActiveX‑элементов управления.| +|VBA Macros|Поддержка управления VBA‑макросами внутри презентаций.| +|Text Frame|Можно получить доступ к тексту любой формы через связанный с ней text frame.| +|Text Scanning|Можно сканировать текст в презентации на уровне всей презентации или отдельного слайда с помощью встроенных методов сканирования.| +|Animations|Можно применять анимацию к формам.| +|Slide Shows|Aspose.Slides for Python via .NET поддерживает слайд‑шоу и переходы между слайдами.| + +## **Форматирование** +С помощью Aspose.Slides for Python via .NET можно форматировать тексты и формы на слайдах презентаций. Подробности: |**Функция**|**Описание**| | :- | :- | -|Форматирование текста|

    В Aspose.Slides для Python через .NET вы можете управлять текстами через текстовые кадры, связанные с формами. Таким образом, вы можете форматировать тексты, используя абзацы и части, связанные с текстовыми кадрами. Эти текстовые элементы можно форматировать с помощью Aspose.Slides для Python через .NET.

    - Тип шрифта

    - Размер шрифта

    - Цвет шрифта

    - Оттенки шрифта

    - Выравнивание абзаца

    - Нумерация абзаца

    - Ориентация абзаца

    | -|Форматирование формы|

    В Aspose.Slides для Python через .NET основным элементом слайда является форма. Вы можете форматировать эти элементы формы с помощью Aspose.Slides для Python через .NET:

    - Позиция

    - Размер

    - Линия

    - Заливка (включая узор, градиент, сплошная)

    - Текст

    - Изображение

    | \ No newline at end of file +|Text Formatting|

    В Aspose.Slides for Python via .NET тексты управляются через text frames, связанные с формами. Поэтому можно форматировать тексты, используя абзацы и их части, связанные с text frames. Эти элементы текста можно форматировать с помощью Aspose.Slides for Python via .NET.

    - Тип шрифта

    - Размер шрифта

    - Цвет шрифта

    - Оттенки шрифта

    - Выравнивание абзаца

    - Маркировка абзаца

    - Ориентация абзаца

    | +|Shape Formatting|

    В Aspose.Slides for Python via .NET базовым элементом слайда является форма. Эти формы можно форматировать следующим образом:

    - Позиция

    - Размер

    - Контур

    - Заливка (включая шаблон, градиент, сплошную)

    - Текст

    - Изображение

    | + +## **FAQ** + +**Нужно ли устанавливать Microsoft PowerPoint на сервер/ПК для работы библиотеки?** + +Нет. PowerPoint не требуется; Aspose.Slides — самостоятельный движок для создания, редактирования, конвертации и рендеринга презентаций. + +**Как работает многопоточность? Можно ли распараллелить обработку?** + +Безопасно обрабатывать разные документы в разных потоках; один и тот же [presentation](/slides/ru/python-net/presentation/) объект не должен использоваться [множеством потоков](/slides/ru/python-net/multithreading/) одновременно. + +**Поддерживаются ли пароли и шифрование файлов?** + +Да. [Можно](/slides/ru/python-net/password-protected-presentation/) открывать зашифрованные презентации, задавать или удалять пароли для открытия и записи, а также проверять статус защиты. + +**Нужно ли заботиться о шрифтовых пакетах в Linux‑контейнерах?** + +Да. Рекомендуется установить общие шрифтовые пакеты и/или явно [указать каталоги шрифтов](/slides/ru/python-net/custom-font/) в приложении, чтобы избежать неожиданных замен. + +**Есть ли ограничения в оценочной версии?** + +В [режиме оценки](/slides/ru/python-net/licensing/) к выходным файлам добавляется водяной знак и применяются определённые ограничения; доступна [30‑дневная временная лицензия](https://purchase.aspose.com/temporary-license/) для полного тестирования всех функций. + +**Поддерживается ли импорт внешних форматов в презентацию (PDF/HTML → PPTX)?** + +Да. Можно добавлять [PDF‑страницы и HTML‑контент](/slides/ru/python-net/import-presentation/) в презентацию, превращая их в слайды. \ No newline at end of file diff --git a/ru/python-net/getting-started/metered-licensing/_index.md b/ru/python-net/getting-started/metered-licensing/_index.md index c275821ddc..3e34d3b106 100644 --- a/ru/python-net/getting-started/metered-licensing/_index.md +++ b/ru/python-net/getting-started/metered-licensing/_index.md @@ -1,66 +1,78 @@ --- -title: Лицензирование с оплатой по факту использования +title: Лицензирование по потреблению type: docs weight: 90 url: /ru/python-net/metered-licensing/ keywords: - лицензия -- лицензия с оплатой по факту использования -- лицензионные ключи -- открытый ключ -- закрытый ключ -- объем потребления +- лицензия с учётом потребления +- ключи лицензии +- публичный ключ +- приватный ключ +- количество потребления - Python - Aspose.Slides -description: "Узнайте, как лицензирование с оплатой по факту использования в Aspose.Slides for Python via .NET позволяет гибко обрабатывать файлы PowerPoint и OpenDocument, оплачивая только фактическое использование." +description: "Узнайте, как лицензирование с учётом потребления Aspose.Slides для Python через .NET позволяет гибко обрабатывать файлы PowerPoint и OpenDocument, оплачивая только фактическое использование." --- -{{% alert color="primary" %}} - -Лицензирование по замерам — это новый механизм лицензирования, который может использоваться наряду с существующими методами лицензирования. Если вы хотите, чтобы расчет стоимости происходил на основе вашего использования функций API Aspose.Slides, выбирайте лицензирование по замерам. +## **Применить метерные ключи** -Когда вы приобретаете лицензию по замерам, вы получаете ключи (а не файл лицензии). Этот ключ можно применить с помощью класса [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/), предоставленного Aspose для операций с замерами. Для получения более подробной информации смотрите [Часто задаваемые вопросы о лицензировании по замерам](https://purchase.aspose.com/faqs/licensing/metered). +{{% alert color="primary" %}} +Метрическое лицензирование — это новый механизм лицензирования, который может использоваться вместе с существующими методами лицензирования. Если вы хотите платить за использование функций API Aspose.Slides на основе потребления, выбирайте метрическое лицензирование. +При покупке метрической лицензии вы получаете ключи (а не файл лицензии). Этот метрический ключ можно применить с помощью класса [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) , предоставленного Aspose для операций измерения. Подробнее см. [Metered Licensing FAQ](https://purchase.aspose.com/faqs/licensing/metered). {{% /alert %}} 1. Создайте экземпляр класса [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). -1. Передайте ваши публичный и приватный ключи в метод `set_metered_key`. -1. Выполните некоторые операции (выполните задачи). -1. Вызовите метод `get_consumption_quantity()` класса Metered. - - Вы должны увидеть количество API-запросов, которые вы использовали до сих пор. +2. Передайте свои публичный и приватный ключи методу [set_metered_key](https://reference.aspose.com/slides/python-net/aspose.slides/metered/set_metered_key/#str-str). +3. Выполните некоторую обработку (выполните задачи). +4. Вызовите метод [get_consumption_quantity](https://reference.aspose.com/slides/python-net/aspose.slides/metered/get_consumption_quantity/#) класса `Metered`. -Этот код на Python показывает, как установить публичные и приватные ключи по замерам: +Вы должны увидеть количество запросов API, которые вы уже израсходовали. +Этот пример кода показывает, как использовать метрическое лицензирование: ```python import aspose.slides as slides -# Создает экземпляр класса CAD Metered +# Создает экземпляр класса Metered metered = slides.Metered() -# Получает свойство set_metered_key и передает публичный и приватный ключи в качестве параметров -metered.set_metered_key("*****", "*****") - -# Получает количество данных по замерам до вызова API -amountbefore = slides.metered.get_consumption_quantity() -# Отображает информацию -print("Потреблено до: " + str(amountbefore)) - -# Загружает документ с диска. -with slides.Presentation("Presentation.pptx") as pres: - # Получает количество слайдов в документе - print(len(pres.slides)) - # Сохраняет как PDF - pres.save("out_pdf.pdf", slides.export.SaveFormat.PDF) - -# Получает количество данных по замерам после вызова API -amountafter = slides.metered.get_consumption_quantity() -# Отображает информацию -print("Потреблено после: " + str(amountafter)) +# Передаёт публичный и приватный ключи объекту Metered +metered.set_metered_key("", "") + +# Получает значение потреблённого количества до вызовов API +amount_before = slides.Metered.get_consumption_quantity() +print("Amount consumed before:", amount_before) + +# Выполните какие‑нибудь действия с API Aspose.Slides здесь +# ... + +# Получает значение потреблённого количества после вызовов API +amount_after = slides.Metered.get_consumption_quantity() +print("Amount consumed after:", amount_after) ``` -{{% alert color="warning" title="ПРИМЕЧАНИЕ" %}} -Для использования лицензирования по замерам вам необходима стабильная интернет-связь, потому что механизм лицензирования использует интернет для постоянного взаимодействия с нашими службами и выполнения расчетов. +{{% alert color="warning" title="NOTE" %}} +Для использования метрического лицензирования необходим стабильный интернет, поскольку механизм лицензирования постоянно взаимодействует с нашими сервисами через интернет и выполняет расчёты. +{{% /alert %}} + +## **FAQ** + +**Могу ли я использовать метрическую лицензию вместе с обычной (постоянной или временной) в одном приложении?** +Да. Metered — дополнительный механизм лицензирования, который может использоваться вместе с существующими [licensing methods](/slides/ru/python-net/licensing/). Вы выбираете, какой механизм применять при запуске приложения. + +**Что именно считается потреблением по метрической лицензии: операции или файлы?** +Подсчитывается использование API, то есть количество запросов или операций. Текущее потребление можно получить через [consumption-tracking methods](https://reference.aspose.com/slides/python-net/aspose.slides/metered/). + +**Подходит ли метрическое лицензирование для микросервисов и безсерверных сред, где экземпляры часто перезапускаются?** +Да. Поскольку учёт ведётся на уровне вызовов API, сценарии с частыми холодными запусками совместимы, при условии стабильного сетевого доступа для метрических расчётов. + +**Отличается ли функциональность библиотеки при использовании метрической лицензии от постоянной лицензии?** +Нет. Это касается только механизма лицензирования и биллинга; возможности продукта остаются теми же. + +**Как метрическое лицензирование соотносится с пробной версией и временной лицензией?** +Пробная версия имеет ограничения и водяные знаки, [temporary license](https://purchase.aspose.com/temporary-license/) снимает ограничения на 30 дней, а метрическое лицензирование устраняет ограничения и взимает плату на основе фактического использования. -{{% /alert %}} \ No newline at end of file +**Могу ли я контролировать бюджет, автоматически реагируя при превышении порога потребления?** +Да. Распространённый подход — периодически считывать текущее потребление через [tracking methods](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) и реализовать собственные лимиты или оповещения на уровне приложения или мониторинга. \ No newline at end of file diff --git a/ru/python-net/getting-started/system-requirements/_index.md b/ru/python-net/getting-started/system-requirements/_index.md index d213a43d5f..51a57353f3 100644 --- a/ru/python-net/getting-started/system-requirements/_index.md +++ b/ru/python-net/getting-started/system-requirements/_index.md @@ -1,5 +1,5 @@ --- -title: Системные требования +title: "Системные требования" type: docs weight: 60 url: /ru/python-net/system-requirements/ @@ -16,14 +16,16 @@ keywords: - презентация - Python - Aspose.Slides -description: "Узнайте о системных требованиях Aspose.Slides for Python via .NET. Обеспечьте беспроблемную поддержку PowerPoint и OpenDocument на Windows, Linux и macOS." +description: "Узнайте о системных требованиях Aspose.Slides for Python via .NET. Обеспечьте бесшовную поддержку PowerPoint и OpenDocument на Windows, Linux и macOS." --- -Aspose.Slides для Python через .NET не требует установки каких-либо сторонних продуктов, таких как Microsoft PowerPoint. Aspose.Slides сам по себе является движком для создания, модификации, преобразования и отображения документов в различных форматах, включая форматы презентаций Microsoft PowerPoint. +## **Введение** -## Поддерживаемые операционные системы +Aspose.Slides for Python via .NET не требует установки каких-либо сторонних продуктов, таких как Microsoft PowerPoint. Aspose.Slides — это движок для создания, изменения, конвертации и рендеринга документов в различных форматах, включая форматы презентаций Microsoft PowerPoint. -Aspose.Slides для Python через .NET поддерживает 64-битные и 32-битные версии Windows, macOS, Linux, на которых установлена Python версии 3.5 или новее. +## **Поддерживаемые операционные системы** + +Aspose.Slides for Python поддерживает Windows (32‑bit и 64‑bit), macOS и 64‑bit Linux на системах с установленным Python 3.5 или более новым. @@ -70,10 +72,24 @@ Aspose.Slides для Python через .NET поддерживает 64-битн
    -## Системные требования для целевых платформ Linux и macOS +## **Системные требования для целевых платформ Linux и macOS** + +- Библиотеки выполнения GCC 6 (или новее). +- [libgdiplus](https://github.com/mono/libgdiplus), открытая реализация API GDI+. +- Зависимости среды выполнения .NET Core. Установка самой среды выполнения .NET Core НЕ требуется. +- Для Python 3.5–3.7 требуется сборка Python с `pymalloc`. Параметр сборки `--with-pymalloc` включён по умолчанию. Обычно такая сборка помечается суффиксом `m` в имени файла. +- Общая библиотека `libpython`. Параметр сборки Python `--enable-shared` отключён по умолчанию, и некоторые дистрибутивы Python не включают `libpython`. На некоторых платформах Linux её можно установить через менеджер пакетов (например, `sudo apt-get install libpython3.7`). Частая проблема — установка `libpython` в нестандартное место для совместных библиотек. Это можно решить, указав альтернативные пути к библиотекам при сборке Python или создав символическую ссылку на файл `libpython` в стандартном каталоге совместных библиотек. Как правило, имя файла выглядит как `libpythonX.Ym.so.1.0` для Python 3.5–3.7 или `libpythonX.Y.so.1.0` для Python 3.8 и новее (например, `libpython3.7m.so.1.0`, `libpython3.9.so.1.0`). + +## **FAQ** + +**Нужен ли установленный Microsoft PowerPoint для конвертации и рендеринга?** + +Нет, PowerPoint не требуется; Aspose.Slides — автономный движок для [creating](/slides/ru/python-net/create-presentation/), изменения, [converting](/slides/ru/python-net/convert-presentation/) и [rendering](/slides/ru/python-net/convert-powerpoint-to-png/) презентаций. + +**Требуется ли конкретная версия .NET (Core/5+/6+) на машине?** + +Установка среды выполнения .NET не обязательна, но её зависимости должны присутствовать на Linux/macOS. Это означает, что система должна содержать пакеты, обычно устанавливаемые как зависимости .NET, без полной установки среды выполнения. + +**Какие шрифты необходимы для корректного рендеринга?** -- Библиотеки времени выполнения GCC-6 (или новее). -- [`libgdiplus`](https://github.com/mono/libgdiplus): открытая реализация API GDI+. -- Зависимости .NET Core Runtime. Установка самого .NET Core Runtime НЕ требуется. -- Для Python 3.5-3.7: необходима сборка Python с `pymalloc`. Опция сборки Python `--with-pymalloc` включена по умолчанию. Обычно сборка Python с `pymalloc` помечена суффиксом `m` в имени файла. -- Общая библиотека Python `libpython`. Опция сборки Python `--enable-shared` отключена по умолчанию, некоторые дистрибутивы Python не содержат общую библиотеку `libpython`. Для некоторых платформ Linux общую библиотеку `libpython` можно установить с помощью менеджера пакетов, например: `sudo apt-get install libpython3.7`. Распространенная проблема заключается в том, что библиотека `libpython` установлена в другом месте, чем стандартное системное местоположение для общих библиотек. Проблему можно решить, используя опции сборки Python для установки альтернативных путей библиотек при компиляции Python, или создать символическую ссылку на файл библиотеки `libpython` в стандартном местоположении системы для общих библиотек. Обычно имя файла общей библиотеки `libpython` - `libpythonX.Ym.so.1.0` для Python 3.5-3.7, или `libpythonX.Y.so.1.0` для Python 3.8 и новее (например: libpython3.7m.so.1.0, libpython3.9.so.1.0). +На практике должны быть доступны шрифты, использованные в презентации, или подходящие [substitutes](/slides/ru/python-net/font-substitution/). Чтобы обеспечить согласованный рендеринг на Linux/macOS, рекомендуется установить общие пакеты шрифтов. \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/_index.md index 94968b2cd0..05e837b0de 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,43 +1,112 @@ --- -title: 转换演示文稿 +title: 在 Python 中将演示文稿转换为多种格式 +linktitle: 转换演示文稿 type: docs weight: 70 url: /zh/python-net/convert-presentation/ +keywords: +- 转换演示文稿 +- 导出演示文稿 +- PPT 转 PPTX +- PPT 转 PDF +- PPTX 转 PDF +- PPT 转 XPS +- PPTX 转 XPS +- PPT 转 TIFF +- PPTX 转 TIFF +- PowerPoint +- OpenDocument +- Python +- Aspose.Slides +description: "使用 Aspose.Slides for Python via .NET 将 PowerPoint 和 OpenDocument 演示文稿转换为 PPTX、PDF、XPS、TIFF 等格式。简单且高质量的转换。" --- -## **PPT 到 PPTX 转换** -### **关于 PPT 到 PPTX 转换** -Aspose.Slides 现在支持将 PPT 转换为 PPTX。 -### **使用 Aspose.Slides 将 PPT 转换为 PPTX** -Aspose.Slides for Python via .NET 提供对将 PPT 文档文件格式演示文稿转换为 PPTX 文件格式演示文稿的部分支持。由于上述演示文稿转换功能刚刚在 Aspose.Slides for Python via .NET 中引入,因此目前它的能力有限,只能处理简单形式的演示文稿。Aspose.Slides for Python via .NET API 库在将 PPT 演示文稿转换为 PPTX 格式演示文稿时,提供的主要优势是使用 API 实现目标的便利性。请访问此 [link](/slides/zh/python-net/convert-presentation/) 以获取代码片段部分的更多详细信息。以下部分清楚地说明了在将 PPT 格式演示文稿转换为 PPTX 格式演示文稿时支持和不支持的功能。 -{{% alert color="primary" %}} -阅读更多 [**如何将 PPT 转换为 PPTX**](/slides/zh/python-net/convert-ppt-to-pptx/)。 +## **简介** + +本页概述了使用 Aspose.Slides for Python via .NET 进行演示文稿转换的情况。它总结了支持的场景,并指向了展示具体代码的专题指南,帮助将演示文稿和幻灯片导出为 PDF、XPS、TIFF 等格式,以及在 PPT 与 PPTX 之间进行转换。相关链接的文章会强调特定格式的选项——例如渲染备注或调节图像质量——以及已知的限制,如 PPT→PPTX 路径的部分支持。请使用本页选择目标格式,然后按照链接中的示例操作。 + +## **PPT 转 PPTX 转换** + +### **关于 PPT/PPTX** + +PPT 是较早的二进制 PowerPoint 格式(97–2003),而 PPTX 是在 PowerPoint 2007 中引入的基于 ZIP 的 Open XML 格式。相比 PPT,PPTX 通常生成更小的文件,支持现代特性,适合文档自动化,并且推荐用于长期存储和跨平台工作流。 + +### **将 PPT 转换为 PPTX** + +Aspose.Slides 支持将 PPT 演示文稿转换为 PPTX 格式。使用 Aspose.Slides API 完成此任务的关键优势在于工作流十分简洁。实际操作中,您只需少量代码即可完成转换,同时保持幻灯片、布局和媒体的高保真度。 + +{{% alert color="primary" %}} +阅读更多: [在 Python 中将 PPT 转换为 PPTX](/slides/zh/python-net/convert-ppt-to-pptx/). {{% /alert %}} -## **演示文稿到 PDF 转换** + +## **演示文稿转 PDF 转换** + ### **关于 PDF** -[可移植文档格式](https://en.wikipedia.org/wiki/PDF) 是由 Adobe 系统创建的一种文件格式,用于在不同组织之间交换文档。此格式的目的是使得文档内容可以以一种方式表示,以便其视觉外观不依赖于查看文档的平台。 -### **Aspose.Slides for Python via .NET 中的 PDF** -[PDF](https://docs.fileformat.com/pdf/) 是由 Adobe 系统创建的一种文件格式,用于在不同组织之间交换文档。此格式的目的是确保文档内容的视觉外观不依赖于查看文档的平台。 -可以加载到 Aspose.Slides for Python via .NET 的任何演示文稿文档都可以转换为 PDF 文档。您只需使用 Aspose.Slides for Python via .NET 组件即可直接将演示文稿文档导出为 PDF。您无需其他第三方库或 Aspose.PDF 组件。 +[Portable Document Format](https://en.wikipedia.org/wiki/PDF)(PDF)是 Adobe Systems 创建的文件格式,用于在组织之间交换文档。其目的是确保文档内容在任何平台上显示时具有相同的视觉效果。 + +### **将演示文稿转换为 PDF** -{{% alert color="primary" %}} -阅读更多 [**如何将演示文稿转换为 PDF**](/slides/zh/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)。 +任何可以在 Aspose.Slides 中加载的演示文稿都可以转换为 PDF 文档。您可以直接使用 Aspose.Slides 组件将演示文稿导出为 PDF;无需第三方库或 Aspose.PDF 组件。 + +{{% alert color="primary" %}} +阅读更多: [在 Python 中将 PPT 与 PPTX 转换为 PDF](/slides/zh/python-net/convert-powerpoint-to-pdf/). {{% /alert %}} -## **演示文稿到 XPS 转换** +## **演示文稿转 XPS 转换** + ### **关于 XPS** -[XML 解析器规范](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) 是一种页面描述语言和固定文档格式,最初由 Microsoft 开发。与 PDF 类似,XPS 是一种固定布局文档格式,旨在保留文档的保真性并提供设备无关的文档外观。 -### **使用 Aspose.Slides 将演示文稿转换为 XPS** -可以由 Aspose.Slides for Python via .NET 加载的任何演示文稿文档都可以转换为 XPS 格式。Aspose.Slides for Python via .NET 使用高保真的页面布局和渲染引擎,生成固定布局的 XPS 文档格式。值得一提的是,Aspose.Slides for Python via .NET 直接生成 XPS,而不依赖于与 .NET Framework 3.5 一起打包的 Windows Presentation Foundation (WPF) 类,因此允许 Aspose.Slides for Python via .NET 在运行早于 3.5 版本的 .NET Framework 的机器上生成 XPS 文档。您可以在 [this topic](/slides/zh/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)中了解如何通过 Aspose.Slides for Python via .NET 导出演示文稿文档为 XPS 文档。 -{{% alert color="primary" %}} -阅读更多 [**如何将演示文稿转换为 XPS**](/slides/zh/python-net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)。 + +[XML Paper Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification)(XPS)是一种页面描述语言和固定文档格式,最初由 Microsoft 开发。与 PDF 类似,XPS 是一种固定布局文档格式,旨在保留文档的真实性并提供设备无关的外观。 + +### **将演示文稿转换为 XPS** + +任何可以在 Aspose.Slides 中加载的演示文稿都可以转换为 XPS 格式。Aspose.Slides 使用高保真度的页面布局和渲染引擎生成固定布局的 XPS 输出。值得注意的是,Aspose.Slides 直接生成 XPS,无需依赖 Windows Presentation Foundation(WPF)。 + +{{% alert color="primary" %}} +阅读更多: [在 Python 中将 PowerPoint 演示文稿转换为 XPS](/slides/zh/python-net/convert-powerpoint-to-xps/). {{% /alert %}} -## **演示文稿到 TIFF 转换** + +## **演示文稿转 TIFF 转换** + ### **关于 TIFF** -[标记图像文件格式](https://en.wikipedia.org/wiki/TIFF) 以存储多个图像于一个文档而闻名,最初由 Aldus 创建。此格式被广泛支持于扫描、传真和其他图像处理应用程序。 -### **使用 Aspose.Slides 将演示文稿转换为 TIFF** -可以在 Aspose.Slide for .NET 中加载的任何文档也可以通过 Aspose.Slides for Python via .NET 直接转换为 TIFF 文档,消除了对任何第三方组件的需求。此外,您可以选择性地定义生成的 TIFF 文档中图像的大小。您可以在 [this topic](/slides/zh/python-net/convert-powerpoint-ppt-and-pptx-to-tiff/)中找到有关如何通过 Aspose.Slides for Python via .NET 导出演示文稿文档为 TIFF 文档的信息。 -{{% alert color="primary" %}} -阅读更多 [**如何将演示文稿转换为 TIFF**](/slides/zh/python-net/convert-powerpoint-to-tiff/)。 -{{% /alert %}} \ No newline at end of file + +[Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF)(TIFF)是一种光栅图像格式,以在单个文件中存储多张图像(页)而闻名。最初由 Aldus 开发,广泛用于扫描、传真和其他图像处理应用。 + +### **将演示文稿转换为 TIFF** + +任何可以在 Aspose.Slides 中加载的文档也可以直接转换为 TIFF 文件,无需任何第三方组件。您还可以选择为生成的 TIFF 中的页面指定图像大小。 + +{{% alert color="primary" %}} +阅读更多: [在 Python 中将 PowerPoint 演示文稿转换为 TIFF](/slides/zh/python-net/convert-powerpoint-to-tiff/). +{{% /alert %}} + +## **FAQ** + +**导出为 PDF/XPS 时可以包含隐藏幻灯片吗?** + +可以。导出时可通过相应的选项在 [PDF](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/show_hidden_slides/)/[XPS](https://reference.aspose.com/slides/python-net/aspose.slides.export/xpsoptions/show_hidden_slides/) 设置中包含隐藏幻灯片。 + +**是否支持保存为 PDF/A 格式(用于归档存储)?** + +支持,导出时可使用 [PDF/A 合规级别](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfcompliance/)(包括 A-2a/A-2b/A-2u 以及 A-3a/A-3b)。 + +**转换过程中字体会怎样处理:嵌入还是替换?** + +提供灵活选项:您可以 [/slides/python-net/embedded-font/](/slides/zh/python-net/embedded-font/) 中“嵌入所有字形或仅使用子集”、指定 [/slides/python-net/fallback-font/](/slides/zh/python-net/fallback-font/) 作为回退字体,或在 [/slides/python-net/font-substitution/](/slides/zh/python-net/font-substitution/) 中控制字体缺少某些样式时的行为。 + +**如何控制生成的 PDF 的质量和大小?** + +可设置 [JPEG 质量](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/jpeg_quality/)、[文本压缩](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/text_compression/)、以及图像的 [足够分辨率](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/sufficient_resolution/) 阈值,还可以使用选择 [最佳图片压缩比率](https://reference.aspose.com/slides/python-net/aspose.slides.export/pdfoptions/best_images_compression_ratio/) 的模式。 + +**可以只导出特定范围的幻灯片吗(例如 5–12)?** + +可以,导出时支持选择幻灯片子集。 + +**是否支持同时对多个文件进行多核处理?** + +可以在不同进程中并行处理不同的演示文稿。重要提示:同一个 [/slides/python-net/aspose.slides/presentation/](/slides/zh/python-net/aspose.slides/presentation/) 对象不能在 [多个线程](/slides/zh/python-net/multithreading/) 中同时加载或保存。 + +**在不同线程中应用许可证会有风险吗?** + +会的,[/slides/python-net/licensing/](/slides/zh/python-net/licensing/) 的许可证设置调用不是线程安全的,需要进行同步。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 9935f2e584..457057100d 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -15,8 +15,8 @@ keywords: - 转换 ODP - PowerPoint 转 GIF - OpenDocument 转 GIF -- 演示文稿 转 GIF -- 幻灯片 转 GIF +- 演示文稿转 GIF +- 幻灯片转 GIF - PPT 转 GIF - PPTX 转 GIF - ODP 转 GIF @@ -24,13 +24,12 @@ keywords: - 自定义设置 - Python - Aspose.Slides -description: "使用适用于 .NET 的 Aspose.Slides for Python,轻松将 PowerPoint 演示文稿(PPT、PPTX)和 OpenDocument 文件(ODP)转换为动画 GIF,快速获得高质量结果。" +description: "使用 Aspose.Slides for Python 轻松将 PowerPoint 演示文稿(PPT、PPTX)和 OpenDocument 文件(ODP)转换为动画 GIF。快速且高质量的结果。" --- -## 使用默认设置将演示文稿转换为动画 GIF ## - -以下 Python 示例代码展示了如何使用标准设置将演示文稿转换为动画 GIF: +## **使用默认设置将演示文稿转换为动画 GIF** +此 Python 示例代码展示了如何使用标准设置将演示文稿转换为动画 GIF: ```py import aspose.slides as slides @@ -38,17 +37,16 @@ pres = slides.Presentation(path + "pres.pptx") pres.save("pres.gif", slides.export.SaveFormat.GIF) ``` -将使用默认参数创建动画 GIF。 - -{{% alert title="提示" color="primary" %}} -如果您希望自定义 GIF 的参数,可以使用 [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/) 类。请参阅下面的示例代码。 +动画 GIF 将使用默认参数创建。 +{{% alert title="TIP" color="primary" %}} +如果您想自定义 GIF 的参数,可以使用 [GifOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/gifoptions/) 类。请参阅下面的示例代码。 {{% /alert %}} -## 使用自定义设置将演示文稿转换为动画 GIF ## -以下示例代码展示了如何在 Python 中使用自定义设置将演示文稿转换为动画 GIF: +## **使用自定义设置将演示文稿转换为动画 GIF** +此示例代码展示了如何在 Python 中使用自定义设置将演示文稿转换为动画 GIF: ```py import aspose.slides as slides import aspose.pydrawing as drawing @@ -56,15 +54,24 @@ import aspose.pydrawing as drawing pres = slides.Presentation(path + "pres.pptx") options = slides.export.GifOptions() -options.frame_size = drawing.Size(960, 720) # 结果 GIF 的大小 -options.default_delay = 2000 # 每张幻灯片显示的时间,直到更改为下一张 -options.transition_fps = 35 # 增加帧率以提高过渡动画质量 +options.frame_size = drawing.Size(960, 720) # 生成的 GIF 的尺寸 +options.default_delay = 2000 # 每张幻灯片显示的时长,直到切换到下一张 +options.transition_fps = 35 # 提高 FPS 以获得更好的过渡动画质量 pres.save("pres.gif", slides.export.SaveFormat.GIF, options) ``` -{{% alert title="信息" color="info" %}} -您可能想查看 Aspose 开发的免费 [文本转 GIF](https://products.aspose.app/slides/text-to-gif) 转换器。 +{{% alert title="Info" color="info" %}} +您可能想了解由 Aspose 开发的免费 [Text to GIF](https://products.aspose.app/slides/text-to-gif) 转换器。 +{{% /alert %}} + +## **常见问题** + +**如果演示文稿中使用的字体未在系统上安装怎么办?** + +安装缺失的字体或[配置回退字体](/slides/zh/python-net/powerpoint-fonts/)。Aspose.Slides 会进行替代,但外观可能会有所不同。出于品牌考虑,请始终确保所需字体明确可用。 + +**我可以在 GIF 帧上覆盖水印吗?** -{{% /alert %}} \ No newline at end of file +可以。[在导出前向母版幻灯片或单个幻灯片添加半透明对象/徽标](/slides/zh/python-net/watermark/) — 水印会出现在每一帧中。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index fb9683d67f..607c6078d6 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,26 +1,84 @@ --- -title: 将 PowerPoint 转换为带备注的 TIFF +title: 将 PowerPoint 演示文稿转换为带备注的 TIFF(Python) +linktitle: PowerPoint 转 TIFF 带备注 type: docs weight: 100 url: /zh/python-net/convert-powerpoint-to-tiff-with-notes/ -keywords: "将 PowerPoint 转换为带备注的 TIFF" -description: "在 Aspose.Slides 中将 PowerPoint 转换为带备注的 TIFF。" +keywords: +- 转换 PowerPoint +- 转换 演示文稿 +- 转换 幻灯片 +- 转换 PPT +- 转换 PPTX +- PowerPoint 转 TIFF +- 演示文稿 转 TIFF +- 幻灯片 转 TIFF +- PPT 转 TIFF +- PPTX 转 TIFF +- 带备注的 PowerPoint +- 带备注的 演示文稿 +- 带备注的 幻灯片 +- 带备注的 PPT +- 带备注的 PPTX +- 带备注的 TIFF +- Python +- Aspose.Slides +description: "使用 Aspose.Slides for Python via .NET 将 PowerPoint 演示文稿转换为带备注的 TIFF。了解如何高效导出带演讲者备注的幻灯片。" --- -{{% alert title="提示" color="primary" %}} +## **概述** -您可能想查看 Aspose 的 [免费 PowerPoint 转海报转换器](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)。 +Aspose.Slides for Python via .NET 提供了一种简便的解决方案,可将带有备注的 PowerPoint 和 OpenDocument 演示文稿(PPT、PPTX 和 ODP)转换为 TIFF 格式。该格式广泛用于高质量图像存储、打印和文档归档。使用 Aspose.Slides,您不仅可以导出包含演讲者备注的完整演示文稿,还可以在备注幻灯片视图中生成幻灯片缩略图。转换过程简单高效,利用 `save` 方法的 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类将整个演示文稿转换为一系列 TIFF 图像,同时保留备注和布局。 -{{% /alert %}} +## **将演示文稿转换为带备注的 TIFF** + +使用 Aspose.Slides for Python via .NET 将 PowerPoint 或 OpenDocument 演示文稿保存为带备注的 TIFF,需按照以下步骤操作: + +1. 实例化 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类:加载 PowerPoint 或 OpenDocument 文件。 +1. 配置输出布局选项:使用 [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/notescommentslayoutingoptions/) 类指定备注和评论的显示方式。 +1. 将演示文稿保存为 TIFF:将配置好的选项传递给 [save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/save/#str-asposeslidesexportsaveformat-asposeslidesexportisaveoptions) 方法。 + +假设我们有一个 “speaker_notes.pptx” 文件,其中包含以下幻灯片: -TIFF 是 Aspose.Slides for Python via .NET 支持将带备注的 PowerPoint PPT 和 PPTX 演示文稿转换为图像的几种广泛使用的图像格式之一。您还可以在备注幻灯片视图中生成幻灯片缩略图。Presentation 类公开的 [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 方法可以用于将整个演示文稿在备注幻灯片视图中转换为 TIFF。使用 Aspose.Slides for Python via .NET 将 Microsoft PowerPoint 演示文稿保存为 TIFF 备注的过程只需两行代码。您只需打开演示文稿并将其保存为 TIFF 备注。您还可以为单个幻灯片在备注幻灯片视图中生成幻灯片缩略图。下面的代码片段将示例演示文稿更新为备注幻灯片视图中的 TIFF 图像,如下所示: +![带有演讲者备注的演示文稿幻灯片](slide_with_notes.png) +下面的代码片段演示了如何使用 [slides_layout_options](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) 属性将演示文稿转换为备注幻灯片视图下的 TIFF 图像。 ```py -import aspose.slides as slides +# 实例化表示演示文件的 Presentation 类。 +with slides.Presentation("speaker_notes.pptx") as presentation: + + notes_options = slides.export.NotesCommentsLayoutingOptions() + notes_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL # 在幻灯片下方显示备注。 + + # 配置带备注布局的 TIFF 选项。 + tiff_options = slides.export.TiffOptions() + tiff_options.dpi_x = 300 + tiff_options.dpi_y = 300 + tiff_options.slides_layout_options = notes_options + + # 将演示文稿保存为带有演讲者备注的 TIFF。 + presentation.save("TIFF_with_notes.tiff", slides.export.SaveFormat.TIFF, tiff_options) +``` + + +结果: + +![带有演讲者备注的 TIFF 图像](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +查看 Aspose [免费 PowerPoint 转海报转换器](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)。 +{{% /alert %}} + +## **常见问题** + +**是否可以控制生成的 TIFF 中备注区域的位置?** + +是。使用 [notes layout settings](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/slides_layout_options/) 可以在 `NONE`、`BOTTOM_TRUNCATED` 或 `BOTTOM_FULL` 等选项中进行选择,分别对应隐藏备注、将备注压缩到单页以及允许备注在多页之间流动。 + +**如何在不明显降低质量的情况下减小带备注的 TIFF 文件尺寸?** + +选择一种 [efficient compression](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/compression_type/)(例如 `LZW` 或 `RLE`),设置合适的 DPI;如果可以接受,使用更低的 [pixel format](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/pixel_format/)(如 8 bpp 或单色的 1 bpp)。适度降低 [image dimensions](https://reference.aspose.com/slides/python-net/aspose.slides.export/tiffoptions/image_size/) 也有助于减小文件大小,同时不明显影响可读性。 -# 实例化一个 Presentation 对象,表示一个演示文稿文件 -presentation = slides.Presentation("pres.pptx") +**如果系统缺少原始字体,备注中的字体会影响结果吗?** -# 将演示文稿保存为 TIFF 备注 -presentation.save("Notes_In_Tiff_out.tiff", slides.export.SaveFormat.TIFF) -``` \ No newline at end of file +会。缺失的字体会触发 [substitution](/slides/zh/python-net/font-selection-sequence/),从而改变文本度量和外观。为避免此问题,请 [supply the required fonts](/slides/zh/python-net/custom-font/) 或设置默认的 [fallback font](/slides/zh/python-net/fallback-font/),以确保使用预期的字体。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 316ddb7429..2785a06bd3 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,13 +1,13 @@ --- -title: 理解区别:PPT vs PPTX -linktitle: PPT vs PPTX +title: "了解区别:PPT vs PPTX" +linktitle: "PPT vs PPTX" type: docs weight: 10 url: /zh/python-net/ppt-vs-pptx/ keywords: -- PPT 与 PPTX +- PPT vs PPTX - PPT 或 PPTX -- 传统格式 +- 旧版格式 - 现代格式 - 二进制格式 - 现代标准 @@ -15,38 +15,54 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "比较 PPT 与 PPTX 格式,使用 Aspose.Slides Python 探索格式差异、优点、兼容性及转换技巧。" +description: "比较 PowerPoint 的 PPT 与 PPTX,使用 Aspose.Slides Python via .NET,探讨格式差异、优势、兼容性以及转换技巧。" --- -## **什么是 PPT?** -[**PPT**](https://docs.fileformat.com/presentation/ppt/) 是一种二进制文件格式,即没有特殊工具无法查看其内容。第一版 PowerPoint 97-2003 版本使用 PPT 文件格式,但其可扩展性有限。 +## **什么是 PPT?** +[**PPT**](https://docs.fileformat.com/presentation/ppt/) 是一种二进制文件格式,即没有专用工具无法查看其内容。首个 PowerPoint 97-2003 版本使用 PPT 文件格式,但其可扩展性有限。 -## **什么是 PPTX?** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/) 是一种基于 Office Open XML (ISO 29500:2008-2016, ECMA-376) 标准的新演示文件格式。PPTX 是一组归档的 XML 和媒体文件。PPTX 格式易于扩展。例如,支持新增图表类型或形状类型很简单,而无需在每个新 PowerPoint 版本中更改 PPTX 格式。PPTX 格式自 PowerPoint 2007 开始使用。 +## **什么是 PPTX?** +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) 是一种基于 Office Open XML(ISO 29500:2008-2016,ECMA-376)标准的新演示文稿文件格式。PPTX 是一组已归档的 XML 和媒体文件。PPTX 格式易于扩展。例如,可以轻松添加对新图表类型或形状类型的支持,而无需在每个新 PowerPoint 版本中更改 PPTX 格式。PPTX 格式自 PowerPoint 2007 起使用。 ## **PPT 与 PPTX** -尽管 PPTX 提供了更广泛的功能,但 PPT 仍然相当受欢迎。从 PPT 转换到 PPTX 以及反向转换的需求非常高。 +虽然 PPTX 提供了更广泛的功能,但 PPT 仍然相当流行。对 PPT 与 PPTX 之间相互转换的需求非常高。 -然而,旧的 PPT 和新的 PPTX 格式之间的转换是其他 Microsoft Office 格式中最复杂的挑战。尽管 PPT 格式的规格是开放的,但与它一起工作是困难的。PowerPoint 可以在 PPT 文件中创建特殊部分(MetroBlob)来存储 PPTX 中不受 PPT 格式支持的信息,并且无法在旧的 PowerPoint 版本中显示。这些信息可以在将 PPT 文件加载到现代 PowerPoint 版本或转换为 PPTX 格式时恢复。 +然而,在旧 PPT 与新 PPTX 格式之间的转换是所有 Microsoft Office 格式中最复杂的挑战。尽管 PPT 格式的规范是公开的,但使用起来仍然困难。PowerPoint 可以在 PPT 文件中创建特殊部分(MetroBlob)来存储 PPTX 中不受 PPT 格式支持且旧版本 PowerPoint 无法显示的信息。这些信息可以在使用现代 PowerPoint 版本打开 PPT 文件或转换为 PPTX 格式时恢复。 -Aspose.Slides 提供了一个通用接口,可以处理所有演示格式。它允许以非常简单的方式从 PPT 转换为 PPTX 和从 PPTX 转换为 PPT。Aspose.Slides 完全支持从 PPT 到 PPTX 的转换,并且也支持从 PPTX 到 PPT 的转换,尽管存在一些限制。我们建议在可能的情况下使用 PPTX 格式。 +Aspose.Slides 提供了一个通用接口来处理所有演示文稿格式。它可以非常简单地实现 PPT 到 PPTX 以及 PPTX 到 PPT 的转换。Aspose.Slides 完全支持从 PPT 转换为 PPTX,并在一定限制下支持从 PPTX 转换为 PPT。我们建议在可能的情况下使用 PPTX 格式。 {{% alert color="primary" %}} - -使用在线 [**Aspose.Slides 转换应用**](https://products.aspose.app/slides/conversion/) 检查 PPT 到 PPTX 和 PPTX 到 PPT 转换的质量。 - +使用在线 [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/) 检查 PPT 到 PPTX 和 PPTX 到 PPT 转换的质量。 {{% /alert %}} - ```py import aspose.slides as slides -# 实例化表示 PPTX 文件的 Presentation 对象 +# 实例化一个表示 PPTX 文件的 Presentation 对象 pres = slides.Presentation("PPTtoPPTX.ppt") # 将 PPTX 演示文稿保存为 PPTX 格式 pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -阅读更多 [**如何将演示文稿从 PPT 转换为 PPTX**.](/slides/zh/python-net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +阅读更多 [**如何将演示文稿从 PPT 转换为 PPTX**](/slides/zh/python-net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **常见问题** + +**如果旧的 PPT 演示文稿能够正常打开,仍然保留它们还有意义吗?** + +如果演示文稿可以可靠打开且不需要协作或新功能,您可以保持 PPT 格式。但为了未来的兼容性和可扩展性,最好 [convert to PPTX](/slides/zh/python-net/convert-ppt-to-pptx/):该格式基于开放的 OOXML 标准,且更易被现代工具支持。 + +**如何决定哪些文件应优先转换为 PPTX?** + +首先转换以下演示文稿:由多人编辑的;包含复杂的 [charts](/slides/zh/python-net/create-chart/)/[shapes](/slides/zh/python-net/shape-manipulations/);用于外部沟通的;或在 [opened](/slides/zh/python-net/open-presentation/) 时触发警告的。 + +**在 PPT 与 PPTX 之间来回转换时,密码保护会被保留吗?** + +只有在使用正确的转换工具并且该工具支持加密时,密码才会被保留。更可靠的做法是先 [remove protection](/slides/zh/python-net/password-protected-presentation/),然后 [convert](/slides/zh/python-net/convert-ppt-to-pptx/),最后根据安全策略重新应用保护。 + +**为什么在将 PPTX 转回 PPT 时,有些效果会消失或被简化?** + +因为 PPT 不支持某些新版对象/属性。PowerPoint 和相关工具可以在特殊块中存储这些信息的“痕迹”以便后续恢复,但旧版本的 PowerPoint 无法渲染它们。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index c0b831ee1e..e9414190aa 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,17 +1,17 @@ --- title: 在 Python 中将演示文稿幻灯片渲染为 SVG 图像 -linktitle: 幻灯片转SVG +linktitle: 幻灯片转 SVG type: docs weight: 50 url: /zh/python-net/render-a-slide-as-an-svg-image/ keywords: -- 幻灯片转SVG -- 演示文稿转SVG -- PowerPoint转SVG -- OpenDocument转SVG -- PPT转SVG -- PPTX转SVG -- ODP转SVG +- 幻灯片转 SVG +- 演示文稿转 SVG +- PowerPoint 转 SVG +- OpenDocument 转 SVG +- PPT 转 SVG +- PPTX 转 SVG +- ODP 转 SVG - 渲染幻灯片 - 转换幻灯片 - 导出幻灯片 @@ -21,37 +21,38 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides for Python via .NET 将 PowerPoint 和 OpenDocument 幻灯片渲染为 SVG 图像。通过简单的代码示例实现高质量的可视化效果。" +description: "了解如何使用 Aspose.Slides for Python via .NET 将 PowerPoint 和 OpenDocument 幻灯片渲染为 SVG 图像。提供高质量的视觉效果和简洁的代码示例。" --- -SVG——可缩放矢量图形的缩写——是一种用于呈现二维图像的标准图形类型或格式。SVG以XML格式将图像存储为矢量,并包含定义其行为或外观的细节。 +## **将幻灯片转换为 SVG** -SVG是满足这些高标准的少数图像格式之一:可缩放性、交互性、性能、可访问性、可编程性等。正因如此,它在网页开发中被广泛使用。 +SVG(Scalable Vector Graphics 的缩写)是一种用于渲染二维图像的标准图形类型或格式。SVG 将图像以 XML 中的矢量形式存储,并包含定义其行为或外观的细节。 -当您需要时,可能希望使用SVG文件 +SVG 是少数在以下方面满足极高标准的图像格式:可伸缩性、交互性、性能、可访问性、可编程性等。因此,它在 Web 开发中被广泛使用。 -- **以*非常大*的格式打印您的演示文稿。** SVG图像可以缩放到任何分辨率或级别。您可以根据需要调整SVG图像的大小,而不会牺牲质量。 -- **在*不同的媒介或平台*中使用幻灯片中的图表和图形。** 大多数阅读器可以解析SVG文件。 -- **使用*尽可能小的图像大小***。SVG文件通常比其他格式中的高分辨率对应物小,特别是基于位图(JPEG或PNG)的格式。 +您可能在以下情况下希望使用 SVG 文件: -通过.NET的Aspose.Slides for Python允许您将演示文稿中的幻灯片导出为SVG图像。按照以下步骤生成SVG图像: +- **以*超大尺寸*打印演示文稿。** SVG 图像可以缩放到任意分辨率或级别。您可以根据需要多次调整 SVG 图像大小,而不会降低质量。 +- **在*不同媒介或平台*中使用幻灯片中的图表和图形。** 大多数读取器都能解释 SVG 文件。 +- **使用*最小的图像尺寸*。** 与其他格式的高分辨率等效文件相比,SVG 文件通常更小,尤其是基于位图的格式(JPEG 或 PNG)。 -1. 创建Presentation类的实例。 +Aspose.Slides for Python via .NET 允许您将演示文稿中的幻灯片导出为 SVG 图像。按照以下步骤生成 SVG 图像: + +1. 创建一个 Presentation 类的实例。 2. 遍历演示文稿中的所有幻灯片。 -3. 通过FileStream将每个幻灯片写入其自己的SVG文件。 +3. 通过 FileStream 将每张幻灯片写入其对应的 SVG 文件。 {{% alert color="primary" %}} -您可能想尝试我们的[免费网络应用程序](https://products.aspose.app/slides/conversion/ppt-to-svg),我们在其中实现了来自Aspose.Slides for Python via .NET的PPT到SVG转换功能。 +您可以试用我们的[免费网络应用](https://products.aspose.app/slides/conversion/ppt-to-svg),我们在其中实现了基于 Aspose.Slides for Python via .NET 的 PPT 转 SVG 功能。 {{% /alert %}} -以下Python示例代码向您展示如何使用Aspose.Slides将PPT转换为SVG: - +下面的 Python 示例代码演示了如何使用 Aspose.Slides 将 PPT 转换为 SVG: ```py import aspose.slides as slides -# 实例化一个表示演示文稿文件的Presentation对象 +# 实例化一个表示演示文稿文件的 Presentation 对象 pres = slides.Presentation("pres.pptx") for index in range(pres.slides.length): @@ -59,4 +60,19 @@ for index in range(pres.slides.length): with open("slide-{index}.svg".format(index = index), "wb") as file: slide.write_as_svg(file) -``` \ No newline at end of file +``` + + +## **FAQ** + +**导致不同浏览器中生成的 SVG 看起来不同的原因是什么?** + +不同浏览器引擎对特定 SVG 功能的支持实现各不相同。使用[SVGOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/svgoptions/) 参数可以平滑这些不兼容性。 + +**是否可以导出不仅是幻灯片,还包括单独的形状为 SVG?** + +可以。任何[形状都可以保存为单独的 SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/),这对图标、示意图以及重复使用图形非常方便。 + +**是否可以将多个幻灯片合并为一个 SVG(条带/文档)?** + +标准方案是一张幻灯片对应一个 SVG。将多张幻灯片合并到同一 SVG 画布中是需要在应用层进行的后处理步骤。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index e685e75278..c80ab8443d 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,6 +1,6 @@ --- title: 在 Python 中将演示文稿转换为 HTML5 -linktitle: 导出到 HTML5 +linktitle: 导出为 HTML5 type: docs weight: 40 url: /zh/python-net/export-to-html5/ @@ -14,31 +14,30 @@ keywords: - ODP 转 HTML5 - 转换 PowerPoint - 转换 OpenDocument -- 转换演示文稿 -- 转换幻灯片 +- 转换 演示文稿 +- 转换 幻灯片 - HTML5 导出 -- 导出演示文稿 -- 导出幻灯片 +- 导出 演示文稿 +- 导出 幻灯片 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python,将 PowerPoint 和 OpenDocument 演示文稿导出为响应式 HTML5,保留格式、动画和交互性。" +description: "使用 Aspose.Slides for Python via .NET 将 PowerPoint 和 OpenDocument 演示文稿导出为响应式 HTML5。保留格式、动画和交互性。" --- -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -在 **Aspose.Slides 21.9** 中,我们实现了对 HTML5 导出的支持。但是,如果您更喜欢使用 Web 扩展将 PowerPoint 导出为 HTML,请参阅 [这篇文章](/slides/zh/net/web-extensions/)。 +在 **Aspose.Slides 21.9** 中,我们实现了对 HTML5 导出的支持。但如果您更倾向于使用 WebExtensions 将 PowerPoint 导出为 HTML,请参阅[此文章](/slides/zh/net/web-extensions/)。 {{% /alert %}} -此导出为 HTML5 的过程允许您在没有 Web 扩展或依赖项的情况下将 PowerPoint 转换为 HTML。这样,使用您自己的模板,您可以应用非常灵活的选项,定义导出过程以及生成的 HTML、CSS、JavaScript 和动画属性。 +此处的 HTML5 导出过程允许您在没有 WebExtensions 或任何依赖的情况下将 PowerPoint 转换为 HTML。这样,使用您自己的模板,您可以应用非常灵活的选项来定义导出过程以及生成的 HTML、CSS、JavaScript 和动画属性。 -## **将 PowerPoint 导出为 HTML5** - -以下 Python 代码展示了如何在没有 Web 扩展和依赖项的情况下导出演示文稿为 HTML5: +## **导出 PowerPoint 为 HTML5** +以下 Python 代码示例展示了如何在没有 WebExtensions 和依赖的情况下将演示文稿导出为 HTML5: ```py import aspose.slides as slides @@ -46,14 +45,14 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5) ``` + {{% alert color="primary" %}} -在这种情况下,您获得的是干净的 HTML。 +在这种情况下,您将获得干净的 HTML。 {{% /alert %}} -您可能希望以这种方式指定形状动画和幻灯片过渡的设置: - +您可能想通过以下方式指定形状动画和幻灯片切换的设置: ```py import aspose.slides as slides @@ -65,10 +64,10 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML5, options) ``` -#### **将 PowerPoint 导出为 HTML** -以下 Python 代码演示了标准的 PowerPoint 到 HTML 的过程: +## **导出 PowerPoint 为 HTML** +以下 Python 代码演示了标准的 PowerPoint 转 HTML 过程: ```py import aspose.slides as slides @@ -76,35 +75,35 @@ with slides.Presentation("pres.pptx") as presentation: presentation.save("index.html", slides.export.SaveFormat.HTML) ``` -在这种情况下,演示文稿内容以如下形式通过 SVG 渲染: +在此情况下,演示文稿内容通过 SVG 渲染,形式如下: ```html
    - 幻灯片内容在这里 + THE SLIDE CONTENT GOES HERE
    ``` -{{% alert title="注意" color="warning" %}} -当您使用此方法将 PowerPoint 导出为 HTML 时,由于 SVG 渲染,您将无法应用样式或为特定元素动画。 +{{% alert title="Note" color="warning" %}} + +使用此方法将 PowerPoint 导出为 HTML 时,由于 SVG 渲染,您将无法对特定元素应用样式或动画。 {{% /alert %}} -## **将 PowerPoint 导出为 HTML5 幻灯片视图** +## **导出 PowerPoint 为 HTML5 幻灯片视图** -**Aspose.Slides** 允许您将 PowerPoint 演示文稿转换为 HTML5 文档,其中幻灯片以幻灯片视图模式呈现。在这种情况下,当您在浏览器中打开生成的 HTML5 文件时,您会在网页上看到幻灯片视图模式下的演示文稿。 +**Aspose.Slides** 允许您将 PowerPoint 演示文稿转换为 HTML5 文档,其中幻灯片以幻灯片视图模式呈现。此时,在浏览器中打开生成的 HTML5 文件,即可在网页上以幻灯片视图模式查看演示文稿。 以下 Python 代码演示了 PowerPoint 到 HTML5 幻灯片视图的导出过程: - ```python import aspose.slides as slides with slides.Presentation("pres.pptx") as pres: - # 导出包含幻灯片过渡、动画和形状动画的演示文稿为 HTML5 + # 导出包含幻灯片切换、动画和形状动画的演示文稿为 HTML5 options = slides.export.Html5Options() options.animate_shapes = True options.animate_transitions = True @@ -113,17 +112,18 @@ with slides.Presentation("pres.pptx") as pres: pres.save("HTML5-slide-view.html", slides.export.SaveFormat.HTML5, options) ``` -## 将演示文稿转换为带注释的 HTML5 文档 -PowerPoint 中的注释是一个工具,允许用户在演示幻灯片上留下笔记或反馈。它们在协作项目中尤其有用,其中多个可以在不改变主要内容的情况下,为特定幻灯片元素添加建议或备注。每条评论显示作者的姓名,便于跟踪谁留下了备注。 +## **将演示文稿转换为带注释的 HTML5 文档** + +PowerPoint 中的注释是一种工具,允许用户在幻灯片上留下备注或反馈。在协作项目中尤为有用,多个成员可以对特定幻灯片元素添加建议或评论,而不会更改主体内容。每条注释都会显示作者姓名,便于追踪是谁留下的备注。 -假设我们有以下 PowerPoint 演示文稿保存在 "sample.pptx" 文件中。 +假设我们有以下保存在 "sample.pptx" 文件中的 PowerPoint 演示文稿。 -![幻灯片上的两个评论](two_comments_pptx.png) +![演示幻灯片上的两个评论](two_comments_pptx.png) -当您将 PowerPoint 演示文稿转换为 HTML5 文档时,可以轻松指定是否在输出文档中包括演示文稿中的注释。为此,您需要在 [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) 类的 `notes_comments_layouting` 属性中指定注释的显示参数。 +将 PowerPoint 演示文稿转换为 HTML5 文档时,您可以轻松指定是否在输出文档中包含演示文稿的注释。为此,需要在 [Html5Options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) 类的 `notes_comments_layouting` 属性中指定注释的显示参数。 -以下代码示例将演示文稿转换为显示在幻灯片右侧的注释的 HTML5 文档。 +以下代码示例将演示文稿转换为在幻灯片右侧显示注释的 HTML5 文档。 ```py html5_options = Html5Options() html5_options.notes_comments_layouting.comments_position = CommentsPositions.RIGHT @@ -132,6 +132,21 @@ with Presentation("sample.pptx") as presentation: presentation.save("output.html", SaveFormat.HTML5, html5_options) ``` -下图显示了 "output.html" 文档。 -![输出 HTML5 文档中的注释](two_comments_html5.png) \ No newline at end of file +"output.html" 文档如下面的图片所示。 + +![输出 HTML5 文档中的注释](two_comments_html5.png) + +## **常见问题** + +**我能控制对象动画和幻灯片切换是否在 HTML5 中播放吗?** + +可以,HTML5 提供了独立的选项来启用或禁用 [shape animations](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) 和 [slide transitions](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/)。 + +**是否支持注释的输出?它们可以相对于幻灯片放置在哪里?** + +可以,HTML5 中可以添加注释,并通过 [layout settings](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/notes_comments_layouting/) 将其定位(例如放在幻灯片右侧)。 + +**我能出于安全或 CSP 的原因跳过调用 JavaScript 的链接吗?** + +可以,有一个 [setting](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/skip_java_script_links/) 可在保存时跳过包含 JavaScript 调用的超链接。这有助于遵守严格的安全策略。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index bdceddfde0..f57f6cd188 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,30 +1,42 @@ --- -title: 导出到 XAML +title: 使用 Python 将演示文稿导出为 XAML +linktitle: 导出为 XAML type: docs weight: 30 url: /zh/python-net/export-to-xaml/ -keywords: "导出 PowerPoint 演示文稿, 转换 PowerPoint, XAML, PowerPoint 到 XAML, PPT 到 XAML, PPTX 到 XAML, Python" -description: "导出或转换 PowerPoint 演示文稿到 XAML" +keywords: +- 导出 PowerPoint +- 导出 OpenDocument +- 导出演示文稿 +- 转换 PowerPoint +- 转换 OpenDocument +- 转换演示文稿 +- PowerPoint 转 XAML +- OpenDocument 转 XAML +- 演示文稿 转 XAML +- PPT 转 XAML +- PPTX 转 XAML +- ODP 转 XAML +- Python +- Aspose.Slides +description: "使用 Aspose.Slides 在 Python 中将 PowerPoint 和 OpenDocument 幻灯片转换为 XAML ——快速、无需 Office 的解决方案,保持布局完整。" --- -# 导出演示文稿到 XAML +## **概述** -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -在 [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/) 中,我们实现了对 XAML 导出的支持。您现在可以将演示文稿导出为 XAML。 +在 [Aspose.Slides 21.6](https://docs.aspose.com/slides/python-net/aspose-slides-for-net-21-6-release-notes/) 中,我们实现了对 XAML 导出的支持。现在您可以将演示文稿导出为 XAML。 {{% /alert %}} -# 关于 XAML +XAML 是一种描述性编程语言,允许您为应用程序构建或编写用户界面,尤其是使用 WPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)和 Xamarin Forms 的应用。 -XAML 是一种描述性编程语言,允许您为应用程序构建或编写用户界面,特别是那些使用 WPF(Windows Presentation Foundation)、UWP(通用 Windows 平台)和 Xamarin 表单的应用程序。 +XAML 是基于 XML 的语言,是微软用于描述 GUI 的变体。您大多数情况下可能会使用设计器来处理 XAML 文件,但仍然可以手动编写和编辑 GUI。 -XAML 是一种基于 XML 的语言,是微软用于描述 GUI 的变体。您可能会使用设计工具来处理 XAML 文件,但您仍然可以编写和编辑您的 GUI。 - -## 使用默认选项导出演示文稿到 XAML +## **使用默认选项将演示文稿导出为 XAML** 以下 Python 代码演示如何使用默认设置将演示文稿导出为 XAML: - ```py import aspose.slides as slides @@ -32,12 +44,12 @@ pres = slides.Presentation("pres.pptx") pres.save(slides.export.xaml.XamlOptions()) ``` -## 使用自定义选项导出演示文稿到 XAML -您可以从 [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) 接口中选择控制导出过程并决定 Aspose.Slides 如何将您的演示文稿导出为 XAML 的选项。 +## **使用自定义选项将演示文稿导出为 XAML** -例如,如果您希望 Aspose.Slides 在导出到 XAML 时添加演示文稿中的隐藏幻灯片,您可以将 [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) 属性设置为 true。请参见以下示例 Python 代码: +您可以从 [IXamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) 接口中选择选项,以控制导出过程并决定 Aspose.Slides 如何将演示文稿导出为 XAML。 +例如,如果您希望在导出为 XAML 时让 Aspose.Slides 包含演示文稿中的隐藏幻灯片,可以将 [ExportHiddenSlides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/ixamloptions/) 属性设为 true。请参阅以下示例 Python 代码: ```py import aspose.slides as slides @@ -47,4 +59,19 @@ opt = slides.export.xaml.XamlOptions() opt.export_hidden_slides = True pres.save(opt) -``` \ No newline at end of file +``` + + +## **FAQ** + +**如果机器上没有原始字体,如何确保字体保持可预测?** + +在 [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) 中设置 [default_regular_font](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/default_regular_font/) —— 当原始字体缺失时,它将作为回退字体使用。这有助于避免意外的字体替换。 + +**导出的 XAML 是否仅针对 WPF,还是也可用于其他 XAML 堆栈?** + +XAML 是一种通用的 UI 标记语言,适用于 WPF、UWP 和 Xamarin.Forms。导出旨在兼容微软的 XAML 堆栈;具体行为和对特定构造的支持取决于目标平台。请在您的环境中测试该标记。 + +**是否支持隐藏幻灯片,如何防止默认导出它们?** + +默认情况下,不会包含隐藏幻灯片。您可以通过在 [XamlOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/) 中的 [export_hidden_slides](https://reference.aspose.com/slides/python-net/aspose.slides.export.xaml/xamloptions/export_hidden_slides/) 来控制此行为——如果不需要导出隐藏幻灯片,请保持该选项禁用。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/examine-presentation/_index.md b/zh/python-net/developer-guide/manage-presentation/examine-presentation/_index.md index cc7a814f34..ac5c08a364 100644 --- a/zh/python-net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中检索和更新演示文稿信息 +title: 使用 Python 检索和更新演示文稿信息 linktitle: 演示文稿信息 type: docs weight: 30 @@ -21,23 +21,22 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "使用 Python 在 PowerPoint 和 OpenDocument 演示文稿中探索幻灯片、结构和元数据,以获得更快速的洞察和更智能的内容审计。" +description: "使用 Python 探索 PowerPoint 和 OpenDocument 演示文稿中的幻灯片、结构和元数据,以获得更快速的洞察和更智能的内容审计。" --- -Aspose.Slides for Python via .NET 允许您检查演示文稿以了解其属性并理解其行为。 +Aspose.Slides for Python via .NET 允许您检查演示文稿,以了解其属性并理解其行为。 -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -[PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) 和 [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) 类包含用于此处操作的属性和方法。 +The [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) and [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) classes contain the properties and methods used in operations here. {{% /alert %}} ## **检查演示文稿格式** -在处理演示文稿之前,您可能想要找出该演示文稿当前的格式(PPT、PPTX、ODP 等)。 - -您可以在不加载演示文稿的情况下检查演示文稿的格式。请参见以下 Python 代码: +在处理演示文稿之前,您可能想了解当前演示文稿所采用的格式(PPT、PPTX、ODP 等)。 +您可以在不加载演示文稿的情况下检查其格式。请参见下面的 Python 代码: ```py import aspose.slides as slides @@ -51,10 +50,10 @@ info3 = slides.PresentationFactory.instance.get_presentation_info("pres.ppt") print(info3.load_format, info3.load_format == slides.LoadFormat.PPT) ``` -## **获取演示文稿属性** -以下 Python 代码向您展示如何获取演示文稿属性(有关演示文稿的信息): +## **获取演示文稿属性** +下面的 Python 代码演示如何获取演示文稿属性(即演示文稿的信息): ```py import aspose.slides as slides @@ -65,40 +64,63 @@ print(props.subject) print(props.title) ``` + 您可能想查看 [DocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/#properties) 类下的属性。 ## **更新演示文稿属性** -Aspose.Slides 提供了 [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) 方法,允许您对演示文稿属性进行更改。 +Aspose.Slides 提供了 [PresentationInfo.update_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/update_document_properties/#idocumentproperties) 方法,允许您修改演示文稿属性。 -假设我们有一个 PowerPoint 演示文稿,文档属性如下所示。 +假设我们有一个 PowerPoint 演示文稿,其文档属性如下所示。 ![PowerPoint 演示文稿的原始文档属性](input_properties.png) -此代码示例向您展示如何编辑某些演示文稿属性: - +以下代码示例演示如何编辑部分演示文稿属性: ```py file_name = "sample.pptx" info = PresentationFactory.instance.get_presentation_info(file_name) properties = info.read_document_properties() -properties.title = "我的标题" +properties.title = "My title" properties.last_saved_time = datetime.now() info.update_document_properties(properties) info.write_binded_presentation(file_name) ``` -更改文档属性的结果如下所示。 -![PowerPoint 演示文稿的更改后的文档属性](output_properties.png) +更改文档属性后的结果如下所示。 + +![PowerPoint 演示文稿的更改后文档属性](output_properties.png) + +## **实用链接** + +要获取有关演示文稿及其安全属性的更多信息,以下链接可能对您有帮助: + +- [检查演示文稿是否已加密](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [检查演示文稿是否受写保护(只读)](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [检查演示文稿在加载前是否受密码保护](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [确认用于保护演示文稿的密码](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **常见问题** + +**如何检查字体是否已嵌入以及具体哪些字体已嵌入?** + +在演示文稿级别查找 [embedded-font information](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_embedded_fonts/),然后将这些条目与 [fonts actually used across content](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/) 进行比较,以确定哪些字体对渲染至关重要。 + +**如何快速判断文件是否包含隐藏幻灯片以及数量?** + +遍历 [slide collection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/),检查每个幻灯片的 [visibility flag](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/)。 + +**是否可以检测是否使用了自定义幻灯片大小和方向,以及它们是否与默认值不同?** + +可以。将当前的 [slide size](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/slide_size/) 和方向与标准预设进行比较,这有助于预估打印和导出时的行为。 + +**是否有快速方法查看图表是否引用外部数据源?** -## **有用链接** +可以。遍历所有 [charts](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/),检查它们的 [data source](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdata/data_source_type/),并记录数据是内部的还是基于链接的,包括任何破损的链接。 -要获取有关演示文稿及其安全属性的更多信息,您可能会发现这些链接很有用: +**如何评估可能导致渲染或 PDF 导出变慢的“重”幻灯片?** -- [检查演示文稿是否加密](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [检查演示文稿是否为只读保护](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [在加载之前检查演示文稿是否受到密码保护](https://docs.aspose.com/slides/python-net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [确认用于保护演示文稿的密码](https://docs.aspose.com/slides/python-net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +对每张幻灯片统计对象数量,查找大尺寸图像、透明度、阴影、动画和多媒体等因素,为其分配粗略的复杂度分数,以标记潜在的性能热点。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/manage-blob/_index.md b/zh/python-net/developer-guide/presentation-content/manage-blob/_index.md index dd7afcb319..b3129e6165 100644 --- a/zh/python-net/developer-guide/presentation-content/manage-blob/_index.md +++ b/zh/python-net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,17 +1,17 @@ --- -title: 使用 Python 在演示文稿中管理 BLOB,实现高效内存使用 +title: 使用 Python 管理演示文稿中的 BLOB 以实现高效内存使用 linktitle: 管理 BLOB type: docs weight: 10 url: /zh/python-net/manage-blob/ keywords: - 大型对象 -- 大型项 +- 大型项目 - 大型文件 - 添加 BLOB - 导出 BLOB - 将图像添加为 BLOB -- 减少内存使用 +- 降低内存 - 内存消耗 - 大型演示文稿 - 临时文件 @@ -20,45 +20,45 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "在 Aspose.Slides for Python via .NET 中管理 BLOB 数据,以简化 PowerPoint 和 OpenDocument 文件操作,从而高效处理演示文稿。" +description: "在 Aspose.Slides for Python via .NET 中管理 BLOB 数据,以简化 PowerPoint 和 OpenDocument 文件操作,实现高效的演示文稿处理。" --- -### **关于 BLOB** +## **关于 BLOB** -**BLOB** (**二进制大型对象**) 通常是指以二进制格式保存的大型项目(照片、演示文稿、文档或媒体)。 +**BLOB**(**Binary Large Object**)通常是以二进制格式保存的大型项目(照片、演示文稿、文档或媒体)。 -Aspose.Slides for Python via .NET 允许您以降低内存消耗的方式使用 BLOB 处理大型文件。 +Aspose.Slides for Python via .NET 允许您在处理大型文件时,以降低内存消耗的方式对对象使用 BLOB。 -# **使用 BLOB 减少内存消耗** +## **使用 BLOB 减少内存消耗** ### **通过 BLOB 向演示文稿添加大型文件** -[Aspose.Slides](/slides/zh/python-net/) for .NET 允许您通过涉及 BLOB 的过程向演示文稿添加大型文件(在本例中是一个大型视频文件),以减少内存消耗。 - -下面的 Python 代码展示了如何通过 BLOB 过程向演示文稿添加大型视频文件: +[Aspose.Slides](/slides/zh/python-net/) for .NET 允许您通过 BLOB 过程添加大型文件(在本例中为大型视频文件),以降低内存消耗。 +此 Python 示例演示如何通过 BLOB 过程向演示文稿添加大型视频文件: ```py import aspose.slides as slides pathToVeryLargeVideo = "veryLargeVideo.avi" -# 创建一个新的演示文稿,视频将被添加到其中 +# 创建一个新演示文稿,将添加视频 with slides.Presentation() as pres: with open(pathToVeryLargeVideo, "br") as fileStream: - # 我们将视频添加到演示文稿中 - 我们选择 KeepLocked 行为,因为我们不打算访问 "veryLargeVideo.avi" 文件。 + # 让我们将视频添加到演示文稿中 - 我们选择 KeepLocked 行为,因为我们 + # 不打算访问 "veryLargeVideo.avi" 文件。 video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) pres.slides[0].shapes.add_video_frame(0, 0, 480, 270, video) - # 保存演示文稿。尽管将输出一个大型演示文稿,但在 pres 对象的生命周期中内存消耗保持较低 + # 保存演示文稿。即使输出大型演示文稿,内存消耗 + # 在 pres 对象的整个生命周期中保持低水平 pres.save("presentationWithLargeVideo.pptx", slides.export.SaveFormat.PPTX) ``` ### **通过 BLOB 从演示文稿导出大型文件** -Aspose.Slides for Python via .NET 允许您通过涉及 BLOB 的过程从演示文稿导出大型文件(在本例中是音频或视频文件)。例如,您可能需要从演示文稿中提取大型媒体文件,但不希望将文件加载到计算机的内存中。通过 BLOB 过程导出该文件,可以保持低内存消耗。 - -下面的 Python 代码演示了描述的操作: +Aspose.Slides for Python via .NET 允许您通过 BLOB 过程从演示文稿导出大型文件(本例中为音频或视频文件)。例如,您可能需要从演示文稿中提取大型媒体文件,但不希望该文件加载到计算机内存中。通过 BLOB 过程导出文件,可保持内存消耗低。 +下面的 Python 代码演示上述操作: ```py import aspose.slides as slides @@ -68,15 +68,19 @@ loadOptions.blob_management_options.presentation_locking_behavior = slides.Prese loadOptions.blob_management_options.is_temporary_files_allowed = True with slides.Presentation(path + "Video.pptx", loadOptions) as pres: - # 保存每个视频到文件。为了防止高内存使用,我们需要一个缓冲区,用于将数据从演示文稿的视频流传输到新创建的视频文件的流中。 + # 将每个视频保存到文件。为防止高内存使用,我们需要一个缓冲区来使用 + # 将演示文稿的视频流数据传输到新创建的视频文件的流中。 # byte[] buffer = new byte[8 * 1024]; bufferSize = 8 * 1024 # 遍历视频 index = 0 - # 如果有必要,您可以对音频文件应用相同的步骤。 + # 如有必要,您可以对音频文件应用相同的步骤。 for video in pres.videos: - # 打开演示文稿视频流。请注意,我们故意避免访问诸如 video.BinaryData 的属性 - 因为此属性会返回一个字节数组,包含完整视频,这会导致字节加载到内存中。我们使用 video.GetStream,该方法会返回 Stream - 并且不需要我们将整个视频加载到内存中。 + # 打开演示文稿的视频流。请注意,我们有意避免访问属性 + # 如 video.BinaryData —— 因为此属性返回包含完整视频的字节数组,随后 + # 会导致字节加载到内存中。我们使用 video.GetStream,它将返回 Stream —— 并且不会 + # 需要我们将整个视频加载到内存中。 with video.get_stream() as presVideoStream: with open("video{index}.avi".format(index = index), "wb") as outputFileStream: buffer = presVideoStream.read(8 * 1024) @@ -89,15 +93,15 @@ with slides.Presentation(path + "Video.pptx", loadOptions) as pres: index += 1 ``` -### **将图像作为 BLOB 添加到演示文稿中** -使用 [**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) 接口和 [**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) 类的方法,您可以将大型图像作为流添加,以将其视为 BLOB。 -下面的 Python 代码展示了如何通过 BLOB 过程添加大型图像: +### **在演示文稿中将图像添加为 BLOB** +使用[**IImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) 接口和[**ImageCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) 类的方法,您可以将大型图像作为流添加,以将其视为 BLOB。 +下面的 Python 代码演示如何通过 BLOB 过程添加大型图像: ```py import aspose.slides as slides -# 创建一个新的演示文稿,将图像添加到其中。 +# 创建一个新演示文稿,将添加图像。 with slides.Presentation() as pres: with open("img.jpeg", "br") as fileStream: img = pres.images.add_image(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) @@ -105,11 +109,12 @@ with slides.Presentation() as pres: pres.save("presentationWithLargeImage.pptx", slides.export.SaveFormat.PPTX) ``` -## **内存和大型演示文稿** -通常,加载大型演示文稿需要很多临时内存。演示文稿的所有内容都会加载到内存中,并且不再使用加载演示文稿的文件。 +## **内存与大型演示文稿** -考虑一个包含 1.5 GB 视频文件的大型 PowerPoint 演示文稿(large.pptx)。加载演示文稿的标准方法在下面的 Python 代码中进行了说明: +通常,要加载大型演示文稿,计算机需要大量临时内存。演示文稿的所有内容都会加载到内存中,而加载该演示文稿的文件则不再使用。 + +考虑一个包含 1.5 GB 视频文件的大型 PowerPoint 演示文稿(large.pptx)。标准的加载演示文稿方法在以下 Python 代码中描述: ```py import aspose.slides as slides @@ -118,12 +123,12 @@ with slides.Presentation("large.pptx") as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -但这种方法消耗大约 1.6 GB 的临时内存。 -### **将大型演示文稿作为 BLOB 加载** +但是此方法会消耗约 1.6 GB 的临时内存。 -通过涉及 BLOB 的过程,您可以在使用很少内存的情况下加载大型演示文稿。下面的 Python 代码描述了使用 BLOB 过程加载大型演示文稿文件(large.pptx)的实现: +### **将大型演示文稿作为 BLOB 加载** +通过 BLOB 过程,您可以在使用很少内存的情况下加载大型演示文稿。以下 Python 代码描述了使用 BLOB 过程加载大型演示文稿文件(large.pptx)的实现: ```py import aspose.slides as slides @@ -136,10 +141,9 @@ with slides.Presentation("large.pptx", loadOptions) as pres: pres.save("large.pdf", slides.export.SaveFormat.PDF) ``` -#### **更改临时文件的文件夹** - -当使用 BLOB 过程时,您的计算机会在默认的临时文件夹中创建临时文件。如果您希望将临时文件保存在不同的文件夹中,可以通过 `temp_files_root_path` 更改存储设置: +### **更改临时文件夹** +使用 BLOB 过程时,计算机会在默认的临时文件夹中创建临时文件。如果希望将临时文件保存在其他文件夹,可以使用 `temp_files_root_path` 更改存储设置: ```py import aspose.slides as slides @@ -150,8 +154,29 @@ loadOptions.blob_management_options.is_temporary_files_allowed = True loadOptions.blob_management_options.temp_files_root_path = "temp" ``` -{{% alert title="信息" color="info" %}} -使用 `temp_files_root_path` 时,Aspose.Slides 不会自动创建用于存储临时文件的文件夹。您必须手动创建该文件夹。 +{{% alert title="Info" color="info" %}} +使用 `temp_files_root_path` 时,Aspose.Slides 不会自动创建用于存放临时文件的文件夹。必须手动创建该文件夹。 +{{% /alert %}} + +## **常见问题** + +**在 Aspose.Slides 演示文稿中,哪些数据被视为 BLOB 并受 BLOB 选项控制?** + +图像、音频和视频等大型二进制对象会被视为 BLOB。整个演示文稿文件在加载或保存时也涉及 BLOB 处理。这些对象受 BLOB 策略管理,您可以通过它们控制内存使用,并在需要时将数据溢写到临时文件。 + +**在加载演示文稿时,我在哪里配置 BLOB 处理规则?** + +使用 [LoadOptions](https://reference.aspose.com/slides/python-net/aspose.slides/loadoptions/) 与 [BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/)。在此您可以设置 BLOB 的内存限制,是否允许临时文件,选择临时文件的根路径,以及选择源锁定行为。 + +**BLOB 设置会影响性能吗?如何在速度与内存之间取得平衡?** + +是的。将 BLOB 保存在内存中可提升速度,但会增加 RAM 使用;降低内存限制会将更多工作转移到临时文件,从而降低 RAM 使用,但会产生额外的 I/O。调整 [max_blobs_bytes_in_memory](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/max_blobs_bytes_in_memory/) 阈值,以在您的工作负载和环境中实现合适的平衡。 + +**在打开极大(例如 GB 级)演示文稿时,BLOB 选项是否有帮助?** + +是的。[BlobManagementOptions](https://reference.aspose.com/slides/python-net/aspose.slides/blobmanagementoptions/) 专为此类场景设计:启用临时文件并使用源锁定可显著降低峰值 RAM 使用,并使处理极大文稿更为稳定。 + +**在从流而非磁盘文件加载时,可以使用 BLOB 策略吗?** -{{% /alert %}} \ No newline at end of file +可以。相同的规则适用于流:演示文稿实例可以拥有并锁定输入流(取决于所选的锁定模式),并在允许的情况下使用临时文件,从而在处理期间保持可预测的内存使用。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/zh/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 1e946651d9..cb22620f0c 100644 --- a/zh/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/zh/python-net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,13 +1,13 @@ --- -title: 使用 Python 将图片框架添加到演示文稿 -linktitle: 图片框架 +title: 使用 Python 向演示文稿添加图片框 +linktitle: 图片框 type: docs weight: 10 url: /zh/python-net/picture-frame/ keywords: -- 图片框架 -- 添加图片框架 -- 创建图片框架 +- 图片框 +- 添加图片框 +- 创建图片框 - 添加图像 - 创建图像 - 提取图像 @@ -16,111 +16,101 @@ keywords: - 裁剪图像 - 裁剪区域 - StretchOff 属性 -- 图片框架格式设置 -- 图片框架属性 -- 相对缩放比例 +- 图片框格式化 +- 图片框属性 +- 相对缩放 - 图像效果 -- 纵横比 +- 宽高比 - 图像透明度 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python via .NET 将图片框架添加到 PowerPoint 和 OpenDocument 演示文稿中。精简工作流程并增强幻灯片设计。" +description: "使用 Aspose.Slides for Python via .NET 向 PowerPoint 和 OpenDocument 演示文稿添加图片框。简化工作流程并提升幻灯片设计。" --- -图片框是一种包含图像的形状——就像是框中的一张图片。 +## **概述** -您可以通过图片框向幻灯片添加图像。通过这种方式,您可以通过格式化图片框来格式化图像。 - -{{% alert title="提示" color="primary" %}} - -Aspose 提供免费的转换器——[JPEG 转 PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) 和 [PNG 转 PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)——允许人们快速从图像创建演示文稿。 - -{{% /alert %}} +Aspose.Slides for Python 中的图片框允许您将光栅图像和矢量图像放置并管理为原生幻灯片形状。您可以从文件或流插入图片,使用精确坐标定位和调整大小,应用旋转,设置透明度,并在其他形状旁控制 Z 顺序。API 还支持裁剪、保持宽高比、设置边框和效果,以及在不重新构建布局的情况下替换底层图像。由于图片框的行为类似普通形状,您可以添加动画、超链接和替代文本,从而轻松构建视觉丰富且可访问的演示文稿。 ## **创建图片框** -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 通过向与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) 添加图像,创建 [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) 对象,以填充该形状。 -4. 指定图像的宽度和高度。 -5. 通过与引用幻灯片关联的形状对象暴露的 `AddPictureFrame` 方法,基于图像的宽度和高度创建 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)。 -6. 将包含图片的图片框添加到幻灯片。 -7. 将修改后的演示文稿写入 PPTX 文件。 +本节展示如何通过创建一个 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 将图像插入幻灯片。您将学习如何加载图像、将其精确放置在幻灯片上,以及如何控制其大小和格式。 -以下 Python 代码向您展示如何创建一个图片框: +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 根据索引获取幻灯片。 +3. 通过将图像添加到演示文稿的 [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) 来创建 [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)。该图像将用于填充形状。 +4. 指定框的宽度和高度。 +5. 使用 [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) 方法创建相同尺寸的 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)。 +6. 将演示文稿另存为 PPTX 文件。 +以下 Python 代码展示了如何创建图片框: ```py import aspose.slides as slides -import aspose.pydrawing as draw -# 实例化表示 PPTX 文件的 Presentation 类 -with slides.Presentation() as pres: - # 获取第一张幻灯片 - sld = pres.slides[0] - - # 实例化 ImageEx 类 - with open("img.jpeg", "rb") as in_file: - image = pres.images.add_image(in_file) +# 实例化 Presentation 类来表示 PPTX 文件。 +with slides.Presentation() as presentation: + # 获取第一张幻灯片。 + slide = presentation.slides[0] - # 添加与图片等效高度和宽度的框架 - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, image.width, image.height, image) + # 将图像添加到演示文稿。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # 对 PictureFrameEx 应用一些格式 - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # 添加一个与图像大小相同的图片框。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # 将 PPTX 文件写入磁盘 - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # 将演示文稿保存为 PPTX。 + presentation.save("picture_frame.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="warning" %}} -图片框允许您快速基于图像创建演示幻灯片。当您将图片框与 Aspose.Slides 的保存选项结合使用时,您可以操纵输入/输出操作以将图像从一种格式转换为另一种格式。您可能希望查看这些页面:将 [图像转换为 JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/);将 [JPG 转图像](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/);将 [JPG 转 PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/),将 [PNG 转 JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/);将 [PNG 转 SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/),将 [SVG 转 PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/)。 +{{% alert color="warning" %}} -{{% /alert %}} +图片框让您可以快速从图像创建演示幻灯片。将图片框与 Aspose.Slides 保存选项结合使用时,您可以控制 I/O 操作,将图像从一种格式转换为另一种格式。您可能需要查看以下页面:转换 [image to JPG](https://products.aspose.com/slides/python-net/conversion/image-to-jpg/);转换 [JPG to image](https://products.aspose.com/slides/python-net/conversion/jpg-to-image/);转换 [JPG to PNG](https://products.aspose.com/slides/python-net/conversion/jpg-to-png/);转换 [PNG to JPG](https://products.aspose.com/slides/python-net/conversion/png-to-jpg/);转换 [PNG to SVG](https://products.aspose.com/slides/python-net/conversion/png-to-svg/);转换 [SVG to PNG](https://products.aspose.com/slides/python-net/conversion/svg-to-png/)。 -## **创建相对缩放的图片框** +{{% /alert %}} -通过更改图像的相对缩放,您可以创建更复杂的图片框。 +## **使用相对比例创建图片框** -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 向演示文稿图像集合添加图像。 -4. 通过向与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) 添加图像,创建 [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) 对象。 -5. 在图片框中指定图像的相对宽度和高度。 -6. 将修改后的演示文稿写入 PPTX 文件。 +本节演示如何先以固定尺寸放置图像,然后对宽度和高度分别以百分比方式进行缩放。由于百分比可能不同,宽高比会随之变化。缩放是相对于图像的原始尺寸进行的。 -以下 Python 代码向您展示如何创建一个相对缩放的图片框: +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 根据索引获取幻灯片。 +3. 通过将图像添加到演示文稿的 [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) 来创建 [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)。 +4. 向幻灯片添加一个 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)。 +5. 设置图片框的相对宽度和高度。 +6. 将演示文稿另存为 PPTX 文件。 +以下 Python 代码展示了如何创建具有相对缩放的图片框: ```py import aspose.slides as slides -# 实例化表示 PPTX 文件的 Presentation 类 +# 实例化 Presentation 类以表示 PPTX 文件。 with slides.Presentation() as presentation: - # 加载将添加到演示文稿图像集合的图像 - with open("img.jpeg", "rb") as in_file: - image = presentation.images.add_image(in_file) + # 获取第一张幻灯片。 + slide = presentation.slides[0] + + # 将图像添加到演示文稿的图像集合。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # 向幻灯片添加图片框 - pf = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) + # 向幻灯片添加图片框。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # 设置相对缩放宽度和高度 - pf.relative_scale_height = 0.8 - pf.relative_scale_width = 1.35 + # 设置相对缩放宽度和高度。 + picture_frame.relative_scale_height = 0.8 + picture_frame.relative_scale_width = 1.35 - # 保存演示文稿 - presentation.save("Adding Picture Frame with Relative Scale_out.pptx", slides.export.SaveFormat.PPTX) + # 保存演示文稿。 + presentation.save("relative_scaling.pptx", slides.export.SaveFormat.PPTX) ``` -## **从图片框中提取图像** -您可以从 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 对象中提取图像并将其保存为 PNG、JPG 和其他格式。下面的代码示例演示如何从文档 "sample.pptx" 中提取图像并保存为 PNG 格式。 +## **从图片框提取光栅图像** +您可以从 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 对象中提取光栅图像,并将其保存为 PNG、JPG 等格式。下面的代码示例演示了如何从文档 “sample.pptx” 中提取图像并以 PNG 格式保存。 ```python import aspose.slides as slides @@ -133,245 +123,293 @@ with slides.Presentation("sample.pptx") as presentation: image.save("slide_1_shape_1.png", slides.ImageFormat.PNG) ``` -## **获取图像的透明度** -Aspose.Slides 允许您获取图像的透明度。以下 Python 代码演示了该操作: +## **从图片框提取 SVG 图像** + +当演示文稿在 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 形状中包含 SVG 图形时,Aspose.Slides for Python via .NET 可以完整保留原始矢量图像。通过遍历幻灯片的形状集合,您可以识别每个 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/),检查其底层的 [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/) 是否包含 SVG 内容,然后将该图像以原生 SVG 格式保存到磁盘或流中。 + +以下代码示例演示了如何从图片框中提取 SVG 图像: +```py +import aspose.slides as slides + +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + if isinstance(shape, slides.PictureFrame): + svg_image = shape.picture_format.picture.image.svg_image + + if svg_image is not None: + with open("output.svg", "w", encoding="utf-8") as svg_stream: + svg_stream.write(svg_image.svg_content) +``` + + +## **获取图像透明度** +Aspose.Slides 允许您获取应用于图像的透明度效果。下面的 Python 代码演示了该操作: ```python import aspose.slides as slides -with slides.Presentation("pres.pptx") as presentation: - pictureFrame = presentation.slides[0].shapes[0] - imageTransform = pictureFrame.picture_format.picture.image_transform - for effect in imageTransform: - if type(effect) is slides.AlphaModulateFixed: - transparencyValue = 100 - effect.amount - print("图片透明度: " + str(transparencyValue)) +with slides.Presentation("sample.pptx") as presentation: + picture_frame = presentation.slides[0].shapes[0] + image_transform = picture_frame.picture_format.picture.image_transform + for effect in image_transform: + if isinstance(effect, slides.effects.AlphaModulateFixed): + transparency_value = 100 - effect.amount + print("Picture transparency: " + str(transparency_value)) ``` + +{{% alert color="primary" %}} +所有应用于图像的效果均可在 [aspose.slides.effects](https://reference.aspose.com/slides/python-net/aspose.slides.effects/) 中找到。 +{{% /alert %}} + ## **图片框格式化** -Aspose.Slides 提供了许多可以应用于图片框的格式选项。使用这些选项,您可以修改图片框以满足特定要求。 - -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 通过向与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) 添加图像,创建 [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage) 对象。 -4. 指定图像的宽度和高度。 -5. 通过与引用幻灯片关联的 [IShapes](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection) 对象暴露的 [AddPictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) 方法,基于图像的宽度和高度创建 `PictureFrame`。 -6. 将图片框(包含图片)添加到幻灯片。 -7. 设置图片框的线条颜色。 -8. 设置图片框的线条宽度。 -9. 通过给予其正值或负值来旋转图片框。 - * 正值使图像顺时针旋转。 - * 负值使图像逆时针旋转。 -10. 将图片框(包含图片)添加到幻灯片。 -11. 将修改后的演示文稿写入 PPTX 文件。 +Aspose.Slides 提供了多种格式化选项,您可以将其应用于图片框,以满足特定需求。 -以下 Python 代码演示了图片框格式化过程: +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 根据索引获取幻灯片。 +3. 通过将图像添加到演示文稿的 [ImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/) 来创建 [PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)。该图像将用于填充形状。 +4. 指定框的宽度和高度。 +5. 使用幻灯片的 [add_picture_frame](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/add_picture_frame/) 方法创建相同尺寸的 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)。 +6. 设置图片框的线条颜色。 +7. 设置图片框的线条宽度。 +8. 通过提供正值(顺时针)或负值(逆时针)来旋转图片框。 +9. 将修改后的演示文稿另存为 PPTX 文件。 +以下 Python 代码演示了图片框格式化过程: ```py import aspose.slides as slides import aspose.pydrawing as draw -# 实例化表示 PPTX 文件的 Presentation 类 -with slides.Presentation() as pres: - # 获取第一张幻灯片 - sld = pres.slides[0] +# 实例化 Presentation 类以表示 PPTX 文件。 +with slides.Presentation() as presentation: + # 获取第一张幻灯片。 + slide = presentation.slides[0] - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) + # 将图像添加到演示文稿的图像集合。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) - # 添加与图片等效高度和宽度的图片框 - pf = sld.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 150, imgx.width, imgx.height, imgx) + # 添加与图像大小相同的图片框。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # 对 PictureFrameEx 应用一些格式 - pf.line_format.fill_format.fill_type = slides.FillType.SOLID - pf.line_format.fill_format.solid_fill_color.color = draw.Color.blue - pf.line_format.width = 20 - pf.rotation = 45 + # 对图片框应用格式化。 + picture_frame.line_format.fill_format.fill_type = slides.FillType.SOLID + picture_frame.line_format.fill_format.solid_fill_color.color = draw.Color.blue + picture_frame.line_format.width = 20 + picture_frame.rotation = 45 - # 将 PPTX 文件写入磁盘 - pres.save("RectPicFrameFormat_out.pptx", slides.export.SaveFormat.PPTX) + # 将演示文稿保存为 PPTX。 + presentation.save("picture_formatting.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="提示" color="primary" %}} -Aspose 最近开发了一个 [免费拼贴生成器](https://products.aspose.app/slides/collage)。如果您需要 [合并 JPG/JPEG](https://products.aspose.app/slides/collage/jpg) 或 PNG 图像,或者 [从照片创建网格](https://products.aspose.app/slides/collage/photo-grid),您可以使用此服务。 +{{% alert title="Tip" color="primary" %}} +Aspose 开发了免费 [Collage Maker](https://products.aspose.app/slides/collage)。如果需要 [合并 JPG/JPEG](https://products.aspose.app/slides/collage/jpg) 或 PNG 图像,或 [创建照片网格](https://products.aspose.app/slides/collage/photo-grid),您可以使用该服务。 {{% /alert %}} -## **添加链接的图像** - -为避免演示文稿文件大小过大,您可以通过链接添加图像(或视频),而不是将文件直接嵌入演示文稿。以下 Python 代码向您展示如何向占位符中添加图像和视频: +## **将图像作为链接添加** +为保持演示文稿文件体积小,您可以通过链接的方式添加图像或视频,而不是将文件直接嵌入演示文稿。以下 Python 代码展示了如何在占位符中插入图像和视频: ```python import aspose.slides as slides with slides.Presentation("input.pptx") as presentation: - shapesToRemove = [] + slide = presentation.slides[0] - for autoShape in presentation.slides[0].shapes: - if autoShape.placeholder is None: + shapes_to_remove = [] + + for shape in slide.shapes: + if shape.placeholder is None: continue - - if autoShape.placeholder.type == slides.PlaceholderType.PICTURE: - pictureFrame = presentation.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, - autoShape.x, autoShape.y, autoShape.width, autoShape.height, None) - pictureFrame.picture_format.picture.link_path_long = \ + if shape.placeholder.type == slides.PlaceholderType.PICTURE: + picture_frame = slide.shapes.add_picture_frame( + slides.ShapeType.RECTANGLE, shape.x, shape.y, shape.width, shape.height, None) + + picture_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - shapesToRemove.append(autoShape) + shapes_to_remove.append(shape) - elif autoShape.placeholder.type == slides.PlaceholderType.MEDIA: - videoFrame = presentation.slides[0].shapes.add_video_frame( - autoShape.X, autoShape.Y, autoShape.width, autoShape.height, "") + elif shape.placeholder.type == slides.PlaceholderType.MEDIA: + video_frame = slide.shapes.add_video_frame(shape.X, shape.Y, shape.width, shape.height, "") - videoFrame.picture_format.picture.link_path_long = \ + video_frame.picture_format.picture.link_path_long = \ "https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg" - videoFrame.link_path_long = "https://youtu.be/t_1LYZ102RA" - shapesToRemove.append(autoShape) + video_frame.link_path_long = "https://youtu.be/t_1LYZ102RA" + shapes_to_remove.append(shape) - for shape in shapesToRemove: - presentation.slides[0].shapes.remove(shape) + for shape in shapes_to_remove: + slide.shapes.remove(shape) presentation.save("output.pptx", slides.export.SaveFormat.PPTX) ``` + ## **裁剪图像** -以下 Python 代码向您展示如何裁剪幻灯片上的现有图像: +本节您将学习如何在图片框内裁剪图像的可见区域,而不修改源文件。您还将了解如何使用裁剪边距在幻灯片上创建干净、聚焦的构图。 -``` py +以下 Python 代码展示了如何在幻灯片上裁剪图像: +```py import aspose.slides as slides with slides.Presentation() as presentation: - # 创建新的图像对象 - newImage = presentation.images.add_image(slides.Images.from_file(imagePath)) + slide = presentation.slides[0] - # 向幻灯片添加图片框 - picFrame = presentation.slides[0].shapes.add_picture_frame( - slides.ShapeType.RECTANGLE, 100, 100, 420, 250, newImage) + # 将图像添加到演示文稿的图像集合。 + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - # 裁剪图像(百分比值) - picFrame.picture_format.crop_left = 23.6 - picFrame.picture_format.crop_right = 21.5 - picFrame.picture_format.crop_top = 3 - picFrame.picture_format.crop_bottom = 31 + # 将图片框添加到幻灯片。 + picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 100, 100, 420, 250, image) - # 保存结果 - presentation.save(outPptxFile, slides.export.SaveFormat.PPTX) + # 裁剪图像(百分比值)。 + picture_frame.picture_format.crop_left = 23.6 + picture_frame.picture_format.crop_right = 21.5 + picture_frame.picture_format.crop_top = 3 + picture_frame.picture_format.crop_bottom = 31 + # 保存结果。 + presentation.save("cropped_image.pptx", slides.export.SaveFormat.PPTX) ``` -## 删除图片的裁剪区域 -如果您想删除框中图像的裁剪区域,可以使用 [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) 方法。该方法返回裁剪后的图像或原始图像(如果不需要裁剪)。 +## **删除图像的裁剪区域** -以下 Python 代码演示了该操作: +如果想删除框中图像的裁剪区域,请使用 [delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) 方法。该方法返回裁剪后的图像,若未进行裁剪则返回原始图像。 +以下 Python 代码演示了该操作: ```python import aspose.slides as slides -with slides.Presentation(path + "PictureFrameCrop.pptx") as pres: - slide = pres.slides[0] +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] - # 获取第一张幻灯片中的 PictureFrame + # 从第一张幻灯片获取 PictureFrame。 picture_frame = slides.shape[0] - # 删除 PictureFrame 图像的裁剪区域并返回裁剪后的图像 + # 从第一张幻灯片获取 PictureFrame。 cropped_image = picture_frame.picture_format.delete_picture_cropped_areas() - # 保存结果 - pres.save(path + "PictureFrameDeleteCroppedAreas.pptx", slides.export.SaveFormat.PPTX) + # 保存结果。 + presentation.save("deleted_cropped_areas.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="注意" color="warning" %}} -delete_picture_cropped_areas 方法将裁剪后的图像添加到演示文稿图像集合中。如果该图像仅在处理的 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 中使用,则此设置可以减小演示文稿的大小。否则,结果演示文稿中的图像数量将增加。 +{{% alert title="NOTE" color="warning" %}} -该方法在裁剪操作中将 WMF/EMF 元文件转换为光栅PNG图像。 +[delete_picture_cropped_areas](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/delete_picture_cropped_areas/) 方法会将裁剪后的图像添加到演示文稿的图像集合中。如果该图像仅在处理后的 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 中使用,这可以减小演示文稿体积;否则,生成的演示文稿中的图像数量可能会增加。 +在裁剪过程中,该方法会将 WMF/EMF 元文件转换为光栅 PNG 图像。 {{% /alert %}} -## **锁定纵横比** +## **锁定宽高比** -如果您希望包含图像的形状在更改图像尺寸后保持其纵横比,可以使用 *aspect_ratio_locked* 属性来设置 *锁定纵横比* 设置。 - -以下 Python 代码向您展示如何锁定形状的纵横比: +如果希望包含图像的形状在更改图像尺寸后仍保持宽高比,请将 [aspect_ratio_locked](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/aspect_ratio_locked/) 属性设为 `True`。 +以下 Python 代码展示了如何锁定形状的宽高比: ```python -from aspose.slides import SlideLayoutType, Presentation, ShapeType -from aspose.pydrawing import Image +import aspose.slides as slides + +with slides.Presentation("sample.pptx") as presentation: + layout = presentation.layout_slides.get_by_type(slides.SlideLayoutType.CUSTOM) + empty_slide = presentation.slides.add_empty_slide(layout) -with Presentation("pres.pptx") as pres: - layout = pres.layout_slides.get_by_type(SlideLayoutType.CUSTOM) - emptySlide = pres.slides.add_empty_slide(layout) - image = Image.from_file("image.png") - presImage = pres.images.add_image(image) + with slides.Images.from_file("image.png") as source_image: + image = presentation.images.add_image(source_image) - pictureFrame = emptySlide.shapes.add_picture_frame(ShapeType.RECTANGLE, 50, 150, presImage.width, presImage.height, presImage) + picture_frame = empty_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, image.width, image.height, image) - # 设置形状在调整大小时保持纵横比 - pictureFrame.picture_frame_lock.aspect_ratio_locked = True + # 在调整大小时锁定宽高比。 + picture_frame.picture_frame_lock.aspect_ratio_locked = True + + presentation.save("aspect_ratio_locked.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="注意" color="warning" %}} -该 *锁定纵横比* 设置仅保留形状的纵横比,而不保留其包含的图像的纵横比。 +{{% alert title="NOTE" color="warning" %}} +此 *Lock Aspect Ratio* 设置仅保持形状本身的宽高比,而不影响内部图像的宽高比。 {{% /alert %}} -## **使用 StretchOff 属性** - -使用 [IPictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/ipicturefillformat/) 接口和 [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/) 类中的 `StretchOffsetLeft`、`StretchOffsetTop`、`StretchOffsetRight` 和 `StretchOffsetBottom` 属性,您可以指定填充矩形。 +## **使用 Stretch Offset 属性** -当为图像指定拉伸时,源矩形按比例缩放以适应指定的填充矩形。填充矩形的每个边缘由自形状的边界框对应边缘的百分比偏移量定义。正百分比表示向内缩进,而负百分比表示向外扩展。 +通过 [PictureFillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillformat/) 类的 `stretch_offset_left`、`stretch_offset_top`、`stretch_offset_right` 和 `stretch_offset_bottom` 属性,您可以定义填充矩形。 -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 添加一个矩形 `AutoShape`。 -4. 创建一张图像。 -5. 设置形状的填充类型。 -6. 设置形状的图片填充模式。 -7. 添加设置的图像以填充该形状。 -8. 指定图像从形状的边界框对应边缘的偏移量。 -9. 将修改后的演示文稿写入 PPTX 文件。 +当为图像指定拉伸时,源矩形会按比例缩放以适应填充矩形。填充矩形的每一边由相对于形状边界框对应边的百分比偏移定义。正百分比表示内缩,负百分比表示外扩。 -以下 Python 代码演示了使用 StretchOff 属性的过程: +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 根据索引获取幻灯片引用。 +3. 添加一个矩形 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)。 +4. 设置形状的填充类型。 +5. 设置形状的图片填充模式。 +6. 加载图像。 +7. 将图像分配为填充形状。 +8. 指定图像相对于形状边界框各边的偏移。 +9. 将演示文稿另存为 PPTX 文件。 +以下 Python 代码演示了如何使用 Stretch Offset 属性: ```py import aspose.slides as slides -# 实例化表示 PPTX 文件的 Prseetation 类 -with slides.Presentation() as pres: +# 实例化表示 PPTX 文件的 Presentation 类。 +with slides.Presentation() as presentation: + # 获取第一张幻灯片。 + slide = presentation.slides[0] + + # 添加矩形 AutoShape。 + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 300, 300) + + # 设置形状的填充类型。 + shape.fill_format.fill_type = slides.FillType.PICTURE + + # 设置形状的图片填充模式。 + shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH + + # 加载图像并将其添加到演示文稿。 + with open("image.jpeg", "rb") as image_stream: + image = presentation.images.add_image(image_stream) + + # 将图像分配给形状以填充。 + shape.fill_format.picture_fill_format.picture.image = image + + # 指定图像相对于形状边界框各边的偏移量。 + shape.fill_format.picture_fill_format.stretch_offset_left = 25 + shape.fill_format.picture_fill_format.stretch_offset_right = 25 + shape.fill_format.picture_fill_format.stretch_offset_top = -20 + shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 + + # 将 PPTX 文件保存到磁盘。 + presentation.save("stretch_offset.pptx", slides.export.SaveFormat.PPTX) +``` + + +{{% alert title="Tip" color="primary" %}} + +Aspose 提供免费转换器——[JPEG to PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) 和 [PNG to PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)——帮助您快速从图像创建演示文稿。 +{{% /alert %}} + +## **FAQ** + +**如何查看 PictureFrame 支持的图像格式?** - # 获取第一张幻灯片 - slide = pres.slides[0] +Aspose.Slides 通过分配给 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 的图像对象,支持光栅图像(PNG、JPEG、BMP、GIF 等)和矢量图像(例如 SVG)。支持的格式列表通常与幻灯片和图像转换引擎的能力相吻合。 - # 实例化 ImageEx 类 - with open("img.jpeg", "rb") as in_file: - imgx = pres.images.add_image(in_file) +**大量大型图像会对 PPTX 大小和性能产生什么影响?** - # 添加与图片等效高度和宽度的图片框 - shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 300) +嵌入大型图像会增加文件大小和内存占用;链接图像可保持演示文稿体积较小,但需要外部文件保持可访问。Aspose.Slides 提供通过链接添加图像的功能,以减小文件大小。 - # 设置形状的填充类型 - shape.fill_format.fill_type = slides.FillType.PICTURE +**如何防止图像对象被意外移动/调整大小?** - # 设置形状的图片填充模式 - shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH +对 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 使用 [shape locks](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/picture_frame_lock/)(例如禁用移动或调整大小)。锁定机制在单独的 [protection article](/slides/zh/python-net/applying-protection-to-presentation/) 中有说明,适用于包括 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 在内的多种形状类型。 - # 设置图像以填充该形状 - shape.fill_format.picture_fill_format.picture.image = imgx +**导出演示文稿为 PDF/图像时,SVG 矢量保真度是否得到保留?** - # 指定图像从形状的边界框对应边缘的偏移量 - shape.fill_format.picture_fill_format.stretch_offset_left = 25 - shape.fill_format.picture_fill_format.stretch_offset_right = 25 - shape.fill_format.picture_fill_format.stretch_offset_top = -20 - shape.fill_format.picture_fill_format.stretch_offset_bottom = -10 - - # 将 PPTX 文件写入磁盘 - pres.save("StretchOffsetLeftForPictureFrame_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +Aspose.Slides 允许从 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 中提取原始矢量 SVG。使用 [exporting to PDF](/slides/zh/python-net/convert-powerpoint-to-pdf/) 或 [raster formats](/slides/zh/python-net/convert-powerpoint-to-png/) 时,结果可能会根据导出设置被光栅化;提取行为证明原始 SVG 仍以矢量形式存储。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/zh/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index af60da91c4..7aad340a9e 100644 --- a/zh/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/zh/python-net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -11,36 +11,35 @@ keywords: - 提取视频 - 检索视频 - 视频帧 -- Web 源 +- 网络来源 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "学习如何使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 幻灯片中以编程方式添加和提取视频帧。快速上手指南。" +description: "学习使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 幻灯片中以编程方式添加和提取视频帧。快速入门指南。" --- -在演示文稿中适当放置的视频可以使您的信息更具吸引力,并提高与观众的参与度。 +在演示文稿中恰当地放置视频可以使您的信息更具说服力,并提升观众的参与度。 -PowerPoint 允许您以两种方式向演示文稿中的幻灯片添加视频: +PowerPoint 允许您以两种方式向演示文稿的幻灯片添加视频: * 添加或嵌入本地视频(存储在您的计算机上) -* 添加在线视频(来自 YouTube 等网络来源)。 +* 添加在线视频(来自如 YouTube 等网络来源)。 -为了让您在演示文稿中添加视频(视频对象),Aspose.Slides 提供了 [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) 接口、[IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) 接口和其他相关类型。 +为了让您向演示文稿添加视频(视频对象),Aspose.Slides 提供了 [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) 接口、[IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) 接口以及其他相关类型。 -## **创建嵌入式视频框架** +## **创建嵌入式视频帧** -如果您要添加到幻灯片的视频文件存储在本地,您可以创建一个视频框架以将视频嵌入到演示文稿中。 +如果您要添加到幻灯片的视频文件存储在本地,您可以创建一个视频帧将视频嵌入到演示文稿中。 -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 创建 [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 1. 通过索引获取幻灯片的引用。 -1. 添加 [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) 对象并传递视频文件路径以将视频嵌入演示文稿。 -1. 添加 [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) 对象以创建视频的框架。 +1. 添加 [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) 对象,并传入视频文件路径以将视频嵌入演示文稿。 +1. 添加 [IVideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/ivideoframe/) 对象以创建视频帧。 1. 保存已修改的演示文稿。 -这段 Python 代码向您展示了如何将本地存储的视频添加到演示文稿中: - +以下 Python 代码展示了如何将本地存储的视频添加到演示文稿中: ```python import aspose.slides as slides @@ -48,15 +47,15 @@ with slides.Presentation(path + "pres.pptx") as pres: with open("Wildlife.mp4", "br") as fileStream: video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED) - # 获取第一张幻灯片并添加视频框架 + # 获取第一张幻灯片并添加视频帧 pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video) # 将演示文稿保存到磁盘 pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX) ``` -另外,您还可以通过直接将其文件路径传递给 `add_video_frame(x, y, width, height, fname)` 方法来添加视频: +或者,您可以直接将文件路径传递给 `add_video_frame(x, y, width, height, fname)` 方法来添加视频: ``` python import aspose.slides as slides @@ -65,24 +64,24 @@ with slides.Presentation() as pres: vf = sld.shapes.add_video_frame(50, 150, 300, 150, "video1.avi") ``` -## **使用网络源中的视频创建视频框架** -Microsoft [PowerPoint 2013 及更新版本](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) 在演示文稿中支持 YouTube 视频。如果您想使用的视频在线可用(例如在 YouTube 上),您可以通过其网络链接将其添加到演示文稿中。 +## **创建来自网络来源的视频帧** + +Microsoft [PowerPoint 2013 及更高版本](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) 支持在演示文稿中使用 YouTube 视频。如果您想使用的视频在网上可用(例如 YouTube),可以通过其网络链接将其添加到演示文稿中。 -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例 +1. 创建 [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例 1. 通过索引获取幻灯片的引用。 -1. 添加 [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) 对象并传递视频链接。 -1. 设置视频框架的缩略图。 +1. 添加 [IVideo](https://reference.aspose.com/slides/python-net/aspose.slides/ivideo/) 对象,并传入视频链接。 +1. 为视频帧设置缩略图。 1. 保存演示文稿。 -这段 Python 代码向您展示了如何将网络中的视频添加到 PowerPoint 演示文稿中的幻灯片: - +以下 Python 代码展示了如何将网络视频添加到 PowerPoint 幻灯片中: ```python import aspose.slides as slides from urllib.request import urlopen def add_video_from_youyube(pres, videoId): - # 添加视频框架 + # 添加一个 videoFrame videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId) videoFrame.play_mode = slides.VideoPlayModePreset.AUTO @@ -97,21 +96,21 @@ with slides.Presentation() as pres: pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **从幻灯片中提取视频** -除了向幻灯片添加视频外,Aspose.Slides 还允许您提取嵌入在演示文稿中的视频。 +除了向幻灯片添加视频之外,Aspose.Slides 还允许您提取嵌入在演示文稿中的视频。 -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例以加载包含视频的演示文稿。 -2. 遍历所有 [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/) 对象。 -3. 遍历所有 [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) 对象以查找 [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/)。 +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例,以加载包含视频的演示文稿。 +2. 遍历所有 [ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/) 对象。 +3. 遍历所有 [IShape](https://reference.aspose.com/slides/python-net/aspose.slides/ishape/) 对象以查找 [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/)。 4. 将视频保存到磁盘。 -这段 Python 代码向您展示了如何提取演示文稿幻灯片上的视频: - +以下 Python 代码展示了如何提取演示文稿幻灯片中的视频: ```python import aspose.slides as slides -# 实例化表示演示文稿文件的 Presentation 对象 +# 实例化一个表示演示文稿文件的 Presentation 对象 with slides.Presentation(path + "Video.pptx") as presentation: for shape in presentation.slides[0].shapes: if type(shape) is slides.VideoFrame: @@ -119,4 +118,23 @@ with slides.Presentation(path + "Video.pptx") as presentation: buffer = shape.embedded_video.binary_data with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream: stream.write(buffer) -``` \ No newline at end of file +``` + + +## **常见问题** + +**可以为 VideoFrame 更改哪些视频播放参数?** + +您可以通过 [VideoFrame](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/) 对象的属性控制[播放模式](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_mode/)(自动或点击)以及[循环播放](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/play_loop_mode/)。 + +**添加视频会影响 PPTX 文件大小吗?** + +是的。嵌入本地视频时,二进制数据会被写入文档,导致演示文稿大小随视频文件大小等比例增长。添加在线视频时,仅嵌入链接和缩略图,文件增幅相对较小。 + +**我能在不更改位置和大小的情况下替换现有 VideoFrame 中的视频吗?** + +可以。您可以在保持形状几何属性不变的前提下,替换帧内的[视频内容](https://reference.aspose.com/slides/python-net/aspose.slides/videoframe/embedded_video/),这在更新现有布局中的媒体时非常常见。 + +**可以确定嵌入视频的内容类型(MIME)吗?** + +可以。嵌入的视频拥有可以读取的[内容类型](https://reference.aspose.com/slides/python-net/aspose.slides/video/content_type/),例如在保存到磁盘时使用。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md b/zh/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md index 8279344993..5a9ef18c71 100644 --- a/zh/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/zh/python-net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,51 +1,50 @@ --- -title: 在 Python 中创建并应用艺术字效果 -linktitle: 艺术字 +title: 在 Python 中创建和应用 WordArt 效果 +linktitle: WordArt type: docs weight: 110 url: /zh/python-net/wordart/ keywords: -- 艺术字 -- 创建艺术字 -- 艺术字模板 -- 艺术字效果 +- WordArt +- 创建 WordArt +- WordArt 模板 +- WordArt 效果 - 阴影效果 - 显示效果 - 发光效果 -- 艺术字变换 +- WordArt 变形 - 3D 效果 - 外阴影效果 - 内阴影效果 - Python - Aspose.Slides -description: "了解如何在 Aspose.Slides for Python via .NET 中创建和自定义艺术字效果。本分步指南帮助开发者在 Python 中用时尚、专业的文本提升演示文稿。" +description: "了解如何在 Aspose.Slides for Python via .NET 中创建和自定义 WordArt 效果。此步骤指南帮助开发者在 Python 中使用时尚、专业的文本增强演示文稿。" --- -## **关于 WordArt?** -WordArt 或 Word Art 是一个功能,可以让你对文本应用效果,使其更突出。例如,使用 WordArt,你可以给文本描边或填充颜色(或渐变),为其添加 3D 效果,等等。你还可以倾斜、弯曲和拉伸文本的形状。 +## **关于 WordArt?** +WordArt(或 Word Art)是一项功能,允许您对文本应用效果,使其突出。使用 WordArt,例如,您可以对文本进行描边或填充颜色(或渐变),添加 3D 效果等。您还可以对文本的形状进行倾斜、弯曲和拉伸。 {{% alert color="primary" %}} -WordArt 允许你将文本视为图形对象。WordArt 包含针对文本的效果或特殊修改,使其更具吸引力或更显眼。 +WordArt 允许您像对待图形对象一样处理文本。WordArt 包含对文本进行的效果或特殊修改,使其更具吸引力或更显眼。 {{% /alert %}} -**Microsoft PowerPoint 中的 WordArt** +**WordArt 在 Microsoft PowerPoint 中** -要在 Microsoft PowerPoint 中使用 WordArt,你必须选择一个预定义的 WordArt 模板。WordArt 模板是一组应用于文本或其形状的效果。 +要在 Microsoft PowerPoint 中使用 WordArt,必须选择预定义的 WordArt 模板之一。WordArt 模板是一组将应用于文本或其形状的效果。 -**Aspose.Slides 中的 WordArt** +**WordArt 在 Aspose.Slides 中** -在 Aspose.Slides for Python via .NET 20.10 中,我们实现了对 WordArt 的支持,并在后续的 Aspose.Slides for Python via .NET 版本中对该功能进行了改进。 +在 Aspose.Slides for Python via .NET 20.10 中,我们实现了对 WordArt 的支持,并在后续的 Aspose.Slides for Python via .NET 版本中对该功能进行了改进。 -使用 Aspose.Slides for Python via .NET,你可以轻松地在 Python 中创建自己的 WordArt 模板(一个效果或效果组合),并将其应用于文本。 +使用 Aspose.Slides for Python via .NET,您可以在 Python 中轻松创建自己的 WordArt 模板(单个效果或组合效果),并将其应用于文本。 -## 创建简单的 WordArt 模板并应用于文本 +## 创建简单的 WordArt 模板并将其应用于文本 **使用 Aspose.Slides** -首先,我们使用以下 Python 代码创建简单的文本: - +首先,我们使用以下 Python 代码创建一个简单的文本: ```py import aspose.slides as slides @@ -59,30 +58,30 @@ with slides.Presentation() as pres: pres.save("wordart-1.pptx", slides.export.SaveFormat.PPTX) ``` -现在,我们通过以下代码将文本的字体高度设置为更大的值,以使效果更加显著: +现在,我们通过以下代码将文本的字体高度设置为更大的值,以使效果更明显: ```py fontData = slides.FontData("Arial Black") portion.portion_format.latin_font = fontData portion.portion_format.font_height = 36 ``` + **使用 Microsoft PowerPoint** -在 Microsoft PowerPoint 中转到 WordArt 效果菜单: +在 Microsoft PowerPoint 中打开 WordArt 效果菜单: ![todo:image_alt_text](image-20200930113926-1.png) -在右侧菜单中,你可以选择一个预定义的 WordArt 效果。在左侧菜单中,你可以指定新 WordArt 的设置。 +在右侧菜单中,您可以选择预定义的 WordArt 效果;在左侧菜单中,您可以为新 WordArt 指定设置。 -这是一些可用的参数或选项: +以下是部分可用的参数或选项: ![todo:image_alt_text](image-20200930114015-3.png) -**使用 Aspose.Slides** - -在这里,我们将 SmallGrid 图案颜色应用于文本,并使用以下代码添加一个 1 宽的黑色文本边框: +**使用 Aspose.Slides** +这里,我们使用以下代码将 SmallGrid 图案颜色应用于文本,并添加宽度为 1 的黑色文本边框: ```py portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN portion.portion_format.fill_format.pattern_format.fore_color.color = draw.Color.dark_orange @@ -93,24 +92,24 @@ with slides.Presentation() as pres: portion.portion_format.line_format.fill_format.solid_fill_color.color = draw.Color.black ``` -得到的文本: + +生成的文本: ![todo:image_alt_text](image-20200930114108-4.png) ## 应用其他 WordArt 效果 -**使用 Microsoft PowerPoint** +**使用 Microsoft PowerPoint** -从程序界面,你可以将这些效果应用于文本、文本块、形状或类似元素: +在程序界面中,您可以将这些效果应用于文本、文本块、形状或类似元素: ![todo:image_alt_text](image-20200930114129-5.png) -例如,可以将阴影、反射和发光效果应用于文本;可以将 3D 格式和 3D 旋转效果应用于文本块;可以将软边缘属性应用于形状对象(即使没有设置任何 3D 格式属性,它仍然会有影响)。 +例如,可以对文本应用阴影、反射和发光效果;对文本块应用 3D 格式和 3D 旋转效果;对形状对象应用柔边属性(即使未设置 3D 格式属性,它仍然有效)。 ### 应用阴影效果 -在这里,我们打算只设置与文本相关的属性。我们使用以下 Python 代码对文本应用阴影效果: - +这里,我们仅针对文本设置相关属性。我们使用以下 Python 代码对文本应用阴影效果: ```py portion.portion_format.effect_format.enable_outer_shadow_effect() portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color = draw.Color.black @@ -124,29 +123,29 @@ with slides.Presentation() as pres: portion.portion_format.effect_format.outer_shadow_effect.shadow_color.color_transform.add(slides.ColorTransformOperation.SET_ALPHA, 0.32) ``` -Aspose.Slides API 支持三种类型的阴影:外阴影、内阴影和预设阴影。 -使用预设阴影,你可以为文本应用阴影(使用预设值)。 +Aspose.Slides API 支持三种阴影类型:OuterShadow、InnerShadow 和 PresetShadow。 -**使用 Microsoft PowerPoint** +使用 PresetShadow,您可以为文本应用预设值的阴影。 -在 PowerPoint 中,你可以使用一种类型的阴影。以下是一个示例: +**使用 Microsoft PowerPoint** -![todo:image_alt_text](image-20200930114225-6.png) +在 PowerPoint 中,您只能使用一种阴影类型。示例: -**使用 Aspose.Slides** +![todo:image_alt_text](image-20200930114225-6.png) -Aspose.Slides 实际上允许你同时应用两种类型的阴影:内阴影和预设阴影。 +**使用 Aspose.Slides** -**注意:** +Aspose.Slides 实际上允许一次同时应用两种阴影:InnerShadow 和 PresetShadow。 -- 当同时使用外阴影和预设阴影时,只有外阴影效果会被应用。 -- 如果外阴影和内阴影同时使用,生成或应用的效果取决于 PowerPoint 版本。例如,在 PowerPoint 2013 中,效果加倍。但在 PowerPoint 2007 中,应用的是外阴影效果。 +**注意:** -### 将显示应用于文本 +- 当同时使用 OuterShadow 和 PresetShadow 时,仅会应用 OuterShadow 效果。 +- 如果同时使用 OuterShadow 和 InnerShadow,最终或实际应用的效果取决于 PowerPoint 版本。例如,在 PowerPoint 2013 中,效果会叠加两次;而在 PowerPoint 2007 中,仅会应用 OuterShadow 效果。 -我们通过以下 Python 代码样例为文本添加显示效果: +### 应用显示效果到文本 +我们使用以下 Python 示例为文本添加显示效果: ```py portion.portion_format.effect_format.enable_reflection_effect() portion.portion_format.effect_format.reflection_effect.blur_radius = 0.5 @@ -161,10 +160,10 @@ Aspose.Slides 实际上允许你同时应用两种类型的阴影:内阴影和 portion.portion_format.effect_format.reflection_effect.rectangle_align = slides.RectangleAlignment.BOTTOM_LEFT ``` -### 将发光效果应用于文本 -我们使用以下代码为文本应用发光效果,使其闪亮或突出: +### 应用发光效果到文本 +我们使用以下代码为文本应用发光效果,使其更亮或更突出: ```py portion.portion_format.effect_format.enable_glow_effect() portion.portion_format.effect_format.glow_effect.color.r = 255 @@ -172,45 +171,46 @@ Aspose.Slides 实际上允许你同时应用两种类型的阴影:内阴影和 portion.portion_format.effect_format.glow_effect.radius = 7 ``` -操作的结果: + +操作结果: ![todo:image_alt_text](image-20200930114621-7.png) {{% alert color="primary" %}} -您可以更改阴影、显示和发光的参数。效果属性分别在文本的每个部分上进行设置。 +您可以更改阴影、显示和发光的参数。效果属性会单独设置到文本的每个部分。 {{% /alert %}} -### 在 WordArt 中使用转换 +### 在 WordArt 中使用变形 -我们通过以下代码使用转换属性(固有于整个文本块): +我们通过以下代码使用 Transform 属性(适用于整个文本块): ```py textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP_POUR ``` -结果: + +结果: ![todo:image_alt_text](image-20200930114712-8.png) {{% alert color="primary" %}} -Microsoft PowerPoint 和 Aspose.Slides for Python via .NET 提供了一定数量的预定义转换类型。 +Microsoft PowerPoint 和 Aspose.Slides for Python via .NET 都提供一定数量的预定义变形类型。 {{% /alert %}} -**使用 PowerPoint** - -要访问预定义的转换类型,请通过:**格式** -> **文本效果** -> **转换** +**使用 PowerPoint** -**使用 Aspose.Slides** +要访问预定义的变形类型,请依次点击:**Format** -> **TextEffect** -> **Transform** -要选择转换类型,请使用 TextShapeType 枚举。 +**使用 Aspose.Slides** -### 将 3D 效果应用于文本和形状 +要选择变形类型,请使用 TextShapeType 枚举。 -我们使用以下示例代码为文本形状设置 3D 效果: +### 为文本和形状应用 3D 效果 +我们使用以下示例代码为文本形状设置 3D 效果: ```py autoShape.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE autoShape.three_d_format.bevel_bottom.height = 10.5 @@ -237,12 +237,12 @@ Microsoft PowerPoint 和 Aspose.Slides for Python via .NET 提供了一定数量 autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -得到的文本及其形状: -![todo:image_alt_text](image-20200930114816-9.png) +生成的文本及其形状: -我们使用以下 Python 代码为文本应用 3D 效果: +![todo:image_alt_text](image-20200930114816-9.png) +我们使用以下 Python 代码为文本应用 3D 效果: ```py textFrame.text_frame_format.three_d_format.bevel_bottom.bevel_type = slides.BevelPresetType.CIRCLE textFrame.text_frame_format.three_d_format.bevel_bottom.height = 3.5 @@ -269,42 +269,42 @@ Microsoft PowerPoint 和 Aspose.Slides for Python via .NET 提供了一定数量 textFrame.text_frame_format.three_d_format.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING ``` -操作的结果: + +操作结果: ![todo:image_alt_text](image-20200930114905-10.png) {{% alert color="primary" %}} -将 3D 效果应用于文本或其形状以及效果之间的交互是基于某些规则。 +将 3D 效果应用于文本或其形状以及效果之间的交互遵循特定规则。 -考虑一个包含文本的形状的场景。3D 效果包含 3D 物体表示和放置物体的场景。 +考虑文本及其所在形状的场景。3D 效果包含 3D 对象的表示以及对象所放置的场景。 -- 当两者都设置场景时,形状的场景具有更高的优先级——文本的场景会被忽略。 -- 当形状缺少自己的场景但有 3D 表示时,将使用文本的场景。 -- 否则——当形状最初没有 3D 效果时——形状是平面的,3D 效果仅应用于文本。 +- 当图形和文本均设置了场景时,图形场景具有更高优先级,文本场景将被忽略。 +- 当图形没有自己的场景但具有 3D 表示时,使用文本场景。 +- 否则——即当形状本身没有 3D 效果时,形状保持平面,仅对文本应用 3D 效果。 -这些描述与 [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) 和 [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) 属性相关。 +这些描述与 [ThreeDFormat.LightRig](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) 和 [ThreeDFormat.Camera](https://reference.aspose.com/slides/python-net/aspose.slides/threedformat/) 属性相关。 {{% /alert %}} -## **将外阴影效果应用于文本** -Aspose.Slides for Python via .NET 提供了 [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) 和 [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) 类,允许你对由 TextFrame 承载的文本应用阴影效果。按照这些步骤操作: - -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 使用其索引获取幻灯片的引用。 -3. 向幻灯片添加一个矩形类型的 AutoShape。 -4. 访问与 AutoShape 关联的 TextFrame。 -5. 将 AutoShape 的 FillType 设置为 NoFill。 -6. 实例化 OuterShadow 类。 -7. 设置阴影的 BlurRadius。 -8. 设置阴影的 Direction。 -9. 设置阴影的 Distance。 -10. 设置 RectangleAlign 为 TopLeft。 -11. 将阴影的 PresetColor 设置为 Black。 -12. 将演示文稿写入 PPTX 文件。 - -下面是实现上述步骤的 Python 示例代码,演示了如何将外阴影效果应用于文本: - +## **对文本应用外阴影效果** +Aspose.Slides for Python via .NET 提供 [**IOuterShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/ioutershadow/) 和 [**IInnerShadow**](https://reference.aspose.com/slides/python-net/aspose.slides.effects/iinnershadow/) 类,允许您对 TextFrame 中的文本应用阴影效果。请按以下步骤操作: + +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 使用索引获取幻灯片的引用。 +3. 向幻灯片添加 Rectangle 类型的 AutoShape。 +4. 访问与 AutoShape 关联的 TextFrame。 +5. 将 AutoShape 的 FillType 设置为 NoFill。 +6. 实例化 OuterShadow 类 +7. 设置阴影的 BlurRadius。 +8. 设置阴影的 Direction +9. 设置阴影的 Distance。 +10. 将 RectanglelAlign 设置为 TopLeft。 +11. 将阴影的 PresetColor 设置为 Black。 +12. 将演示文稿保存为 PPTX 文件。 + +下面的 Python 示例代码实现了上述步骤,展示了如何对文本应用外阴影效果: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -314,16 +314,16 @@ with slides.Presentation() as pres: # 获取幻灯片的引用 sld = pres.slides[0] - # 添加一个矩形类型的 AutoShape + # 添加矩形类型的 AutoShape ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50) - # 向矩形添加 TextFrame + # 为矩形添加 TextFrame ashp.add_text_frame("Aspose TextBox") # 禁用形状填充,以便获取文本的阴影 ashp.fill_format.fill_type = slides.FillType.NO_FILL - # 添加外阴影并设置所有必要参数 + # 添加外部阴影并设置所有必要参数 ashp.effect_format.enable_outer_shadow_effect() shadow = ashp.effect_format.outer_shadow_effect shadow.blur_radius = 4.0 @@ -332,25 +332,24 @@ with slides.Presentation() as pres: shadow.rectangle_align = slides.RectangleAlignment.TOP_LEFT shadow.shadow_color.preset_color = slides.PresetColor.BLACK - # 将演示文稿写入磁盘 + #写入演示文稿到磁盘 pres.save("pres_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **将内阴影效果应用于形状** -按照以下步骤操作: - -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 获取幻灯片的引用。 -3. 添加一个矩形类型的 AutoShape。 -4. 启用 InnerShadowEffect。 -5. 设置所有必要的参数。 -6. 将 ColorType 设置为 Scheme。 -7. 设置 Scheme Color。 -8. 将演示文稿写入 [PPTX](https://docs.fileformat.com/presentation/pptx/) 文件。 +## **对形状应用内阴影效果** +请按以下步骤操作: -以下是基于上述步骤的示例代码,演示了如何在 Python 中为两个形状之间添加连接器: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 获取幻灯片的引用。 +3. 添加 Rectangle 类型的 AutoShape。 +4. 启用 InnerShadowEffect。 +5. 设置所有必要的参数。 +6. 将 ColorType 设置为 Scheme。 +7. 设置 Scheme Color。 +8. 将演示文稿保存为 [PPTX](https://docs.fileformat.com/presentation/pptx/) 文件。 +以下示例代码(基于上述步骤)展示了如何在 Python 中为两个形状添加连接线: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -359,11 +358,11 @@ with slides.Presentation() as presentation: # 获取幻灯片的引用 slide = presentation.slides[0] - # 添加一个矩形类型的 AutoShape + # 添加矩形类型的 AutoShape ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 400, 300) ashp.fill_format.fill_type = slides.FillType.NO_FILL - # 向矩形添加 TextFrame + # 为矩形添加 TextFrame ashp.add_text_frame("Aspose TextBox") port = ashp.text_frame.paragraphs[0].portions[0] pf = port.portion_format @@ -373,18 +372,33 @@ with slides.Presentation() as presentation: ef = pf.effect_format ef.enable_inner_shadow_effect() - # 设置所有必要参数 + # 设置所有必要的参数 ef.inner_shadow_effect.blur_radius = 8.0 ef.inner_shadow_effect.direction = 90.0 ef.inner_shadow_effect.distance = 6.0 ef.inner_shadow_effect.shadow_color.b = 189 - # 设置 ColorType 为 Scheme + # 将 ColorType 设置为 Scheme ef.inner_shadow_effect.shadow_color.color_type = slides.ColorType.SCHEME - # 设置 Scheme Color + # 设置方案颜色 ef.inner_shadow_effect.shadow_color.scheme_color = slides.SchemeColor.ACCENT1 # 保存演示文稿 presentation.save("WordArt_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**我可以在不同字体或文字系统(例如阿拉伯语、中文)中使用 WordArt 效果吗?** +是的,Aspose.Slides 支持 Unicode,兼容所有主流字体和文字系统。无论语言如何,都可以对文字应用 WordArt 效果,例如阴影、填充和描边,不过字体的可用性和渲染效果可能取决于系统已安装的字体。 + +**我可以将 WordArt 效果应用于母版幻灯片元素吗?** +是的,您可以将 WordArt 效果应用于母版幻灯片上的形状,包括标题占位符、页脚或背景文字。对母版布局所做的更改会同步到所有使用该母版的幻灯片。 + +**WordArt 效果会影响演示文稿的文件大小吗?** +会有一点影响。阴影、发光和渐变填充等 WordArt 效果会因额外的格式化元数据略微增大文件体积,但差异通常可以忽略不计。 + +**我可以在不保存演示文稿的情况下预览 WordArt 效果的结果吗?** +是的,您可以使用 [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 或 [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/) 类的 `get_image` 方法,将包含 WordArt 的幻灯片渲染为图像(例如 PNG、JPEG)。这样即可在内存中或屏幕上预览效果,而无需保存或导出完整的演示文稿。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index c8a3902caa..27f12ce50d 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,5 +1,5 @@ --- -title: 使用 Python 自定义演示文稿中的图表坐标轴 +title: 使用 Python 在演示文稿中自定义图表坐标轴 linktitle: 图表坐标轴 type: docs url: /zh/python-net/chart-axis/ @@ -25,21 +25,20 @@ keywords: description: "了解如何使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中自定义图表坐标轴,以用于报告和可视化。" --- -## **获取图表垂直坐标轴的最大值** -Aspose.Slides for Python via .NET 允许您获取垂直坐标轴的最小值和最大值。请按照以下步骤操作: +## **获取图表垂直轴的最大值** +Aspose.Slides for Python via .NET 允许您获取垂直轴的最小值和最大值。请按以下步骤操作: -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 1. 访问第一张幻灯片。 1. 添加一个带有默认数据的图表。 -1. 获取坐标轴上的实际最大值。 -1. 获取坐标轴上的实际最小值。 -1. 获取坐标轴上的实际主要单位。 -1. 获取坐标轴上的实际次要单位。 -1. 获取坐标轴上的实际主要单位刻度。 -1. 获取坐标轴上的实际次要单位刻度。 - -以下示例代码—上述步骤的实现—向您展示如何在 Python 中获取所需值: - +1. 获取轴上的实际最大值。 +1. 获取轴上的实际最小值。 +1. 获取轴的实际主单位。 +1. 获取轴的实际次单位。 +1. 获取轴的实际主单位刻度。 +1. 获取轴的实际次单位刻度。 + +此示例代码实现了上述步骤,展示了如何在 Python 中获取所需的数值: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -58,30 +57,30 @@ with slides.Presentation() as pres: pres.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **在坐标轴之间交换数据** -Aspose.Slides 允许您快速交换坐标轴之间的数据—垂直坐标轴(y 轴)上的数据移动到水平坐标轴(x 轴),反之亦然。 -以下 Python 代码向您展示如何在图表的坐标轴之间执行数据交换任务: +## **在轴之间交换数据** +Aspose.Slides 允许您快速在轴之间交换数据——垂直轴(y 轴)上的数据会移动到水平轴(x 轴),反之亦然。 +此 Python 代码演示了如何在图表上执行轴之间的数据交换任务: ```py import aspose.slides.charts as charts import aspose.slides as slides -# 创建空演示文稿 +# 创建空白演示文稿 with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300) - # 切换行和列 + #切换行和列 chart.chart_data.switch_row_column() # 保存演示文稿 pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **禁用线图的垂直坐标轴** -以下 Python 代码向您展示如何隐藏线图的垂直坐标轴: +## **禁用折线图的垂直轴** +此 Python 代码展示了如何隐藏折线图的垂直轴: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -93,10 +92,10 @@ with slides.Presentation() as pres: pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX) ``` -## **禁用线图的水平坐标轴** -以下代码向您展示如何隐藏线图的水平坐标轴: +## **禁用折线图的水平轴** +此代码展示了如何隐藏折线图的水平轴: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -108,10 +107,10 @@ with slides.Presentation() as pres: pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX) ``` -## **更改类别坐标轴** -使用 **CategoryAxisType** 属性,您可以指定所需的类别坐标轴类型(**日期**或**文本**)。以下 Python 代码演示了该操作: +## **更改分类轴** +使用 **CategoryAxisType** 属性,您可以指定首选的分类轴类型(**date** 或 **text**)。以下 Python 代码演示了该操作: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -125,9 +124,9 @@ with slides.Presentation(path + "ExistingChart.pptx") as presentation: presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **设置类别坐标轴值的日期格式** -Aspose.Slides for Python via .NET 允许您为类别坐标轴值设置日期格式。该操作在以下 Python 代码中演示: +## **设置分类轴值的日期格式** +Aspose.Slides for Python via .NET 允许您为分类轴值设置日期格式。以下 Python 代码演示了该操作: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -163,9 +162,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **设置图表坐标轴标题的旋转角度** -Aspose.Slides for Python via .NET 允许您设置图表坐标轴标题的旋转角度。该 Python 代码演示该操作: +## **设置图表轴标题的旋转角度** +Aspose.Slides for Python via .NET 允许您设置图表轴标题的旋转角度。以下 Python 代码演示了该操作: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -178,9 +177,9 @@ with slides.Presentation() as pres: pres.save("test.pptx", slides.export.SaveFormat.PPTX) ``` -## **在类别或数值坐标轴中设置位置坐标轴** -Aspose.Slides for Python via .NET 允许您在类别或数值坐标轴中设置位置坐标轴。以下 Python 代码展示了如何执行该任务: +## **在分类轴或值轴中设置位置轴** +Aspose.Slides for Python via .NET 允许您在分类轴或值轴中设置位置轴。以下 Python 代码展示了如何完成该任务: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -192,9 +191,9 @@ with slides.Presentation() as pres: pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX) ``` -## **启用图表数值坐标轴的显示单位标签** -Aspose.Slides for Python via .NET 允许您配置图表以在其图表数值坐标轴上显示单位标签。该 Python 代码演示了该操作: +## **在图表数值轴上启用显示单位标签** +Aspose.Slides for Python via .NET 允许您配置图表,在其数值轴上显示单位标签。以下 Python 代码演示了该操作: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -203,4 +202,15 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300) chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS pres.save("Result.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**如何设置一个轴与另一个轴相交的值(轴交叉)?** + +轴提供了一个 [crossing setting](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/cross_type/):您可以选择在零点、最大分类/数值处或特定数值处交叉。这对于上下移动 X 轴或强调基准线非常有用。 + +**如何相对于轴定位刻度标签(旁边、外部、内部)?** + +将 [label position](https://reference.aspose.com/slides/python-net/aspose.slides.charts/axis/major_tick_mark/) 设置为 "cross"、"outside" 或 "inside"。这会影响可读性,并有助于在小型图表中节省空间。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index e608aecdfb..47308e3d77 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,29 +1,40 @@ --- -title: 图表数据标记 +title: 使用 Python 管理演示文稿中的图表数据标记 +linktitle: 数据标记 type: docs url: /zh/python-net/chart-data-marker/ -keywords: "图表标记选项, PowerPoint演示文稿, Python, Aspose.Slides for Python via .NET" -description: "在Python中设置PowerPoint演示文稿中的图表标记选项" +keywords: +- 图表 +- 数据点 +- 标记 +- 标记选项 +- 标记大小 +- 填充类型 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解如何在 Aspose.Slides 中自定义图表数据标记,通过清晰的代码示例提升 PPT、PPTX 和 ODP 格式演示文稿的效果。" --- ## **设置图表标记选项** -可以在特定系列的图表数据点上设置标记。要设置图表标记选项,请按照以下步骤操作: +可以在特定系列的图表数据点上设置标记。要设置图表标记选项,请按以下步骤操作: - 实例化 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类。 - 创建默认图表。 - 设置图片。 -- 选择第一个图表系列。 +- 获取第一个图表系列。 - 添加新的数据点。 - 将演示文稿写入磁盘。 -在下面的示例中,我们在数据点级别设置了图表标记选项。 - +在下面的示例中,我们已在数据点级别设置了图表标记选项。 ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# 创建Presentation类的实例 +# 创建 Presentation 类的实例 with slides.Presentation() as presentation: slide = presentation.slides[0] @@ -41,7 +52,7 @@ with slides.Presentation() as presentation: chart.chart_data.series.clear() # 添加新系列 - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "系列 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type) # 设置图片 image1 = draw.Bitmap(path + "aspose-logo.jpg") @@ -51,10 +62,10 @@ with slides.Presentation() as presentation: image2 = draw.Bitmap(path + "Tulips.jpg") imgx2 = presentation.images.add_image(image2) - # 选择第一个图表系列 + # 获取第一个图表系列 series = chart.chart_data.series[0] - # 在那里添加新点 (1:3)。 + # 在此添加新点 (1:3)。 point = series.data_points.add_data_point_for_line_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 4.5)) point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx1 @@ -71,9 +82,20 @@ with slides.Presentation() as presentation: point.marker.format.fill.fill_type = slides.FillType.PICTURE point.marker.format.fill.picture_fill_format.picture.image = imgx2 - # 更改图表系列标记 + # 更改图表系列的标记 series.marker.size = 15 # 将演示文稿写入磁盘 presentation.save("MarkOptions_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**默认提供哪些标记形状?** + +提供标准形状(圆形、方形、菱形、三角形等);该列表由 [MarkerStyleType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/markerstyletype/) 枚举定义。如果需要非标准形状,可使用带图片填充的标记来模拟自定义视觉效果。 + +**将图表导出为图像或 SVG 时,标记会被保留吗?** + +是的。将图表渲染为 [raster formats](/slides/zh/python-net/convert-powerpoint-to-png/) 或将 [shapes as SVG](/slides/zh/python-net/render-a-slide-as-an-svg-image/) 保存时,标记会保留其外观和设置,包括大小、填充和轮廓。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 162837ef5a..cabc006171 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,100 +1,121 @@ --- -title: 图表图例 +title: 使用 Python 在演示文稿中自定义图表图例 +linktitle: 图表图例 type: docs url: /zh/python-net/chart-legend/ -keywords: "图表图例, 图例字体大小, PowerPoint 演示文稿, Python, Aspose.Slides for Python via .NET" -description: "设置 PowerPoint 演示文稿中图表图例的位置和字体大小" +keywords: +- 图表图例 +- 图例位置 +- 字体大小 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "通过 Aspose.Slides for Python(基于 .NET)自定义图表图例,以优化 PowerPoint 和 OpenDocument 演示文稿的图例格式。" --- +## **概述** + +Aspose.Slides for Python 提供对图表图例的完整控制,让您能够使数据标签清晰、适合演示。您可以显示或隐藏图例,选择它在幻灯片上的位置,并调整布局以防止与绘图区重叠。API 允许您设置文本和标记的样式,微调填充和背景,以及格式化边框和填充以匹配您的主题。开发人员还可以访问各个图例条目以重命名或过滤它们,确保仅显示最相关的系列。通过这些功能,您的图表保持可读、一致,并符合演示的设计标准。 + ## **图例定位** -为了设置图例属性,请按照以下步骤操作: -- 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -- 获取幻灯片的引用。 -- 在幻灯片上添加一个图表。 -- 设置图例的属性。 -- 将演示文稿写入 PPTX 文件。 +使用 Aspose.Slides,您可以快速控制图例在幻灯片中的出现位置以及如何适配幻灯片布局。了解如何精确放置图例。 -在下面给出的示例中,我们已经为图表图例设置了位置和大小。 +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 获取幻灯片的引用。 +1. 向幻灯片添加图表。 +1. 设置图例属性。 +1. 将演示文稿保存为 PPTX 文件。 +在下面的示例中,我们设置了图表图例的位置和大小: ```py import aspose.slides.charts as charts import aspose.slides as slides -# 创建一个 Presentation 类的实例 +# 创建 Presentation 类的实例。 with slides.Presentation() as presentation: - # 获取幻灯片的引用 + # 获取幻灯片的引用。 slide = presentation.slides[0] - # 在幻灯片上添加一个聚类柱状图 - chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 500, 500) + # 向幻灯片添加簇状柱形图。 + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 300) - # 设置图例属性 - chart.legend.x = 50 / chart.width - chart.legend.y = 50 / chart.height + # 设置图例属性。 + chart.legend.x = 80 / chart.width + chart.legend.y = 20 / chart.height chart.legend.width = 100 / chart.width chart.legend.height = 100 / chart.height - # 将演示文稿写入磁盘 - presentation.save("Legend_out.pptx", slides.export.SaveFormat.PPTX) + # 将演示文稿保存到磁盘。 + presentation.save("legend_positioning.pptx", slides.export.SaveFormat.PPTX) ``` +## **设置图例字体大小** -## **设置图例的字体大小** -Aspose.Slides for Python via .NET 允许开发人员设置图例的字体大小。请按照以下步骤操作: - -- 实例化 `Presentation` 类。 -- 创建默认图表。 -- 设置字体大小。 -- 设置最小轴值。 -- 设置最大轴值。 -- 将演示文稿写入磁盘。 +图表的图例应与其说明的数据一样易读。本节展示如何调整图例的字体大小,以匹配演示文稿的排版并提升可访问性。 +1. 实例化一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类。 +1. 创建图表。 +1. 设置字体大小。 +1. 将演示文稿保存到磁盘。 ```py import aspose.slides.charts as charts import aspose.slides as slides -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) chart.legend.text_format.portion_format.font_height = 20 - chart.axes.vertical_axis.is_automatic_min_value = False - chart.axes.vertical_axis.min_value = -5 - chart.axes.vertical_axis.is_automatic_max_value = False - chart.axes.vertical_axis.max_value = 10 - pres.save("output.pptx", slides.export.SaveFormat.PPTX) + presentation.save("font_size.pptx", slides.export.SaveFormat.PPTX) ``` -## **设置单个图例的字体大小** -Aspose.Slides for Python via .NET 允许开发人员设置单个图例条目的字体大小。请按照以下步骤操作: +## **为单个图例条目设置字体大小** -- 实例化 `Presentation` 类。 -- 创建默认图表。 -- 访问图例条目。 -- 设置字体大小。 -- 设置最小轴值。 -- 设置最大轴值。 -- 将演示文稿写入磁盘。 +Aspose.Slides 让您通过格式化单个条目来微调图表图例的外观。下面的示例演示如何定位特定的图例项并设置其属性,而不影响其余图例。 +1. 实例化一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类。 +1. 创建图表。 +1. 访问图例条目。 +1. 设置条目属性。 +1. 将演示文稿保存到磁盘。 ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw - - -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) - tf = chart.legend.entries[1].text_format - - tf.portion_format.font_bold = 1 - tf.portion_format.font_height = 20 - tf.portion_format.font_italic = 1 - tf.portion_format.fill_format.fill_type = slides.FillType.SOLID - tf.portion_format.fill_format.solid_fill_color.color = draw.Color.blue - - pres.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400) + text_format = chart.legend.entries[1].text_format + + text_format.portion_format.font_bold = slides.NullableBool.TRUE + text_format.portion_format.font_height = 20 + text_format.portion_format.font_italic = slides.NullableBool.TRUE + text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID + text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.blue + + presentation.save("legend_entry.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **常见问题** + +**我可以启用图例,使图表自动为其分配空间而不是覆盖吗?** + +是的。使用非覆盖模式([overlay](https://reference.aspose.com/slides/python-net/aspose.slides.charts/legend/overlay/) = `false`);在此情况下,绘图区会缩小以容纳图例。 + +**我可以制作多行图例标签吗?** + +可以。当空间不足时,长标签会自动换行;通过在系列名称中插入换行符也支持强制换行。 + +**我如何让图例遵循演示主题的配色方案?** + +不要为图例或其文本显式设置颜色/填充/字体。它们将从主题继承,并在设计更改时正确更新。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 86e94cd13c..0971302a5d 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,34 +1,33 @@ --- -title: 在 Python 中自定义演示文稿图表的绘图区 +title: 自定义 Python 中演示文稿图表的绘图区 linktitle: 绘图区 type: docs url: /zh/python-net/chart-plot-area/ keywords: -- chart -- plot area -- plot area width -- plot area height -- plot area size -- layout mode +- 图表 +- 绘图区 +- 绘图区宽度 +- 绘图区高度 +- 绘图区尺寸 +- 布局模式 - PowerPoint -- presentation +- 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides for Python via .NET 自定义 PowerPoint 和 OpenDocument 演示文稿中的图表绘图区。轻松提升幻灯片视觉效果。" +description: "了解如何使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中自定义图表绘图区。轻松提升幻灯片视觉效果。" --- ## **获取图表绘图区的宽度和高度** -Aspose.Slides for Python via .NET 提供了一个简单的 API。 +Aspose.Slides for Python via .NET 提供了一个简单的 API 用于 。 -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 1. 访问第一张幻灯片。 1. 添加带有默认数据的图表。 -1. 在获取实际值之前调用方法 IChart.ValidateChartLayout()。 +1. 在获取实际值之前调用 IChart.ValidateChartLayout() 方法。 1. 获取图表元素相对于图表左上角的实际 X 位置(左)。 1. 获取图表元素相对于图表左上角的实际顶部位置。 1. 获取图表元素的实际宽度。 1. 获取图表元素的实际高度。 - ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -49,14 +48,14 @@ with slides.Presentation() as pres: -## **设置图表绘图区的布局模式** -Aspose.Slides for Python via .NET 提供了一个简单的 API 来设置图表绘图区的布局模式。属性 **LayoutTargetType** 已添加到 **ChartPlotArea** 和 **IChartPlotArea** 类。如果绘图区的布局是手动定义的,则该属性指定是否通过内部(不包括轴和轴标签)或外部(包括轴和轴标签)来布局绘图区。**LayoutTargetType** 枚举中定义了两种可能的值。 -- **LayoutTargetType.Inner** - 指定绘图区大小应决定绘图区的大小,不包括刻度线和轴标签。 -- **LayoutTargetType.Outer** - 指定绘图区大小应决定绘图区的大小,包括刻度线和轴标签。 +## **设置图表绘图区的布局模式** +Aspose.Slides for Python via .NET 提供了一个简单的 API 来设置图表绘图区的布局模式。属性 **LayoutTargetType** 已添加到 **ChartPlotArea** 和 **IChartPlotArea** 类中。如果绘图区的布局手动定义,则此属性指定是按内部(不包括坐标轴和坐标轴标签)还是外部(包括坐标轴和坐标轴标签)进行布局。**LayoutTargetType** 枚举定义了两种可能的取值。 -以下是示例代码。 +- **LayoutTargetType.Inner** - 指定绘图区的大小应决定绘图区的尺寸,不包括刻度线和坐标轴标签。 +- **LayoutTargetType.Outer** - 指定绘图区的大小应决定绘图区的尺寸、刻度线以及坐标轴标签。 +下面给出示例代码。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -71,4 +70,23 @@ with slides.Presentation() as presentation: chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**actual_x、actual_y、actual_width 和 actual_height 以什么单位返回?** + +以点(points)为单位;1 英寸 = 72 点。这些是 Aspose.Slides 的坐标单位。 + +**绘图区在内容上与图表区有何不同?** + +绘图区是数据绘制区域(系列、网格线、趋势线等);图表区包括周围的元素(标题、图例等)。在 3D 图表中,绘图区还包括墙面/底面以及坐标轴。 + +**当布局为手动时,绘图区的 X、Y、宽度和高度如何解释?** + +它们是图表整体尺寸的比例(0–1);在此模式下,自动定位被禁用,使用您设置的比例。 + +**在添加/移动图例后,为什么绘图区位置会变化?** + +图例位于绘图区之外的图表区域,但会影响布局和可用空间,因此在启用自动定位时绘图区可能会移动。(这是 PowerPoint 图表的标准行为。) \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md index 84789529ab..fa0ec6d2cf 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/error-bar/_index.md @@ -1,21 +1,21 @@ --- -title: 使用Python自定义演示文稿图表中的误差线 +title: 使用 Python 自定义演示文稿图表中的误差线 linktitle: 误差线 type: docs url: /zh/python-net/error-bar/ keywords: -- error bar -- custom value +- 误差线 +- 自定义值 - PowerPoint - OpenDocument -- presentation +- 演示文稿 - Python - Aspose.Slides -description: "学习如何使用Aspose.Slides for Python via .NET在图表中添加和自定义误差线,优化PowerPoint和OpenDocument演示文稿中的数据可视化。" +description: "了解如何使用 Aspose.Slides for Python via .NET 在图表中添加和自定义误差线——优化 PowerPoint 和 OpenDocument 演示文稿中的数据可视化。" --- ## **添加误差线** -Aspose.Slides for Python via .NET 提供了一个简单的 API 来管理误差线值。示例代码适用于使用自定义值类型的情况。要指定一个值,请使用 **DataPoints** 集合中特定数据点的 **ErrorBarCustomValues** 属性: +Aspose.Slides for Python via .NET 提供了一套简单的 API 用于管理误差线值。示例代码适用于使用自定义值类型的情况。要指定值,请使用系列 **DataPoints** 集合中特定数据点的 **ErrorBarCustomValues** 属性: 1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 1. 在所需幻灯片上添加气泡图。 @@ -23,14 +23,13 @@ Aspose.Slides for Python via .NET 提供了一个简单的 API 来管理误差 1. 访问第一个图表系列并设置误差线 Y 格式。 1. 设置误差线的值和格式。 1. 将修改后的演示文稿写入 PPTX 文件。 - ```py import aspose.slides.charts as charts import aspose.slides as slides -# 创建空的演示文稿 +# 创建空白演示文稿 with slides.Presentation() as presentation: - # 创建气泡图 + # 创建气泡图表 chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) # 添加误差线并设置其格式 @@ -52,24 +51,24 @@ with slides.Presentation() as presentation: + ## **添加自定义误差线值** -Aspose.Slides for Python via .NET 提供了一个简单的 API 来管理自定义误差线值。示例代码适用于 **IErrorBarsFormat.ValueType** 属性等于 **Custom** 的情况。要指定一个值,请使用 **DataPoints** 集合中特定数据点的 **ErrorBarCustomValues** 属性: +Aspose.Slides for Python via .NET 提供了一套简单的 API 用于管理自定义误差线值。当 **IErrorBarsFormat.ValueType** 属性等于 **Custom** 时,示例代码适用。要指定值,请使用系列 **DataPoints** 集合中特定数据点的 **ErrorBarCustomValues** 属性: 1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 1. 在所需幻灯片上添加气泡图。 1. 访问第一个图表系列并设置误差线 X 格式。 1. 访问第一个图表系列并设置误差线 Y 格式。 -1. 访问图表系列的单个数据点并为单个系列数据点设置误差线值。 +1. 访问图表系列的各个数据点并为单个系列数据点设置误差线值。 1. 设置误差线的值和格式。 1. 将修改后的演示文稿写入 PPTX 文件。 - ```py import aspose.slides.charts as charts import aspose.slides as slides -# 创建空的演示文稿 +# 创建空白演示文稿 with slides.Presentation() as presentation: - # 创建气泡图 + # 创建气泡图表 chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 400, 300, True) # 添加自定义误差线并设置其格式 @@ -97,4 +96,19 @@ with slides.Presentation() as presentation: # 保存演示文稿 presentation.save("ErrorBarsCustomValues_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**导出演示文稿为 PDF 或图像时,误差线会怎样?** + +它们作为图表的一部分进行渲染,并在转换过程中与其他图表格式一起保留,前提是使用兼容的版本或渲染器。 + +**误差线可以与标记和数据标签结合使用吗?** + +可以。误差线是独立的元素,且可与标记和数据标签兼容;如果元素重叠,可能需要调整格式。 + +**在哪里可以找到 API 中用于处理误差线的属性和枚举列表?** + +请参考 API 文档:[ErrorBarsFormat](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarsformat/) 类以及相关枚举 [ErrorBarType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbartype/) 和 [ErrorBarValueType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/errorbarvaluetype/)。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md index c3048599d0..8c2c8d733a 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-entities/trend-line/_index.md @@ -11,22 +11,22 @@ keywords: - 对数趋势线 - 移动平均趋势线 - 多项式趋势线 -- 幂函数趋势线 +- 幂趋势线 - 自定义趋势线 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python,快速在 PowerPoint 和 OpenDocument 图表中添加并自定义趋势线——实用指南和代码示例,助您提高预测准确性并吸引观众。" +description: "使用 Aspose.Slides for Python via .NET 快速在 PowerPoint 和 OpenDocument 图表中添加和自定义趋势线——提供实用指南和代码示例,以提高预测准确性并吸引观众。" --- ## **添加趋势线** -Aspose.Slides for Python via .NET 提供了一个简单的 API 用于管理不同的图表趋势线: +Aspose.Slides for Python via .NET 提供了一个简单的 API,用于管理不同图表的趋势线: 1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1.通过索引获取幻灯片的引用。 -1. 添加一个带默认数据的图表,以及所需类型的图表(本示例使用 ChartType.CLUSTERED_COLUMN)。 +1. 通过索引获取幻灯片的引用。 +1. 添加一个带有默认数据的图表,并使用任意所需类型(本例使用 ChartType.CLUSTERED_COLUMN)。 1. 为图表系列 1 添加指数趋势线。 1. 为图表系列 1 添加线性趋势线。 1. 为图表系列 2 添加对数趋势线。 @@ -35,49 +35,48 @@ Aspose.Slides for Python via .NET 提供了一个简单的 API 用于管理不 1. 为图表系列 3 添加幂趋势线。 1. 将修改后的演示文稿写入 PPTX 文件。 -以下代码用于创建带趋势线的图表。 - +以下代码用于创建带有趋势线的图表。 ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# 创建空演示文稿 +# 创建空的演示文稿 with slides.Presentation() as pres: - # 创建簇状柱形图 + # 创建聚类柱形图 chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 400) - # 为图表系列 1 添加指数趋势线 + # 为第1个系列添加指数趋势线 tredLinep = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.EXPONENTIAL) tredLinep.display_equation = False tredLinep.display_r_squared_value = False - # 为图表系列 1 添加线性趋势线 + # 为第1个系列添加线性趋势线 tredLineLin = chart.chart_data.series[0].trend_lines.add(charts.TrendlineType.LINEAR) tredLineLin.trendline_type = charts.TrendlineType.LINEAR tredLineLin.format.line.fill_format.fill_type = slides.FillType.SOLID tredLineLin.format.line.fill_format.solid_fill_color.color = draw.Color.red - # 为图表系列 2 添加对数趋势线 + # 为第2个系列添加对数趋势线 tredLineLog = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.LOGARITHMIC) tredLineLog.trendline_type = charts.TrendlineType.LOGARITHMIC - tredLineLog.add_text_frame_for_overriding("新的对数趋势线") + tredLineLog.add_text_frame_for_overriding("New log trend line") - # 为图表系列 2 添加移动平均趋势线 + # 为第2个系列添加移动平均趋势线 tredLineMovAvg = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.MOVING_AVERAGE) tredLineMovAvg.trendline_type = charts.TrendlineType.MOVING_AVERAGE tredLineMovAvg.period = 3 - tredLineMovAvg.trendline_name = "新趋势线名称" + tredLineMovAvg.trendline_name = "New TrendLine Name" - # 为图表系列 3 添加多项式趋势线 + # 为第3个系列添加多项式趋势线 tredLinePol = chart.chart_data.series[2].trend_lines.add(charts.TrendlineType.POLYNOMIAL) tredLinePol.trendline_type = charts.TrendlineType.POLYNOMIAL tredLinePol.forward = 1 tredLinePol.order = 3 - # 为图表系列 3 添加幂趋势线 + # 为第3个系列添加幂趋势线 tredLinePower = chart.chart_data.series[1].trend_lines.add(charts.TrendlineType.POWER) tredLinePower.trendline_type = charts.TrendlineType.POWER tredLinePower.backward = 1 @@ -88,18 +87,18 @@ with slides.Presentation() as pres: + ## **添加自定义线** -Aspose.Slides for Python via .NET 提供了一个简单的 API 来在图表中添加自定义线。要在演示文稿的选定幻灯片中添加一条简单的直线,请按照以下步骤操作: +Aspose.Slides for Python via .NET 提供了一个简单的 API,用于在图表中添加自定义线。要向演示文稿的选定幻灯片添加一条简单的直线,请按照以下步骤操作: -- 创建一个 Presentation 类的实例 -- 通过索引获取幻灯片的引用 -- 使用 Shapes 对象公开的 AddChart 方法创建一个新图表 -- 使用 Shapes 对象公开的 AddAutoShape 方法添加一条线类型的 AutoShape -- 设置形状线的颜色。 +- 创建 Presentation 类的实例 +- 使用索引获取幻灯片的引用 +- 使用 Shapes 对象提供的 AddChart 方法创建新图表 +- 使用 Shapes 对象提供的 AddAutoShape 方法添加类型为 Line 的 AutoShape +- 设置形状线条的颜色。 - 将修改后的演示文稿写入 PPTX 文件 -以下代码用于创建带自定义线的图表。 - +以下代码用于创建带有自定义线的图表。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -111,4 +110,15 @@ with slides.Presentation() as pres: shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red pres.save("AddCustomLines.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**趋势线的“forward”和“backward”是什么意思?** + +它们是趋势线向前/向后延伸的长度:对于散点(XY)图表——以坐标轴单位计;对于非散点图表——以类别数计。仅允许非负值。 + +**导出演示文稿为 PDF 或 SVG,或将幻灯片渲染为图像时,趋势线会被保留吗?** + +是的。Aspose.Slides 可将演示文稿转换为 [PDF](/slides/zh/python-net/convert-powerpoint-to-pdf/)/[SVG](/slides/zh/python-net/render-a-slide-as-an-svg-image/) 并将图表渲染为图像;趋势线作为图表的一部分,在这些操作中会被保留。还提供了一个方法,可[导出图表的图像](/slides/zh/python-net/create-shape-thumbnails/)。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md index 4c4b8bdc96..0a83262f90 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/3d-chart/_index.md @@ -1,32 +1,40 @@ --- -title: 3D 图表 +title: 使用 Python 在演示文稿中自定义 3D 图表 +linktitle: 3D 图表 type: docs url: /zh/python-net/3d-chart/ -keywords: "3d 图表, rotationX, rotationY, depthpercent, PowerPoint 演示文稿, Python, Aspose.Slides for Python via .NET" -description: "在 Python 中为 PowerPoint 演示文稿设置 3D 图表的 rotationX、rotationY 和 depthpercents" +keywords: +- 3D 图表 +- 旋转 +- 深度 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解如何在 Aspose.Slides for Python via .NET 中创建和自定义 3D 图表,支持 PPT、PPTX 和 ODP 文件——提升您的演示文稿效果。" --- ## **设置 3D 图表的 RotationX、RotationY 和 DepthPercents 属性** -Aspose.Slides for Python via .NET 提供了一个简单的 API 来设置这些属性。以下文章将帮助您设置不同的属性,如 X、Y 旋转、**DepthPercents**等。示例代码应用于设置上述属性。 +Aspose.Slides for Python via .NET 提供了一个简洁的 API 用于设置这些属性。本文将帮助您设置诸如 X、Y 旋转、**DepthPercents** 等不同属性。示例代码演示了上述属性的设置。 1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 1. 访问第一张幻灯片。 1. 添加带有默认数据的图表。 1. 设置 Rotation3D 属性。 1. 将修改后的演示文稿写入 PPTX 文件。 - ```py import aspose.slides.charts as charts import aspose.slides as slides import aspose.pydrawing as draw -# 创建一个 Presentation 类的实例 +# 创建 Presentation 类的实例 with slides.Presentation() as presentation: # 访问第一张幻灯片 slide = presentation.slides[0] - # 添加带有默认数据的图表 + # 添加默认数据的图表 chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN_3D, 0, 0, 500, 500) # 设置图表数据工作表的索引 @@ -36,13 +44,13 @@ with slides.Presentation() as presentation: fact = chart.chart_data.chart_data_workbook # 添加系列 - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "系列 1"), chart.type) - chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "系列 2"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type) + chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type) # 添加类别 - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "类别 1")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "类别 2")) - chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "类别 3")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")) + chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")) # 设置 Rotation3D 属性 chart.rotation_3d.right_angle_axes = True @@ -50,10 +58,10 @@ with slides.Presentation() as presentation: chart.rotation_3d.rotation_y = 270 chart.rotation_3d.depth_percents = 150 - # 获取第二个系列 + # 获取第二个图表系列 series = chart.chart_data.series[1] - # 填充系列数据 + # 现在填充系列数据 series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30)) @@ -61,9 +69,24 @@ with slides.Presentation() as presentation: series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10)) series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60)) - # 设置重叠值 + # 设置 Overlap 值 series.parent_series_group.overlap = 100 - # 将演示文稿写入磁盘 + # 将演示文稿保存到磁盘 presentation.save("Rotation3D_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**Aspose.Slides 中哪些图表类型支持 3D 模式?** + +Aspose.Slides 支持柱形图的 3D 变体,包括 Column 3D、Clustered Column 3D、Stacked Column 3D 和 100% Stacked Column 3D,以及通过 [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) 枚举公开的相关 3D 类型。有关完整、最新的列表,请在已安装版本的 API 参考中查看 [ChartType](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) 成员。 + +**我可以为报告或网页获取 3D 图表的栅格图像吗?** + +是的。您可以通过 [chart API](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/) 将图表导出为图像,或将整张幻灯片渲染为 PNG、JPEG 等格式(参见 [render the entire slide](/slides/zh/python-net/convert-powerpoint-to-png/))。当您需要像素级预览或想在文档、仪表盘或网页中嵌入图表而不依赖 PowerPoint 时,这非常有用。 + +**构建和渲染大型 3D 图表的性能如何?** + +性能取决于数据量和视觉复杂度。为获得最佳效果,请尽量减少 3D 效果,避免在墙面和绘图区域使用大量纹理,尽可能限制每个系列的数据点数量,并将输出渲染为与目标显示或打印需求相匹配的合适分辨率和尺寸。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md index 0add501399..62d1847b6c 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/bubble-chart/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中自定义演示文稿中的气泡图 +title: 用Python在演示文稿中自定义气泡图 linktitle: 气泡图 type: docs url: /zh/python-net/bubble-chart/ @@ -13,12 +13,11 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python 在 PowerPoint 和 OpenDocument 中创建并自定义强大的气泡图,轻松提升数据可视化效果。" +description: "使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 中创建并自定义强大的气泡图,轻松提升数据可视化。" --- -## **气泡图大小缩放** -Aspose.Slides for Python via .NET 提供了对气泡图大小缩放的支持。在 Aspose.Slides for Python via .NET 中,添加了 **ChartSeries.bubble_size_scale** 和 **ChartSeriesGroup.bubble_size_scale** 属性。以下示例给出。 - +## **Bubble Chart Size Scaling** +Aspose.Slides for Python via .NET 提供对气泡图大小缩放的支持。在 Aspose.Slides for Python via .NET 中已添加 **ChartSeries.bubble_size_scale** 和 **ChartSeriesGroup.bubble_size_scale** 属性。下面给出示例。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -32,9 +31,9 @@ with slides.Presentation() as pres: -## **将数据表示为气泡图大小** -已向 ChartSeries 和 ChartSeriesGroup 类添加了 **bubble_size_representation** 属性。**bubble_size_representation** 指定气泡图中气泡大小值的表示方式。可能的值为:**BubbleSizeRepresentationType.AREA** 和 **BubbleSizeRepresentationType.WIDTH**。因此,添加了 **BubbleSizeRepresentationType** 枚举,以指定将数据表示为气泡图大小的可能方式。示例代码如下。 +## **Represent Data as Bubble Chart Sizes** +已在 ChartSeries、ChartSeriesGroup 类中添加属性 **bubble_size_representation**。**bubble_size_representation** 指定气泡图中气泡大小值的表示方式。可能的取值为 **BubbleSizeRepresentationType.AREA** 和 **BubbleSizeRepresentationType.WIDTH**。因此,已添加 **BubbleSizeRepresentationType** 枚举,以指定将数据表示为气泡图大小的可能方式。下面给出示例代码。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -43,4 +42,19 @@ with slides.Presentation() as pres: chart = pres.slides[0].shapes.add_chart(charts.ChartType.BUBBLE, 50, 50, 600, 400, True) chart.chart_data.series_groups[0].bubble_size_representation = charts.BubbleSizeRepresentationType.WIDTH pres.save("Presentation_BubbleSizeRepresentation.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**Is a "bubble chart with 3-D effect" supported, and how does it differ from a regular one?** + +Yes. There is a separate chart type, "Bubble with 3-D." It applies 3-D styling to the bubbles but does not add an additional axis; the data remain X-Y-S (size). The type is available in the [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) enumeration. + +**Is there a limit on the number of series and points in a bubble chart?** + +There is no hard limit at the API level; constraints are determined by performance and the target PowerPoint version. It is recommended to keep the number of points reasonable for readability and rendering speed. + +**How will export affect the appearance of a bubble chart (PDF, images)?** + +Export to supported formats preserves the chart’s appearance; rendering is performed by the Aspose.Slides engine. For raster/vector formats, general chart-graphics rendering rules apply (resolution, anti-aliasing), so choose sufficient DPI for printing. \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md index 76482fbffe..62730f9edf 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/data-points-of-treemap-and-sunburst-chart/_index.md @@ -1,11 +1,11 @@ --- -title: 在 Python 中自定义树状图和旭日图中的数据点 -linktitle: 树状图和旭日图中的数据点 +title: 在 Python 中自定义 Treemap 和 Sunburst 图表的数据点 +linktitle: Treemap 和 Sunburst 图表中的数据点 type: docs url: /zh/python-net/data-points-of-treemap-and-sunburst-chart/ keywords: -- 树状图 -- 旭日图 +- treemap 图表 +- sunburst 图表 - 数据点 - 标签颜色 - 分支颜色 @@ -14,83 +14,104 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides for Python via .NET 来管理树状图和旭日图中的数据点,兼容 PowerPoint 和 OpenDocument 格式。" +description: "了解如何使用 Aspose.Slides for Python via .NET 在 treemap 和 sunburst 图表中管理数据点,兼容 PowerPoint 和 OpenDocument 格式。" --- -在其他类型的 PowerPoint 图表中,有两种“层次结构”类型 - **Treemap** 和 **Sunburst** 图表(也称为 Sunburst 图、Sunburst 图示、径向图、径向图或多层饼图)。这些图表显示层次结构数据,按照树的形式组织 - 从叶子到树枝的顶部。叶子由系列数据点定义,每个后续的嵌套分组级别由相应的类别定义。Aspose.Slides for Python via .NET 允许在 Python 中格式化 Sunburst 图表和 Treemap 的数据点。 +## **简介** -这是一个 Sunburst 图表,其中 Series1 列中的数据定义了叶子节点,而其他列定义了层次结构数据点: +在 PowerPoint 的其它图表类型中,有两种层级图表——**Treemap** 和 **Sunburst**(也称为 Sunburst Graph、Sunburst Diagram、Radial Chart、Radial Graph 或 Multi-Level Pie Chart)。这些图表以树状结构展示层级数据——从叶子节点到分支顶部。叶子节点由系列数据点定义,每一级嵌套的分组由相应的类别定义。Aspose.Slides for Python via .NET 允许你在 Python 中格式化 Sunburst 图表和 Treemap 的数据点。 -![todo:image_alt_text](https://lh6.googleusercontent.com/TSSU5O7SLOi5NZD9JaubhgGU1QU5tYKc23RQX_cal3tlz5TpOvsgUFLV_rHvruwN06ft1XYgsLhbeEDXzVqdAybPIbpfGy-lwoQf_ydxDwcjAeZHWfw61c4koXezAAlEeCA7x6BZ) +下面是一个 Sunburst 图表,Series1 列的数据定义叶子节点,其余列定义层级数据点: -让我们开始在演示文稿中添加一个新的 Sunburst 图表: +![Sunburst 图表示例](sunburst_example.png) +让我们先向演示文稿中添加一个新的 Sunburst 图表: ```py -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) ``` -{{% alert color="primary" title="另请参阅" %}} -- [**创建 Sunburst 图表**](/slides/zh/python-net/adding-charts/#addingcharts-creatingsunburstchart) + +{{% alert color="primary" title="另请参阅" %}} +- [**创建 Sunburst 图表**](/slides/zh/python-net/create-chart/#create-sunburst-charts) {{% /alert %}} -如果需要格式化图表的数据点,我们应该使用以下内容: - -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/), -[IChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) 类 -和 [**IChartDataPoint.DataPointLevels**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapoint/) 属性 -提供对 Treemap 和 Sunburst 图表的数据点格式化的访问。 -[**IChartDataPointLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevelsManager/) -用于访问多层类别 - 它表示 -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) 对象的容器。 -基本上,它是 -[**IChartCategoryLevelsManager**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartCategoryLevelsManager/) 的封装, -并增加了针对数据点的特定属性。 -[**IChartDataPointLevel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/IChartDataPointLevel/) 类有 -两个属性:[**Format**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/) 和 -[**DataLabel**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatapointlevel/), -提供对相应设置的访问。 +如果需要格式化图表数据点,请使用以下 API: + +[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/),[ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/),以及 [ChartDataPoint.data_point_levels](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapoint/data_point_levels/) 属性。它们提供对 Treemap 和 Sunburst 图表中数据点的格式化访问。[ChartDataPointLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevelsmanager/) 用于访问多层级类别;它表示一个包含 [ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/) 对象的容器。本质上它是 [ChartCategoryLevelsManager](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartcategorylevelsmanager/) 的包装器,并添加了特定于数据点的属性。[ChartDataPointLevel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/) 类型暴露两个属性——[format](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/format/) 和 [label](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatapointlevel/label/)——用于访问相应的设置。 + ## **显示数据点值** -显示“叶子 4”数据点的值: +本节展示如何在 Treemap 和 Sunburst 图表中显示单个数据点的值。你将看到如何为选定的点启用数值标签。 + +显示 “Leaf 4” 数据点的值: ```py - dataPoints = chart.chart_data.series[0].data_points - dataPoints[3].data_point_levels[0].label.data_label_format.show_value = True +data_points = chart.chart_data.series[0].data_points +data_points[3].data_point_levels[0].label.data_label_format.show_value = True ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/bKHMf5Bj37ZkMwUE1OfXjw7_CRmDhafhQOUuVWDmitwbtdkwD68ibWluY6Q1HQz_z2Q-BR_SBrBPZ_gID5bGH0PUqI5w37S22RT-ZZal6k7qIDstKntYi5QXS8z-SgpnsI78WGiu) -## **设置数据点标签和颜色** -将“分支 1”数据标签设置为显示系列名称(“Series1”)而不是类别名称。然后将文本颜色设置为黄色: +![数据点值](data_point_value.png) + +## **设置数据点的标签和颜色** + +本节展示如何为 Treemap 和 Sunburst 图表中的单个数据点设置自定义标签和颜色。你将学习如何访问特定数据点、分配标签并应用实色填充以突出重要节点。 + +将 “Branch 1” 数据标签设置为显示系列名称(“Series1”)而不是类别名称,然后将文字颜色设为黄色: ```py - branch1Label = dataPoints[0].data_point_levels[2].label - branch1Label.data_label_format.show_category_name = False - branch1Label.data_label_format.show_series_name = True +branch1_label = data_points[0].data_point_levels[2].label +branch1_label.data_label_format.show_category_name = False +branch1_label.data_label_format.show_series_name = True - branch1Label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID - branch1Label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow +branch1_label.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID +branch1_label.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.yellow ``` -![todo:image_alt_text](https://lh6.googleusercontent.com/I9g0kewJnxkhUVlfSWRN39Ng-wzjWyRwF3yTbOD9HhLTLBt_sMJiEfDe7vOfqRNx89o9AVZsYTW3Vv_TIuj4EgM4_UEEi7zQ3jdvaO8FoG2JcsOqNRgbiE5HQZNz8xx_q9qdj8JQ) -## **设置数据点分支颜色** -更改“茎 4”分支的颜色: +![数据点的标签和颜色](data_point_color.png) + +## **设置数据点的分支颜色** + +使用分支颜色可以控制父子节点在 Treemap 和 Sunburst 图表中的视觉分组方式。本节展示如何为特定数据点设置自定义分支颜色,从而突出重要子树并提升图表可读性。 +更改 “Stem 4” 分支的颜色: ```py -import aspose.slides.charts as charts import aspose.slides as slides +import aspose.slides.charts as charts import aspose.pydrawing as draw -with slides.Presentation() as pres: - chart = pres.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 100, 100, 450, 400) - dataPoints = chart.chart_data.series[0].data_points +with slides.Presentation() as presentation: + slide = presentation.slides[0] - stem4branch = dataPoints[9].data_point_levels[1] + chart = slide.shapes.add_chart(charts.ChartType.SUNBURST, 30, 30, 450, 400) + data_points = chart.chart_data.series[0].data_points + + stem4_branch = data_points[9].data_point_levels[1] - stem4branch.format.fill.fill_type = slides.FillType.SOLID - stem4branch.format.fill.solid_fill_color.color = draw.Color.red + stem4_branch.format.fill.fill_type = slides.FillType.SOLID + stem4_branch.format.fill.solid_fill_color.color = draw.Color.red - pres.save("pres.pptx", slides.export.SaveFormat.PPTX) + presentation.save("branch_color.pptx", slides.export.SaveFormat.PPTX) ``` -![todo:image_alt_text](https://lh5.googleusercontent.com/Zll4cpQ5tTDdgwmJ4yuupolfGaANR8SWWTU3XaJav_ZVXVstV1pI1z1OFH-gov6FxPoDz1cxmMyrgjsdYGS24PlhaYa2daKzlNuL1a0xYcqEiyyO23AE6JMOLavWpvqA6SzOCA6_) \ No newline at end of file + +![分支颜色](branch_color.png) + +## **常见问题** + +**我能改变 Sunburst/Treemap 中各段的顺序(排序)吗?** + +不能。PowerPoint 会自动对段进行排序(通常按降序、顺时针)。Aspose.Slides 复制了这一行为:无法直接更改顺序,只能通过预处理数据来实现。 + +**演示文稿的主题如何影响段和标签的颜色?** + +图表颜色会继承演示文稿的 [theme/palette](/slides/zh/python-net/presentation-theme/),除非你显式设置填充或字体。为获得一致的效果,请在所需层级上锁定实色填充和文字格式。 + +**导出为 PDF/PNG 时会保留自定义的分支颜色和标签设置吗?** + +会。导出演示文稿时,图表的设置(填充、标签)会在输出格式中保留,因为 Aspose.Slides 在渲染时会应用图表的格式。 + +**我能计算标签/元素的实际坐标,以在图表上方放置自定义覆盖吗?** + +可以。在图表布局验证后,`actual_x`/`actual_y` 会对元素可用(例如对 [DataLabel](https://reference.aspose.com/slides/python-net/aspose.slides.charts/datalabel/)),这有助于精确定位覆盖层。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md index 597eb47d76..6c2d2f8dd8 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/doughnut-chart/_index.md @@ -1,22 +1,30 @@ --- -title: 饼图 +title: 使用 Python 在演示文稿中自定义环形图 +linktitle: 环形图 type: docs weight: 30 url: /zh/python-net/doughnut-chart/ -keywords: "饼图, 中心间隙, PowerPoint 演示文稿, Python, Aspose.Slides for Python via .NET" -description: "在 Python 的 PowerPoint 演示文稿中指定饼图的中心间隙" +keywords: +- 环形图 +- 中心间隙 +- 孔大小 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解如何在 Aspose.Slides for Python via .NET 中创建和自定义环形图,支持 PowerPoint 和 OpenDocument 格式的动态演示文稿。" --- -## **在饼图中指定中心间隙** -为了指定饼图中孔的大小,请按照以下步骤操作: +## **在环形图中指定中心间隙** +为了指定环形图中孔的大小,请按照以下步骤操作: - 实例化 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类。 -- 在幻灯片上添加饼图。 -- 指定饼图中孔的大小。 +- 在幻灯片上添加环形图。 +- 指定环形图中孔的大小。 - 将演示文稿写入磁盘。 -在下面给出的示例中,我们设置了饼图中孔的大小。 - +在下面的示例中,我们已经设置了环形图中孔的大小。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -29,4 +37,19 @@ with slides.Presentation() as presentation: # 将演示文稿写入磁盘 presentation.save("DoughnutHoleSize_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**我可以创建具有多个环的多层环形图吗?** + +是的。向单个环形图添加多个系列——每个系列会成为一个独立的环。环的顺序由系列在集合中的顺序决定。 + +**支持“爆炸”环形图(分离的切片)吗?** + +是的。有 Exploded Doughnut [chart type](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) 以及数据点的爆炸属性;您可以分离各个切片。 + +**如何获取环形图的图像(PNG/SVG)用于报告?** + +图表是一个形状;您可以将其渲染为 [raster image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) ,或将图表导出为 [SVG image](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) 。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md index 76d740be2a..aaf235703e 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-types/pie-chart/_index.md @@ -10,25 +10,24 @@ keywords: - 图表选项 - 图表设置 - 绘图选项 -- 扇区颜色 +- 切片颜色 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides 在 Python 中创建和自定义饼图,可导出为 PowerPoint 和 OpenDocument,帮助你在数秒内提升数据叙事能力。" +description: "了解如何使用 Aspose.Slides 在 Python 中创建和自定义饼图,支持导出为 PowerPoint 和 OpenDocument,秒级提升您的数据叙事能力。" --- -## **饼图的第二个绘图选项** -Aspose.Slides for Python via .NET 现在支持饼图的第二个绘图选项。在本主题中,我们将通过示例查看如何使用 Aspose.Slides 指定这些选项。请按照以下步骤指定属性: +## **饼图的 Pie of Pie 与 Bar of Pie 二次绘图选项** +Aspose.Slides for Python via .NET 现在支持对 Pie of Pie 或 Bar of Pie 图表的二次绘图选项。 在本主题中,我们将通过示例演示如何使用 Aspose.Slides 指定这些选项。 请按以下步骤操作: 1. 实例化 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类对象。 1. 在幻灯片上添加图表。 -1. 指定图表的第二个绘图选项。 +1. 指定图表的二次绘图选项。 1. 将演示文稿写入磁盘。 -在下面给出的示例中,我们设置了饼图的不同属性。 - +下面的示例中,我们已设置 Pie of Pie 图表的不同属性。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -38,7 +37,7 @@ with slides.Presentation() as presentation: # 在幻灯片上添加图表 chart = presentation.slides[0].shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 500, 400) - # 设置不同属性 + # 设置不同的属性 chart.chart_data.series[0].labels.default_data_label_format.show_value = True chart.chart_data.series[0].parent_series_group.second_pie_size = 149 chart.chart_data.series[0].parent_series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE @@ -51,22 +50,22 @@ with slides.Presentation() as presentation: + ## **设置自动饼图切片颜色** -Aspose.Slides for Python via .NET 提供了一个简单的 API 来设置自动饼图切片颜色。示例代码应用了上述属性设置。 +Aspose.Slides for Python via .NET 提供了一个简便的 API,用于设置自动饼图切片颜色。 示例代码演示了上述属性的设置。 1. 创建 Presentation 类的实例。 1. 访问第一张幻灯片。 -1. 添加带有默认数据的图表。 +1. 添加带默认数据的图表。 1. 设置图表标题。 -1. 设置第一系列为显示值。 -1. 设置图表数据工作表的索引。 +1. 将第一系列设置为显示数值。 +1. 设置图表数据表的索引。 1. 获取图表数据工作表。 1. 删除默认生成的系列和类别。 -1. 添加新的类别。 -1. 添加新的系列。 +1. 添加新类别。 +1. 添加新系列。 将修改后的演示文稿写入 PPTX 文件。 - ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -77,19 +76,19 @@ with slides.Presentation() as presentation: # 访问第一张幻灯片 slide = presentation.slides[0] - # 添加带有默认数据的图表 + # 添加默认数据的图表 chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400) # 设置图表标题 - chart.chart_title.add_text_frame_for_overriding("示例标题") + chart.chart_title.add_text_frame_for_overriding("Sample Title") chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1 chart.chart_title.height = 20 chart.has_title = True - # 设置第一系列为显示值 + # 将第一系列设为显示数值 chart.chart_data.series[0].labels.default_data_label_format.show_value = True - # 设置图表数据工作表的索引 + # 设置图表数据表的索引 defaultWorksheetIndex = 0 # 获取图表数据工作表 @@ -99,13 +98,13 @@ with slides.Presentation() as presentation: chart.chart_data.series.clear() chart.chart_data.categories.clear() - # 添加新的类别 - chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "第一季度")) - chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "第二季度")) - chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "第三季度")) + # 添加新类别 + chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr")) + chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr")) - # 添加新的系列 - series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "系列 1"), chart.type) + # 添加新系列 + series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type) # 现在填充系列数据 series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20)) @@ -114,4 +113,15 @@ with slides.Presentation() as presentation: series.parent_series_group.is_color_varied = True presentation.save("Pie.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **FAQ** + +**是否支持 'Pie of Pie' 和 'Bar of Pie' 变体?** + +是的,库 [supports](https://reference.aspose.com/slides/python-net/aspose.slides.charts/charttype/) 支持饼图的二次绘图,包括 'Pie of Pie' 和 'Bar of Pie' 类型。 + +**我可以仅将图表导出为图像(例如 PNG)吗?** + +是的,您可以 [export the chart itself as an image](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/get_image/)(例如 PNG),而无需导出整个演示文稿。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md index a7f56c0655..045e551a80 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/chart-worksheet-formulas/_index.md @@ -1,5 +1,5 @@ --- -title: 使用 Python 在演示文稿中应用图表工作表公式 +title: 在 Python 中对演示文稿应用图表工作表公式 linktitle: 工作表公式 type: docs weight: 70 @@ -22,24 +22,28 @@ keywords: - 预定义函数 - PowerPoint - OpenDocument -- 演示文稿 +- presentation - Python - Aspose.Slides -description: "在 Aspose.Slides for Python via .NET 的图表工作表中应用 Excel 风格公式,并在 PPT、PPTX 和 ODP 文件中自动化报表。" +description: 在 Aspose.Slides for Python 中通过 .NET 图表工作表应用 Excel 风格的公式,并在 PPT、PPTX 和 ODP 文件中自动生成报告。 --- ## **关于演示文稿中的图表电子表格公式** -**图表电子表格**(或图表工作表)是图表的数据源。图表电子表格包含数据,这些数据以图形方式在图表上表示。当你在PowerPoint中创建图表时,与该图表相关的工作表也会自动创建。所有类型的图表都创建图表工作表:折线图、条形图、旭日图、饼图等。要在PowerPoint中查看图表电子表格,你应该双击图表: +**Chart spreadsheet**(或 chart worksheet)在演示文稿中是图表的数据源。Chart spreadsheet 包含的数据以图形方式显示在图表上。当您在 PowerPoint 中创建图表时,关联的工作表也会自动创建。图表工作表会为所有类型的图表创建:折线图、柱形图、旭辉图、饼图等。要在 PowerPoint 中查看图表电子表格,请双击该图表: ![todo:image_alt_text](chart-worksheet-formulas_1.png) -图表电子表格包含图表元素的名称(类别名称:*类别1*、系列名称)和与这些类别和系列相应的数值数据表。默认情况下,当你创建新图表时,图表电子表格的数据将设置为默认数据。然后,你可以手动更改工作表中的电子表格数据。 +Chart spreadsheet 包含图表元素的名称(类别名称:*Category1*,系列名称)以及与这些类别和系列对应的数值数据表。默认情况下,当您创建新图表时,图表电子表格数据会使用默认数据。随后您可以手动在工作表中更改电子表格数据。 -通常,图表表示复杂的数据(例如财务分析师、科学分析师),具有从其他单元格的值或其他动态数据计算得出的单元格。手动计算单元格的值并将其硬编码到单元格中,使将来更改它变得困难。如果你更改某个单元格的值,则所有依赖于该值的单元格也需要更新。此外,表格数据可能依赖于其他表中的数据,创建复杂的演示文稿数据方案,需要以简单和灵活的方式进行更新。 +通常,图表表示复杂数据(例如财务分析、科学分析),其中的单元格是根据其他单元格的值或其他动态数据计算得出的。手动计算单元格的值并硬编码到单元格中,会使以后难以修改。如果您更改某个单元格的值,所有依赖它的单元格也需要更新。此外,表格数据可能依赖于其他表格的数据,形成一个复杂的演示文稿数据结构,需要以简单灵活的方式进行更新。 -**演示文稿中的图表电子表格公式**是自动计算和更新图表电子表格数据的表达式。电子表格公式定义了某个单元格或一组单元格的数据计算逻辑。电子表格公式是一种数学公式或逻辑公式,其中使用:单元格引用、数学函数、逻辑运算符、算术运算符、转换函数、字符串常量等。公式的定义是写入单元格中的,该单元格不包含简单值。电子表格公式计算值并将其返回,然后此值被分配给单元格。演示文稿中的图表电子表格公式实际上与Excel公式相同,并且对于它们的实现支持相同的默认函数、运算符和常量。 +**Chart spreadsheet formula**(图表电子表格公式)是用于在演示文稿中自动计算和更新图表电子表格数据的表达式。电子表格公式定义了特定单元格或一组单元格的数据计算逻辑。电子表格公式可以是数学公式或逻辑公式,使用:单元格引用、数学函数、逻辑运算符、算术运算符、转换函数、字符串常量等。公式的定义写入单元格,而该单元格本身不包含普通值。电子表格公式计算出值并返回,然后该值被分配给单元格。演示文稿中的图表电子表格公式实际上与 Excel 公式相同,并支持相同的默认函数、运算符和常量。 -在 [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) 中,图表电子表格通过 [**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) 属性表示,属于 [**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/) 类型。可以通过 [**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) 属性设置和更改电子表格公式。Aspose.Slides 支持以下功能用于公式: +在[**Aspose.Slides**](https://products.aspose.com/slides/python-net/)中,图表电子表格由 +[**Chart.ChartData.ChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/)属性(属于 +[**IChartDataWorkbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdataworkbook/)类型)表示。 +可以使用[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)属性来分配和更改电子表格公式。 +Aspose.Slides 对公式支持以下功能: - 逻辑常量 - 数值常量 @@ -47,15 +51,14 @@ description: "在 Aspose.Slides for Python via .NET 的图表工作表中应用 - 错误常量 - 算术运算符 - 比较运算符 -- A1样式单元格引用 -- R1C1样式单元格引用 +- A1 样式单元格引用 +- R1C1 样式单元格引用 - 预定义函数 -通常,电子表格存储最后计算的公式值。如果在演示文稿加载后,图表数据没有更改 - **IChartDataCell.Value** 属性在读取时返回这些值。但是,如果电子表格数据被更改,在读取 **ChartDataCell.Value** 属性时,对于不支持的公式会抛出 **CellUnsupportedDataException**。这是因为当公式成功解析时,单元格依赖关系被确定,并且最后值的正确性被确定。但是,如果无法解析公式,则无法保证单元格值的正确性。 - -## **将图表电子表格公式添加到演示文稿** -首先,使用 [add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) 将一个带有一些示例数据的图表添加到新演示文稿的第一张幻灯片中。图表的工作表会自动创建,并可以通过 [**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/) 属性访问: +通常,电子表格会存储上一次计算的公式值。如果在加载演示文稿后图表数据未被更改,**IChartDataCell.Value**属性在读取时会返回这些值。但是,如果电子表格数据已被更改,在读取 **ChartDataCell.Value** 属性时会抛出 **CellUnsupportedDataException**,因为公式不受支持。之所以会这样,是因为当公式成功解析时,会确定单元格的依赖关系并验证上一次值的正确性。但如果公式无法解析,则无法保证单元格值的正确性。 +## **向演示文稿中添加图表电子表格公式** +首先,使用[add_chart](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/)在新演示文稿的第一张幻灯片中添加一个带有示例数据的图表。图表的工作表会自动创建,可通过[**chart_data_workbook**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdata/)属性访问: ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -66,111 +69,114 @@ with slides.Presentation() as presentation: # ... ``` -接下来,在单元格中使用 [**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) 属性写入一些值,该属性的 **Object** 类型,意味着你可以将任何值设置给该属性: +让我们使用 +[**value**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)属性在单元格中写入一些值,该属性的类型为 **Object**,这意味着您可以为属性设置任意值: ```py workbook.get_cell(0, "F2").value = -2.5 workbook.get_cell(0, "G3").value = 6.3 workbook.get_cell(0, "H4").value = 3 ``` -现在要将公式写入单元格,可以使用 [**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) 属性: +现在要向单元格写入公式,您可以使用 +[**formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)属性: ```py workbook.get_cell(0, "B2").formula = "F2+G3+H4+1" ``` -*注意*: [**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) 属性用于设置 A1 样式单元格引用。 -要设置 [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) 单元格引用,可以使用 [**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/) 属性: +*注意*:[**IChartDataCell.Formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)属性用于设置 A1 样式单元格引用。 +要设置 [r1c1_formula](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)单元格引用,您可以使用[**r1c1_formula**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/ichartdatacell/)属性: ```py workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]" ``` -然后使用 [**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/) 方法来计算工作簿中的所有公式并更新相应的单元格值: +然后使用[**calculate_formulas**](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdataworkbook/)方法计算工作簿中的所有公式并更新相应单元格的值: ```py workbook.calculate_formulas() print(workbook.get_cell(0, "B2").value) # 7.8 print(workbook.get_cell(0, "C2").value) # 2.1 ``` + ## **逻辑常量** -你可以在单元格公式中使用逻辑常量,如 *FALSE* 和 *TRUE*: +您可以在单元格公式中使用逻辑常量,例如 *FALSE* 和 *TRUE*: ## **数值常量** -可以使用常规或科学记数法的数字来创建图表电子表格公式: +可以使用常规或科学计数法的数字来创建图表电子表格公式: ## **字符串常量** -字符串(或字面量)常量是一个特定的值,以原样使用而不改变。字符串常量可以是:日期、文本、数字等: +字符串(或文字)常量是按原样使用且不会改变的特定值。字符串常量可以是:日期、文本、数字等: ## **错误常量** -有时无法通过公式计算结果。在这种情况下,单元格中显示错误代码而不是其值。每种类型的错误都有特定代码: +有时公式无法计算出结果。此时,单元格会显示错误代码而不是值。每种错误都有特定的代码: - #DIV/0! - 公式尝试除以零。 -- #GETTING_DATA - 可能会在单元格中显示,而它的值仍在计算中。 -- #N/A - 信息缺失或不可用。某些原因可能是:公式中使用的单元格为空、额外空格字符、拼写错误等。 -- #NAME? - 某个单元格或其他公式对象无法按其名称找到。 -- #NULL! - 当公式中有错误时可能出现,例如: (,) 或空格字符用作冒号(:)。 -- #NUM! - 公式中的数字可能无效、过长或过小等。 -- #REF! - 无效的单元格引用。 -- #VALUE! - 意外的值类型。例如,将字符串值设置为数值单元格。 +- #GETTING_DATA - 当单元格的值仍在计算时可能会显示此错误。 +- #N/A - 信息缺失或不可用。可能的原因包括:公式使用的单元格为空、存在额外空格字符、拼写错误等。 +- #NAME? - 无法根据名称找到某个单元格或其他公式对象。 +- #NULL! - 当公式中出现错误时可能出现,例如使用 (,) 或空格字符代替冒号 (:)。 +- #NUM! - 公式中的数值可能无效、过长或过小等。 +- #REF! - 单元格引用无效。 +- #VALUE! - 值的类型意外。例如,将字符串值设置到数值单元格。 ## **算术运算符** -你可以在图表工作表公式中使用所有算术运算符: +您可以在图表工作表公式中使用所有算术运算符: -|**运算符** |**含义** |**示例**| +|**运算符**|**含义**|**示例**| | :- | :- | :- | -|+ (加号) |加法或一元加法|2 + 3| -|- (减号) |减法或取负|2 - 3
    -3| -|* (星号)|乘法 |2 * 3| -|/ (斜杠)|除法 |2 / 3| -|% (百分号) |百分比 |30%| -|^ (尖号) |幂运算 |2 ^ 3| +|+ (加号)|加法或一元加号|2 + 3| +|- (减号)|减法或取负|2 - 3
    -3| +|* (星号)|乘法|2 * 3| +|/ (斜杠)|除法|2 / 3| +|% (百分号)|百分比|30%| +|^ (脱字符)|幂运算|2 ^ 3| -*注意*:要更改评估顺序,请将要首先计算的公式部分用括号括起来。 +*注意*:要更改运算顺序,请将要首先计算的部分用括号括起来。 ## **比较运算符** -你可以使用比较运算符比较单元格的值。当使用这些运算符比较两个值时,结果是一个逻辑值,*TRUE* 或 FALSE: +您可以使用比较运算符比较单元格的值。当使用这些运算符比较两个值时,结果是逻辑值 *TRUE* 或 FALSE: -|**运算符** |**含义** |**意义** | +|**运算符**|**含义**|**示例**| | :- | :- | :- | -|= (等号) |等于 |A2 = 3| -|<> (不等号) |不等于|A2 <> 3| -|> (大于号) |大于|A2 > 3| -|>= (大于等于号)|大于或等于|A2 >= 3| +|= (等号)|等于|A2 = 3| +|<> (不等号)|不等于|A2 <> 3| +|> (大于号)|大于|A2 > 3| +|>= (大于等于号)|大于等于|A2 >= 3| |< (小于号)|小于|A2 < 3| -|<= (小于等于号)|小于或等于|A2 <= 3| +|<= (小于等于号)|小于等于|A2 <= 3| -## **A1样式单元格引用** -**A1样式单元格引用**用于工作表,其中列具有字母标识符(例如 "*A*"),行具有数字标识符(例如 "*1*")。A1样式单元格引用可以这样使用: +## **A1 样式单元格引用** +**A1 样式单元格引用**用于工作表,其中列使用字母标识(例如 "*A*"),行使用数字标识(例如 "*1*")。A1 样式单元格引用可以按以下方式使用: |**单元格引用**|**示例**||| | :- | :- | :- | :- | -||绝对 |相对 |混合| -|单元格 |$A$2 |A2|

    A$2

    $A2

    | -|行 |$2:$2 |2:2 |-| -|列 |$A:$A |A:A |-| -|范围 |$A$2:$C$4 |A2:C4|

    $A$2:C4

    A$2:$C4

    | +||绝对|相对|混合| +|单元格|$A$2|A2|

    A$2

    $A2

    | +|行|$2:$2|2:2|-| +|列|$A:$A|A:A|-| +|范围|$A$2:$C$4|A2:C4|

    $A$2:C4

    A$2:$C4

    | -这是使用 A1样式单元格引用的公式示例: +下面是如何在公式中使用 A1 样式单元格引用的示例: -## **R1C1样式单元格引用** -**R1C1样式单元格引用**用于工作表,其中行和列都有数字标识符。R1C1样式单元格引用可以这样使用: +## **R1C1 样式单元格引用** +**R1C1 样式单元格引用**用于工作表,其中行和列均使用数字标识。R1C1 样式单元格引用可以按以下方式使用: |**单元格引用**|**示例**||| | :- | :- | :- | :- | -||绝对 |相对 |混合| -|单元格 |R2C3|R[2]C[3]|R2C[3]
    R[2]C3| -|行 |R2|R[2]|-| -|列 |C3|C[3]|-| -|范围 |R2C3:R5C7|R[2]C[3]:R[5]C[7] |R2C3:R[5]C[7]
    R[2]C3:R5C[7]| +||绝对|相对|混合| +|单元格|R2C3|R[2]C[3]|R2C[3]
    R[2]C3| +|行|R2|R[2]|-| +|列|C3|C[3]|-| +|范围|R2C3:R5C7|R[2]C[3]:R[5]C[7]|R2C3:R[5]C[7]
    R[2]C3:R5C[7]| -这是使用 A1样式单元格引用的公式示例: +下面是如何在公式中使用 R1C1 样式单元格引用的示例: ## **预定义函数** -可以在公式中使用预定义函数以简化它们的实现。这些函数封装用于最常见的操作,如: +有一些预定义函数可在公式中使用,以简化实现。这些函数封装了最常用的操作,例如: - ABS - AVERAGE @@ -178,14 +184,23 @@ with slides.Presentation() as presentation: - CHOOSE - CONCAT - CONCATENATE -- DATE (1900 日期系统) +- DATE (1900 date system) - DAYS - FIND - FINDB - IF -- INDEX (引用形式) -- LOOKUP (向量形式) -- MATCH (向量形式) +- INDEX (reference form) +- LOOKUP (vector form) +- MATCH (vector form) - MAX - SUM -- VLOOKUP \ No newline at end of file +- VLOOKUP + +## **常见问题** +**外部 Excel 文件是否支持作为带公式的图表的数据源?** + +是的。Aspose.Slides 支持将外部工作簿用作[图表的数据源](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chartdatasourcetype/),这使您能够使用演示文稿外部 XLSX 文件中的公式。 + +**图表公式是否可以通过工作表名称引用同一工作簿中的工作表?** + +是的。公式遵循标准的 Excel 引用模型,因此您可以引用同一工作簿或外部工作簿中的其他工作表。对于外部引用,请使用 Excel 语法包含路径和工作簿名称。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md index 5a80774c37..c6f8f423f2 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-charts/export-chart/_index.md @@ -6,20 +6,19 @@ weight: 90 url: /zh/python-net/export-chart/ keywords: - 图表 -- 图表转为图像 -- 将图表作为图像 -- 提取图表图像 +- 图表转图片 +- 图表为图片 +- 提取图表图片 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides for Python via .NET 导出演示文稿中的图表,支持 PPT、PPTX 和 ODP 格式,并将报告无缝集成到任何工作流中。" +description: "了解如何使用 Aspose.Slides for Python via .NET 导出演示文稿图表,支持 PPT、PPTX 和 ODP 格式,并将报告流程简化至任何工作流。" --- ## **获取图表图像** -Aspose.Slides for Python via .NET 提供了提取特定图表图像的支持。以下是示例代码。 - +Aspose.Slides for Python via .NET 提供了提取特定图表图像的支持。下面给出示例代码。 ```py import aspose.slides.charts as charts import aspose.slides as slides @@ -30,4 +29,27 @@ with slides.Presentation("test.pptx") as presentation: with chart.get_image() as image: image.save("image.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **常见问题** + +**我可以将图表导出为矢量(SVG)而不是光栅图像吗?** + +是的。图表是形状,其内容可以使用[形状转SVG保存方法](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/write_as_svg/)保存为 SVG。 + +**如何设置导出图表的准确像素尺寸?** + +使用允许指定尺寸或比例的图像渲染重载——库支持按给定的宽高/比例渲染对象。 + +**导出后标签和图例中的字体显示不正确,我该怎么办?** + +通过[FontsLoader](https://reference.aspose.com/slides/python-net/aspose.slides/fontsloader/)【[加载所需字体](/slides/zh/python-net/custom-font/)】以确保图表渲染时保持度量和文字外观。 + +**导出是否遵循 PowerPoint 主题、样式和效果?** + +是的。Aspose.Slides 的渲染器遵循演示文稿的格式设置(主题、样式、填充、效果),因此图表外观得以保留。 + +**在哪里可以找到除图表图像之外的渲染/导出功能?** + +请参阅[API](https://reference.aspose.com/slides/python-net/aspose.slides.export/)/[文档](/slides/zh/python-net/convert-powerpoint/)的导出章节,了解可用的输出目标([PDF](/slides/zh/python-net/convert-powerpoint-to-pdf/)、[SVG](/slides/zh/python-net/render-a-slide-as-an-svg-image/)、[XPS](/slides/zh/python-net/convert-powerpoint-to-xps/)、[HTML](/slides/zh/python-net/convert-powerpoint-to-html/)等)以及相关渲染选项。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md index 51cb1b74b3..0bb5a5241f 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-math-equations/exporting-math-equations/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中导出演示文稿中的数学公式 +title: 在 Python 中从演示文稿导出数学公式 linktitle: 导出公式 type: docs weight: 30 @@ -12,30 +12,33 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python via .NET 将 PowerPoint 中的数学公式无缝导出为 MathML,保留格式并提升兼容性。" +description: "使用 Aspose.Slides for Python via .NET,实现从 PowerPoint 到 MathML 的无缝导出数学公式——保持格式并提升兼容性。" --- -Aspose.Slides for Python via .NET 允许您从演示文稿中导出数学方程。例如,您可能需要提取幻灯片上的数学方程(来自特定演示文稿),并在其他程序或平台中使用它们。 +## **介绍** -{{% alert color="primary" %}} - -您可以将方程导出为 MathML,这是一种流行的数学方程和类似内容的格式或标准,广泛应用于网络和许多应用程序中。 +Aspose.Slides for Python via .NET 允许您从演示文稿中导出数学公式。例如,您可能需要从特定幻灯片中提取公式并在其他程序或平台中重新使用它们。 +{{% alert color="primary" %}} +您可以将公式导出为 MathML,这是一种在 Web 和许多应用程序中广泛使用的数学内容表示标准。 {{% /alert %}} -尽管人类可以轻松编写一些方程格式的代码,例如 LaTeX,但他们在编写 MathML 的代码时却会遇到困难,因为后者是自动由应用程序生成的。程序可以轻松读取和解析 MathML,因为其代码采用 XML 格式,因此 MathML 通常作为输出和打印格式在许多领域中使用。 +## **将数学公式保存为 MathML** -以下示例代码演示如何将数学方程从演示文稿导出为 MathML: +尽管人们可以轻松编写 LaTeX,但 MathML 通常由应用程序自动生成。由于 MathML 基于 XML,程序能够可靠地读取和解析它,因此在许多领域中,它常被用作输出和打印格式。 +下面的示例代码演示了如何将演示文稿中的数学公式导出为 MathML: ```py import aspose.slides as slides import aspose.slides.mathtext as math -with slides.Presentation() as pres: - autoShape = pres.slides[0].shapes.add_math_shape(0, 0, 500, 50) - mathParagraph = autoShape.text_frame.paragraphs[0].portions[0].math_paragraph +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + auto_shape = slide.shapes.add_math_shape(0, 0, 500, 50) + math_paragraph = auto_shape.text_frame.paragraphs[0].portions[0].math_paragraph - mathParagraph.add( + math_paragraph.add( math.MathematicalText("a"). set_superscript("2"). join("+"). @@ -43,6 +46,29 @@ with slides.Presentation() as pres: join("="). join(math.MathematicalText("c").set_superscript("2"))) - with open("mathml.xml", "wb") as stream: - mathParagraph.write_as_math_ml(stream) -``` \ No newline at end of file + with open("mathml.xml", "wb") as file_stream: + math_paragraph.write_as_math_ml(file_stream) +``` + + +## **常见问题** + +**究竟导出到 MathML 的是段落还是单独的公式块?** + +您可以将整个数学段落([MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/))或单独的块([MathBlock](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathblock/))导出为 MathML。这两种类型都提供了写入 MathML 的方法。 + +**如何判断幻灯片上的对象是数学公式而不是普通文本或图像?** + +公式存在于 [MathPortion](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathportion/) 中,并且具有一个 [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/)。没有 [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) 的图像和普通文本部分不是可导出的公式。 + +**演示文稿中的 MathML 来源是什么——它是 PowerPoint 特有的还是标准的?** + +导出面向标准的 MathML(XML)。Aspose 使用 Presentation MathML——该标准的呈现子集,已在各类应用程序和 Web 中广泛使用。 + +**是否支持导出表格、SmartArt、组合等内部的公式?** + +是的,如果这些对象包含带有 [MathParagraph](https://reference.aspose.com/slides/python-net/aspose.slides.mathtext/mathparagraph/) 的文本部分(即真实的 PowerPoint 公式),则会被导出。如果公式以图像形式嵌入,则不会导出。 + +**导出为 MathML 会修改原始演示文稿吗?** + +不会。写入 MathML 只是对公式内容的序列化,不会修改演示文稿文件。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md index 688e22fbd1..6946c8ed0a 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/activex/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中管理演示文稿中的 ActiveX 控件 +title: 管理演示文稿中的 ActiveX 控件(Python) linktitle: ActiveX type: docs weight: 80 @@ -15,25 +15,25 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解 Aspose.Slides for Python 如何利用 ActiveX 自动化并增强 PowerPoint 演示文稿,为开发者提供强大的幻灯片控制能力。" +description: "了解 Aspose.Slides for Python via .NET 如何利用 ActiveX 自动化并增强 PowerPoint 演示文稿,为开发人员提供对幻灯片的强大控制。" --- -ActiveX 控件用于演示文稿中。Aspose.Slides for Python via .NET 允许您管理 ActiveX 控件,但管理起来比普通演示形状要复杂且不同。从 Aspose.Slides for Python via .NET 6.9.0 开始,该组件支持管理 ActiveX 控件。此时,您可以访问已添加到演示文稿中的 ActiveX 控件,并通过其各种属性进行修改或删除。请记住,ActiveX 控件不是形状,并且不属于演示文稿的 IShapeCollection,而是单独的 IControlCollection。本文展示了如何与它们一起工作。 +ActiveX 控件在演示文稿中使用。Aspose.Slides for Python via .NET 允许您管理 ActiveX 控件,但管理它们稍微有些棘手,并且不同于普通的演示文稿形状。从 Aspose.Slides for Python via .NET 6.9.0 开始,该组件支持管理 ActiveX 控件。目前,您可以访问演示文稿中已经添加的 ActiveX 控件,并通过其各种属性对其进行修改或删除。请记住,ActiveX 控件不是形状,也不是演示文稿的 IShapeCollection 的一部分,而是单独的 IControlCollection。本篇文章展示了如何使用它们。 + ## **修改 ActiveX 控件** -要管理幻灯片上的简单 ActiveX 控件,例如文本框和简单命令按钮: +要在幻灯片上管理诸如文本框和简单命令按钮等简单的 ActiveX 控件,请执行以下操作: -1. 创建 Presentation 类的实例并加载包含 ActiveX 控件的演示文稿。 -1. 通过索引获取幻灯片引用。 -1. 通过访问 IControlCollection 来访问幻灯片中的 ActiveX 控件。 +1. 创建 Presentation 类的实例并加载其中包含 ActiveX 控件的演示文稿。 +1. 通过索引获取幻灯片的引用。 +1. 通过访问 IControlCollection 来获取幻灯片中的 ActiveX 控件。 1. 使用 ControlEx 对象访问 TextBox1 ActiveX 控件。 -1. 更改 TextBox1 ActiveX 控件的不同属性,包括文本、字体、字体高度和框架位置。 -1. 访问第二个访问控件 CommandButton1。 -1. 更改按钮标题、字体和位置。 +1. 更改 TextBox1 ActiveX 控件的各项属性,包括文本、字体、字体高度和框架位置。 +1. 访问名为 CommandButton1 的第二个控件。 +1. 更改按钮的标题、字体和位置。 1. 移动 ActiveX 控件框架的位置。 1. 将修改后的演示文稿写入 PPTX 文件。 -下面的代码片段更新演示文稿幻灯片上的 ActiveX 控件,如下所示。 - +下面的代码片段将演示文稿幻灯片上的 ActiveX 控件更新为如下所示的幻灯片。 ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -48,11 +48,11 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control = slide.controls[0] if control.name == "TextBox1" and control.properties != None: - newText = "修改后的文本" + newText = "Changed text" control.properties.remove("Value") control.properties.add("Value", newText) - # 更换替代图像。Powerpoint将在 ActiveX 激活期间替换此图像,因此有时可以保持图像不变。 + # 更改替代图像。Powerpoint 将在 activeX activation 期间替换此图像,因此有时可以保持图像不变。 bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: @@ -98,11 +98,11 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: control = slide.controls[1] if control.name == "CommandButton1" and control.properties != None: - newCaption = "消息框" + newCaption = "MessageBox" control.properties.remove("Caption") control.properties.add("Caption", newCaption) - # 更换替代 + # 更改替代图像 bmp = draw.Bitmap(control.frame.width, control.frame.height) with draw.Graphics.from_image(bmp) as graphics: with draw.SolidBrush(draw.Color.from_known_color(draw.KnownColor.CONTROL)) as brush: @@ -147,7 +147,7 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: bmp.save(bmp_bytes, drawing.imaging.ImageFormat.png) control.substitute_picture_format.picture.image = presentation.images.add_image(bmp_bytes) - # 将 ActiveX 框架向下移动 100 个点 + # 将 ActiveX 框向下移动 100 点 for ctl in slide.controls: frame = control.frame control.frame = slides.ShapeFrame( @@ -159,45 +159,44 @@ with slides.Presentation(path + "ActiveX.pptm") as presentation: frame.flip_v, frame.rotation) - # 保存带有编辑过的 ActiveX 控件的演示文稿 + # 保存已编辑 ActiveX 控件的演示文稿 presentation.save("withActiveX-edited_out.pptm", slides.export.SaveFormat.PPTM) # 现在移除控件 slide.controls.clear() - # 保存清除 ActiveX 控件的演示文稿 + # 保存已清除 ActiveX 控件的演示文稿 presentation.save("withActiveX.cleared_out.pptm", slides.export.SaveFormat.PPTM) ``` -## **添加 ActiveX 媒体播放器控件** -要添加 ActiveX 媒体播放器控件,请执行以下步骤: +## **添加 ActiveX Media Player 控件** +要添加 ActiveX Media Player 控件,请执行以下步骤: -1. 创建 Presentation 类的实例,并加载包含媒体播放器 ActiveX 控件的示例演示文稿。 -1. 创建目标 Presentation 类的实例,并生成空演示文稿实例。 -1. 将模板演示文稿中带有媒体播放器 ActiveX 控件的幻灯片克隆到目标 Presentation。 -1. 访问目标 Presentation 中的克隆幻灯片。 -1. 通过访问 IControlCollection 获取幻灯片上的 ActiveX 控件。 -1. 访问媒体播放器 ActiveX 控件并使用其属性设置视频路径。 +1. 创建 Presentation 类的实例并加载其中包含 Media Player ActiveX 控件的示例演示文稿。 +1. 创建目标 Presentation 类的实例并生成空的演示文稿实例。 +1. 将模板演示文稿中包含 Media Player ActiveX 控件的幻灯片克隆到目标 Presentation。 +1. 访问目标 Presentation 中克隆的幻灯片。 +1. 通过访问 IControlCollection 来获取幻灯片中的 ActiveX 控件。 +1. 访问 Media Player ActiveX 控件并使用其属性设置视频路径。 1. 将演示文稿保存为 PPTX 文件。 - ```py import aspose.slides as slides # 实例化表示 PPTX 文件的 Presentation 类 with slides.Presentation(path + "template.pptx") as presentation: - # 创建空演示文稿实例 + # 创建空的演示文稿实例 with slides.Presentation() as newPresentation: - # 移除默认幻灯片 + # 删除默认幻灯片 newPresentation.slides.remove_at(0) - # 克隆带有媒体播放器 ActiveX 控件的幻灯片 + # 克隆包含 Media Player ActiveX 控件的幻灯片 newPresentation.slides.insert_clone(0, presentation.slides[0]) - # 访问媒体播放器 ActiveX 控件并设置视频路径 + # 访问 Media Player ActiveX 控件并设置视频路径 prop = newPresentation.slides[0].controls[0].properties prop.remove("URL") @@ -205,4 +204,19 @@ with slides.Presentation(path + "template.pptx") as presentation: # 保存演示文稿 newPresentation.save("LinkingVideoActiveXControl_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**Aspose.Slides 在读取并重新保存时,如果 ActiveX 控件无法在 Python 运行时执行,是否仍会保留这些控件?** + +是的。Aspose.Slides 将它们视为演示文稿的一部分,能够读取/修改其属性和框架;并不需要执行这些控件本身即可保留它们。 + +**ActiveX 控件与演示文稿中的 OLE 对象有何区别?** + +ActiveX 控件是交互式受管理的控件(按钮、文本框、媒体播放器),而 [OLE](/slides/zh/python-net/manage-ole/) 指的是嵌入的应用程序对象(例如 Excel 工作表)。它们的存储和处理方式不同,属性模型也不同。 + +**如果文件已被 Aspose.Slides 修改,ActiveX 事件和 VBA 宏还能工作吗?** + +Aspose.Slides 会保留现有的标记和元数据;但是,事件和宏只能在 Windows 上的 PowerPoint 中且安全设置允许时运行。该库不会执行 VBA。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md index a688d370a3..298f1612fb 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/create-shape-thumbnails/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中创建演示文稿形状缩略图 +title: 使用 Python 创建演示文稿形状缩略图 linktitle: 形状缩略图 type: docs weight: 70 @@ -13,77 +13,120 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python via .NET 从 PowerPoint 和 OpenDocument 幻灯片生成高质量的形状缩略图——轻松创建并导出演示文稿缩略图。" +description: "使用 Aspose.Slides for Python via .NET 从 PowerPoint 和 OpenDocument 幻灯片生成高质量的形状缩略图 —— 轻松创建并导出演示文稿缩略图。" --- -Aspose.Slides for Python via .NET用于创建演示文稿文件,其中每一页都是一张幻灯片。这些幻灯片可以通过使用Microsoft PowerPoint打开演示文稿文件进行查看。但有时,开发人员可能需要在图像查看器中单独查看形状的图像。在这种情况下,Aspose.Slides for Python via .NET帮助您生成幻灯片形状的缩略图。如何使用此功能在本文中进行了说明。 -本文解释了如何以不同方式生成幻灯片缩略图: +## **介绍** + +Aspose.Slides for Python via .NET 用于创建演示文稿文件,每页对应一个幻灯片。您可以通过打开演示文稿文件在 Microsoft PowerPoint 中查看这些幻灯片。不过,开发者有时需要在图像查看器中单独查看形状的图像。此时,Aspose.Slides 可以为幻灯片形状生成缩略图。本文说明如何使用此功能。 -- 在幻灯片中生成形状缩略图。 -- 为用户定义尺寸的幻灯片形状生成形状缩略图。 -- 在形状外观的边界内生成形状缩略图。 -- 生成SmartArt子节点的缩略图。 ## **从幻灯片生成形状缩略图** -要使用Aspose.Slides for Python via .NET从任何幻灯片生成形状缩略图: + +当您只需要特定对象的预览而不是整张幻灯片时,可以为单个形状渲染缩略图。Aspose.Slides 允许将任意形状导出为图像,便于创建轻量级预览、图标或下游处理的资源。 + +生成任意形状的缩略图: 1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 使用其ID或索引获取任何幻灯片的引用。 -1. 获取引用幻灯片的默认缩放比例的形状缩略图图像。 -1. 将缩略图图像保存为任何所需的图像格式。 +1. 使用 ID 或索引获取幻灯片的引用。 +1. 获取该幻灯片上某个形状的引用。 +1. 渲染该形状的缩略图图像。 +1. 将缩略图图像保存为所需格式。 下面的示例生成形状缩略图。 - ```py import aspose.slides as slides -# 实例化一个表示演示文稿文件的Presentation类 -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # 创建全比例图像 - with presentation.slides[0].shapes[0].get_image() as bitmap: - # 将图像以PNG格式保存到磁盘 - bitmap.save("Shape_thumbnail_out.png", slides.ImageFormat.PNG) +# 实例化 Presentation 类以打开演示文稿文件。 +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # 创建一个使用默认比例的图像。 + with shape.get_image() as thumbnail: + # 将图像以 PNG 格式保存到磁盘。 + thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG) ``` -## **生成用户定义缩放因子的缩略图** -要使用Aspose.Slides for Python via .NET生成任何幻灯片形状的形状缩略图: +## **使用自定义缩放因子生成缩略图** + +本节展示如何在 Aspose.Slides 中使用用户定义的缩放因子生成形状缩略图。通过控制缩放比例,您可以微调缩略图尺寸,以适应预览、导出或高 DPI 显示。 -1. 创建一个 `Presentation` 类的实例。 -1. 使用其ID或索引获取任何幻灯片的引用。 -1. 获取引用幻灯片的具有形状边界的缩略图图像。 -1. 将缩略图图像保存为任何所需的图像格式。 +生成幻灯片上任意形状的缩略图: -下面的示例生成了一个具有用户定义缩放因子的缩略图。 +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 使用 ID 或索引获取幻灯片。 +1. 获取该幻灯片上的目标形状。 +1. 按指定的缩放比例渲染形状的缩略图图像。 +1. 将缩略图图像保存为所需格式。 +下面的示例生成带有用户自定义缩放因子的缩略图。 ```py import aspose.slides as slides -# 实例化一个表示演示文稿文件的Presentation类 -with slides.Presentation(path + "HelloWorld.pptx") as p: - # 创建全比例图像 - with p.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.SHAPE, 1, 1) as bitmap: - # 将图像以PNG格式保存到磁盘 - bitmap.save("Scaling Factor Thumbnail_out.png", slides.ImageFormat.PNG) +scale_x = 2.0 +scale_y = scale_x + +# 实例化 Presentation 类以打开演示文稿文件。 +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # 使用定义的缩放比例创建图像。 + with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail: + # 将图像以 PNG 格式保存到磁盘。 + thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG) ``` -## **创建形状外观边界缩略图** -此方法用于创建形状的缩略图,允许开发人员在形状外观的边界内生成缩略图。它考虑到所有形状效果。生成的形状缩略图受到幻灯片边界的限制。要在其外观的边界内生成任何幻灯片形状的缩略图,请使用以下示例代码: +## **使用形状外观边界生成缩略图** -1. 创建一个 `Presentation` 类的实例。 -1. 使用其ID或索引获取任何幻灯片的引用。 -1. 获取引用幻灯片的具有形状边界作为外观的缩略图图像。 -1. 将缩略图图像保存为任何所需的图像格式。 +本节展示如何在形状的外观边界内生成缩略图。它会考虑所有形状效果。生成的缩略图受幻灯片边界限制。 -下面的示例生成了一个具有用户定义缩放因子的缩略图。 +在形状外观边界内为任意幻灯片形状生成缩略图: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 使用 ID 或索引获取幻灯片。 +1. 获取该幻灯片上的目标形状。 +1. 按指定的边界渲染形状的缩略图图像。 +1. 将缩略图图像保存为所需的图像格式。 + +下面的示例创建了带有用户自定义边界的缩略图。 ```py import aspose.slides as slides -# 实例化一个表示演示文稿文件的Presentation类 -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # 创建外观边界形状图像 - with presentation.slides[0].shapes[0].get_image(slides.ShapeThumbnailBounds.APPEARANCE, 1, 1) as bitmap: - # 将图像以PNG格式保存到磁盘 - bitmap.save("Shape_thumbnail_Bound_Shape_out.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +image_bounds = slides.ShapeThumbnailBounds.APPEARANCE + +# 实例化 Presentation 类以打开演示文稿文件。 +with slides.Presentation("hello_world.pptx") as presentation: + slide = presentation.slides[0] + shape = slide.shapes[0] + + # 创建外观边界形状图像。 + with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail: + # 将图像以 PNG 格式保存到磁盘。 + thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG) +``` + + +## **FAQ** + +**保存形状缩略图时可以使用哪些图像格式?** + +[PNG, JPEG, BMP, GIF, TIFF](https://reference.aspose.com/slides/python-net/aspose.slides/imageformat/),以及其他格式。形状还可以通过将内容保存为 SVG 来[导出为矢量 SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/)。 + +**在渲染缩略图时,SHAPE 边界和 APPEARANCE 边界有什么区别?** + +`SHAPE` 使用形状的几何边界;`APPEARANCE` 会考虑[可视效果](/slides/zh/python-net/shape-effect/)(阴影、发光等)。 + +**如果形状被标记为隐藏,会怎样?它仍会渲染为缩略图吗?** + +隐藏的形状仍是模型的一部分,可以渲染;隐藏标记仅影响幻灯片放映的显示,不会阻止生成形状图像。 + +**是否支持组形状、图表、SmartArt 及其他复杂对象?** + +支持。任何以[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 表示的对象(包括[GroupShape](https://reference.aspose.com/slides/python-net/aspose.slides/groupshape/)、[Chart](https://reference.aspose.com/slides/python-net/aspose.slides.charts/chart/)、以及[SmartArt](https://reference.aspose.com/slides/python-net/aspose.slides.smartart/smartart/))都可以保存为缩略图或 SVG。 + +**系统安装的字体会影响文本形状缩略图的质量吗?** + +会。您应当[提供所需字体](/slides/zh/python-net/custom-font/)(或[配置字体替换](/slides/zh/python-net/font-substitution/)),以避免出现不期望的回退和文本重新布局。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md index 6d506842a3..fc68007c59 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-animation/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中为演示文稿应用形状动画 +title: 在演示文稿中使用 Python 应用形状动画 linktitle: 形状动画 type: docs weight: 60 @@ -22,157 +22,155 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides for Python 在 PowerPoint 和 OpenDocument 演示文稿中创建并自定义形状动画,让作品脱颖而出!" +description: "了解如何使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中创建和自定义形状动画。脱颖而出!" --- -动画是可以应用于文本、图像、形状或 [图表](/slides/zh/python-net/animated-charts/) 的视觉效果。它们为演示文稿或其组成部分带来了生命。 +动画是可以应用于文本、图像、形状或[图表](/slides/zh/python-net/animated-charts/)的视觉效果。它们为演示文稿或其组成部分赋予生机。 -### **为什么在演示文稿中使用动画?** +## **为什么在演示文稿中使用动画?** -使用动画,您可以 +使用动画,您可以 -* 控制信息的流动 -* 强调重要点 -* 增加观众的兴趣或参与度 -* 使内容更易于阅读、吸收或处理 -* 吸引读者或观众注意演示文稿中的重要部分 +* 控制信息流 +* 强调重要要点 +* 提升观众的兴趣或参与度 +* 使内容更容易阅读、吸收或处理 +* 吸引读者或观众注意演示文稿中的重要部分 -PowerPoint 提供了许多选项和工具,用于在 **入场**、**退场**、**强调** 和 **运动路径** 类别中应用动画和动画效果。 +PowerPoint 在 **进入**、**退出**、**强调**和**运动路径**类别中提供了许多动画选项和工具。 -### **Aspose.Slides 中的动画** +## **Aspose.Slides 中的动画** -* Aspose.Slides 提供您需要的类和类型,以在 [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) 命名空间下处理动画, -* Aspose.Slides 在 [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/) 枚举中提供超过 **150 种动画效果**。这些效果实际上与 PowerPoint 中使用的效果基本相同(或等效)。 +* Aspose.Slides 在 [Aspose.Slides.Animation](https://reference.aspose.com/slides/python-net/aspose.slides.animation/) 命名空间下提供了处理动画所需的类和类型, +* Aspose.Slides 在 [EffectType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttype/) 枚举下提供了超过 **150** 种动画效果。这些效果本质上与 PowerPoint 中使用的效果相同(或等价)。 -## **将动画应用于文本框** +## **将动画应用于 TextBox** -Aspose.Slides for Python via .NET 允许您将动画应用于形状中的文本。 +Aspose.Slides for Python via .NET 允许您将动画应用于形状中的文本。 -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 添加一个 `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/)。 -4. 向 `IAutoShape.TextFrame` 添加文本。 -5. 获取效果的主序列。 -6. 向 [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) 添加动画效果。 -7. 将 `TextAnimation.BuildType` 属性设置为 `BuildType` 枚举中的值。 -8. 将演示文稿写入磁盘作为 PPTX 文件。 - -此 Python 代码向您展示如何将 `Fade` 效果应用于 AutoShape,并将文本动画设置为 *按第 1 层段落* 的值: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 添加一个 `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/)。 +4. 向 `IAutoShape.TextFrame` 添加文本。 +5. 获取主要的效果序列。 +6. 向 [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/) 添加动画效果。 +7. 将 `TextAnimation.BuildType` 属性设置为 `BuildType` 枚举中的值。 +8. 将演示文稿写入磁盘,保存为 PPTX 文件。 +下面的 Python 代码演示了如何将 `Fade` 效果应用于 AutoShape 并将文本动画设置为 *By 1st Level Paragraphs* 值: ```python import aspose.slides as slides -# Instantiates a presentation class that represents a presentation file. +# 实例化一个表示演示文稿文件的 Presentation 类。 with slides.Presentation() as pres: sld = pres.slides[0] - # Adds new AutoShape with text + # 添加带文本的新 AutoShape autoShape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 20, 20, 150, 100) textFrame = autoShape.text_frame - textFrame.text = "第一段 \n第二段 \n第三段" + textFrame.text = "First paragraph \nSecond paragraph \n Third paragraph" - # Gets the main sequence of the slide. + # 获取幻灯片的主序列。 sequence = sld.timeline.main_sequence - # Adds Fade animation effect to shape + # 为形状添加淡入(Fade)动画效果 effect = sequence.add_effect(autoShape, slides.animation.EffectType.FADE, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.ON_CLICK) - # Animates shape text by 1st level paragraphs + # 按一级段落动画化形状文本 effect.text_animation.build_type = slides.animation.BuildType.BY_LEVEL_PARAGRAPHS1 - # Save the PPTX file to disk + # 将 PPTX 文件保存到磁盘 pres.save("AnimText_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert color="primary" %}} +{{% alert color="primary" %}} 除了将动画应用于文本之外,您还可以将动画应用于单个 [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/)。请参阅 [**动画文本**](/slides/zh/python-net/animated-text/)。 - {{% /alert %}} -## **将动画应用于图像框** - -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 在幻灯片上添加或获取 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)。 -4. 获取效果的主序列。 -5. 向 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 添加动画效果。 -6. 将演示文稿写入磁盘作为 PPTX 文件。 +## **将动画应用于 PictureFrame** -此 Python 代码向您展示如何将 `Fly` 效果应用于图像框: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 在幻灯片上添加或获取一个 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)。 +4. 获取主要的效果序列。 +5. 向 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 添加动画效果。 +6. 将演示文稿写入磁盘,保存为 PPTX 文件。 +下面的 Python 代码演示了如何将 `Fly` 效果应用于图片框: ```python import aspose.slides as slides import aspose.pydrawing as draw -# Instantiates a presentation class that represents a presentation file. + +# 实例化一个表示演示文稿文件的 Presentation 类。 with slides.Presentation() as pres: - # Load Image to be added in presentaiton image collection + # 加载要添加到演示文稿图像集合的图像 img = draw.Bitmap("aspose-logo.jpg") image = pres.images.add_image(img) - # Adds picture frame to slide + # 向幻灯片添加图片框 picFrame = pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 100, 100, image) - # Gets the main sequence of the slide. + # 获取幻灯片的主序列。 sequence = pres.slides[0].timeline.main_sequence - # Adds Fly from Left animation effect to picture frame + # 为图片框添加从左侧飞入的动画效果 effect = sequence.add_effect(picFrame, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.LEFT, slides.animation.EffectTriggerType.ON_CLICK) - # Save the PPTX file to disk + # 将 PPTX 文件保存到磁盘 pres.save("AnimImage_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **将动画应用于形状** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 添加一个 `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/)。 -4. 添加一个 `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/)(当单击此对象时,播放动画)。 -5. 在斜面形状上创建一个效果序列。 -6. 创建一个自定义的 `UserPath`。 -7. 添加移动到 `UserPath` 的命令。 -8. 将演示文稿写入磁盘作为 PPTX 文件。 +## **将动画应用于 Shape** -此 Python 代码向您展示如何将 `PathFootball`(路径足球)效果应用于形状: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 添加一个 `rectangle` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/)。 +4. 添加一个 `Bevel` [IAutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/iautoshape/)(点击此对象时播放动画)。 +5. 在斜角形状上创建效果序列。 +6. 创建自定义 `UserPath`。 +7. 添加移动到 `UserPath` 的命令。 +8. 将演示文稿写入磁盘,保存为 PPTX 文件。 +下面的 Python 代码演示了如何将 `PathFootball`(路径足球)效果应用于形状: ```python import aspose.slides.animation as anim import aspose.slides as slides import aspose.pydrawing as draw -# Instantiates a Presentation class that represents a PPTX file +# 实例化一个表示 PPTX 文件的 Presentation 类 with slides.Presentation() as pres: sld = pres.slides[0] - # Creates PathFootball effect for existing shape from scratch. + # 从头为现有形状创建 PathFootball 效果。 ashp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 150, 250, 25) - ashp.add_text_frame("动画文本框") + ashp.add_text_frame("Animated TextBox") - # Adds the PathFootBall animation effect. + # 添加 PathFootBall 动画效果。 pres.slides[0].timeline.main_sequence.add_effect(ashp, anim.EffectType.PATH_FOOTBALL, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS) - # Creates some kind of "button". + # 创建某种“按钮”。 shapeTrigger = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.BEVEL, 10, 10, 20, 20) - # Creates a sequence of effects for the button. + # 为按钮创建效果序列。 seqInter = pres.slides[0].timeline.interactive_sequences.add(shapeTrigger) - # Creates a custom user path. Our object will be moved only after the button is clicked. + # 创建自定义用户路径。我们的对象只有在按钮被点击后才会移动。 fxUserPath = seqInter.add_effect(ashp, anim.EffectType.PATH_USER, anim.EffectSubtype.NONE, anim.EffectTriggerType.ON_CLICK) - # Adds commands for moving since created path is empty. + # 添加移动命令,因为创建的路径为空。 motionBhv = fxUserPath.behaviors[0] pts = [draw.PointF(0.076, 0.59)] @@ -181,207 +179,259 @@ with slides.Presentation() as pres: motionBhv.path.add(anim.MotionCommandPathType.LINE_TO, pts, anim.MotionPathPointsType.AUTO, False) motionBhv.path.add(anim.MotionCommandPathType.END, None, anim.MotionPathPointsType.AUTO, False) - # Writes the PPTX file to disk + # 将 PPTX 文件写入磁盘 pres.save("AnimExample_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **获取应用于形状的动画效果** -您可能会决定查找应用于单个形状的所有动画效果。 +## **获取应用于 Shape 的动画效果** -此 Python 代码向您展示如何获取应用于特定形状的所有效果: +以下示例演示如何使用 [Sequence](https://reference.aspose.com/slides/python-net/aspose.slides.animation/sequence/) 类的 `get_effects_by_shape` 方法来获取应用于形状的所有动画效果。 +**示例 1:获取普通幻灯片上形状的动画效果** + +之前,您已经学习了如何向 PowerPoint 演示文稿中的形状添加动画效果。下面的示例代码演示如何获取演示文稿 `AnimExample_out.pptx` 中第一张普通幻灯片上第一个形状所应用的效果。 ```python import aspose.slides as slides -# Instantiates a presentation class that represents a presentation file. -with slides.Presentation("AnimExample_out.pptx") as pres: - firstSlide = pres.slides[0] +with slides.Presentation("AnimExample_out.pptx") as presentation: + first_slide = presentation.slides[0] - # Gets the main sequence of the slide. - sequence = firstSlide.timeline.main_sequence + # 获取幻灯片的主动画序列。 + sequence = first_slide.timeline.main_sequence - # Gets the first shape on slide. - shape = firstSlide.shapes[0] + # 获取第一张幻灯片上的第一个形状。 + shape = first_slide.shapes[0] - # Gets all animation effects applied to the shape. - shapeEffects = sequence.get_effects_by_shape(shape) + # 获取应用于该形状的动画效果。 + shape_effects = sequence.get_effects_by_shape(shape) - if len(shapeEffects) > 0: - print("形状 " + shape.name + " 有 " + str(len(shapeEffects)) + " 个动画效果。") + if len(shape_effects) > 0: + print("The shape", shape.name, "has", len(shape_effects), "animation effects.") ``` -## **更改动画效果的时间属性** -Aspose.Slides for Python via .NET 允许您更改动画效果的时间属性。 +**示例 2:获取所有动画效果,包括从占位符继承的效果** -这是 Microsoft PowerPoint 中的动画时间窗格: +如果普通幻灯片上的形状具有位于版式幻灯片和/或母版幻灯片上的占位符,并且这些占位符已添加动画效果,则在放映过程中该形状将播放所有效果,包括从占位符继承的效果。 -![example1_image](shape-animation.png) +假设我们有一个 PowerPoint 演示文稿文件 `sample.pptx`,其中唯一的一张幻灯片仅包含一个页脚形状,文本为 "Made with Aspose.Slides",并对该形状应用了 **Random Bars** 效果。 + +![Slide shape animation effect](slide-shape-animation.png) + +假设在 **layout** 幻灯片的页脚占位符上也应用了 **Split** 效果。 + +![Layout shape animation effect](layout-shape-animation.png) + +最后,在 **master** 幻灯片的页脚占位符上应用了 **Fly In** 效果。 + +![Master shape animation effect](master-shape-animation.png) + +以下示例代码演示如何使用 [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 类的 `get_base_placeholder` 方法访问形状占位符,并获取应用于页脚形状的动画效果,包括从版式和母版幻灯片上的占位符继承的效果。 +```py +import aspose.slides as slides + +def print_effects(effects): + for effect in effects: + print(effect.type.name, effect.subtype.name) +``` + +```py +with slides.Presentation("sample.pptx") as presentation: + slide = presentation.slides[0] + + # 获取普通幻灯片上形状的动画效果。 + shape = slide.shapes[0] + shape_effects = slide.timeline.main_sequence.get_effects_by_shape(shape) + + # 获取版式幻灯片上占位符的动画效果。 + layout_shape = shape.get_base_placeholder() + layout_shape_effects = slide.layout_slide.timeline.main_sequence.get_effects_by_shape(layout_shape) -这些是 PowerPoint 时间与 `Effect.Timing` 属性之间的对应关系: + # 获取母版幻灯片上占位符的动画效果。 + master_shape = layout_shape.get_base_placeholder() + master_shape_effects = slide.layout_slide.master_slide.timeline.main_sequence.get_effects_by_shape(master_shape) -- PowerPoint 时间 **开始** 下拉列表对应 [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) 属性。 -- PowerPoint 时间 **持续时间** 对应 `Effect.Timing.Duration` 属性。动画的持续时间(以秒为单位)是动画完成一个周期所需的总时间。 -- PowerPoint 时间 **延迟** 对应 `Effect.Timing.TriggerDelayTime` 属性。 + print("Main sequence of shape effects:") + print_effects(master_shape_effects) + print_effects(layout_shape_effects) + print_effects(shape_effects) +``` + + +输出: +```text +Main sequence of shape effects: +FLY BOTTOM +SPLIT VERTICAL_IN +RANDOM_BARS HORIZONTAL +``` + + +## **更改动画效果的时间属性** + +Aspose.Slides for Python via .NET 允许您更改动画效果的 Timing 属性。 + +![example1_image](shape-animation.png) + +以下是 PowerPoint Timing 与 `Effect.Timing` 属性之间的对应关系: -这就是如何更改效果时间属性的方法: +- PowerPoint 时间设置 **Start** 下拉列表对应 [Effect.Timing.TriggerType](https://reference.aspose.com/slides/python-net/aspose.slides.animation/effecttriggertype/) 属性。 +- PowerPoint 时间设置 **Duration** 对应 `Effect.Timing.Duration` 属性。动画的时长(秒)是动画完成一次循环所需的总时间。 +- PowerPoint 时间设置 **Delay** 对应 `Effect.Timing.TriggerDelayTime` 属性。 -1. [应用](#apply-animation-to-shape)或获取动画效果。 -2. 为所需的 `Effect.Timing` 属性设置新值。 -3. 保存修改后的 PPTX 文件。 +更改 Effect Timing 属性的步骤如下: -此 Python 代码演示了操作: +1. [Apply](#apply-animation-to-shape) 或获取动画效果。 +2. 为所需的 `Effect.Timing` 属性设置新值。 +3. 保存修改后的 PPTX 文件。 ```python import aspose.slides as slides -# Instantiates a presentation class that represents a presentation file. +# 实例化一个表示演示文稿文件的 Presentation 类。 with slides.Presentation("AnimExample_out.pptx") as pres: - # Gets the main sequence of the slide. + # 获取幻灯片的主序列。 sequence = pres.slides[0].timeline.main_sequence - # Gets the first effect of main sequence. + # 获取主序列的第一个效果。 effect = sequence[0] - # Changes effect TriggerType to start on click + # 将效果的 TriggerType 更改为点击开始 effect.timing.trigger_type = slides.animation.EffectTriggerType.ON_CLICK - # Changes effect Duration + # 更改效果的持续时间 effect.timing.duration = 3 - # Changes effect TriggerDelayTime + # 更改效果的触发延迟时间 effect.timing.trigger_delay_time = 0.5 - # Saves the PPTX file to disk + # 将 PPTX 文件保存到磁盘 pres.save("AnimExample_changed.pptx", slides.export.SaveFormat.PPTX) ``` + ## **动画效果声音** -Aspose.Slides 提供这些属性来允许您处理动画效果中的声音: +Aspose.Slides 提供以下属性,以便在动画效果中处理声音: -- `sound` -- `stop_previous_sound` +- `sound` +- `stop_previous_sound` ### **添加动画效果声音** -此 Python 代码向您展示如何添加动画效果声音,并在下一个效果开始时停止它: - +以下 Python 代码演示了如何添加动画效果声音并在下一个效果开始时停止它: ```python import aspose.slides as slides with Presentation("AnimExample_out.pptx") as pres: - # Adds audio to presentation audio collection + # 将音频添加到演示文稿的音频集合中 effect_sound = pres.audios.add_audio(open("sampleaudio.wav", "rb").read()) first_slide = pres.slides[0] - # Gets the main sequence of the slide. + # 获取幻灯片的主序列。 sequence = first_slide.timeline.main_sequence - # Gets the first effect of the main sequence + # 获取主序列的第一个效果 first_effect = sequence[0] - # Сhecks the effect for "No Sound" + # 检查效果是否没有声音 if not first_effect.stop_previous_sound and first_effect.sound is None: - # Adds sound for the first effect + # 为第一个效果添加声音 first_effect.sound = effect_sound - # Gets the first interactive sequence of the slide. + # 获取幻灯片的第一个交互序列。 interactive_sequence = first_slide.timeline.interactive_sequences[0] - # Sets the effect "Stop previous sound" flag + # 设置效果的“停止之前的声音”标志 interactive_sequence[0].stop_previous_sound = True - # Writes the PPTX file to disk + # 将 PPTX 文件写入磁盘 pres.save("AnimExample_Sound_out.pptx", slides.export.SaveFormat.PPTX) ``` -### **提取动画效果声音** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 获取效果的主序列。 -4. 提取嵌入到每个动画效果中的 `sound`。 +### **提取动画效果声音** -此 Python 代码向您展示如何提取嵌入在动画效果中的声音: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 获取主要的效果序列。 +4. 提取每个动画效果中嵌入的 `sound`。 +以下 Python 代码演示了如何提取动画效果中嵌入的声音: ```python import aspose.slides as slides -# Instantiates a presentation class that represents a presentation file. +# 实例化一个表示演示文稿文件的 Presentation 类。 with slides.Presentation("EffectSound.pptx") as presentation: slide = presentation.slides[0] - # Gets the main sequence of the slide. + # 获取幻灯片的主序列。 sequence = slide.timeline.main_sequence for effect in sequence: if effect.sound is None: continue - # Extracts the effect sound in byte array + # 提取效果声音的字节数组 audio = effect.sound.binary_data ``` -## **动画后** -Aspose.Slides for .NET 允许您更改动画效果的动画后属性。 +## **动画结束后** -这是 Microsoft PowerPoint 中的动画效果窗格和扩展菜单: +Aspose.Slides for .NET 允许您更改动画效果的 After animation 属性。 ![example1_image](shape-after-animation.png) -PowerPoint 效果 **动画后** 下拉列表对应以下属性: +PowerPoint Effect **After animation** 下拉列表对应以下属性: -- `after_animation_type` 属性描述动画后的类型: - * PowerPoint **更多颜色** 对应 [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型; - * PowerPoint **不减淡** 列表项对应 [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型(默认动画后类型); - * PowerPoint **在动画后隐藏** 项对应 [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型; - * PowerPoint **在下一个鼠标单击时隐藏** 项对应 [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型; -- `after_animation_color` 属性定义动画后的颜色格式。此属性与 [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型一起工作。如果您将类型更改为其他类型,则将清除动画后的颜色。 - -此 Python 代码向您展示如何更改动画后的效果: +- `after_animation_type` 属性描述 After animation 类型: + * PowerPoint **More Colors** 对应 [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型; + * PowerPoint **Don't Dim** 项对应 [DO_NOT_DIM](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型(默认的 after animation 类型); + * PowerPoint **Hide After Animation** 项对应 [HIDE_AFTER_ANIMATION](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型; + * PowerPoint **Hide on Next Mouse Click** 项对应 [HIDE_ON_NEXT_MOUSE_CLICK](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型; +- `after_animation_color` 属性定义了动画结束后的颜色格式。此属性需配合 [COLOR](https://reference.aspose.com/slides/python-net/aspose.slides.animation/afteranimationtype/) 类型使用。如果更改类型,动画结束后的颜色将被清除。 +以下 Python 代码演示了如何更改动画结束后的效果: ```python import aspose.slides as slides -# Instantiates a presentation class that represents a presentation file +# 实例化一个表示演示文稿文件的 Presentation 类 with slides.Presentation("AnimImage_out.pptx") as pres: first_slide = pres.slides[0] - # Gets the first effect of the main sequence + # 获取主序列的第一个效果 first_effect = first_slide.timeline.main_sequence[0] - # Changes the after animation type to Color + # 将 after animation 类型更改为 Color first_effect.after_animation_type = AfterAnimationType.COLOR - # Sets the after animation dim color + # 设置 after animation 暗淡颜色 first_effect.after_animation_color.color = Color.alice_blue - # Writes the PPTX file to disk + # 将 PPTX 文件写入磁盘 pres.save("AnimImage_AfterAnimation.pptx", slides.export.SaveFormat.PPTX) ``` -## **动画文本** -Aspose.Slides 提供这些属性,以允许您处理动画效果的 *动画文本* 块: +## **动画文本** -- `animate_text_type` 描述效果的动画文本类型。形状文本可以动画: - - 一次性全部([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 类型) - - 按单词([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 类型) - - 按字母([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 类型) -- `delay_between_text_parts` 设置动画文本部分(单词或字母)之间的延迟。正值指定效果持续时间的百分比。负值指定以秒为单位的延迟。 +Aspose.Slides 提供以下属性,以便处理动画效果的 *Animate text* 块: -这就是您可以更改效果动画文本属性的方法: +- `animate_text_type` 描述效果的动画文本类型。形状文本可以按以下方式动画化: + - 一次性全部显示 ([ALL_AT_ONCE](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 类型) + - 按单词 ([BY_WORD](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 类型) + - 按字母 ([BY_LETTER](https://reference.aspose.com/slides/python-net/aspose.slides.animation/animatetexttype/) 类型) +- `delay_between_text_parts` 设置动画文本片段(单词或字母)之间的延迟。正值表示效果持续时间的百分比,负值表示以秒为单位的延迟。 -1. [应用](#apply-animation-to-shape)或获取动画效果。 -2. 将 `build_type` 属性设置为 [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) 值,以关闭 *按段落* 动画模式。 -3. 设置 `animate_text_type` 和 `delay_between_text_parts` 属性的新值。 -4. 保存修改后的 PPTX 文件。 +更改 Effect Animate text 属性的步骤如下: -此 Python 代码演示了操作: +1. [Apply](#apply-animation-to-shape) 或获取动画效果。 +2. 将 `build_type` 属性设置为 [AS_ONE_OBJECT](https://reference.aspose.com/slides/python-net/aspose.slides.animation/buildtype/) 值,以关闭 *By Paragraphs* 动画模式。 +3. 为 `animate_text_type` 和 `delay_between_text_parts` 属性设置新值。 +4. 保存修改后的 PPTX 文件。 ```python import aspose.slides as slides @@ -389,19 +439,31 @@ import aspose.slides as slides with slides.Presentation("AnimTextBox_out.pptx") as pres: first_slide = pres.slides[0] - # Gets the first effect of the main sequence + # 获取主序列的第一个效果 first_effect = first_slide.timeline.main_sequence[0] - # Changes the effect Text animation type to "As One Object" + # 将效果的文本动画类型更改为 “As One Object” first_effect.text_animation.build_type = slides.animation.BuildType.AS_ONE_OBJECT - # Changes the effect Animate text type to "By word" + # 将效果的动画文本类型更改为 “By word” first_effect.animate_text_type = slides.animation.AnimateTextType.BY_WORD - # Sets the delay between words to 20% of effect duration + # 将单词之间的延迟设置为效果持续时间的 20% first_effect.delay_between_text_parts = 20 - # Writes the PPTX file to disk + # 将 PPTX 文件写入磁盘 pres.save("AnimTextBox_AnimateText.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**如何确保在将演示文稿发布到 Web 时保留动画?** +[Export to HTML5](/slides/zh/python-net/export-to-html5/) 并启用负责 [shape](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_shapes/) 和 [transition](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/animate_transitions/) 动画的 [options](https://reference.aspose.com/slides/python-net/aspose.slides.export/html5options/) 设置。普通 HTML 不会播放幻灯片动画,而 HTML5 能够播放。 + +**更改形状的 z-order(层次顺序)会如何影响动画?** +动画顺序和绘制顺序是独立的:效果控制出现/消失的时间和类型,而 [z-order](https://reference.aspose.com/slides/python-net/aspose.slides/shape/z_order_position/) 决定覆盖关系。可见结果由两者的组合决定。(这是一种通用的 PowerPoint 行为,Aspose.Slides 的效果和形状模型遵循相同的逻辑。) + +**将动画转换为视频时是否对某些效果有局限性?** +一般来说,[animations are supported](/slides/zh/python-net/convert-powerpoint-to-video/),但在少数情况下或针对特定效果,渲染可能有所不同。建议使用实际效果和相应库版本进行测试。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md index 6e4ca901d9..e6bfc73bd0 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-effect/_index.md @@ -3,12 +3,12 @@ title: 使用 Python 在演示文稿中应用形状效果 linktitle: 形状效果 type: docs weight: 30 -url: /zh/python-net/shape-effect/ +url: /zh/python-net/shape-effect keywords: - 形状效果 - 阴影效果 - 反射效果 -- 发光效果 +- 辉光效果 - 柔化边缘效果 - 效果格式 - PowerPoint @@ -16,23 +16,22 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python 的高级形状效果,快速改造您的 PPT、PPTX 和 ODP 文件,在数秒内创建醒目且专业的幻灯片。" +description: "使用 Aspose.Slides for Python 将您的 PPT、PPTX 和 ODP 文件转化为高级形状效果——在几秒钟内创建引人注目、专业的幻灯片。" --- -虽然PowerPoint中的效果可以使形状更加突出,但它们与[填充](/slides/zh/python-net/shape-formatting/#gradient-fill)或轮廓不同。通过使用PowerPoint效果,您可以在形状上创建逼真的反射,扩散形状的光晕等。 +虽然 PowerPoint 中的效果可用于让形状突出显示,但它们不同于 [fills](/slides/zh/python-net/shape-formatting/#gradient-fill) 或轮廓。使用 PowerPoint 效果,您可以在形状上创建逼真的反射、扩散形状的辉光等。 shape-effect -* PowerPoint提供六种可以应用于形状的效果。您可以将一种或多种效果应用于形状。 +* PowerPoint 提供六种可应用于形状的效果。您可以对一个形状应用一个或多个效果。 -* 某些效果组合的视觉效果优于其他组合。因此,PowerPoint在**预设**下提供了选项。预设选项本质上是两种或多种效果的已知良好组合。通过选择预设,您无需浪费时间测试或组合不同的效果以找到合适的组合。 +* 某些效果组合比其他组合更好看。出于此原因,PowerPoint 在 **Preset** 下提供选项。Preset 选项本质上是两种或多种效果的已知美观组合。这样,选择预设后,您无需浪费时间测试或组合不同的效果来寻找合适的组合。 -Aspose.Slides提供了[EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/)类中的属性和方法,使您可以在PowerPoint演示文稿中的形状上应用相同的效果。 +Aspose.Slides 在 [EffectFormat](https://reference.aspose.com/slides/python-net/aspose.slides/effectformat/) 类下提供属性和方法,允许您在 PowerPoint 演示文稿中对形状应用相同的效果。 ## **应用阴影效果** -以下Python代码演示如何在矩形上应用外阴影效果(`outer_shadow_effect`): - +以下 Python 代码演示如何对矩形应用外部阴影效果(`outer_shadow_effect`): ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -48,10 +47,10 @@ with slides.Presentation() as pres: pres.save("output.pptx", slides.export.SaveFormat.PPTX) ``` -## **应用反射效果** -以下Python代码演示如何对形状应用反射效果: +## **应用反射效果** +以下 Python 代码演示如何对形状应用反射效果: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -68,10 +67,10 @@ with slides.Presentation() as pres: pres.save("reflection.pptx", slides.export.SaveFormat.PPTX) ``` -## **应用光晕效果** -以下Python代码演示如何对形状应用光晕效果: +## **应用辉光效果** +以下 Python 代码演示如何对形状应用辉光效果: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -86,10 +85,10 @@ with slides.Presentation() as pres: pres.save("glow.pptx", slides.export.SaveFormat.PPTX) ``` -## **应用柔和边缘效果** -以下Python代码演示如何对形状应用柔和边缘效果: +## **应用柔化边缘效果** +以下 Python 代码演示如何对形状应用柔化边缘效果: ```python import aspose.slides as slides import aspose.pydrawing as draw @@ -101,4 +100,19 @@ with slides.Presentation() as pres: shape.effect_format.soft_edge_effect.radius = 15 pres.save("softEdges.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**我可以对同一形状应用多个效果吗?** + +是的,您可以在同一个形状上组合不同的效果,例如阴影、反射和辉光,以创建更具动感的外观。 + +**我可以对哪些形状应用效果?** + +您可以对各种形状应用效果,包括自动形状、图表、表格、图片、SmartArt 对象、OLE 对象等。 + +**我可以对组合形状应用效果吗?** + +是的,您可以对组合形状应用效果。效果将应用于整个组合。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md index 6afac8a2cb..a5b6750d0e 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/connector/_index.md @@ -1,373 +1,392 @@ --- -title: 使用 Python 管理演示文稿中的连接符 -linktitle: 连接符 +title: 在 Python 中管理演示文稿的连接线 +linktitle: 连接线 type: docs weight: 10 url: /zh/python-net/connector/ keywords: -- 连接符 -- 连接符类型 -- 连接点 - 连接线 -- 连接符角度 +- 连接线类型 +- 连接点 +- 连接线段 +- 连接角度 - 连接形状 - PowerPoint - 演示文稿 - Python - Aspose.Slides -description: "使 Python 应用能够在 PowerPoint 和 OpenDocument 幻灯片中绘制、连接并自动布线直线、折线和曲线连接符,从而实现对它们的完全控制。" +description: "让 Python 应用程序在 PowerPoint 和 OpenDocument 幻灯片中绘制、连接并自动路由线条——全面控制直线、折线和曲线连接线。" --- -PowerPoint 连接器是一种特殊的线,连接或链接两个形状,并在移动或重新定位时依然保持与形状的附着。 - -连接器通常连接到 *连接点*(绿色点),这些点在所有形状上默认存在。当光标靠近时,连接点会出现。 +## **介绍** -*调整点*(橙色点)仅存在于某些连接器上,用于修改连接器的位置和形状。 +PowerPoint 连接线是一种专用线条,用于链接两个形状,并在形状在幻灯片上移动或重新定位时保持附着。连接线附着在形状上的 **连接点**(绿色点)上。当指针靠近时会出现连接点。某些连接线提供的 **调整手柄**(黄色点)可让您修改连接线的位置和形状。 -## **连接器的类型** +## **连接线类型** -在 PowerPoint 中,您可以使用直线、肘部(带角度)和曲线连接器。 +在 PowerPoint 中,您可以使用三种类型的连接线:直线、折线(有角度)和曲线。 -Aspose.Slides 提供这些连接器: +Aspose.Slides 支持以下连接线类型: -| 连接器 | 图像 | 调整点数量 | -| ----------------------------------- | ------------------------------------------------------------ | --------------------- | -| `ShapeType.LINE` | ![shapetype-lineconnector](shapetype-lineconnector.png) | 0 | -| `ShapeType.STRAIGHT_CONNECTOR1` | ![shapetype-straightconnector1](shapetype-straightconnector1.png) | 0 | -| `ShapeType.BENT_CONNECTOR2` | ![shapetype-bent-connector2](shapetype-bent-connector2.png) | 0 | -| `ShapeType.BENT_CONNECTOR3` | ![shapetype-bentconnector3](shapetype-bentconnector3.png) | 1 | -| `ShapeType.BENT_CONNECTOR4` | ![shapetype-bentconnector4](shapetype-bentconnector4.png) | 2 | -| `ShapeType.BENT_CONNECTOR5` | ![shapetype-bentconnector5](shapetype-bentconnector5.png) | 3 | -| `ShapeType.CURVED_CONNECTOR2` | ![shapetype-curvedconnector2](shapetype-curvedconnector2.png) | 0 | -| `ShapeType.CURVED_CONNECTOR3` | ![shapetype-curvedconnector3](shapetype-curvedconnector3.png) | 1 | -| `ShapeType.CURVED_CONNECTOR4` | ![shapetype-curvedconnector4](shapetype-curvedconnector4.png) | 2 | -| `ShapeType.CURVED_CONNECTOR5` | ![shapetype.curvedconnector5](shapetype.curvedconnector5.png) | 3 | +| 连接线类型 | Image | 调整点数量 | +| ------------------------------- | --------------------------------------------------------- | --------------------------- | +| `ShapeType.LINE` | ![Line connector](shapetype-lineconnector.png) | 0 | +| `ShapeType.STRAIGHT_CONNECTOR1` | ![Straight connector 1](shapetype-straightconnector1.png) | 0 | +| `ShapeType.BENT_CONNECTOR2` | ![Bent connector 2](shapetype-bent-connector2.png) | 0 | +| `ShapeType.BENT_CONNECTOR3` | ![Bent connector 3](shapetype-bentconnector3.png) | 1 | +| `ShapeType.BENT_CONNECTOR4` | ![Bent connector 4](shapetype-bentconnector4.png) | 2 | +| `ShapeType.BENT_CONNECTOR5` | ![Bent connector 5](shapetype-bentconnector5.png) | 3 | +| `ShapeType.CURVED_CONNECTOR2` | ![Curved connector 2](shapetype-curvedconnector2.png) | 0 | +| `ShapeType.CURVED_CONNECTOR3` | ![Curved connector 3](shapetype-curvedconnector3.png) | 1 | +| `ShapeType.CURVED_CONNECTOR4` | ![Curved connector 4](shapetype-curvedconnector4.png) | 2 | +| `ShapeType.CURVED_CONNECTOR5` | ![Curved connector 5](shapetype.curvedconnector5.png) | 3 | -## **使用连接器连接形状** +## **使用连接线连接形状** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 通过其索引获取幻灯片的引用。 -1. 使用 `Shapes` 对象公开的 `add_auto_shape` 方法向幻灯片添加两个 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)。 -1. 通过定义连接器类型使用 `Shapes` 对象公开的 `add_auto_shape` 方法添加连接器。 -1. 使用连接器连接形状。 -1. 调用 `reroute` 方法应用最短连接路径。 -1. 保存演示文稿。 +本节演示如何在 Aspose.Slides 中使用连接线链接形状。您将在幻灯片上添加一条连接线,并将其起点和终点附着到目标形状。使用连接点可确保连接线在形状移动或调整大小时仍然“粘附”。 -以下 Python 代码展示如何在两个形状(一个椭圆和一个矩形)之间添加一个连接器(一个弯曲连接器): +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 根据索引获取幻灯片的引用。 +3. 使用 [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) 对象公开的 `add_auto_shape` 方法,向幻灯片添加两个 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) 对象。 +4. 使用 [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) 对象公开的 `add_connector` 方法添加连接线,并指定连接线类型。 +5. 使用该连接线连接形状。 +6. 调用 `reroute` 方法以应用最短的连接路径。 +7. 保存演示文稿。 +以下 Python 代码展示了如何在两个形状(椭圆和矩形)之间添加弯曲连接线: ```python import aspose.slides as slides -# 实例化表示 PPTX 文件的演示文稿类 -with slides.Presentation() as input: - # 访问特定幻灯片的形状集合 - shapes = input.slides[0].shapes +# 实例化 Presentation 类以创建 PPTX 文件。 +with slides.Presentation() as presentation: + + # 访问第一张幻灯片的形状集合。 + shapes = presentation.slides[0].shapes - # 添加一个椭圆自定义形状 - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # 添加一个椭圆 AutoShape。 + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # 添加一个矩形自定义形状 - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100) + # 添加一个矩形 AutoShape。 + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # 向幻灯片形状集合添加一个连接器形状 + # 向幻灯片添加一个连接线。 connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10) - # 使用连接器连接形状 + # 使用连接线将形状连接起来。 connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # 调用 reroute 设置形状之间的自动最短路径 + # 调用 reroute 以设置最短路径。 connector.reroute() - # 保存演示文稿 - input.save("使用连接器连接形状_out.pptx", slides.export.SaveFormat.PPTX) - + # 保存演示文稿。 + presentation.save("connected_shapes.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="注意" color="warning" %}} - -`connector.reroute` 方法重新路由连接器,强制其采用最短可能的路径连接形状。为了实现该目标,该方法可能会更改 `start_shape_connection_site_index` 和 `end_shape_connection_site_index` 点。 +{{% alert title="NOTE" color="warning" %}} +`connector.reroute` 方法会重新路由连接线,强制其在形状之间走最短路径。为此,该方法可能会更改 `start_shape_connection_site_index` 和 `end_shape_connection_site_index` 的值。 {{% /alert %}} ## **指定连接点** -如果您希望连接器在形状上使用特定点进行连接,您必须以这种方式指定首选连接点: - -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 通过其索引获取幻灯片的引用。 -1. 使用 `Shapes` 对象公开的 `add_auto_shape` 方法向幻灯片添加两个 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)。 -1. 通过定义连接器类型使用 `add_connector` 方法公开的 `Shapes` 对象添加连接器。 -1. 使用连接器连接形状。 -1. 设置形状上的首选连接点。 -1. 保存演示文稿。 +本节说明如何在 Aspose.Slides 中将连接线附着到形状的特定连接点。通过定位精确的连接点,您可以控制连接线的路由和布局,在演示文稿中生成清晰、可预期的图表。 -以下 Python 代码演示了一个指定首选连接点的操作: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 根据索引获取幻灯片的引用。 +3. 使用 [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) 对象公开的 `add_auto_shape` 方法,向幻灯片添加两个 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) 对象。 +4. 使用 [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) 对象的 `add_connector` 方法添加连接线,并指定其类型。 +5. 使用该连接线连接形状。 +6. 在形状上设置您偏好的连接点。 +7. 保存演示文稿。 +以下 Python 代码演示了如何指定偏好的连接点: ```python import aspose.slides as slides -# 实例化表示 PPTX 文件的演示文稿类 +# 实例化 Presentation 类以创建 PPTX 文件。 with slides.Presentation() as presentation: - # 访问特定幻灯片的形状集合 + + # 访问第一张幻灯片的形状集合。 shapes = presentation.slides[0].shapes - # 向幻灯片的形状集合添加一个连接器形状 - connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) + # 添加椭圆 AutoShape。 + ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 50, 100, 100) - # 添加一个椭圆自定义形状 - ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100) + # 添加矩形 AutoShape。 + rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 200, 100, 100) - # 添加一个矩形自定义形状 - rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 100, 100) + # 向幻灯片的形状集合添加连接线。 + connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10) - # 使用连接器连接形状 + # 使用连接线连接形状。 connector.start_shape_connected_to = ellipse connector.end_shape_connected_to = rectangle - # 设置椭圆形状上首选连接点索引 - wantedIndex = 6 + # 设置椭圆的首选连接站点索引。 + site_index = 6 - # 检查首选索引是否小于最大连接点索引计数 - if ellipse.connection_site_count > wantedIndex: - # 在椭圆自定义形状上设置首选连接点 - connector.start_shape_connection_site_index = wantedIndex - - # 保存演示文稿 - presentation.save("在所需连接点上连接形状_out.pptx", slides.export.SaveFormat.PPTX) + # 检查首选索引是否在可用站点计数范围内。 + if ellipse.connection_site_count > site_index: + # 为椭圆 AutoShape 分配首选连接站点。 + connector.start_shape_connection_site_index = site_index + # 保存演示文稿。 + presentation.save("connection_points.pptx", slides.export.SaveFormat.PPTX) ``` -## **调整连接器点** -您可以通过其调整点来调整现有连接器。只有具有调整点的连接器才能以这种方式进行更改。请参见 **[连接器的类型.](/slides/zh/python-net/connector/#types-of-connectors)** 下的表格。 +## **调整连接线点** -#### **简单案例** +您可以使用调整点来修改连接线。只有公开调整点的连接线才能以此方式编辑。有关哪些连接线支持调整的详细信息,请参阅 [Connector Types](/slides/zh/python-net/connector/#connector-types) 下的表格。 -考虑两个形状(A 和 B)之间的连接器穿过第三个形状(C)的情况: +### **简单案例** -![connector-obstruction](connector-obstruction.png) +考虑一种情况,两个形状(A 和 B)之间的连接线穿过第三个形状(C): -代码: +![Connector obstruction](connector-obstruction.png) +代码示例: ```python import aspose.slides as slides import aspose.pydrawing as draw -with slides.Presentation() as pres: - sld = pres.slides[0] - shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 150, 150, 75) + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 400, 100, 50) + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 70, 30) - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR5, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.black - connector.start_shape_connected_to = shapeFrom - connector.end_shape_connected_to = shapeTo + connector.start_shape_connected_to = shape_from + connector.end_shape_connected_to = shape_to connector.start_shape_connection_site_index = 2 ``` -为了避免或绕过第三个形状,我们可以通过将其垂直线向左移动来调整连接器: -![connector-obstruction-fixed](connector-obstruction-fixed.png) +为避免第三个形状,调整连接线,将其垂直段向左移动: +![Fixed connector obstruction](connector-obstruction-fixed.png) ```python - adj2 = connector.adjustments[1] - adj2.raw_value += 10000 + adjustment2 = connector.adjustments[1] + adjustment2.raw_value += 10000 ``` + ### **复杂案例** -要进行更复杂的调整,您必须考虑以下几点: +对于更高级的调整,请考虑以下内容: -* 连接器的可调整点与计算和确定其位置的公式强烈相关。因此,改变点的位置可能会改变连接器的形状。 -* 连接器的调整点在数组中以严格顺序定义。从连接器的起点到终点对调整点进行编号。 -* 调整点值反映连接器形状宽度/高度的百分比。 - * 该形状由连接器的起点和终点乘以 1000 进行界定。 - * 第一点、第二点和第三点分别定义宽度的百分比、高度的百分比和宽度的百分比(再次)。 -* 对于确定连接器的调整点坐标的计算,您必须考虑连接器的旋转和反射。**注意**,所有在 **[连接器的类型](/slides/zh/python-net/connector/#types-of-connectors)** 下显示的连接器的旋转角度为 0。 +- 连接线的可调点受决定其位置的公式控制。更改此点会改变连接线的整体形状。 +- 连接线的调整点存储在严格有序的数组中,编号从连接线的起点到终点。 +- 调整点值表示连接线形状宽度/高度的百分比。 + - 该形状由连接线的起点和终点限定,并按 1000 进行缩放。 + - 第一、第二、第三个调整点分别表示:宽度百分比、高度百分比以及再次的宽度百分比。 +- 在计算调整点坐标时,需要考虑连接线的旋转和翻转。**注意:** 对于在 [Connector Types](/slides/zh/python-net/connector/#connector-types) 中列出的所有连接线,旋转角度为 0。 #### **案例 1** -考虑两个文本框对象通过连接器连接在一起的情况: - -![connector-shape-complex](connector-shape-complex.png) +考虑一种情况,两个文本框对象通过连接线链接在一起: -代码: +![Linked shapes](connector-shape-complex.png) +代码示例: ```python import aspose.slides as slides import aspose.pydrawing as draw -# 实例化表示 PPTX 文件的演示文稿类 -with slides.Presentation() as pres: - # 获取演示文稿中的第一张幻灯片 - sld = pres.slides[0] - # 添加将通过连接器连接在一起的形状 - shapeFrom = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) - shapeFrom.text_frame.text = "从" - shapeTo = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) - shapeTo.text_frame.text = "到" - # 添加连接器 - connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) - # 指定连接器的方向 +# 实例化 Presentation 类以创建 PPTX 文件。 +with slides.Presentation() as presentation: + + # 获取第一张幻灯片。 + slide = presentation.slides[0] + + # 获取第一张幻灯片。 + shape_from = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 60, 25) + shape_from.text_frame.text = "From" + shape_to = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 60, 25) + shape_to.text_frame.text = "To" + + # 添加一个连接线。 + connector = slide.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) + # 设置连接线的方向。 connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE - # 指定连接器的颜色 + # 设置连接线的颜色。 connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.crimson - # 指定连接器线的厚度 + # 设置连接线的线宽。 connector.line_format.width = 3 - # 将形状连接在一起 - connector.start_shape_connected_to = shapeFrom + # 使用连接线链接形状。 + connector.start_shape_connected_to = shape_from connector.start_shape_connection_site_index = 3 - connector.end_shape_connected_to = shapeTo - connector.end_shape_connected_to = shapeTo + connector.end_shape_connected_to = shape_to connector.end_shape_connection_site_index = 2 - # 获取连接器的调整点 - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] + # 获取连接线的调整点。 + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] ``` -**调整** -我们可以通过将相应的宽度和高度百分比分别增加 20% 和 200% 来更改连接器的调整点值: +**Adjustment** +通过分别将宽度百分比增加 20% 和高度百分比增加 200%,来更改连接线的调整点值: ```python - # 更改调整点的值 - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + # 更改调整点的值。 + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` -结果: -![connector-adjusted-1](connector-adjusted-1.png) +结果: -为了定义一个模型,使我们能够确定连接器个别部分的坐标和形状,让我们创建一个形状,对应于连接器在 connector.adjustments[0] 点的水平部分: +![Connector adjustment 1](connector-adjusted-1.png) +为了定义一个模型,以便确定连接线段的坐标和形状,请创建一个对应于 `connector.adjustments[0]` 的垂直组件的形状: ```python - # 绘制连接器的垂直部分 - - x = connector.x + connector.width * adjValue_0.raw_value / 100000 + # 绘制连接线的垂直部分。 + x = connector.x + connector.width * adjustment_0.raw_value / 100000 y = connector.y - height = connector.height * adjValue_1.raw_value / 100000 - sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) + height = connector.height * adjustment_1.raw_value / 100000 + + slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, 0, height) ``` + 结果: -![connector-adjusted-2](connector-adjusted-2.png) +![Connector adjustment 2](connector-adjusted-2.png) #### **案例 2** -在 **案例 1** 中,我们使用基本原则演示了简单的连接器调整操作。在正常情况下,您需要考虑连接器的旋转以及其显示(由 connector.rotation、connector.frame.flip_h 和 connector.frame.flip_v 设置)。我们现在将演示这一过程。 - -首先,让我们向幻灯片添加一个新的文本框对象(**到 1**),用于连接,并创建一个新的(绿色)连接器,将其连接到我们已创建的对象。 +在 **案例 1** 中,我们演示了使用基本原理的简单连接线调整。在典型场景下,您必须考虑连接线的旋转及其显示设置(由 `connector.rotation`、`connector.frame.flip_h` 和 `connector.frame.flip_v` 控制)。以下是其工作过程。 +首先,向幻灯片添加一个新的文本框对象(**To 1**,用于连接),并创建一条新的绿色连接线将其链接到已有对象。 ```python - # 创建一个新的绑定对象 - shapeTo_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) - shapeTo_1.text_frame.text = "到 1" - # 创建一个新的连接器 + # 创建一个新的目标对象。 + shape_to_1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 400, 60, 25) + shape_to_1.text_frame.text = "To 1" + + # 创建一个新的连接线。 connector = sld.shapes.add_connector(slides.ShapeType.BENT_CONNECTOR4, 20, 20, 400, 300) connector.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE connector.line_format.fill_format.fill_type = slides.FillType.SOLID connector.line_format.fill_format.solid_fill_color.color = draw.Color.medium_aquamarine connector.line_format.width = 3 - # 使用新创建的连接器连接对象 + + # 使用新创建的连接线连接对象。 connector.start_shape_connected_to = shapeFrom connector.start_shape_connection_site_index = 2 - connector.end_shape_connected_to = shapeTo_1 + connector.end_shape_connected_to = shape_to_1 connector.end_shape_connection_site_index = 3 - # 获取连接器的调整点 - adjValue_0 = connector.adjustments[0] - adjValue_1 = connector.adjustments[1] - # 更改调整点的值 - adjValue_0.raw_value += 20000 - adjValue_1.raw_value += 200000 + + # 获取连接线的调整点。 + adjustment_0 = connector.adjustments[0] + adjustment_1 = connector.adjustments[1] + + # 更改调整点的值。 + adjustment_0.raw_value += 20000 + adjustment_1.raw_value += 200000 ``` + 结果: -![connector-adjusted-3](connector-adjusted-3.png) +![Connector adjustment 3](connector-adjusted-3.png) -其次,让我们创建一个形状,该形状对应于通过新连接器的调整点 connector.adjustments[0] 的水平部分。我们将使用来自连接器数据的连接器的旋转、connector.frame.flip_h 和 connector.frame.flip_v 的值,并应用流行的坐标转换公式,用于围绕给定点 x0 的旋转: +其次,创建一个形状对应于通过新连接线的调整点 `connector.adjustments[0]` 的 **水平** 段。使用 `connector.rotation`、`connector.frame.flip_h` 和 `connector.frame.flip_v` 的值,并应用围绕给定点 `x0` 进行旋转的标准坐标转换公式: X = (x — x0) * cos(alpha) — (y — y0) * sin(alpha) + x0; Y = (x — x0) * sin(alpha) + (y — y0) * cos(alpha) + y0; -在我们的例子中,物体的旋转角度为 90 度,连接器垂直显示,因此这是对应的代码: - +在我们的例子中,对象的旋转角度为 90 度,且连接线竖直显示,因此对应的代码如下: ```python - # 保存连接器坐标 + # 保存连接线坐标。 x = connector.x y = connector.y - # 在连接器出现的情况下校正连接器坐标 + + # 如果连接线被翻转,则校正坐标。 if connector.frame.flip_h == 1: x += connector.width if connector.frame.flip_v == 1: y += connector.height - # 将调整点值作为坐标使用 + # 使用调整点的值作为坐标。 x += connector.width * adjValue_0.raw_value / 100000 - # 由于 Sin(90) = 1 和 Cos(90) = 0,因此进行坐标转换 + # 转换坐标,因为 sin(90°)=1 且 cos(90°)=0。 xx = connector.frame.center_x - y + connector.frame.center_y yy = x - connector.frame.center_x + connector.frame.center_y - # 使用第二个调整点值确定水平部分的宽度 + # 使用第二个调整点的值确定水平段的宽度。 width = connector.height * adjValue_1.raw_value / 100000 shape = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, xx, yy, width, 0) shape.line_format.fill_format.fill_type = slides.FillType.SOLID shape.line_format.fill_format.solid_fill_color.color = draw.Color.red ``` + 结果: -![connector-adjusted-4](connector-adjusted-4.png) +![Connector adjustment 4](connector-adjusted-4.png) -我们演示了涉及简单调整和复杂调整点(具有旋转角度的调整点)的计算。利用获得的知识,您可以开发自己的模型(或编写代码)以获取 `GraphicsPath` 对象,甚至根据特定幻灯片坐标设置连接器的调整点值。 +我们演示了涉及简单调整和更复杂的(考虑旋转的)调整点的计算。利用这些知识,您可以自行开发模型或编写代码,获取 `GraphicsPath` 对象,甚至根据具体幻灯片坐标设置连接线的调整点值。 -## **查找连接器线的角度** +## **查找连接线角度** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 通过其索引获取幻灯片的引用。 -1. 访问连接器线形状。 -1. 使用线宽、高度、形状框高度和形状框宽度来计算角度。 +使用下面的示例可确定幻灯片中连接线的角度。您将学习如何读取连接线的端点并计算其方向,以便精确对齐箭头、标签和其他形状。 -以下 Python 代码演示了一个计算连接器线形状角度的操作: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +2. 根据索引获取幻灯片的引用。 +3. 访问连接线形状。 +4. 使用该线的宽度和高度,以及形状框的宽度和高度来计算角度。 +以下 Python 代码演示了如何计算连接线形状的角度: ```python import aspose.slides as slides import math -def get_direction(w, h, flipH, flipV): - endLineX = w * (-1 if flipH else 1) - endLineY = h * (-1 if flipV else 1) - endYAxisX = 0 - endYAxisY = h - angle = math.atan2(endYAxisY, endYAxisX) - math.atan2(endLineY, endLineX) +def get_direction(w, h, flip_h, flip_v): + end_line_x = w * (-1 if flip_h else 1) + end_line_y = h * (-1 if flip_v else 1) + end_y_axis_x = 0 + end_y_axis_y = h + angle = math.atan2(end_y_axis_y, end_y_axis_x) - math.atan2(end_line_y, end_line_x) if (angle < 0): angle += 2 * math.pi return angle * 180.0 / math.pi -with slides.Presentation(path + "ConnectorLineAngle.pptx") as pres: - slide = pres.slides[0] - for i in range(len(slide.shapes)): - dir = 0.0 - shape = slide.shapes[i] - if (type(shape) is slides.AutoShape): - if shape.shape_type == slides.ShapeType.LINE: - dir = get_direction(shape.width, shape.Height, shape.frame.flip_h, shape.frame.flip_v) +with slides.Presentation("connector_line_angle.pptx") as presentation: + slide = presentation.slides[0] + for shape_index in range(len(slide.shapes)): + direction = 0.0 + shape = slide.shapes[shape_index] + if type(shape) is slides.AutoShape and shape.shape_type == slides.ShapeType.LINE: + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) elif type(shape) is slides.Connector: - dir = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + direction = get_direction(shape.width, shape.height, shape.frame.flip_h, shape.frame.flip_v) + print(direction) +``` + + +## **常见问题** + +**如何判断连接线是否可以“粘附”到特定形状?** + +检查该形状是否公开了 [connection sites](https://reference.aspose.com/slides/python-net/aspose.slides/shape/connection_site_count/)。如果没有或计数为零,则无法粘附;此时请使用自由端点并手动定位。建议在附着前检查站点计数。 + +**如果删除已连接的形状,连接线会怎样?** + +其两端将被分离;连接线仍然保留在幻灯片上,作为普通的自由起止线。您可以删除它,或重新分配连接,并在需要时使用 [reroute](https://reference.aspose.com/slides/python-net/aspose.slides/connector/reroute/)。 - print(dir) +**将幻灯片复制到另一份演示文稿时,连接线的绑定会被保留吗?** -``` \ No newline at end of file +通常会保留,前提是目标形状也一并复制。如果幻灯片插入到不包含已连接形状的其他文件中,端点将变为自由状态,需重新附着。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md index f9d3c9ed2c..baaad3ed9f 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/custom-shapes/_index.md @@ -1,5 +1,5 @@ --- -title: 在演示文稿中使用 Python 自定义形状 +title: 使用 Python 在演示文稿中自定义形状 linktitle: 自定义形状 type: docs weight: 20 @@ -14,166 +14,195 @@ keywords: - 路径点 - 编辑点 - 添加点 -- 删除点 +- 移除点 - 编辑操作 -- 圆角 +- 圆滑角 - PowerPoint - OpenDocument -- 演示文稿 +- presentation - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中创建和自定义形状:几何路径、圆角、复合形状。" +description: "使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中创建并自定义形状:几何路径、圆滑角、复合形状。" --- -# 使用编辑点更改形状 +## **概述** -考虑一个正方形。在PowerPoint中,通过**编辑点**,您可以 +考虑一个正方形。在 PowerPoint 中使用 **编辑点**,您可以: -* 将正方形的角向内或向外移动 -* 指定角落或点的曲率 -* 向正方形添加新点 -* 操作正方形上的点等。 +* 将正方形的角向内或向外移动, +* 调整角或点的曲率, +* 向正方形添加新点, +* 操作其点。 -本质上,您可以对任何形状执行上述任务。使用编辑点,您可以更改形状或从现有形状创建新形状。 +您可以将这些操作应用于任意形状。使用 **编辑点**,您可以修改形状或根据现有形状创建新形状。 -## 形状编辑提示 +## **形状编辑技巧** -![overview_image](custom_shape_0.png) +![“编辑点”命令](custom_shape_0.png) -在您开始通过编辑点编辑PowerPoint形状之前,您可能希望考虑以下关于形状的要点: +在使用 **编辑点** 开始编辑 PowerPoint 形状之前,请注意以下关于形状的说明: -* 形状(或其路径)可以是闭合的或开放的。 -* 当一个形状是闭合的时,它没有起点或终点。当一个形状是开放的时,它有一个开始和结束。 -* 所有形状至少由 2 个锚点通过直线连接在一起。 -* 一条线可以是直线或曲线。锚点决定了线的性质。 -* 锚点可以是角点、直点或平滑点: - * 角点是两个直线在一个角度交汇的点。 - * 平滑点是两个手柄以直线存在,并且线段以平滑曲线连接的点。在这种情况下,所有手柄与锚点之间的距离相等。 - * 直点是两个手柄以直线存在,并且线段以平滑曲线连接的点。在这种情况下,手柄与锚点之间的距离不必相等。 -* 通过移动或编辑锚点(这会改变线的角度),您可以改变形状的外观。 +* 形状(或其路径)可以是 **闭合** 或 **开放** 的。 +* 闭合形状没有起始点或结束点;开放形状有起始点和结束点。 +* 每个形状至少有两个通过线段连接的锚点。 +* 线段可以是直的或曲的;锚点决定线段的性质。 +* 锚点可以是 **角点**、**平滑点** 或 **直线点**: + * **角点** 是两条直线段在一个角处相交的点。 + * **平滑点** 有两个共线的手柄,相邻的线段形成平滑曲线。在此情况下,两个手柄与锚点的距离相等。 + * **直线点** 也有两个共线的手柄,相邻的线段形成平滑曲线,但手柄到锚点的距离可以不同。 +* 通过移动或编辑锚点(从而改变线段角度),可以改变形状的外观。 -要通过编辑点编辑PowerPoint形状,**Aspose.Slides**提供了[**GeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/)类和[**IGeometryPath**](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/)接口。 +要编辑 PowerPoint 形状,Aspose.Slides 提供了 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 类。 -* 一个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 实例代表 [IGeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) 对象的几何路径 -* 要从 `IGeometryShape` 实例检索 `GeometryPath`,您可以使用 [IGeometryShape.GetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) 方法。 -* 要为形状设置 `GeometryPath`,您可以使用这些方法:[IGeometryShape.SetGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) 用于 *固体形状* 和 [IGeometryShape.SetGeometryPaths](https://reference.aspose.com/slides/python-net/aspose.slides/igeometryshape/) 用于 *复合形状*。 -* 为了添加线段,您可以使用 [IGeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) 下的方法。 -* 使用 [IGeometryPath.Stroke](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) 和 [IGeometryPath.FillMode](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/) 属性,您可以设置几何路径的外观。 -* 使用 [IGeometryPath.PathData](https://reference.aspose.com/slides/python-net/aspose.slides/igeometrypath/properties/pathdata) 属性,您可以将 `GeometryShape` 的几何路径作为路径段数组检索。 -* 要访问额外的形状几何自定义选项,您可以将 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 转换为 [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0)。 -* 使用 `GeometryPathToGraphicsPath` 和 `GraphicsPathToGeometryPath` 方法(来自 [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/) 类)将 `GeometryPath` 与 `GraphicsPath` 相互转换。 +* 一个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 实例表示 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 对象的几何路径。 +* 要从 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 实例中获取 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/),请使用 [GeometryShape.get_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/get_geometry_paths/) 方法。 +* 要为形状设置 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/),对 *实心形状* 使用 [GeometryShape.set_geometry_path](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_path/),对 *复合形状* 使用 [GeometryShape.set_geometry_paths](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/set_geometry_paths/)。 +* 要添加线段,请使用 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 上的方法。 +* 使用 [GeometryPath.stroke](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/stroke/) 和 [GeometryPath.fill_mode](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/fill_mode/) 属性控制几何路径的外观。 +* 使用 [GeometryPath.path_data](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/path_data/) 属性可将形状的几何路径作为路径段数组检索。 ## **简单编辑操作** -此Python代码演示了如何 - -**在路径末尾添加一条线:** +以下方法用于简单编辑操作。 +**在路径末尾添加直线**: ```py line_to(point) line_to(x, y) ``` -**在路径指定位置添加一条线:** + +**在路径的指定位置添加直线**: ```py line_to(point, index) line_to(x, y, index) ``` -**在路径末尾添加一条立方贝塞尔曲线:** + +**在路径末尾添加三次贝塞尔曲线**: ```py cubic_bezier_to(point1, point2, point3) cubic_bezier_to(x1, y1, x2, y2, x3, y3) ``` -**在路径指定位置添加一条立方贝塞尔曲线:** + +**在路径的指定位置添加三次贝塞尔曲线**: ```py cubic_bezier_to(point1, point2, point3, index) cubic_bezier_to(x1, y1, x2, y2, x3, y3, index) ``` -**在路径末尾添加一条二次贝塞尔曲线:** + + +**在路径末尾添加二次贝塞尔曲线**: ```py quadratic_bezier_to(point1, point2) quadratic_bezier_to(x1, y1, x2, y2) ``` -**在路径指定位置添加一条二次贝塞尔曲线:** + +**在路径的指定位置添加二次贝塞尔曲线**: ```py quadratic_bezier_to(point1, point2, index) quadratic_bezier_to(x1, y1, x2, y2, index) ``` -**将给定弧追加到路径:** + + +**向路径追加弧线**: ```py arc_to(width, heigth, startAngle, sweepAngle) ``` -**关闭当前路径的图形:** + + +**关闭路径中的当前图形**: ```py close_figure() ``` -**设置下一个点的位置:** + + +**设置下一个点的位置**: ```py move_to(point) move_to(x, y) ``` -**删除给定索引处的路径段:** + +**删除给定索引处的路径段**: ```py remove_at(index) ``` -## 向形状添加自定义点 -1. 创建 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例,并设置 [ShapeType.Rectangle](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) -2. 从形状获取 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 类的实例。 -3. 在路径的两个顶部点之间添加一个新点。 -4. 在路径的两个底部点之间添加一个新点。 -6. 将路径应用于形状。 -此Python代码演示了如何向形状添加自定义点: +## **向形状添加自定义点** + +在本节中,您将学习通过添加自己的点序列来定义自由形状。通过指定有序点和线段类型(直线或曲线),并可选地闭合路径,您可以在幻灯片上直接绘制精确的自定义图形——多边形、图标、批注或徽标。 + +1. 创建一个 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例并设置其 [ShapeType.RECTANGLE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/)。 +2. 从该形状获取一个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 实例。 +3. 在路径的两个顶部点之间插入一个新点。 +4. 在路径的两个底部点之间插入一个新点。 +5. 将更新后的路径应用于形状。 + +以下 Python 代码演示如何向形状添加自定义点: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath = shape.get_geometry_paths()[0] +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath.line_to(100, 50, 1) - geometryPath.line_to(100, 50, 4) - shape.set_geometry_path(geometryPath) + geometry_path = shape.get_geometry_paths()[0] + geometry_path.line_to(100, 50, 1) + geometry_path.line_to(100, 50, 4) + + shape.set_geometry_path(geometry_path) + + presentation.save("custom_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example1_image](custom_shape_1.png) -## 从形状移除点 +![自定义点](custom_shape_1.png) + +## **从形状中移除点** -1. 创建 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例,并设置 [ShapeType.Heart](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) 类型。 -2. 从形状获取 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 类的实例。 -3. 删除路径的线段。 -4. 将路径应用于形状。 +有时自定义形状包含不必要的点,这会使几何结构变得复杂或影响渲染效果。本节展示如何从形状的路径中移除特定点,以简化轮廓并实现更清晰、更精确的结果。 -此Python代码演示了如何从形状中移除点: +1. 创建一个 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例并设置其 [ShapeType.HEART](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) 类型。 +2. 从该形状获取一个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 实例。 +3. 从路径中移除一个线段。 +4. 将更新后的路径应用于形状。 +以下 Python 代码演示如何从形状中移除点: ```py import aspose.slides as slides -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) +with slides.Presentation() as presentation: + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape(slides.ShapeType.HEART, 100, 100, 300, 300) + + path = shape.get_geometry_paths()[0] + path.remove_at(2) - path = shape.get_geometry_paths()[0] - path.remove_at(2) - shape.set_geometry_path(path) + shape.set_geometry_path(path) + + presentation.save("removed_points.pptx", slides.export.SaveFormat.PPTX) ``` -![example2_image](custom_shape_2.png) -## 创建自定义形状 -1. 计算形状的点。 -2. 创建 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 类的实例。 -3. 用点填充路径。 -4. 创建 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例。 -5. 将路径应用于形状。 +![已移除的点](custom_shape_2.png) -此Python代码演示了如何创建自定义形状: +## **创建自定义形状** +通过定义一个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 并使用直线、弧线和贝塞尔曲线进行组合,创建专属矢量形状。本节展示如何从零开始构建自定义几何体并将生成的形状添加到幻灯片中。 + +1. 计算形状的各个点。 +2. 创建一个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 类的实例。 +3. 用这些点填充路径。 +4. 创建一个 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例。 +5. 将路径应用于形状。 + +以下 Python 代码演示如何创建自定义形状: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -196,128 +225,149 @@ for angle in range(-90, 270, step): y = r * math.sin(radians) points.append(draw.PointF(x + R, y + R)) -starPath = slides.GeometryPath() -starPath.move_to(points[0]) +star_path = slides.GeometryPath() +star_path.move_to(points[0]) for i in range(len(points)): - starPath.line_to(points[i]) + star_path.line_to(points[i]) + +star_path.close_figure() -starPath.close_figure() +with slides.Presentation() as presentation: + slide = presentation.slides[0] -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) - shape.set_geometry_path(starPath) + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, R * 2, R * 2) + shape.set_geometry_path(star_path) + + presentation.save("custom_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example3_image](custom_shape_3.png) -## 创建复合自定义形状 +![自定义形状](custom_shape_3.png) + +## **创建复合自定义形状** + +创建复合自定义形状可将多个几何路径合并为幻灯片上的单个可重用形状。定义并合并这些路径,以构建超出标准形状集合的复杂视觉效果。 -1. 创建 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例。 +1. 创建一个 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例。 2. 创建第一个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 类的实例。 3. 创建第二个 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 类的实例。 -4. 将路径应用于形状。 - -此Python代码演示了如何创建复合自定义形状: +4. 将两个路径都应用于该形状。 +以下 Python 代码演示如何创建复合自定义形状: ```py import aspose.slides as slides -import aspose.pydrawing as draw -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) +with slides.Presentation() as presentation: + slide = presentation.slides[0] - geometryPath0 = slides.GeometryPath() - geometryPath0.move_to(0, 0) - geometryPath0.line_to(shape.width, 0) - geometryPath0.line_to(shape.width, shape.height/3) - geometryPath0.line_to(0, shape.height / 3) - geometryPath0.close_figure() + shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100) - geometryPath1 = slides.GeometryPath() - geometryPath1.move_to(0, shape.height/3 * 2) - geometryPath1.line_to(shape.width, shape.height / 3 * 2) - geometryPath1.line_to(shape.width, shape.height) - geometryPath1.line_to(0, shape.height) - geometryPath1.close_figure() + geometry_path_0 = slides.GeometryPath() + geometry_path_0.move_to(0, 0) + geometry_path_0.line_to(shape.width, 0) + geometry_path_0.line_to(shape.width, shape.height/3) + geometry_path_0.line_to(0, shape.height / 3) + geometry_path_0.close_figure() - shape.set_geometry_paths([ geometryPath0, geometryPath1]) + geometry_path_1 = slides.GeometryPath() + geometry_path_1.move_to(0, shape.height/3 * 2) + geometry_path_1.line_to(shape.width, shape.height / 3 * 2) + geometry_path_1.line_to(shape.width, shape.height) + geometry_path_1.line_to(0, shape.height) + geometry_path_1.close_figure() + + shape.set_geometry_paths([ geometry_path_0, geometry_path_1]) + + presentation.save("composite_shape.pptx", slides.export.SaveFormat.PPTX) ``` -![example4_image](custom_shape_4.png) -## **创建具有圆角的自定义形状** -此Python代码演示了如何创建具有圆角(向内)的自定义形状: +![复合形状](custom_shape_4.png) + +## **创建带圆滑角的自定义形状** +本节展示如何使用几何路径绘制带圆滑角的自定义形状。您将结合直线段和圆弧形成轮廓,并将完成的形状添加到幻灯片中。 + +以下 Python 代码演示如何创建带圆滑角的自定义形状: ```py import aspose.slides as slides import aspose.pydrawing as draw -shapeX = 20 -shapeY = 20 -shapeWidth = 300 -shapeHeight = 200 +shape_x = 20 +shape_y = 20 +shape_width = 300 +shape_height = 200 -leftTopSize = 50 -rightTopSize = 20 -rightBottomSize = 40 -leftBottomSize = 10 +left_top_size = 50 +right_top_size = 20 +right_bottom_size = 40 +left_bottom_size = 10 with slides.Presentation() as presentation: - childShape = presentation.slides[0].shapes.add_auto_shape( - slides.ShapeType.CUSTOM, shapeX, shapeY, shapeWidth, shapeHeight) + slide = presentation.slides[0] + + shape = slide.shapes.add_auto_shape( + slides.ShapeType.CUSTOM, shape_x, shape_y, shape_width, shape_height) + + point1 = draw.PointF(left_top_size, 0) + point2 = draw.PointF(shape_width - right_top_size, 0) + point3 = draw.PointF(shape_width, shape_height - right_bottom_size) + point4 = draw.PointF(left_bottom_size, shape_height) + point5 = draw.PointF(0, left_top_size) + + geometry_path = slides.GeometryPath() + geometry_path.move_to(point1) + geometry_path.line_to(point2) + geometry_path.arc_to(right_top_size, right_top_size, 180, -90) + geometry_path.line_to(point3) + geometry_path.arc_to(right_bottom_size, right_bottom_size, -90, -90) + geometry_path.line_to(point4) + geometry_path.arc_to(left_bottom_size, left_bottom_size, 0, -90) + geometry_path.line_to(point5) + geometry_path.arc_to(left_top_size, left_top_size, 90, -90) + geometry_path.close_figure() + + shape.set_geometry_path(geometry_path) + + presentation.save("curved_corners.pptx", slides.export.SaveFormat.PPTX) +``` - geometryPath = slides.GeometryPath() - point1 = draw.PointF(leftTopSize, 0) - point2 = draw.PointF(shapeWidth - rightTopSize, 0) - point3 = draw.PointF(shapeWidth, shapeHeight - rightBottomSize) - point4 = draw.PointF(leftBottomSize, shapeHeight) - point5 = draw.PointF(0, leftTopSize) +![圆滑角](custom_shape_6.png) - geometryPath.move_to(point1) - geometryPath.line_to(point2) - geometryPath.arc_to(rightTopSize, rightTopSize, 180, -90) - geometryPath.line_to(point3) - geometryPath.arc_to(rightBottomSize, rightBottomSize, -90, -90) - geometryPath.line_to(point4) - geometryPath.arc_to(leftBottomSize, leftBottomSize, 0, -90) - geometryPath.line_to(point5) - geometryPath.arc_to(leftTopSize, leftTopSize, 90, -90) +## **确定形状几何是否闭合** - geometryPath.close_figure() +闭合形状指其所有边相连,形成没有间隙的单一边界。此类形状可以是简单的几何形态,也可以是复杂的自定义轮廓。以下代码示例展示如何检查形状几何是否闭合: +```py +def is_geometry_closed(geometry_shape): + is_closed = None - childShape.set_geometry_path(geometryPath) + for geometry_path in geometry_shape.get_geometry_paths(): + data_length = len(geometry_path.path_data) + if data_length == 0: + continue - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` + last_segment = geometry_path.path_data[data_length - 1] + is_closed = last_segment.path_command == PathCommandType.CLOSE -## 几何路径到图形路径的转换 (System.Drawing.Drawing2D) + if not is_closed: + return False -1. 创建 [GeometryShape](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/) 类的实例。 -2. 创建 [System.Drawing.Drawing2D](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d?view=dotnet-plat-ext-5.0) 命名空间的 [GrpahicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) 类的实例。 -3. 使用 [ShapeUtil](https://reference.aspose.com/slides/python-net/aspose.slides.util/shapeutil/) 将 [GraphicsPath](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.graphicspath?view=dotnet-plat-ext-5.0) 实例转换为 [GeometryPath](https://reference.aspose.com/slides/python-net/aspose.slides/geometrypath/) 实例。 -4. 将路径应用于形状。 + return is_closed +``` -此Python代码展示了上述步骤的实现—**GeometryPath** 到 **GraphicsPath** 的转换过程: -```py -import aspose.slides as slides -import aspose.pydrawing as draw +## **常见问题** -with slides.Presentation() as pres: - shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 300, 100) +**替换几何后填充和轮廓会怎样?** - originalPath = shape.get_geometry_paths()[0] - originalPath.fill_mode = slides.PathFillModeType.NONE +样式仍然保留在形状上;仅轮廓会更改。填充和轮廓会自动应用到新的几何上。 - gPath = draw.drawing2d.GraphicsPath() +**如何让自定义形状连同其几何一起正确旋转?** - gPath.add_string("Text in shape", draw.FontFamily("Arial"), 1, 40, draw.PointF(10, 10), draw.StringFormat.generic_default) +使用形状的 [rotation](https://reference.aspose.com/slides/python-net/aspose.slides/geometryshape/rotation/) 属性;几何会随形状一起旋转,因为它绑定到形状自身的坐标系。 - textPath = slides.util.ShapeUtil.graphics_path_to_geometry_path(gPath) - textPath.fill_mode = slides.PathFillModeType.NORMAL +**我可以将自定义形状转换为图像以“锁定”结果吗?** - shape.set_geometry_paths([originalPath, textPath]) -``` -![example5_image](custom_shape_5.png) \ No newline at end of file +可以。将所需的 [slide](/slides/zh/python-net/convert-powerpoint-to-png/) 区域或 [shape](/slides/zh/python-net/create-shape-thumbnails/) 本身导出为光栅格式,这样可以简化后续对复杂几何的处理。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md index 8c42213a47..a83cc6290e 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/ellipse/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中向演示文稿添加椭圆 +title: 添加椭圆到 Python 演示文稿 linktitle: 椭圆 type: docs weight: 30 @@ -16,72 +16,83 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "学习如何使用 Aspose.Slides for Python 在 PPT、PPTX 与 ODP 演示文稿中创建、格式化并操作椭圆形状——附带代码示例。" +description: "学习如何在 Aspose.Slides for Python via .NET 中创建、格式化和操作椭圆形状,适用于 PPT、PPTX 和 ODP 演示文稿——包含代码示例。" --- - ## **创建椭圆** -在本主题中,我们将介绍开发人员如何使用Aspose.Slides for Python via .NET将椭圆形状添加到他们的幻灯片中。Aspose.Slides for Python via .NET提供了一组更简单的API,只需几行代码即可绘制不同种类的形状。要将简单的椭圆添加到演示文稿的选定幻灯片中,请遵循以下步骤: - -1. 创建一个[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类的实例 -1. 通过使用其索引获取幻灯片的引用 -1. 使用IShapes对象公开的AddAutoShape方法添加椭圆类型的AutoShape -1. 将修改后的演示文稿写入PPTX文件 +在本主题中,我们将向开发人员介绍如何使用 Aspose.Slides for Python via .NET 在幻灯片中添加椭圆形状。Aspose.Slides for Python via .NET 提供了一套更简便的 API,只需几行代码即可绘制各种形状。要向演示文稿的选定幻灯片添加一个简单的椭圆,请按照以下步骤操作: -在下面的示例中,我们已将椭圆添加到第一张幻灯片。 +1. 创建一个 [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例 +1. 使用索引获取幻灯片的引用 +1. 通过 IShapes 对象的 AddAutoShape 方法添加 Ellipse 类型的 AutoShape +1. 将修改后的演示文稿写入 PPTX 文件 +在下面的示例中,我们在第一张幻灯片上添加了一个椭圆。 ```py import aspose.slides as slides -# 实例化表示PPTX的Presentation类 +# 实例化表示 PPTX 的 Presentation 类 with slides.Presentation() as pres: # 获取第一张幻灯片 sld = pres.slides[0] - # 添加椭圆类型的自定义图形 + # 添加椭圆类型的自动形状 sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # 将PPTX文件写入磁盘 + # 将 PPTX 文件写入磁盘 pres.save("EllipseShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` +## **创建格式化椭圆** +要在幻灯片上添加格式更好的椭圆,请按照以下步骤操作: -## **创建格式化的椭圆** -要向幻灯片添加更好格式化的椭圆,请遵循以下步骤: - -1. 创建一个[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类的实例。 -1. 通过使用其索引获取幻灯片的引用。 -1. 使用IShapes对象公开的AddAutoShape方法添加椭圆类型的AutoShape。 -1. 将椭圆的填充类型设置为实心。 -1. 使用与IShape对象关联的FillFormat对象公开的SolidFillColor.Color属性设置椭圆的颜色。 -1. 设置椭圆线条的颜色。 -1. 设置椭圆线条的宽度。 -1. 将修改后的演示文稿写入PPTX文件。 - -在下面的示例中,我们已将格式化的椭圆添加到演示文稿的第一张幻灯片。 +1. 创建一个 [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 使用索引获取幻灯片的引用。 +1. 通过 IShapes 对象的 AddAutoShape 方法添加 Ellipse 类型的 AutoShape。 +1. 将椭圆的填充类型设置为 Solid。 +1. 使用 FillFormat 对象关联的 IShape 对象的 SolidFillColor.Color 属性设置椭圆的颜色。 +1. 设置椭圆线条的颜色。 +1. 设置椭圆线条的宽度。 +1. 将修改后的演示文稿写入 PPTX 文件。 +在下面的示例中,我们在演示文稿的第一张幻灯片上添加了一个格式化的椭圆。 ```py import aspose.slides as slides import aspose.pydrawing as draw -# 实例化表示PPTX的Presentation类 +# 实例化表示 PPTX 的 Presentation 类 with slides.Presentation() as pres: # 获取第一张幻灯片 sld = pres.slides[0] - # 添加椭圆类型的自定义图形 + # 添加椭圆类型的自动形状 shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50) - # 对椭圆形状应用一些格式设置 + # 为椭圆形状应用一些格式 shp.fill_format.fill_type = slides.FillType.SOLID shp.fill_format.solid_fill_color.color = draw.Color.chocolate - # 对椭圆的线条应用一些格式设置 + # 为椭圆的线条应用一些格式 shp.line_format.fill_format.fill_type = slides.FillType.SOLID shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # 将PPTX文件写入磁盘 + # 将 PPTX 文件写入磁盘 pres.save("EllipseShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**如何根据幻灯片的单位设置椭圆的精确位置和大小?** + +坐标和尺寸通常以 **点** 为单位指定。为获得可预测的结果,请基于幻灯片大小进行计算,并在赋值前将所需的毫米或英寸转换为点。 + +**如何将椭圆置于其他对象之上或之下(控制堆叠顺序)?** + +通过将对象置前或置后调整绘制顺序。这样可以让椭圆覆盖其他对象或显示其下方的对象。 + +**如何为椭圆添加出现或强调的动画效果?** + +[Apply](/slides/zh/python-net/shape-animation/) 入口、强调或退出效果到该形状,并配置触发器和时间,以安排动画的播放方式和时机。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md index befe7b7d41..e67f14e43a 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/line/_index.md @@ -1,5 +1,5 @@ --- -title: 使用 Python 创建演示文稿中的线条形状 +title: 使用 Python 在演示文稿中创建线形状 linktitle: 线条 type: docs weight: 50 @@ -18,76 +18,95 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中操作线条格式。探索属性、方法和示例。" +description: "了解如何使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中操作线条格式。发现属性、方法和示例。" --- -Aspose.Slides for Python via .NET 支持向幻灯片添加不同种类的形状。在本主题中,我们将通过向幻灯片添加线条开始处理形状。使用 Aspose.Slides for Python via .NET,开发者不仅可以创建简单的线条,还可以在幻灯片上绘制一些花哨的线条。 +## **概述** + +Aspose.Slides for Python via .NET 支持向幻灯片添加各种形状。在本主题中,我们将通过向幻灯片添加直线开始使用形状。使用 Aspose.Slides,开发者不仅可以创建简单的直线,还可以在幻灯片上绘制一些更炫的线条。 + ## **创建普通线条** -要向演示文稿的选定幻灯片添加简单的普通线条,请按照以下步骤操作: -- 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -- 通过使用索引获取幻灯片的引用。 -- 使用 Shapes 对象提供的 [add_auto_shape](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/) 方法添加一种线条类型的自动形状。 -- 将修改后的演示文稿写入 PPTX 文件。 +使用 Aspose.Slides 向幻灯片添加普通线条,作为简单的分隔线或连接线。要向演示文稿中选定的幻灯片添加普通线条,请按照以下步骤操作: -在下面给出的示例中,我们在演示文稿的第一张幻灯片上添加了一条线。 +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 按索引获取幻灯片的引用。 +1. 使用 [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) 对象的 `add_auto_shape` 方法,添加类型为 `LINE` 的 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)。 +1. 将演示文稿保存为 PPTX 文件。 +下面的示例在演示文稿的第一页上添加了一条线。 ```py import aspose.slides as slides -# 实例化表示 PPTX 文件的 PresentationEx 类 -with slides.Presentation() as pres: - # 获取第一张幻灯片 - sld = pres.slides[0] +# 实例化 Presentation 类。 +with slides.Presentation() as presentation: + + # 获取第一张幻灯片。 + slide = presentation.slides[0] - # 添加一种类型为线的自动形状 - sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + # 添加类型为 LINE 的自动形状。 + slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) - # 将 PPTX 写入磁盘 - pres.save("LineShape1_out.pptx", slides.export.SaveFormat.PPTX) + # 将演示文稿保存为 PPTX 文件。 + presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX) ``` -## **创建箭头形状线条** -Aspose.Slides for Python via .NET 还允许开发者配置线条的一些属性,以使其看起来更具吸引力。让我们尝试配置线条的几个属性,使其看起来像箭头。请按照以下步骤操作: +## **创建箭头形状的线条** -- 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -- 通过使用索引获取幻灯片的引用。 -- 使用 Shapes 对象提供的 AddAutoShape 方法添加一种线条类型的自动形状。 -- 将线条样式设置为 Aspose.Slides for Python via .NET 提供的样式之一。 -- 设置线条的宽度。 -- 将线条的 [虚线样式](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/) 设置为 Aspose.Slides for Python via .NET 提供的样式之一。 -- 设置线条起始点的 [箭头头样式](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) 和长度。 -- 设置线条的终点的箭头头样式和长度。 -- 将修改后的演示文稿写入 PPTX 文件。 +Aspose.Slides 允许您配置线条属性,使其更具视觉吸引力。下面我们配置几项属性,使线条看起来像箭头。请按以下步骤操作: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 按索引获取幻灯片的引用。 +1. 使用 [ShapeCollection](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/) 对象的 `add_auto_shape` 方法,添加类型为 `LINE` 的 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)。 +1. 设置 [line style](https://reference.aspose.com/slides/python-net/aspose.slides/linestyle/)。 +1. 设置线宽。 +1. 设置线条的 [dash style](https://reference.aspose.com/slides/python-net/aspose.slides/linedashstyle/)。 +1. 为线条的起点设置 [arrowhead style](https://reference.aspose.com/slides/python-net/aspose.slides/linearrowheadstyle/) 和长度。 +1. 为线条的终点设置箭头样式和长度。 +1. 将演示文稿保存为 PPTX 文件。 ```py import aspose.slides as slides import aspose.pydrawing as draw -# 实例化表示 PPTX 文件的 PresentationEx 类 -with slides.Presentation() as pres: - # 获取第一张幻灯片 - sld = pres.slides[0] +# 实例化表示 PPTX 文件的 Presentation 类。 +with slides.Presentation() as presentation: + # 获取第一张幻灯片。 + slide = presentation.slides[0] + + # 添加类型为 LINE 的自动形状。 + shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) + + # 对线条应用格式设置。 + shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN + shape.line_format.width = 10 + + shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT + + shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT + shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL + + shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG + shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE + + shape.line_format.fill_format.fill_type = slides.FillType.SOLID + shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon + + # 将演示文稿保存为 PPTX 文件。 + presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX) +``` + - # 添加一种类型为线的自动形状 - shp = sld.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0) +## **常见问题** - # 对线条应用一些格式 - shp.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN - shp.line_format.width = 10 +**我可以将普通线转换为连接线,使其“捕捉”到形状吗?** - shp.line_format.dash_style = slides.LineDashStyle.DASH_DOT +不可以。普通线(类型为 [LINE](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) 的 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/))不会自动变为连接线。若要使其捕捉到形状,请使用专用的 [Connector](https://reference.aspose.com/slides/python-net/aspose.slides/connector/) 类型以及用于连接的 [对应 API](/slides/zh/python-net/connector/)。 - shp.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT - shp.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL +**如果线条的属性是从主题继承而来,且难以确定最终值,该怎么办?** - shp.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG - shp.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE +通过 [ILineFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilineformateffectivedata/)/[ILineFillFormatEffectiveData](https://reference.aspose.com/slides/python-net/aspose.slides/ilinefillformateffectivedata/) 类读取 [有效属性](/slides/zh/python-net/shape-effective-properties/),这些类已考虑继承和主题样式。 - shp.line_format.fill_format.fill_type = slides.FillType.SOLID - shp.line_format.fill_format.solid_fill_color.color = draw.Color.maroon +**我能否锁定线条,防止编辑(移动、调整大小)?** - # 将 PPTX 写入磁盘 - pres.save("LineShape2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +可以。形状提供了 [lock objects](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/),可用于 [禁止编辑操作](/slides/zh/python-net/applying-protection-to-presentation/)。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md index 54d1e1f2cd..190ff90235 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/paragraph/_index.md @@ -6,26 +6,25 @@ weight: 60 url: /zh/python-net/paragraph/ keywords: - 段落边界 -- 文本片段边界 +- 文本部分边界 - 段落坐标 -- 文本片段坐标 +- 部分坐标 - 段落大小 -- 文本片段大小 -- 文本框架 +- 文本部分大小 +- 文本框 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "了解如何在 Aspose.Slides for Python via .NET 中获取段落和文本片段的边界,以优化 PowerPoint 和 OpenDocument 演示文稿中的文本定位。" +description: "了解如何在 Aspose.Slides for Python via .NET 中检索段落和文本部分的边界,以优化 PowerPoint 和 OpenDocument 演示文稿中的文本定位。" --- ## **获取 TextFrame 中段落和部分的坐标** -使用 Aspose.Slides for Python via .NET,开发者现在可以获取 TextFrame 的段落集合中的段落的矩形坐标。它还允许您获取部分集合中部分的坐标。在本主题中,我们将通过示例展示如何获取段落的矩形坐标以及段落内部分的位置。 - -## **获取段落的矩形坐标** -新的方法 **GetRect()** 已被添加。它允许获取段落边界矩形。 +使用 Aspose.Slides for Python via .NET,开发人员现在可以获取 TextFrame 的段落集合中 Paragraph 的矩形坐标。它还允许获取段落的 portion 集合中 portion 的坐标。在本主题中,我们将通过示例演示如何获取段落的矩形坐标以及段落中 portion 的位置。 +## **获取 Paragraph 的矩形坐标** +已添加新方法 **GetRect()**。它用于获取段落的边界矩形。 ```py import aspose.slides as slides @@ -36,12 +35,12 @@ with slides.Presentation(path + "Shapes.pptx") as presentation: rect = textFrame.paragraphs[0].get_rect() ``` -## **获取表格单元格文本框中段落和部分的大小** ## -要获取表格单元格文本框中 [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) 或 [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) 的大小和坐标,可以使用 [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) 和 [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) 方法。 +## **获取 表格单元格 TextFrame 中段落和 portion 的大小** ## -以下示例代码演示了描述的操作: +要获取表格单元格 TextFrame 中 [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) 或 [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) 的大小和坐标,可以使用 [IPortion.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iportion/) 和 [IParagraph.GetRect](https://reference.aspose.com/slides/python-net/aspose.slides/iparagraph/) 方法。 +以下示例代码演示了上述操作: ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -51,6 +50,7 @@ with slides.Presentation(path + "source.pptx") as pres: cell = tbl.rows[1][1] + x = tbl.X + tbl.rows[1][1].offset_x y = tbl.Y + tbl.rows[1][1].offset_y @@ -73,4 +73,23 @@ with slides.Presentation(path + "source.pptx") as pres: rect.x + x, rect.y + y, rect.width, rect.height) shape.fill_format.fill_type = slides.FillType.NO_FILL -``` \ No newline at end of file +``` + + +## **FAQ** + +**段落和文字部分的坐标以什么单位返回?** + +以点(points)为单位,1 英寸 = 72 点。此单位适用于幻灯片上的所有坐标和尺寸。 + +**换行是否会影响段落的边界?** + +是的。如果在 [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) 中启用了[wrapping](https://reference.aspose.com/slides/python-net/aspose.slides/textframeformat/wrap_text/),文本会换行以适应区域宽度,这会改变段落的实际边界。 + +**段落坐标能否可靠地映射到导出图像的像素?** + +可以。使用以下公式将点转换为像素:pixels = points × (DPI / 72)。结果取决于渲染/导出时选择的 DPI。 + +**如何获取“有效”的段落格式化参数,以考虑样式继承?** + +使用 [effective paragraph formatting data structure](/slides/zh/python-net/shape-effective-properties/);它返回缩进、间距、换行、RTL 等的最终合并值。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md index 52df748b47..0349ff7ec9 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/portion/_index.md @@ -1,24 +1,53 @@ --- -title: 部分 +title: 使用 Python 管理演示文稿中的文本片段 +linktitle: 文本片段 type: docs weight: 70 url: /zh/python-net/portion/ -keywords: "部分, PowerPoint形状, PowerPoint演示文稿, Python, Aspose.Slides for Python via .NET" -description: "在Python中获取PowerPoint演示文稿中的部分" +keywords: +- 文本片段 +- 文本部分 +- 文本坐标 +- 文本位置 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解如何使用 Aspose.Slides for Python via .NET 在 PowerPoint 和 OpenDocument 演示文稿中管理文本片段,从而提升性能和自定义能力。" --- -## **获取部分的位置信息坐标** -**GetCoordinates()** 方法已添加到 IPortion 和 Portion 类中,可以用来获取部分开始位置的坐标: +## **获取文本片段的坐标** +The [get_coordinates](https://reference.aspose.com/slides/python-net/aspose.slides/portion/get_coordinates/) method has been added to the [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) class which allows retrieving the coordinates of text portions: ```py import aspose.slides as slides -with slides.Presentation(path + "HelloWorld.pptx") as presentation: +with slides.Presentation("HelloWorld.pptx") as presentation: shape = presentation.slides[0].shapes[0] - textFrame = shape.text_frame + text_frame = shape.text_frame - for paragraph in textFrame.paragraphs: + for paragraph in text_frame.paragraphs: for portion in paragraph.portions: point = portion.get_coordinates() - print("坐标 X =" + str(point.x) + " 坐标 Y =" + str(point.y)) -``` \ No newline at end of file + print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y)) +``` + + +## **FAQ** + +**我可以仅对单个段落中的部分文字应用超链接吗?** + +是的,您可以 [分配超链接](/slides/zh/python-net/manage-hyperlinks/) 为单独的片段分配超链接;只有该片段可点击,而不是整个段落。 + +**样式继承如何工作:Portion 会覆盖哪些属性,又会从 Paragraph/TextFrame 中继承哪些属性?** + +Portion 级别的属性拥有最高优先级。如果属性未在 [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) 上设置, 引擎会从 [Paragraph](https://reference.aspose.com/slides/python-net/aspose.slides/paragraph/) 获取;如果在那里仍未设置,则从 [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) 或 [theme](https://reference.aspose.com/slides/python-net/aspose.slides.theme/theme/) 样式获取。 + +**如果在目标机器/服务器上缺少 Portion 指定的字体,会怎样?** + +[字体替换规则](/slides/zh/python-net/font-selection-sequence/) 将生效。文本可能重新换行:度量、连字和宽度可能会改变,这会影响精确定位。 + +**我能为特定的 Portion 设置文本填充透明度或渐变,而不影响段落的其他部分吗?** + +是的,文本颜色、填充和透明度在 [Portion](https://reference.aspose.com/slides/python-net/aspose.slides/portion/) 级别上可以与相邻片段不同。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md index 069d30989a..2a6adc7f76 100644 --- a/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md +++ b/zh/python-net/developer-guide/presentation-content/powerpoint-shapes/shape-types/rectangle/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 演示文稿中添加矩形 +title: 在 Python 中向演示文稿添加矩形 linktitle: 矩形 type: docs weight: 80 @@ -15,19 +15,18 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "通过使用 Aspose.Slides for Python via .NET 添加矩形,提升您的 PowerPoint 和 OpenDocument 演示文稿—轻松以编程方式设计和修改形状。" +description: "使用 Aspose.Slides for Python via .NET 在 PowerPoint 与 OpenDocument 演示文稿中添加矩形——轻松以编程方式设计和修改形状。" --- ## **创建简单矩形** -与之前的主题一样,这个主题也关于添加形状,这次我们讨论的形状是矩形。在本主题中,我们描述了开发人员如何使用Aspose.Slides for Python via .NET向幻灯片添加简单或格式化的矩形。要向演示文稿的选定幻灯片添加简单矩形,请按照以下步骤操作: +与之前的主题类似,此主题也关于添加形状,这次我们讨论的形状是矩形。在本主题中,我们描述了开发者如何使用 Aspose.Slides for Python via .NET 向幻灯片添加简单或格式化的矩形。要向演示文稿的选定幻灯片添加一个简单矩形,请按照以下步骤操作: -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 通过使用其索引获取幻灯片的引用。 -1. 使用 IShapes 对象暴露的 AddAutoShape 方法添加一个矩形类型的 IAutoShape。 -1. 将修改后的演示文稿写入PPTX文件。 - -在下面给出的示例中,我们向演示文稿的第一张幻灯片添加了一个简单的矩形。 +1. 创建一个 [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 通过使用索引获取幻灯片的引用。 +1. 使用 IShapes 对象公开的 AddAutoShape 方法添加类型为 Rectangle 的 IAutoShape。 +1. 将修改后的演示文稿写入为 PPTX 文件。 +在下面的示例中,我们向演示文稿的第一张幻灯片添加了一个简单矩形。 ```py import aspose.slides as slides @@ -36,27 +35,26 @@ with slides.Presentation() as pres: # 获取第一张幻灯片 sld = pres.slides[0] - # 添加矩形类型的自定义形状 + # 添加矩形类型的自动形状 sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) - # 将 PPTX 文件写入磁盘 + #写入 PPTX 文件到磁盘 pres.save("RectShp1_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **创建格式化矩形** -要向幻灯片添加格式化的矩形,请按照以下步骤操作: +要向幻灯片添加格式化矩形,请按照以下步骤操作: -1. 创建一个 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 通过使用其索引获取幻灯片的引用。 -1. 使用 IShapes 对象暴露的 AddAutoShape 方法添加一个矩形类型的 IAutoShape。 -1. 将矩形的填充类型设置为实心。 -1. 使用与 IShape 对象关联的 FillFormat 对象暴露的 SolidFillColor.Color 属性设置矩形的颜色。 +1. 创建一个 [Presentation ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 通过使用索引获取幻灯片的引用。 +1. 使用 IShapes 对象公开的 AddAutoShape 方法添加类型为 Rectangle 的 IAutoShape。 +1. 将矩形的填充类型设置为实色。 +1. 使用与 IShape 对象关联的 FillFormat 对象公开的 SolidFillColor.Color 属性设置矩形的颜色。 1. 设置矩形线条的颜色。 1. 设置矩形线条的宽度。 -1. 将修改后的演示文稿写入PPTX文件。 - 上述步骤在下面给出的示例中实现。 - +1. 将修改后的演示文稿写入为 PPTX 文件。 +上述步骤在下面的示例中实现。 ```py import aspose.slides as slides import aspose.pydrawing as draw @@ -66,7 +64,7 @@ with slides.Presentation() as pres: # 获取第一张幻灯片 sld = pres.slides[0] - # 添加矩形类型的自定义形状 + # 添加矩形类型的自动形状 shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 50) # 对矩形形状应用一些格式设置 @@ -78,6 +76,30 @@ with slides.Presentation() as pres: shp.line_format.fill_format.solid_fill_color.color = draw.Color.black shp.line_format.width = 5 - # 将 PPTX 文件写入磁盘 + # 写入 PPTX 文件到磁盘 pres.save("RectShp2_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**如何添加带圆角的矩形?** +使用圆角 [shape type](https://reference.aspose.com/slides/python-net/aspose.slides/shapetype/) 并在形状属性中调整角半径;还可以通过几何调整对每个角单独进行圆角处理。 + +**如何使用图片(纹理)填充矩形?** +选择图片 [fill type](https://reference.aspose.com/slides/python-net/aspose.slides/filltype/),提供图像来源,并配置 [stretching/tiling modes](https://reference.aspose.com/slides/python-net/aspose.slides/picturefillmode/)。 + +**矩形可以有阴影和发光效果吗?** +是的。可使用 [Outer/inner shadow, glow, and soft edges](/slides/zh/python-net/shape-effect/) 且可调节参数。 + +**我可以将矩形设置为带超链接的按钮吗?** +是的。可在形状点击时 [Assign a hyperlink](/slides/zh/python-net/manage-hyperlinks/)(跳转到幻灯片、文件、网页地址或电子邮件)。 + +**如何保护矩形不被移动或更改?** +[Use shape locks](/slides/zh/python-net/applying-protection-to-presentation/):您可以禁止移动、大小调整、选择或文本编辑,以保护布局。 + +**我可以将矩形转换为光栅图像或 SVG 吗?** +是的。您可以将形状 [render the shape](http://reference.aspose.com/slides/python-net/aspose.slides/shape/get_image/) 为指定尺寸/比例的图像,或将其 [export it as SVG](https://reference.aspose.com/slides/python-net/aspose.slides/shape/write_as_svg/) 以供矢量使用。 + +**如何快速获取考虑主题和继承的矩形实际(有效)属性?** +[Use the shape’s effective properties](/slides/zh/python-net/shape-effective-properties/):API 返回考虑主题样式、布局和本地设置的计算值,简化格式分析。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md index d2f343db99..7dbe38bdc9 100644 --- a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md +++ b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/default-font/_index.md @@ -1,5 +1,5 @@ --- -title: 使用 Python 自定义演示文稿默认字体 +title: 使用 Python 自定义演示文稿的默认字体 linktitle: 默认字体 type: docs weight: 30 @@ -7,7 +7,7 @@ url: /zh/python-net/default-font/ keywords: - 默认字体 - 常规字体 -- 正常字体 +- 普通字体 - 亚洲字体 - PDF 导出 - XPS 导出 @@ -17,24 +17,23 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "在 Aspose.Slides for Python 中设置默认字体,以确保 PowerPoint (PPT、PPTX) 和 OpenDocument (ODP) 正确转换为 PDF、XPS 和图像。" +description: "在 Aspose.Slides for Python 中设置默认字体,以确保 PowerPoint(PPT、PPTX)和 OpenDocument(ODP)正确转换为 PDF、XPS 和图像。" --- ## **使用默认字体渲染演示文稿** -Aspose.Slides 允许您设置默认字体以渲染演示文稿为 PDF、XPS 或缩略图。本文展示如何定义 DefaultRegular Font 和 DefaultAsian Font 作为默认字体。请按照以下步骤使用 Aspose.Slides for Python via .NET API 从外部目录加载字体: +Aspose.Slides 允许您设置渲染演示文稿为 PDF、XPS 或缩略图的默认字体。本文展示了如何定义 DefaultRegularFont 和 DefaultAsianFont 作为默认字体。请按照以下步骤使用 Aspose.Slides for Python via .NET API 从外部目录加载字体: 1. 创建 LoadOptions 的实例。 -1. 将 DefaultRegularFont 设置为您所需的字体。在以下示例中,我使用了 Wingdings。 -1. 将 DefaultAsianFont 设置为您所需的字体。我在以下示例中使用了 Wingdings。 +1. 将 DefaultRegularFont 设置为您想要的字体。在下面的示例中,我使用了 Wingdings。 +1. 将 DefaultAsianFont 设置为您想要的字体。示例中我使用了 Wingdings。 1. 使用 Presentation 加载演示文稿并设置加载选项。 1. 现在,生成幻灯片缩略图、PDF 和 XPS 以验证结果。 上述实现如下所示。 - ```py import aspose.slides as slides -# 使用加载选项定义默认常规和亚洲字体 +# 使用加载选项来定义默认的常规和亚洲字体# 使用加载选项来定义默认的常规和亚洲字体 loadOptions = slides.LoadOptions(slides.LoadFormat.AUTO) loadOptions.default_regular_font = "Wingdings" loadOptions.default_asian_font = "Wingdings" @@ -50,4 +49,27 @@ with slides.Presentation(path + "DefaultFonts.pptx", loadOptions) as pptx: # 生成 XPS pptx.save("output_out.xps", slides.export.SaveFormat.XPS) -``` \ No newline at end of file +``` + + +## **常见问题** + +**default_regular_font 和 default_asian_font 到底影响什么——仅导出,还是包括缩略图、PDF、XPS、HTML 和 SVG?** + +它们参与所有受支持输出的渲染管道。这包括幻灯片缩略图、[PDF](/slides/zh/python-net/convert-powerpoint-to-pdf/)、[XPS](/slides/zh/python-net/convert-powerpoint-to-xps/)、[栅格图像](/slides/zh/python-net/convert-powerpoint-to-png/)、[HTML](/slides/zh/python-net/convert-powerpoint-to-html/)、以及[SVG](/slides/zh/python-net/render-a-slide-as-an-svg-image/),因为 Aspose.Slides 在这些目标上使用相同的布局和字形解析逻辑。 + +**在仅读取并保存 PPTX 而不进行任何渲染时,默认字体会被应用吗?** + +不。只有在需要测量和绘制文本时,默认字体才会起作用。直接打开并保存演示文稿不会更改存储的字体运行或文件结构。默认字体在渲染或重新排版文本的操作中才会发挥作用。 + +**如果我添加自己的字体文件夹或从内存提供字体,它们会在选择默认字体时被考虑吗?** + +是的。[Custom font sources](/slides/zh/python-net/custom-font/) 扩展了引擎可使用的可用字体族和字形目录。默认字体及任何[fallback rules](/slides/zh/python-net/fallback-font/) 将首先在这些来源中解析,从而在服务器和容器中提供更可靠的覆盖。 + +**默认字体会影响文本度量(字距、前进)从而影响换行和自动换行吗?** + +是的。更改字体会改变字形度量,并可能在渲染期间改变换行、自动换行和分页。为了布局稳定性,请[embed the original fonts](/slides/zh/python-net/embedded-font/) 或选择度量上兼容的默认和回退字体族。 + +**如果演示文稿中使用的所有字体都已嵌入,设置默认字体还有意义吗?** + +通常没有必要,因为[embedded fonts](/slides/zh/python-net/embedded-font/) 已经确保了外观的一致性。默认字体仍然可以作为安全网,针对嵌入子集未覆盖的字符或文件中混合了嵌入和未嵌入文本的情况。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md index 246af90f3e..0604bcb8a1 100644 --- a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md +++ b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/_index.md @@ -1,19 +1,44 @@ --- -title: 备用字体 +title: 在 Python 中管理演示文稿的后备字体 +linktitle: 后备字体 type: docs weight: 50 url: /zh/python-net/fallback-font/ -keywords: "备用字体, 字体, PowerPoint 演示文稿, Python, Aspose.Slides for Python via .NET" -description: "PowerPoint 备用字体在 Python 中的使用" +keywords: +- 后备字体 +- 可用字体 +- 字形替换 +- 指定字体 +- 指定规则 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解 Aspose.Slides for Python via .NET 如何使用后备字体,在原始字体不可用时保持 PowerPoint 和 OpenDocument 演示文稿中的文字可读性。" --- -## **备用字体** -当文本指定的字体在系统中可用,但该字体不包含所需的字形时,将使用备用字体。在这种情况下,可以使用指定的备用字体之一进行字形替换。 +## **后备字体** +后备字体在系统中已安装指定的文字字体,但该字体不包含所需的字形时使用。在这种情况下,可以使用指定的后备字体之一来替换缺失的字形。 -Aspose.Slides 允许创建备用字体,将它们添加到备用字体集合中,为特定演示文稿设置备用字体集合,从演示文稿中删除备用字体,指定应用备用字体的规则等。 +Aspose.Slides 允许创建后备字体,将其添加到后备字体集合,为特定演示文稿设置后备字体集合,从演示文稿中移除后备字体,指定应用后备字体的规则等。 要熟悉这些功能,请使用以下链接: -- [创建备用字体](/slides/zh/python-net/create-fallback-font) -- [创建备用字体集合](/slides/zh/python-net/create-fallback-fonts-collection) -- [使用备用字体渲染演示文稿](/slides/zh/python-net/render-presentation-with-fallback-font) \ No newline at end of file +- [创建后备字体](/slides/zh/python-net/create-fallback-font) +- [创建后备字体集合](/slides/zh/python-net/create-fallback-fonts-collection) +- [使用后备字体渲染演示文稿](/slides/zh/python-net/render-presentation-with-fallback-font) + +## **常见问答** + +**后备字体与字体替换有何区别?** + +当主要字体缺少特定字形时,后备字体按字符或 Unicode 范围应用,仅填补缺失的字符。[替换](/slides/zh/python-net/font-substitution/) 会将缺失或不可用的字体在整个文本段落或运行中替换为另一种字体。它们可以组合使用,但范围和选择逻辑不同。 + +**后备设置会保存在演示文稿文件中吗?** + +不会。后备配置仅在库的处理/渲染时生效,并不会序列化到 PPTX 中。演示文稿不会存储您的后备规则。 + +**后备字体会影响 PowerPoint 对象(SmartArt、图表、WordArt)创建的元素吗?** + +会。这些对象中的文本走同样的渲染管道,因此后备规则同样适用于它们的文本。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md index 58023ed1dc..fc42ef6699 100644 --- a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md +++ b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/fallback-font/create-fallback-font/_index.md @@ -1,14 +1,28 @@ --- -title: 创建后备字体 +title: 在 Python 中为演示文稿指定回退字体 +linktitle: 回退字体 type: docs weight: 10 url: /zh/python-net/create-fallback-font/ -keywords: "字体, 后备字体, PowerPoint 演示文稿 Python, Aspose.Slides for Python via .NET" -description: "Python 中 PowerPoint 的后备字体" +keywords: +- 回退字体 +- 回退规则 +- 应用字体 +- 替换字体 +- Unicode 范围 +- 缺失字形 +- 正确字形 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "通过 .NET 精通 Aspose.Slides for Python,在 PPT、PPTX 和 ODP 文件中设置回退字体,确保在任何设备或操作系统上保持文本显示一致。" --- -Aspose.Slides 支持 [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) 接口和 [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 类来指定应用后备字体的规则。[FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 类表示指定 Unicode 范围与用于搜索缺失字形的字形列表之间的关联: +## **指定回退字体** +Aspose.Slides 支持 [IFontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/iFontFallBackRule/) 接口和 [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 类,用于指定应用回退字体的规则。[FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 类表示在指定的 Unicode 范围(用于搜索缺失的字形)与可能包含正确字形的字体列表之间的关联: ```py startUnicodeIndex = 0x0B80 endUnicodeIndex = 0x0BFF @@ -16,16 +30,39 @@ endUnicodeIndex = 0x0BFF firstRule = slides.FontFallBackRule(startUnicodeIndex, endUnicodeIndex, "Vijaya") secondRule = slides.FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic") -#使用多种方式添加字体列表: +#使用多种方式添加字体列表: fontNames = ["Segoe UI Emoji, Segoe UI Symbol", "Arial" ] thirdRule = slides.FontFallBackRule(0x1F300, 0x1F64F, fontNames) ``` -还可以 [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) 后备字体或 [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) 到现有的 [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 对象中。 -[FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) 可用于组织 [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 对象的列表,当需要为多个 Unicode 范围指定后备字体替换规则时。 +也可以通过 [Remove()](https://reference.aspose.com/slides/python-net/aspose.slides/ifontfallbackrule/) 删除回退字体,或使用 [AddFallBackFonts()](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrule/) 将回退字体添加到现有的 [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 对象中。 -{{% alert color="primary" title="另见" %}} -- [创建后备字体集合](/slides/zh/python-net/create-fallback-fonts-collection/) -{{% /alert %}} \ No newline at end of file +可以使用 [FontFallBackRulesCollection](https://reference.aspose.com/slides/python-net/aspose.slides/fontfallbackrulescollection/) 来组织一组 [FontFallBackRule](https://reference.aspose.com/slides/python-net/aspose.slides/FontFallBackRule/) 对象,当需要为多个 Unicode 范围指定回退字体替换规则时。 + +{{% alert color="primary" title="另请参阅" %}} +- [Create Fallback Fonts Collection](/slides/zh/python-net/create-fallback-fonts-collection/) +{{% /alert %}} + +## **常见问题** + +**回退字体、字体替换和字体嵌入有什么区别?** + +回退字体仅在主字体缺少字符时使用。[Font substitution](/slides/zh/python-net/font-substitution/) 将整个指定的字体替换为另一个字体。[Font embedding](/slides/zh/python-net/embedded-font/) 将字体打包到输出文件中,使接收者能够按预期查看文本。 + +**回退字体是仅在导出为 PDF、PNG 或 SVG 时应用,还是仅在屏幕渲染时应用?** + +是的。回退会影响所有在需要绘制字符但源字体中缺失的情况下的[渲染和导出操作](/slides/zh/python-net/convert-presentation/)。 + +**配置回退会改变演示文稿文件本身吗?该设置会在以后打开时保留吗?** + +不。回退规则是代码中的运行时渲染设置;它们不会存储在 .pptx 中,也不会出现在 PowerPoint 中。 + +**操作系统(Windows/Linux/macOS)和字体目录集合会影响回退选择吗?** + +是的。引擎会从可用的系统文件夹以及您提供的任何[附加路径](/slides/zh/python-net/custom-font/)中解析字体。如果字体在物理上不可用,引用该字体的规则将无法生效。 + +**回退在 WordArt、SmartArt 和图表中有效吗?** + +是的。当这些对象包含文本时,同样的字形替换机制会用于渲染缺失的字符。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md index a8cf57225e..daff13ad90 100644 --- a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md +++ b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-replacement/_index.md @@ -1,5 +1,5 @@ --- -title: 使用 Python 精简演示文稿中的字体替换 +title: 使用 Python 简化演示文稿中的字体替换 linktitle: 字体替换 type: docs weight: 60 @@ -14,21 +14,22 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python via .NET 无缝替换字体,确保 PowerPoint 和 OpenDocument 演示文稿中的排版一致性。" +description: "通过 .NET 在 Aspose.Slides Python 中无缝替换字体,确保 PowerPoint 和 OpenDocument 演示文稿的排版保持一致。" --- -如果您改变了对使用某种字体的想法,可以用另一种字体替换该字体。所有旧字体的实例将被新字体替换。 +## **替换字体** -Aspose.Slides 允许您以这种方式替换字体: +如果您改变了使用某种字体的想法,您可以将该字体替换为另一种字体。旧字体的所有实例都将被新字体替换。 -1. 加载相关演示文稿。 -2. 加载将被替换的字体。 -3. 加载新字体。 -4. 替换字体。 -5. 将修改后的演示文稿写入 PPTX 文件。 +Aspose.Slides 允许您通过以下方式替换字体: -以下 Python 代码演示了字体替换: +1. 加载相关的演示文稿。 +2. 加载将要被替换的字体。 +3. 加载新字体。 +4. 执行字体替换。 +5. 将修改后的演示文稿写入为 PPTX 文件。 +此 Python 代码演示了字体替换: ```py import aspose.pydrawing as draw import aspose.slides as slides @@ -48,8 +49,41 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: presentation.save("UpdatedFont_out.pptx", slides.export.SaveFormat.PPTX) ``` -{{% alert title="注意" color="warning" %}} -要设置规则以确定在某些条件下发生的情况(例如,如果无法访问某种字体),请参见 [**字体替换**](/slides/zh/python-net/font-substitution/)。 +{{% alert title="Note" color="warning" %}} +要设置在特定条件下(例如字体无法访问)会发生什么的规则,请参阅[**字体替换**](/slides/zh/python-net/font-substitution/)。 +{{% /alert %}} + +## **常见问题** + +**“字体替换”、 “字体替代” 与 “后备字体” 有何区别?** + +替换是指在整个文档中有意地将一种字体族切换为另一种。[替代](/slides/zh/python-net/font-substitution/) 是一种规则,例如“如果字体不可用,则使用 X”。[后备](/slides/zh/python-net/fallback-font/) 则在基础字体已安装但缺少所需字符时,对单个缺失字形进行精准应用。 + +**替换是否适用于母版幻灯片、布局、备注和评论?** + +是的。替换会影响所有使用原始字体的演示文稿对象,包括母版幻灯片和备注;评论也是文档的一部分,会被字体引擎考虑在内。 + +**嵌入的 OLE 对象(例如 Excel)中的字体会改变吗?** + +不会。[OLE 内容](/slides/zh/python-net/manage-ole/) 受其自身应用程序控制。演示文稿中的替换不会重新格式化内部 OLE 数据;它可能以图像或可外部编辑的内容形式显示。 + +**我可以只在演示文稿的某部分(按幻灯片或区域)替换字体吗?** + +如果在所需的对象/范围级别更改字体,而不是对整个文档进行全局替换,则可以进行有针对性的替换。渲染期间的整体字体选择逻辑保持不变。 + +**如何提前确定演示文稿使用了哪些字体?** + +使用演示文稿的[字体管理器](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/):它提供正在使用的[字体族列表](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_fonts/)以及关于[替代/“未知”字体](https://reference.aspose.com/slides/python-net/aspose.slides/fontsmanager/get_substitutions/)的信息,这有助于规划替换。 + +**在转换为 PDF/图像时字体替换是否有效?** + +是的。导出时,Aspose.Slides 会应用相同的[字体选择/替代顺序](/slides/zh/python-net/font-selection-sequence/),因此事先进行的替换将在转换时得到保留。 + +**我需要在系统中安装目标字体,还是可以附加一个字体文件夹?** + +不需要安装:库允许从用户文件夹[加载外部字体](/slides/zh/python-net/custom-font/),以供[渲染和导出](/slides/zh/python-net/convert-powerpoint/)时使用。 + +**替换能解决字符显示为“豆腐块”(方框)的问题吗?** -{{% /alert %}} \ No newline at end of file +仅当目标字体实际包含所需字形时才会生效。如果没有,请[配置后备字体](/slides/zh/python-net/fallback-font/)以覆盖缺失字符。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md index 5851f9e88d..1ccb4bab76 100644 --- a/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md +++ b/zh/python-net/developer-guide/presentation-design/powerpoint-fonts/font-substitution/_index.md @@ -1,23 +1,37 @@ --- -title: 字体替换 +title: 在 Python 中配置演示文稿的字体替代 +linktitle: 字体替代 type: docs weight: 70 url: /zh/python-net/font-substitution/ -keywords: "字体, 替代字体, PowerPoint 演示文稿, Python, Aspose.Slides for Python via .NET" -description: "在 Python 中替代 PowerPoint 字体" +keywords: +- 字体 +- 替代字体 +- 字体替代 +- 替换字体 +- 字体替换 +- 替代规则 +- 替换规则 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "在将 PowerPoint 和 OpenDocument 演示文稿转换为其他文件格式时,通过 .NET 为 Aspose.Slides for Python 启用最佳字体替代。" --- -Aspose.Slides 允许您设置字体规则,以确定在特定条件下必须执行的操作(例如,当无法访问某种字体时),步骤如下: +## **设置替代规则** + +Aspose.Slides 允许您为字体设置规则,以确定在特定条件下(例如,无法访问字体时)应执行的操作,如下所示: 1. 加载相关的演示文稿。 2. 加载将被替换的字体。 3. 加载新字体。 -4. 添加替换规则。 -5. 将规则添加到演示文稿的字体替换规则集合中。 +4. 为替换添加规则。 +5. 将该规则添加到演示文稿的字体替换规则集合中。 6. 生成幻灯片图像以观察效果。 -以下 Python 代码演示了字体替换的过程: - +下面的 Python 代码演示了字体替代过程: ```python import aspose.slides as slides @@ -29,24 +43,53 @@ with slides.Presentation(path + "Fonts.pptx") as presentation: # 加载新字体 destFont = slides.FontData("Arial") - # 添加字体替换规则 + # 添加用于字体替换的字体规则 fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE) - # 将规则添加到字体替代规则集合中 + # 将规则添加到字体替换规则集合 fontSubstRuleCollection = slides.FontSubstRuleCollection() fontSubstRuleCollection.add(fontSubstRule) - # 将字体规则集合添加到规则列表中 + # 将字体规则集合添加到规则列表 presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection - # 当 SomeRareFont 无法访问时,将使用 Arial 字体代替 + #Arial 字体将在 SomeRareFont 不可访问时使用 with presentation.slides[0].get_image(1, 1) as bmp: - # 将图像保存到硬盘,格式为 JPEG + # 将图像以 JPEG 格式保存到磁盘 bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG) ``` -{{% alert title="注意" color="warning" %}} -您可能想查看 [**字体替换**](/slides/zh/python-net/font-replacement/)。 +{{% alert title="NOTE" color="warning" %}} +您可能想查看[**字体替换**](/slides/zh/python-net/font-replacement/)。 +{{% /alert %}} + +## **常见问题** + +**字体替换和字体替代有什么区别?** + +[Replacement](/slides/zh/python-net/font-replacement/) 是在整个演示文稿中强制用另一种字体覆盖原始字体的做法。Substitution 是在特定条件下触发的规则,例如原始字体不可用时,使用指定的后备字体。 + +**替代规则何时生效?** + +这些规则参与标准的[font selection](/slides/zh/python-net/font-selection-sequence/)流程,该流程在加载、渲染和转换期间进行评估;如果所选字体不可用,则会应用替换或替代。 + +**如果未配置替换或替代且系统缺少该字体,默认行为是什么?** + +库会尝试选择最接近的可用系统字体,类似于 PowerPoint 的行为。 + +**我可以在运行时添加自定义外部字体以避免替代吗?** + +可以。您可以在运行时[add external fonts](/slides/zh/python-net/custom-font/) ,使库在选择和渲染时考虑这些字体,包括后续的转换。 + +**Aspose 会随库分发任何字体吗?** + +不会。Aspose 不会分发付费或免费字体;您自行添加和使用字体,需自行承担责任。 + +**在 Windows、Linux 和 macOS 上,替代行为有差异吗?** + +有。字体发现从操作系统的字体目录开始。默认可用字体集合和搜索路径因平台而异,这会影响字体的可用性以及是否需要替代。 + +**如何准备环境以最大限度减少批量转换期间意外的替代?** -{{% /alert %}} \ No newline at end of file +在机器或容器之间同步字体集合,[add the external fonts](/slides/zh/python-net/custom-font/) 以满足输出文档的需求,并在可能的情况下在演示文稿中[embed fonts](/slides/zh/python-net/embedded-font/) ,以确保渲染时所选字体可用。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-notes/_index.md b/zh/python-net/developer-guide/presentation-notes/_index.md index c7220ba6d5..6ebf006f41 100644 --- a/zh/python-net/developer-guide/presentation-notes/_index.md +++ b/zh/python-net/developer-guide/presentation-notes/_index.md @@ -1,65 +1,63 @@ --- -title: 在 Python 中管理演示文稿备注 -linktitle: 演示文稿备注 +title: 在 Python 中管理演示文稿批注 +linktitle: 演示文稿批注 type: docs weight: 110 url: /zh/python-net/presentation-notes/ keywords: -- 备注 -- 备注幻灯片 -- 添加备注 -- 删除备注 -- 备注样式 -- 备注母版 +- 批注 +- 批注幻灯片 +- 添加批注 +- 删除批注 +- 批注样式 +- 母版批注 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides for Python via .NET 自定义演示文稿备注。与 PowerPoint 和 OpenDocument 备注无缝协作,提升工作效率。" +description: "使用 Aspose.Slides for Python via .NET 自定义演示文稿批注。无缝处理 PowerPoint 和 OpenDocument 批注,提高工作效率。" --- -Aspose.Slides 支持从演示文稿中移除笔记幻灯片。在本主题中,我们将介绍此新功能,即移除笔记以及从任何演示文稿中添加笔记样式幻灯片。Aspose.Slides for Python via .NET 提供了移除任何幻灯片的笔记以及为现有笔记添加样式的功能。开发人员可以通过以下方式移除笔记: +Aspose.Slides 支持从演示文稿中删除批注幻灯片。在本主题中,我们将介绍删除批注以及从任意演示文稿添加批注样式幻灯片的这一新功能。Aspose.Slides for Python via .NET 提供了删除任意幻灯片的批注以及为现有批注添加样式的功能。开发人员可以通过以下方式删除批注: -- 移除演示文稿中特定幻灯片的笔记。 -- 移除演示文稿中所有幻灯片的笔记。 -## **从幻灯片中移除笔记** -可以按如下示例中所示移除某些特定幻灯片的笔记: +- 删除演示文稿中特定幻灯片的批注。 +- 删除演示文稿中所有幻灯片的批注。 +## **从幻灯片中删除批注** +可以删除某些特定幻灯片的批注,如下面示例所示: ```py import aspose.slides as slides -# 实例化一个表示演示文稿文件的 Presentation 对象 +# 实例化一个表示演示文稿文件的 Presentation 对象 with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # 移除第一张幻灯片的笔记 + # 删除第一张幻灯片的批注 mgr = presentation.slides[0].notes_slide_manager mgr.remove_notes_slide() - # 保存演示文稿到磁盘 + # 将演示文稿保存到磁盘 presentation.save("RemoveNotesAtSpecificSlide_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **从所有幻灯片中移除笔记** -可以按如下示例中所示移除演示文稿中所有幻灯片的笔记: - +## **删除所有幻灯片的批注** +可以删除演示文稿中所有幻灯片的批注,如下面示例所示: ```py import aspose.slides as slides -# 实例化一个表示演示文稿文件的 Presentation 对象 +# 实例化一个表示演示文稿文件的 Presentation 对象 with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # 移除所有幻灯片的笔记 + # 删除所有幻灯片的批注 for i in range(len(presentation.slides)): mgr = presentation.slides[i].notes_slide_manager mgr.remove_notes_slide() - # 保存演示文稿到磁盘 + # 将演示文稿保存到磁盘 presentation.save("RemoveNotesFromAllSlides_out.pptx", slides.export.SaveFormat.PPTX) ``` ## **添加 NotesStyle** -NotesStyle 属性已添加到 [IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/) 接口和 [MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/) 类中。 该属性指定笔记文本的样式。 在下面的示例中演示了实现。 - +已将 NotesStyle 属性添加到[IMasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/imasternotesslide/)接口和[MasterNotesSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masternotesslide/)类。此属性指定批注文本的样式。下面的示例演示了实现方式。 ```py import aspose.slides as slides @@ -70,10 +68,19 @@ with slides.Presentation(path + "AccessSlides.pptx") as presentation: # 获取 MasterNotesSlide 文本样式 notesStyle = notesMaster.notes_style - # 为第一层段落设置符号项目符号 + #Set 符号项目符号用于第一级段落 paragraphFormat = notesStyle.get_level(0) paragraphFormat.bullet.type = slides.BulletType.SYMBOL # 将 PPTX 文件保存到磁盘 presentation.save("AddNotesSlideWithNotesStyle_out.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file +``` + + +## **常见问题** + +**哪个 API 实体提供对特定幻灯片批注的访问?** +批注通过幻灯片的批注管理器访问:该幻灯片具有一个[NotesSlideManager](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/),以及一个返回批注对象的[property](https://reference.aspose.com/slides/python-net/aspose.slides/notesslidemanager/notes_slide/),如果没有批注则返回 `None`。 + +**在库支持的 PowerPoint 版本之间,批注支持是否存在差异?** +该库面向广泛的 Microsoft PowerPoint 格式(97 版及更高)和 ODP;这些格式均支持批注,且无需依赖已安装的 PowerPoint。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-properties/_index.md b/zh/python-net/developer-guide/presentation-properties/_index.md index 3c20f159ee..150d9ed465 100644 --- a/zh/python-net/developer-guide/presentation-properties/_index.md +++ b/zh/python-net/developer-guide/presentation-properties/_index.md @@ -22,152 +22,135 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "在 Aspose.Slides for Python via .NET 中掌握演示文稿属性,简化 PowerPoint 文件的搜索、品牌和工作流程。" +description: "在 Aspose.Slides for Python via .NET 中掌握演示文稿属性,并在 PowerPoint 文件中优化搜索、品牌和工作流。" --- -## **实时示例** -尝试 [**Aspose.Slides 元数据**](https://products.aspose.app/slides/metadata) 在线应用程序,查看如何通过 Aspose.Slides API 操作文档属性: - -[](https://products.aspose.app/slides/metadata) - -[![todo:image_alt_text](slides-metadata.png)](https://products.aspose.app/slides/metadata) - - ## **关于演示文稿属性** -正如我们之前所述,Aspose.Slides for Python via .NET 支持两种文档属性,即 **内置** 和 **自定义** 属性。因此,开发人员可以使用 Aspose.Slides for Python via .NET API 访问这两种属性。Aspose.Slides for Python via .NET 提供了一个类 [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/),表示与演示文稿文件相关联的文档属性,通过 [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) 属性。开发人员可以使用 **Presentation** 对象公开的 [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) 属性来访问演示文稿文件的文档属性,如下所述: - +正如我们之前描述的,Aspose.Slides for Python via .NET 支持两种文档属性,分别是 **Built-in** 和 **Custom** 属性。因此,开发人员可以使用 Aspose.Slides for Python via .NET API 访问这两类属性。Aspose.Slides for Python via .NET 提供了一个类 [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/),该类表示通过 [Presentation.document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/documentproperties/) 属性与演示文稿文件关联的文档属性。开发人员可以使用 **Presentation** 对象公开的 [IDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/idocumentproperties/) 属性来访问演示文稿文件的文档属性,如下所述: {{% alert color="primary" %}} -请注意,您无法设置 **Application** 和 **Producer** 字段的值,因为这些字段将显示 Aspose Ltd. 和 Aspose.Slides for Python via .NET x.x.x。 +请注意,您无法为 **Application** 和 **Producer** 字段设置值,因为这些字段将显示 Aspose Ltd. 和 Aspose.Slides for Python via .NET x.x.x。 {{% /alert %}} - ## **管理演示文稿属性** -Microsoft PowerPoint 提供了一项功能,可以向演示文稿文件添加一些属性。这些文档属性允许在文档(演示文稿文件)中存储一些有用的信息。文档属性分为两种,如下所示: -- 系统定义(内置)属性 -- 用户定义(自定义)属性 +Microsoft PowerPoint 提供了向演示文稿文件添加属性的功能。这些文档属性允许在文档(演示文稿文件)中存储一些有用的信息。文档属性分为以下两类: + +- 系统定义(Built-in)属性 +- 用户定义(Custom)属性 + +**Built-in** 属性包含有关文档的一般信息,例如文档标题、作者姓名、文档统计信息等。**Custom** 属性是用户以 **名称/值** 对的形式定义的,其中名称和值均由用户自行定义。使用 Aspose.Slides for Python via .NET,开发人员可以访问并修改内置属性和自定义属性的值。Microsoft PowerPoint 2007 允许管理演示文稿文件的文档属性。您只需点击 Office 图标,然后选择 **Prepare | Properties | Advanced Properties** 菜单项。选择 **Advanced Properties** 菜单项后,将出现一个对话框,允许您管理 PowerPoint 文件的文档属性。在 **Properties Dialog** 中,您可以看到许多选项卡,如 **General、Summary、Statistics、Contents** 和 **Custom**。所有这些选项卡都用于配置与 PowerPoint 文件相关的不同信息。**Custom** 选项卡用于管理 PowerPoint 文件的自定义属性。 -**内置** 属性包含有关文档的一般信息,如文档标题、作者姓名、文档统计数据等。**自定义** 属性是用户定义的**名称/值**对,其中名称和值均由用户定义。使用 Aspose.Slides for Python via .NET,开发人员可以访问和修改内置属性及自定义属性的值。Microsoft PowerPoint 2007 允许管理演示文稿文件的文档属性。您只需单击 Office 图标,然后进一步选择 **准备 | 属性 | 高级属性** 菜单项。选择 **高级属性** 菜单项后,会弹出一个对话框,您可以在其中管理 PowerPoint 文件的文档属性。在 **属性对话框** 中,您可以看到许多选项卡页面,如 **常规、摘要、统计、内容和自定义**。所有这些选项卡页面允许配置与 PowerPoint 文件相关的不同类型的信息。**自定义** 选项卡用于管理 PowerPoint 文件的自定义属性。 ## **访问内置属性** -这些属性由 **IDocumentProperties** 对象公开,包括:**Creator(作者)**、**Description**、**Keywords**、**Created**(创建日期)、**Modified**(修改日期)、**Printed**(最后打印日期)、**LastModifiedBy**、**Keywords**、**SharedDoc**(是否在不同的生产者之间共享?)、**PresentationFormat**、**Subject** 和 **Title** +这些由 **IDocumentProperties** 对象公开的属性包括:**Creator(Author)**、**Description**、**Keywords**、**Created**(创建日期)、**Modified**(修改日期)、**Printed**(最近打印日期)、**LastModifiedBy**、**Keywords**、**SharedDoc**(是否在不同制作者之间共享?)、**PresentationFormat**、**Subject** 和 **Title** ```py import aspose.slides as slides # 实例化表示演示文稿的 Presentation 类 with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres: - # 创建与演示文稿相关的对象引用 + # 创建一个与 Presentation 关联的对象引用 documentProperties = pres.document_properties # 显示内置属性 - print("类别 : " + documentProperties.category) - print("当前状态 : " + documentProperties.content_status) - print("创建日期 : " + str(documentProperties.created_time)) - print("作者 : " + documentProperties.author) - print("描述 : " + documentProperties.comments) - print("关键词 : " + documentProperties.keywords) - print("最后修改者 : " + documentProperties.last_saved_by) - print("主管 : " + documentProperties.manager) - print("修改日期 : " + str(documentProperties.last_saved_time)) - print("演示文稿格式 : " + documentProperties.presentation_format) - print("最后打印日期 : " + str(documentProperties.last_printed)) - print("是否在生产者之间共享 : " + str(documentProperties.shared_doc)) - print("主题 : " + documentProperties.subject) - print("标题 : " + documentProperties.title) + print("category : " + documentProperties.category) + print("Current Status : " + documentProperties.content_status) + print("Creation Date : " + str(documentProperties.created_time)) + print("Author : " + documentProperties.author) + print("Description : " + documentProperties.comments) + print("KeyWords : " + documentProperties.keywords) + print("Last Modified By : " + documentProperties.last_saved_by) + print("Supervisor : " + documentProperties.manager) + print("Modified Date : " + str(documentProperties.last_saved_time)) + print("Presentation Format : " + documentProperties.presentation_format) + print("Last Print Date : " + str(documentProperties.last_printed)) + print("Is Shared between producers : " + str(documentProperties.shared_doc)) + print("Subject : " + documentProperties.subject) + print("Title : " + documentProperties.title) ``` + + ## **修改内置属性** -修改演示文稿文件的内置属性与访问它们一样简单。您只需将字符串值分配给任何所需的属性,该属性值将被修改。在下面给出的示例中,我们演示了如何修改演示文稿文件的内置文档属性。 +修改演示文稿文件的内置属性与访问它们一样简单。您只需将字符串值分配给任意所需属性,属性值即会被修改。在下面的示例中,我们演示了如何修改演示文稿文件的内置文档属性。 ```py import aspose.slides as slides # 实例化表示演示文稿的 Presentation 类 with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation: - # 创建与演示文稿相关的对象引用 + # 创建一个与 Presentation 关联的对象引用 documentProperties = presentation.document_properties # 设置内置属性 documentProperties.author = "Aspose.Slides for .NET" - documentProperties.title = "修改演示文稿属性" - documentProperties.subject = "Aspose 主题" - documentProperties.comments = "Aspose 描述" - documentProperties.manager = "Aspose 经理" + documentProperties.title = "Modifying Presentation Properties" + documentProperties.subject = "Aspose Subject" + documentProperties.comments = "Aspose Description" + documentProperties.manager = "Aspose Manager" # 将演示文稿保存到文件 presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` + ## **添加自定义演示文稿属性** -Aspose.Slides for Python via .NET 还允许开发人员为演示文稿文档属性添加自定义值。下面给出了一个示例,显示如何为演示文稿设置自定义属性。 +Aspose.Slides for Python via .NET 还允许开发人员为演示文稿的文档属性添加自定义值。下面的示例展示了如何为演示文稿设置自定义属性。 ```py import aspose.slides as slides -# 实例化演示文稿类 +# 实例化 Presentation 类 with slides.Presentation() as presentation: # 获取文档属性 documentProperties = presentation.document_properties # 添加自定义属性 - documentProperties.set_custom_property_value("新自定义", 12) - documentProperties.set_custom_property_value("我的名字", "Mudassir") - documentProperties.set_custom_property_value("自定义", 124) + documentProperties.set_custom_property_value("New Custom", 12) + documentProperties.set_custom_property_value("My Nam", "Mudassir") + documentProperties.set_custom_property_value("Custom", 124) # 获取特定索引处的属性名称 getPropertyName = documentProperties.get_custom_property_name(2) - # 移除所选属性 + # 移除选定的属性 documentProperties.remove_custom_property(getPropertyName) # 保存演示文稿 presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **访问和修改自定义属性** -Aspose.Slides for Python via .NET 还允许开发人员访问自定义属性的值。下面有一个示例,展示了如何访问和修改演示文稿的所有这些自定义属性。 +## **访问并修改自定义属性** + +Aspose.Slides for Python via .NET 也允许开发人员访问自定义属性的值。下面的示例展示了如何访问并修改演示文稿的所有自定义属性。 ```py import aspose.slides as slides # 实例化表示 PPTX 的 Presentation 类 with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentation: - # 创建与演示文稿相关的 document_properties 对象引用 + # 创建与 Presentation 关联的 document_properties 对象的引用 documentProperties = presentation.document_properties - # 访问和修改自定义属性 + # 访问并修改自定义属性 for i in range(documentProperties.count_of_custom_properties): # 显示自定义属性的名称和值 - print("自定义属性名称 : " + documentProperties.get_custom_property_name(i)) - print("自定义属性值 : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) + print("Custom Property Name : " + documentProperties.get_custom_property_name(i)) + print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)]) # 修改自定义属性的值 - documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "新值 " + str(i + 1)) + documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1)) # 将演示文稿保存到文件 presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX) ``` -## **检查演示文稿是否已修改或创建** -Aspose.Slides for Python via .NET 提供了一种检查演示文稿是否已修改或创建的功能。下面给出了一个示例,展示了如何检查演示文稿是否已创建或修改。 - -```py -import aspose.slides as slides - -info = slides.PresentationFactory.instance.get_presentation_info(path + "AccessModifyingProperties.pptx") -props = info.read_document_properties() - -print(props.name_of_application) -print(props.app_version) -``` ## **设置校对语言** -Aspose.Slides 提供了 `Language_Id` 属性(由 [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/) 类公开),允许您为 PowerPoint 文档设置校对语言。校对语言是检查 PowerPoint 中拼写和语法的语言。 - -以下 Python 代码展示了如何为 PowerPoint 设置校对语言: +Aspose.Slides 提供了 `Language_Id` 属性(由 [PortionFormat](https://reference.aspose.com/slides/python-net/aspose.slides/portionformat/) 类公开),允许您为 PowerPoint 文档设置校对语言。校对语言是 PowerPoint 检查拼写和语法的语言。 +下面的 Python 代码演示了如何为 PowerPoint 设置校对语言: ```python import aspose.slides as slides @@ -190,10 +173,10 @@ with slides.Presentation(path + "SetProofingLanguage.pptx") as pres: paragraph.portions.add(new_portion) ``` -## **设置默认语言** -以下 Python 代码展示了如何为整个 PowerPoint 演示文稿设置默认语言: +## **设置默认语言** +下面的 Python 代码演示了如何为整个 PowerPoint 演示文稿设置默认语言: ```python import aspose.slides as slides @@ -203,7 +186,28 @@ load_options.default_text_language = "en_US" with slides.Presentation(load_options) as pres: shp = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 150) text_frame = shp.text_frame - text_frame.text = "新文本" + text_frame.text = "New Text" print(text_frame.paragraphs[0].portions[0].portion_format.language_id) -``` \ No newline at end of file +``` + + +## **实时示例** + +尝试在线应用程序 [**Aspose.Slides Metadata**](https://products.aspose.app/slides/metadata) 以查看如何通过 Aspose.Slides API 处理文档属性: + +[![View & Edit PowerPoint Metadata](slides-metadata.png)](https://products.aspose.app/slides/metadata) + +## **常见问题** + +**如何从演示文稿中删除内置属性?** + +内置属性是演示文稿的组成部分,无法完全删除。但您可以更改其值,或在特定属性允许的情况下将其设为空。 + +**如果添加已存在的自定义属性会怎样?** + +如果添加已存在的自定义属性,原有的值将被新值覆盖。无需事先删除或检查属性,Aspose.Slides 会自动更新属性值。 + +**我可以在不完全加载演示文稿的情况下访问演示文稿属性吗?** + +可以,您可以使用 [PresentationFactory](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/) 类的 [get_presentation_info](https://reference.aspose.com/slides/python-net/aspose.slides/presentationfactory/get_presentation_info/) 方法来访问演示文稿属性,然后利用 [PresentationInfo](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/) 类提供的 [read_document_properties](https://reference.aspose.com/slides/python-net/aspose.slides/presentationinfo/read_document_properties/) 方法高效读取属性,从而节省内存并提升性能。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md b/zh/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md index 62f8c73a1e..d3e9dcf393 100644 --- a/zh/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md +++ b/zh/python-net/developer-guide/presentation-security/digital-signature-in-powerpoint/_index.md @@ -1,44 +1,49 @@ --- -title: PowerPoint中的数字签名 +title: 用 Python 为演示文稿添加数字签名 +linktitle: 数字签名 type: docs weight: 10 url: /zh/python-net/digital-signature-in-powerpoint/ -keywords: "数字签名证书, 证书颁发机构, PowerPoint演示文稿, Python, Aspose.Slides for Python via .NET" -description: "在PowerPoint中添加数字签名或证书。Python中的证书颁发机构" +keywords: +- 数字签名 +- 数字证书 +- 证书颁发机构 +- PFX 证书 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解如何使用 Aspose.Slides for Python via .NET 对 PowerPoint 和 OpenDocument 文件进行数字签名。只需几秒钟即可通过清晰的代码示例保护您的幻灯片。" --- - -**数字证书**用于创建一个密码保护的PowerPoint演示文稿,标记为由特定组织或个人创建。数字证书可以通过联系授权组织——证书颁发机构获取。在将数字证书安装到系统后,可以通过文件 -> 信息 -> 保护演示文稿为演示文稿添加数字签名: +**数字证书** 用于创建受密码保护的 PowerPoint 演示文稿,并标记为由特定组织或个人创建。数字证书可通过联系授权组织——证书颁发机构获取。将数字证书安装到系统后,可通过 文件 -> 信息 -> 保护演示文稿 为演示文稿添加数字签名: ![todo:image_alt_text](https://lh5.googleusercontent.com/OPGhgHMb_L54PGJztP5oIO9zhxGXzhtnbcrC-z7yLUrc_NkRX1obBfwffXhPV1NWBiqhidiupCphixNGl25LkfQhliG6MCM6E-x16ZuQgMyLABC9bQ446ohMluZr6-ThgQLXCOyy) - - -演示文稿可能包含多个数字签名。在数字签名添加到演示文稿后,PowerPoint中将出现一条特殊消息: +演示文稿可能包含多个数字签名。数字签名添加到演示文稿后,PowerPoint 中会出现特殊消息: ![todo:image_alt_text](https://lh3.googleusercontent.com/7ZfH7wElhwcvgJ_btF3C32zasBRbT1yA4tFOpnNnUm0q57ayBKJr0Pb43Oi4RgeCoOmwhyxxz_g8kw3H3Qw8Iqeaka5Xipip9cqvwbadY4E40D_NhXnUnbtdXSHFX6fjNm_UBvLJ) +要对演示文稿进行签名或检查签名的真实性,**Aspose.Slides API** 提供 [**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/) 接口、[**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/) 接口和 [**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/) 属性。目前,仅在 PPTX 格式中支持数字签名。 +## **从 PFX 证书添加数字签名** +下面的代码示例演示如何从 PFX 证书添加数字签名: -要签署演示文稿或检查演示文稿签名的真实性,**Aspose.Slides API**提供了[**IDigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/idigitalsignature/)接口、[**IDigitalSignatureCollection**](https://reference.aspose.com/slides/python-net/aspose.slides/IDigitalSignatureCollection/)接口和[**IPresentation.DigitalSignatures**](https://reference.aspose.com/slides/python-net/aspose.slides/ipresentation/)属性。目前,数字签名仅支持PPTX格式。 -## **从PFX证书添加数字签名** -下面的代码示例演示如何从PFX证书添加数字签名: - -1. 打开PFX文件并将PFX密码传递给[**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/)对象。 -1. 将创建的签名添加到演示文稿对象中。 - +1. 打开 PFX 文件并将 PFX 密码传递给 [**DigitalSignature**](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignature/) 对象。 +1. 将创建的签名添加到演示文稿对象。 ```py -#[TODO:Exception] RuntimeError: 代理错误(FileNotFoundException): 无法加载文件或程序集'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'。找不到该文件。 +#[TODO:Exception] RuntimeError: 代理错误(FileNotFoundException): 无法加载文件或程序集 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'。未找到文件。 import aspose.slides as slides with slides.Presentation() as pres: - # 使用PFX文件和PFX密码创建DigitalSignature对象 + # 创建 DigitalSignature 对象,使用 PFX 文件和 PFX 密码 signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1") - # 注释新的数字签名 - signature.comments = "Aspose.Slides数字签名测试。" + # 为新数字签名添加注释 + signature.comments = "Aspose.Slides digital signing test." # 将数字签名添加到演示文稿 pres.digital_signatures.add(signature) @@ -48,27 +53,38 @@ with slides.Presentation() as pres: ``` - -现在可以检查演示文稿是否已被数字签名且未被修改: - - - +现在可以检查演示文稿是否已进行数字签名且未被修改: ```py # 打开演示文稿 with slides.Presentation("SomePresentationSigned.pptx") as pres: if len(pres.digital_signatures) > 0: allSignaturesAreValid = True - print("用于签署演示文稿的签名: ") + print("Signatures used to sign the presentation: ") # 检查所有数字签名是否有效 for signature in pres.digital_signatures : print(signature.certificate.subject_name.name + ", " - + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "有效" if signature.is_valid else "无效") + + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID") allSignaturesAreValid = allSignaturesAreValid and signature.is_valid if allSignaturesAreValid: - print("演示文稿是真实的,所有签名都是有效的。") + print("Presentation is genuine, all signatures are valid.") else: - print("演示文稿在签署后已被修改。") -``` \ No newline at end of file + print("Presentation has been modified since signing.") +``` + + +## **常见问题** + +**我可以删除文件中已有的签名吗?** + +是的。数字签名集合支持[删除单个项](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/remove_at/)和[清除全部](https://reference.aspose.com/slides/python-net/aspose.slides/digitalsignaturecollection/clear/);保存文件后,演示文稿将不再包含任何签名。 + +**在签名后文件会变成“只读”吗?** + +不会。签名会保持完整性和作者身份,但不会阻止编辑。若需限制编辑,可结合["只读"或密码](/slides/zh/python-net/password-protected-presentation/)使用。 + +**签名会在不同版本的 PowerPoint 中正确显示吗?** + +签名是为 OOXML(PPTX)容器创建的。支持 OOXML 签名的现代 PowerPoint 版本会正确显示此类签名的状态。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md b/zh/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md index 6ea065766d..ebdcddaf73 100644 --- a/zh/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md +++ b/zh/python-net/developer-guide/presentation-security/password-protected-presentation/_index.md @@ -1,25 +1,25 @@ --- -title: 使用 Python 为演示文稿设置密码保护 +title: 使用 Python 对演示文稿进行密码保护 linktitle: 密码保护 type: docs weight: 20 url: /zh/python-net/password-protected-presentation/ keywords: - 锁定 PowerPoint -- 锁定演示文稿 +- 锁定 演示文稿 - 解锁 PowerPoint -- 解锁演示文稿 +- 解锁 演示文稿 - 保护 PowerPoint -- 保护演示文稿 +- 保护 演示文稿 - 设置密码 - 添加密码 - 加密 PowerPoint -- 加密演示文稿 +- 加密 演示文稿 - 解密 PowerPoint -- 解密演示文稿 +- 解密 演示文稿 - 写保护 - PowerPoint 安全 -- 演示文稿安全 +- 演示文稿 安全 - 移除密码 - 移除保护 - 移除加密 @@ -29,52 +29,51 @@ keywords: - PowerPoint 演示文稿 - Python - Aspose.Slides -description: "了解如何使用 Aspose.Slides for Python via .NET 轻松锁定和解锁受密码保护的 PowerPoint 和 OpenDocument 演示文稿。通过我们的分步指南提升你的工作效率并保护你的演示文稿。" +description: "了解如何使用 Aspose.Slides for Python via .NET 轻松锁定和解锁受密码保护的 PowerPoint 和 OpenDocument 演示文稿。通过我们的分步指南,提高工作效率并保障演示文稿安全。" --- - ## **关于密码保护** -### **演示文稿的密码保护是如何工作的?** -当你为演示文稿设置密码保护时,这意味着你正在设置一个密码,以强制对演示文稿施加某些限制。要移除这些限制,必须输入密码。密码保护的演示文稿被视为锁定的演示文稿。 +### **演示文稿的密码保护如何工作?** +当您对演示文稿设置密码保护时,意味着您正在设置一个密码,以对演示文稿强制执行某些限制。要取消这些限制,必须输入密码。受密码保护的演示文稿被视为已锁定的演示文稿。 -通常,你可以设置密码来对演示文稿施加以下限制: +通常,您可以设置密码以在演示文稿上强制执行以下限制: - **修改** - 如果你只想让特定用户修改你的演示文稿,你可以设置修改限制。此限制防止人们修改、更改或复制你演示文稿中的内容(除非他们提供密码)。 + 如果您只希望特定用户修改您的演示文稿,可以设置修改限制。此限制阻止人们修改、变更或复制演示文稿中的内容(除非提供密码)。 - 然而,在这种情况下,即使没有密码,用户也能够访问你的文档并打开它。在这种只读模式下,用户可以查看演示文稿中的内容或内容——超链接、动画、效果等——但他们无法复制项目或保存演示文稿。 + 但是,在这种情况下,即使没有密码,用户仍然可以访问并打开文档。在只读模式下,用户可以查看演示文稿中的内容或元素——超链接、动画、效果等——但无法复制项目或保存演示文稿。 - **打开** - 如果你只想让特定用户打开你的演示文稿,则可以设置打开限制。此限制阻止人们甚至查看你演示文稿的内容(除非他们提供密码)。 + 如果您只希望特定用户打开您的演示文稿,可以设置打开限制。此限制阻止人们甚至查看演示文稿的内容(除非提供密码)。 - 从技术上讲,打开限制也防止用户修改你的演示文稿:当人们无法打开演示文稿时,他们无法对其进行修改或更改。 + 从技术上讲,打开限制同样阻止用户修改演示文稿:当人们无法打开演示文稿时,他们就无法对其进行修改或更改。 - **注意** 当你为演示文稿设置密码保护以防止打开时,演示文稿文件会被加密。 + **注意** 当您对演示文稿进行密码保护以阻止打开时,演示文稿文件会被加密。 -## 如何在线为演示文稿设置密码保护 +## 如何在线对演示文稿进行密码保护 -1. 前往我们的 [**Aspose.Slides Lock**](https://products.aspose.app/slides/lock) 页面。 +1. 前往我们的[**Aspose.Slides Lock**](https://products.aspose.app/slides/lock)页面。 ![todo:image_alt_text](slides-lock.png) -2. 点击 **拖放或上传你的文件**。 +2. 点击**Drop or upload your files**。 -3. 选择你想在计算机上设置密码保护的文件。 +3. 在计算机上选择您要进行密码保护的文件。 -4. 输入你希望用于编辑保护的密码; 输入你希望用于查看保护的密码。 +4. 输入用于编辑保护的首选密码;输入用于查看保护的首选密码。 -5. 如果你希望用户看到你演示文稿的最终版本,请勾选 **标记为最终** 复选框。 +5. 如果希望用户将您的演示文稿视为最终稿,请勾选**Mark as final**复选框。 -6. 点击 **现在保护。** +6. 点击**PROTECT NOW.** -7. 点击 **立即下载。** +7. 点击**DOWNLOAD NOW.** -## **Aspose.Slides 的演示文稿密码保护** +## **Aspose.Slides 中的演示文稿密码保护** **支持的格式** -Aspose.Slides 支持对以下格式的演示文稿进行密码保护、加密和类似操作: +Aspose.Slides 支持对以下格式的演示文稿进行密码保护、加密等操作: - PPTX 和 PPT - Microsoft PowerPoint 演示文稿 - ODP - OpenDocument 演示文稿 @@ -82,30 +81,29 @@ Aspose.Slides 支持对以下格式的演示文稿进行密码保护、加密和 **支持的操作** -Aspose.Slides 允许你对演示文稿使用密码保护,以防止以以下方式进行修改: +Aspose.Slides 允许您通过以下方式使用密码保护防止演示文稿被修改: - 加密演示文稿 -- 对演示文稿设置写保护 +- 为演示文稿设置写保护 **其他操作** -Aspose.Slides 允许你以以下方式执行其他涉及密码保护和加密的任务: +Aspose.Slides 还允许您以以下方式执行其他涉及密码保护和加密的任务: -- 解密演示文稿;打开加密演示文稿 +- 解密演示文稿;打开加密的演示文稿 - 移除加密;禁用密码保护 -- 从演示文稿中移除写保护 +- 移除演示文稿的写保护 - 获取加密演示文稿的属性 -- 检查演示文稿是否加密 -- 检查演示文稿是否受密码保护。 +- 检查演示文稿是否已加密 +- 检查演示文稿是否已密码保护 ## **加密演示文稿** -你可以通过设置密码来加密演示文稿。然后,要修改锁定的演示文稿,用户必须提供密码。 - -要加密或设置密码保护演示文稿,你必须使用 encrypt 方法(来自 [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/))为演示文稿设置密码。你将密码传递给 encrypt 方法,并使用 save 方法保存现在已加密的演示文稿。 +您可以通过设置密码来加密演示文稿。随后,要修改已锁定的演示文稿,用户必须提供密码。 -以下示例代码演示了如何加密演示文稿: +要加密或对演示文稿进行密码保护,您需要使用 [ProtectionManager](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) 中的 `encrypt` 方法为演示文稿设置密码。将密码传递给 `encrypt` 方法后,再使用 `save` 方法保存已经加密的演示文稿。 +以下示例代码展示如何加密演示文稿: ```py import aspose.slides as slides @@ -114,14 +112,14 @@ with slides.Presentation() as pres: pres.save("encrypted-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **为演示文稿设置写保护** -你可以在演示文稿中添加一条“请勿修改”的标记。通过这种方式,你可以告知用户你不希望他们对演示文稿进行更改。 +## **为演示文稿设置写保护** -**注意** 写保护过程并不会加密演示文稿。因此,用户——如果他们确实想要——可以修改演示文稿,但要保存更改,他们需要创建一个不同名称的演示文稿。 +您可以在演示文稿上添加“请勿修改”的标记。这样,您即可告知用户不希望他们对演示文稿进行更改。 -要设置写保护,你必须使用 setWriteProtection 方法。以下示例代码演示了如何对演示文稿设置写保护: +**注意** 写保护过程并不会加密演示文稿。因此,用户——如果真的想——仍然可以修改演示文稿,但若要保存更改,则必须另存为不同的文件名。 +要设置写保护,您需要使用 `setWriteProtection` 方法。以下示例代码展示如何为演示文稿设置写保护: ```py import aspose.slides as slides @@ -130,12 +128,12 @@ with slides.Presentation() as pres: pres.save("write-protected-pres.pptx", slides.export.SaveFormat.PPTX) ``` -## **解密演示文稿;打开加密演示文稿** -Aspose.Slides 允许你通过输入密码加载一个加密文件。要解密演示文稿,你必须调用 [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) 方法,不带参数。然后你必须输入正确的密码以加载演示文稿。 +## **解密演示文稿;打开加密的演示文稿** -以下示例代码展示了如何解密演示文稿: +Aspose.Slides 允许您通过传递密码来加载加密文件。要解密演示文稿,您需要调用 `remove_encryption` 方法(无参数)。随后,您必须输入正确的密码才能加载演示文稿。 +以下示例代码展示如何解密演示文稿: ```py import aspose.slides as slides @@ -145,12 +143,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: print(pres.document_properties.author) ``` -## **移除加密;禁用密码保护** -你可以移除演示文稿上的加密或密码保护。通过这种方式,用户能够在没有限制的情况下访问或修改演示文稿。 +## **移除加密;禁用密码保护** -要移除加密或密码保护,你必须调用 [remove_encryption](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) 方法。以下示例代码展示了如何从演示文稿中移除加密: +您可以移除演示文稿的加密或密码保护。这样,用户就能够在没有任何限制的情况下访问或修改演示文稿。 +要移除加密或密码保护,您需要调用 `remove_encryption` 方法。以下示例代码展示如何从演示文稿中移除加密: ```py import aspose.slides as slides @@ -161,12 +159,12 @@ with slides.Presentation("encrypted-pres.pptx", loadOptions) as pres: pres.save("encryption-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **从演示文稿中移除写保护** -你可以使用 Aspose.Slides 从演示文稿文件中移除写保护。这样,用户可以随意修改——在执行这些操作时不会收到警告。 +## **移除演示文稿的写保护** -你可以使用 [remove_write_protection](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) 方法从演示文稿中移除写保护。以下示例代码演示了如何从演示文稿中移除写保护: +您可以使用 Aspose.Slides 移除演示文稿文件上的写保护。这样,用户可以随意修改,并且在执行此类操作时不会收到任何警告。 +您可以通过使用 `remove_write_protection` 方法来移除写保护。以下示例代码展示如何从演示文稿中移除写保护: ```py import aspose.slides as slides @@ -175,14 +173,14 @@ with slides.Presentation("write-protected-pres.pptx") as pres: pres.save("write-protection-removed.pptx", slides.export.SaveFormat.PPTX) ``` -## **获取加密演示文稿的属性** -通常,用户很难获取加密或受密码保护的演示文稿的文档属性。然而,Aspose.Slides 提供了一种机制,使你在密码保护演示文稿的同时,允许用户访问该演示文稿的属性。 +## **获取加密演示文稿的属性** -**注意** 当 Aspose.Slides 加密演示文稿时,演示文稿的文档属性默认也会被密码保护。但如果你需要使演示文稿的属性可访问(即使在演示文稿被加密后),Aspose.Slides 允许你做到这一点。 +通常,用户很难获取加密或受密码保护的演示文稿的文档属性。Aspose.Slides 提供了一种机制,允许您在对演示文稿进行密码保护的同时,仍然保留用户访问该演示文稿属性的方式。 -如果你希望用户保留访问已加密演示文稿属性的能力,你可以将 [EncryptDocumentProperties](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) 属性设置为 `True`。以下示例代码演示了如何在加密演示文稿的同时,提供用户访问其文档属性的手段: +**注意** 当 Aspose.Slides 对演示文稿进行加密时,演示文稿的文档属性默认也会被密码保护。但如果您需要在演示文稿加密后仍然让属性可访问,Aspose.Slides 允许您实现此目的。 +如果您希望用户仍然能够访问已加密演示文稿的属性,可以将 `EncryptDocumentProperties` 属性设置为 `True`。以下示例代码展示如何在加密演示文稿的同时,提供用户访问文档属性的途径: ```py import aspose.slides as slides @@ -191,25 +189,25 @@ with slides.Presentation() as pres: pres.protection_manager.encrypt("123123") ``` -## **在加载演示文稿前检查其是否受密码保护** -在加载演示文稿之前,你可能想检查并确认演示文稿是否未受密码保护。通过这种方式,你可以避免错误和类似问题,这些问题会在未提供密码时加载受密码保护的演示文稿时出现。 +## **在加载演示文稿前检查是否已密码保护** -以下 Python 代码展示了如何检查演示文稿是否受密码保护(无需加载演示文稿本身): +在加载演示文稿之前,您可能想检查并确认该演示文稿未被密码保护。这样可以避免在未提供密码的情况下加载受密码保护的演示文稿时产生错误及类似问题。 +以下 Python 代码展示如何在不加载演示文稿本身的情况下检查其是否已密码保护: ```python import aspose.slides as slides presentationInfo = slides.PresentationFactory.instance.get_presentation_info("pres.pptx") -print("演示文稿是否受密码保护: " + str(presentationInfo.is_password_protected)) +print("The presentation is password protected: " + str(presentationInfo.is_password_protected)) ``` -## **检查演示文稿是否加密** -Aspose.Slides 允许你检查演示文稿是否加密。要执行此任务,你可以使用 [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) 属性,如果演示文稿已加密,则返回 `True`,如果演示文稿未加密,则返回 `False`。 +## **检查演示文稿是否已加密** -以下示例代码演示了如何检查演示文稿是否加密: +Aspose.Slides 允许您检查演示文稿是否已加密。要执行此操作,您可以使用 `is_encrypted` 属性,如果演示文稿已加密则返回 `True`,否则返回 `False`。 +以下示例代码展示如何检查演示文稿是否已加密: ```py import aspose.slides as slides @@ -217,12 +215,12 @@ with slides.Presentation() as pres: print(str(pres.protection_manager.is_encrypted)) ``` -## **检查演示文稿是否写保护** -Aspose.Slides 允许你检查演示文稿是否写保护。要执行此任务,你可以使用 [is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/) 属性,如果演示文稿已加密,则返回 `True`,如果演示文稿未加密,则返回 `False`。 +## **检查演示文稿是否已写保护** -以下示例代码演示了如何检查演示文稿是否写保护: +Aspose.Slides 允许您检查演示文稿是否已写保护。要执行此操作,您可以使用 `is_write_protected` 属性,如果演示文稿已写保护则返回 `True`,否则返回 `False`。 +以下示例代码展示如何检查演示文稿是否已写保护: ```py import aspose.slides as slides @@ -230,23 +228,38 @@ with slides.Presentation("write-protected-pres.pptx") as pres: print(str(pres.protection_manager.is_write_protected)) ``` -## **验证或确认某个特定密码是否用于保护演示文稿** -你可能想检查并确认某个特定密码是否用于保护演示文稿。Aspose.Slides 提供了验证密码的手段。 +## **验证或确认已使用特定密码保护演示文稿** -以下示例代码展示了如何验证一个密码: +您可能想检查并确认已使用特定密码对演示文稿进行保护。Aspose.Slides 提供了验证密码的方式。 +以下示例代码展示如何验证密码: ```py import aspose.slides as slides with slides.Presentation("write-protected-pres.pptx") as pres: - # 检查“pass”是否与其匹配 + # 检查 "pass" 是否匹配 matched = pres.protection_manager.check_write_protection("my_password") print(str(matched)) ``` -如果演示文稿已用指定密码加密,则返回 `True`。否则,返回 `False`。 -{{% alert color="primary" title="另见" %}} +如果演示文稿使用指定密码加密,则返回 `True`;否则返回 `False`。 + +{{% alert color="primary" title="See also" %}} - [PowerPoint 中的数字签名](/slides/zh/python-net/digital-signature-in-powerpoint/) -{{% /alert %}} \ No newline at end of file +{{% /alert %}} + +## **常见问题** + +**Aspose.Slides 支持哪些加密方法?** + +Aspose.Slides 支持现代加密方法,包括基于 AES 的算法,确保您的演示文稿数据安全性达到较高水平。 + +**在尝试打开演示文稿时输入错误的密码会怎样?** + +如果使用错误的密码,会抛出异常,提示演示文稿访问被拒绝。这有助于防止未授权访问并保护演示文稿内容。 + +**在处理受密码保护的演示文稿时是否会有性能影响?** + +加密和解密过程可能会在打开和保存操作期间引入轻微的开销。在大多数情况下,这种性能影响很小,不会显著影响演示文稿任务的整体处理时间。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md b/zh/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md index 5ebbe1335e..3e004338f9 100644 --- a/zh/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md +++ b/zh/python-net/developer-guide/presentation-security/read-only-presentatiom/_index.md @@ -1,25 +1,34 @@ --- -title: 只读演示文稿 +title: 使用 Python 以只读模式保存演示文稿 +linktitle: 只读演示文稿 type: docs weight: 30 url: /zh/python-net/read-only-presentation/ -keywords: "只读设置,PowerPoint演示文稿,Python,Aspose.Slides for Python via .NET" -description: "Python中的只读PowerPoint演示文稿" +keywords: +- 只读 +- 保护演示文稿 +- 防止编辑 +- PowerPoint +- 演示文稿 +- Python +- Aspose.Slides +description: "使用 Aspose.Slides for Python via .NET 以只读模式加载和保存 PowerPoint 文件(PPT、PPTX),提供准确的幻灯片预览且不更改演示文稿。" --- -在PowerPoint 2019中,Microsoft引入了**永远以只读方式打开**设置,作为用户用于保护其演示文稿的选项之一。您可能想使用此只读设置来保护演示文稿,当 +## **应用只读模式** -- 您想防止意外编辑并保持演示文稿的内容安全。 -- 您想告知他人您提供的演示文稿是最终版本。 +在 PowerPoint 2019 中,Microsoft 引入了 **始终以只读方式打开** 设置,作为用户保护演示文稿的选项之一。当您希望在以下情况下使用此只读设置来保护演示文稿时: -在您为演示文稿选择**永远以只读方式打开**选项后,当用户打开演示文稿时,他们会看到**只读**建议,并可能看到如下形式的消息:*为了防止意外更改,作者已将此文件设置为只读打开。* +- 您想防止意外编辑并保持演示文稿内容的安全。 +- 您想提醒他人您提供的演示文稿是最终版本。 -只读建议是一个简单但有效的威慑措施,阻止编辑,因为用户必须执行某项操作以在被允许编辑演示文稿之前移除它。如果您不希望用户对演示文稿进行更改,并且希望以礼貌的方式告知他们,那么只读建议可能是一个不错的选择。 +为演示文稿选择 **始终以只读方式打开** 选项后,用户打开演示文稿时会看到 **只读** 建议,可能会看到如下信息:*为了防止意外更改,作者已将此文件设置为以只读方式打开。* -> 如果带有**只读**保护的演示文稿在较旧的Microsoft PowerPoint应用程序中打开——该应用程序不支持最近引入的功能——则**只读**建议将被忽略(演示文稿将正常打开)。 +只读建议是一种简单而有效的阻慑手段,因为用户必须执行步骤才能移除它,才被允许编辑演示文稿。如果您不希望用户更改演示文稿,并想以礼貌的方式告知他们,只读建议可能是一个不错的选项。 -Aspose.Slides for Python via .NET允许您将演示文稿设置为**只读**,这意味着用户(在他们打开演示文稿后)会看到**只读**建议。以下示例代码演示了如何使用Aspose.Slides在Python中将演示文稿设置为**只读**: +> 如果在不支持此新功能的旧版 Microsoft PowerPoint 应用程序中打开带有 **只读** 保护的演示文稿,**只读** 建议将被忽略(演示文稿将正常打开)。 +Aspose.Slides for Python via .NET 允许您将演示文稿设置为 **只读**,这意味着用户(打开演示文稿后)会看到 **只读** 建议。以下示例代码演示了如何使用 Aspose.Slides 在 Python 中将演示文稿设置为 **只读**: ```py import aspose.slides as slides @@ -28,8 +37,27 @@ with slides.Presentation() as pres: pres.save("ReadOnlyPresentation.pptx", slides.export.SaveFormat.PPTX) ``` + {{% alert color="primary" %}} -**注意**:**只读**建议仅旨在阻止编辑或防止用户意外更改PowerPoint演示文稿。如果一个有动机的人——知道他们在做什么——决定编辑您的演示文稿,他们可以轻松移除只读设置。如果您确实需要防止未经授权的编辑,您最好使用[涉及加密和密码的更严格保护措施](https://docs.aspose.com/slides/python-net/password-protected-presentation/)。 +**注意**:**只读** 建议仅用于劝阻编辑或防止用户对 PowerPoint 演示文稿进行意外更改。如果有动机且懂行的人决定编辑您的演示文稿,他们可以轻松移除只读设置。如果您确实需要防止未授权编辑,最好使用[更严格的加密和密码保护](https://docs.aspose.com/slides/python-net/password-protected-presentation/)。 + +{{% /alert %}} + +## **FAQ** + +**“只读建议”与完整密码保护有何区别?** + +“只读建议”仅显示以只读模式打开文件的提示,易于绕过。[密码保护](/slides/zh/python-net/password-protected-presentation/) 实际限制打开或编辑,当您需要真正的安全控制时更为合适。 + +**“只读建议”可以与水印结合使用以进一步阻止编辑吗?** + +可以。该建议可以与[水印](/slides/zh/python-net/watermark/) 配合使用,作为视觉阻慑;它们是独立机制,能够很好地协同工作。 + +**启用建议后,宏或外部工具仍能修改文件吗?** + +可以。该建议不会阻止程序化更改。如需防止自动化编辑,请使用[密码和加密](/slides/zh/python-net/password-protected-presentation/)。 + +**“只读建议”与标志 `is_encrypted` 和 `is_write_protected` 有何关联?** -{{% /alert %}} \ No newline at end of file +它们是不同的信号。“只读建议”是软性、可选的提示;[is_write_protected](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_write_protected/) 和 [is_encrypted](https://reference.aspose.com/slides/python-net/aspose.slides/protectionmanager/is_encrypted/) 表示实际的写入或读取限制,取决于密码或加密。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-security/watermark/_index.md b/zh/python-net/developer-guide/presentation-security/watermark/_index.md index 2b95a3d3b8..57938e01e4 100644 --- a/zh/python-net/developer-guide/presentation-security/watermark/_index.md +++ b/zh/python-net/developer-guide/presentation-security/watermark/_index.md @@ -6,8 +6,8 @@ weight: 40 url: /zh/python-net/watermark/ keywords: - 水印 -- 文本水印 -- 图像水印 +- 文字水印 +- 图片水印 - 添加水印 - 更改水印 - 移除水印 @@ -26,31 +26,30 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解如何在 Python 中管理 PowerPoint 和 OpenDocument 演示文稿中的文本和图像水印,以指示草稿、机密信息、版权等。" +description: "了解如何在 Python 中管理 PowerPoint 和 OpenDocument 演示文稿的文字和图片水印,以标示草稿、机密信息、版权等。" --- ## **关于水印** -**水印**在演示文稿中是用在幻灯片或所有幻灯片上的文本或图像印记。通常,水印用于指示演示文稿是草稿(例如,“草稿”水印),包含机密信息(例如,“机密”水印),指定所属公司(例如,“公司名称”水印),识别演示文稿作者等。水印有助于防止版权侵犯,表明演示文稿不应被复制。水印在PowerPoint和OpenOffice演示文稿格式中均被使用。在Aspose.Slides中,您可以向PowerPoint PPT、PPTX和OpenOffice ODP文件格式添加水印。 +**水印**是演示文稿中用于单张幻灯片或整个演示文稿的文字或图像印记。通常,水印用于表示演示文稿是草稿(例如“Draft”水印),包含机密信息(例如“Confidential”水印),指明所属公司(例如“Company Name”水印),标识演示文稿作者等。水印通过表明演示文稿不应被复制,帮助防止版权侵权。水印可用于 PowerPoint 和 OpenOffice 两种演示文稿格式。使用 Aspose.Slides,您可以向 PowerPoint PPT、PPTX 和 OpenOffice ODP 文件格式添加水印。 -在[**Aspose.Slides**](https://products.aspose.com/slides/python-net/)中,您可以通过多种方式在PowerPoint或OpenOffice文档中创建水印并修改其设计和行为。共同的方面是,添加文本水印时,应该使用[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)类,而添加图像水印时,使用[PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/)类或用图像填充水印形状。`PictureFrame`实现了[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)类,使您可以使用形状对象的所有灵活设置。由于`TextFrame`不是形状,其设置有限,因此将其封装在[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/)对象中。 +在 [**Aspose.Slides**](https://products.aspose.com/slides/python-net/) 中,有多种方式可以在 PowerPoint 或 OpenOffice 文档中创建水印并修改其设计和行为。共通点是,添加文字水印应使用 [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) 类,添加图片水印则使用 [PictureFrame](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframe/) 类或将图片填充到水印形状。`PictureFrame` 实现了 [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 类,您可以使用形状对象的全部灵活设置。由于 `TextFrame` 不是形状且设置受限,它被包装进一个 [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 对象。 -水印可以有两种应用方式:应用于单个幻灯片或所有演示幻灯片。幻灯片母版用于将水印应用于所有演示幻灯片——水印添加到幻灯片母版,在那里完全设计,并且应用于所有幻灯片,而不影响单独幻灯片上修改水印的权限。 +水印的使用方式有两种:应用于单张幻灯片或应用于所有幻灯片。使用幻灯片母版可以将水印应用于所有幻灯片——水印被添加到幻灯片母版上,在母版上完成全部设计后,会自动作用于所有幻灯片,而不会影响对单独幻灯片上水印的修改权限。 -水印通常被认为无法被其他用户编辑。为了防止水印(或更确切地说,水印的父形状)被编辑,Aspose.Slides提供了形状锁定功能。可以在普通幻灯片或幻灯片母版上锁定特定形状。当水印形状在幻灯片母版上被锁定时,它将被锁定在所有演示幻灯片上。 +水印通常被视为不允许其他用户编辑。为防止水印(或更准确地说其父形状)被编辑,Aspose.Slides 提供了形状锁定功能。可以在普通幻灯片或幻灯片母版上锁定特定形状。当在幻灯片母版上锁定水印形状时,所有幻灯片上的该形状都会被锁定。 -您可以为水印设置一个名称,以便将来如果想删除它,可以通过名称在幻灯片的形状中找到它。 +您可以为水印设置名称,以便将来需要删除时,能够通过名称在幻灯片的形状集合中找到它。 -您可以以任何方式设计水印;然而,水印通常具有一些共同特征,例如居中对齐、旋转、前置等。我们将在下面的示例中考虑如何使用这些特征。 +水印的设计方式多种多样;不过,水印通常具备居中、旋转、前置等共通特性。下面的示例将演示如何使用这些特性。 -## **文本水印** +## **文字水印** -### **向幻灯片添加文本水印** - -要在PPT、PPTX或ODP中添加文本水印,您可以首先向幻灯片添加一个形状,然后向这个形状添加文本框。文本框由[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)类表示。该类型不继承自[Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/),后者具有一套广泛的定位水印的属性。因此,[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/)对象被包装在[AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)对象中。要将水印文本添加到形状,请使用[add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str)方法,如下所示。 +### **向幻灯片添加文字水印** +要在 PPT、PPTX 或 ODP 中添加文字水印,首先向幻灯片添加一个形状,然后在该形状上添加文本框。文本框由 [TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) 类表示。该类型未继承自 [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/),后者提供了丰富的属性用于灵活定位水印。因此,[TextFrame](https://reference.aspose.com/slides/python-net/aspose.slides/textframe/) 对象被包装在一个 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) 对象中。要向形状添加水印文字,请使用如下所示的 [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) 方法。 ```py -watermark_text = "机密" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: slide = presentation.slides[0] @@ -59,16 +58,16 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -{{% alert color="primary" title="另见" %}} -- [如何使用TextFrame类](/slides/zh/python-net/text-formatting/) -{{% /alert %}} -### **向演示文稿添加文本水印** +{{% alert color="primary" title="另请参阅" %}} +- [如何使用 TextFrame 类](/slides/zh/python-net/text-formatting/) +{{% /alert %}} -如果您想将文本水印添加到整个演示文稿(即所有幻灯片一次添加),请将其添加到[MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/)。其余逻辑与向单个幻灯片添加水印相同——创建一个[AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/)对象,然后使用[add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str)方法将水印添加到它上面。 +### **向演示文稿添加文字水印** +如果要为整个演示文稿(即一次性为所有幻灯片)添加文字水印,请将其添加到 [MasterSlide](https://reference.aspose.com/slides/python-net/aspose.slides/masterslide/)。其余逻辑与向单张幻灯片添加水印相同——创建一个 [AutoShape](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/) 对象,然后使用 [add_text_frame](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/add_text_frame/#str) 方法将水印添加进去。 ```py -watermark_text = "机密" +watermark_text = "CONFIDENTIAL" with Presentation() as presentation: master_slide = presentation.masters[0] @@ -77,33 +76,33 @@ with Presentation() as presentation: watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -{{% alert color="primary" title="另见" %}} -- [如何使用幻灯片母版](/slides/zh/python-net/slide-master/) + +{{% alert color="primary" title="另请参阅" %}} +- [如何使用 幻灯片母版](/slides/zh/python-net/slide-master/) {{% /alert %}} ### **设置水印形状透明度** -默认情况下,矩形形状带有填充和线条颜色。以下代码行使形状透明。 - +默认情况下,矩形形状带有填充颜色和线条颜色。以下代码行将形状设为透明。 ```py watermark_shape.fill_format.fill_type = FillType.NO_FILL watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL ``` -### **设置文本水印的字体** -您可以如下面所示更改文本水印的字体。 +### **设置文字水印的字体** +您可以按如下方式更改文字水印的字体。 ```py text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format text_format.latin_font = FontData("Arial") text_format.font_height = 50 ``` -### **设置水印文本颜色** -要设置水印文本的颜色,请使用以下代码: +### **设置水印文字颜色** +要设置水印文字的颜色,请使用以下代码: ```py alpha = 150 red = 200 @@ -115,10 +114,10 @@ fill_format.fill_type = FillType.SOLID fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue) ``` -### **居中对齐文本水印** -可以将水印居中放置在幻灯片上,为此,您可以执行以下操作: +### **居中文字水印** +可以将水印在幻灯片上居中,操作如下: ```py slide_size = presentation.slide_size.size @@ -133,16 +132,16 @@ watermark_shape = slide.shapes.add_auto_shape( watermark_frame = watermark_shape.add_text_frame(watermark_text) ``` -下图显示了最终结果。 -![文本水印](text_watermark.png) +下面的图片展示了最终效果。 -## **图像水印** +![文字水印](text_watermark.png) -### **向演示文稿添加图像水印** +## **图片水印** -要向演示文稿幻灯片添加图像水印,您可以执行以下操作: +### **向演示文稿添加图片水印** +要向演示文稿幻灯片添加图片水印,您可以按以下方式操作: ```py with open("watermark.png", "rb") as image_stream: image = presentation.images.add_image(image_stream.read()) @@ -152,10 +151,10 @@ with open("watermark.png", "rb") as image_stream: watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH ``` -## **锁定水印以防编辑** -如果需要防止水印被编辑,请使用形状上的[AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/)属性。使用此属性,您可以保护形状,防止其被选择、调整大小、重新定位、与其他元素组合、锁定其文本编辑等: +## **锁定水印以防编辑** +如果需要防止水印被编辑,请在形状上使用 [AutoShape.auto_shape_lock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/auto_shape_lock/) 属性。使用该属性,您可以防止形状被选中、调整大小、重新定位、与其他元素组合、锁定其文本编辑等: ```py # 锁定水印形状以防修改 watermark_shape.auto_shape_lock.select_locked = True @@ -165,37 +164,37 @@ watermark_shape.auto_shape_lock.position_locked = True watermark_shape.auto_shape_lock.grouping_locked = True ``` -## **将水印置于前面** -在Aspose.Slides中,可以通过[ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape)方法设置形状的Z顺序。为此,您需要从演示文稿幻灯片列表中调用此方法,并将形状引用及其顺序号传递给该方法。这样,可以将形状置于幻灯片的前面或发送到后面。此功能在您需要将水印放置在演示文稿前面时尤其有用: +## **将水印置于前面** +在 Aspose.Slides 中,可通过 [ShapeCollection.reorder](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/reorder/#int-ishape) 方法设置形状的 Z 顺序。要实现此功能,需要从演示文稿的幻灯片列表中调用该方法,并将形状引用及其顺序号传入。这样即可将形状置于前面或发送到幻灯片的后面。当需要将水印放在演示文稿的最前面时,此功能尤为实用: ```py shape_count = len(slide.shapes) slide.shapes.reorder(shape_count - 1, watermark_shape) ``` -## **设置水印旋转** -以下是一个代码示例,演示如何调整水印的旋转,使其在幻灯片上斜放: +## **设置水印旋转** +下面的代码示例演示如何调整水印的旋转角度,使其在幻灯片上呈对角线位置: ```py diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi watermark_shape.rotation = float(diagonal_angle) ``` -## **为水印设置名称** -Aspose.Slides允许您设置形状的名称。通过使用形状名称,您可以在将来访问它以修改或删除它。要设置水印形状的名称,请将其分配给[AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/)属性: +## **为水印设置名称** +Aspose.Slides 允许为形状设置名称。通过形状名称,您可以在以后访问并修改或删除该形状。要为水印形状设置名称,请将其赋值给 [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) 属性: ```py watermark_shape.name = "watermark" ``` -## **删除水印** -要删除水印形状,请使用[AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/)方法在幻灯片形状中找到它。然后,将水印形状传递给[ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape)方法: +## **移除水印** +要移除水印形状,请使用 [AutoShape.name](https://reference.aspose.com/slides/python-net/aspose.slides/autoshape/name/) 方法在幻灯片的形状集合中找到它,然后将该形状传入 [ShapeCollection.remove](https://reference.aspose.com/slides/python-net/aspose.slides/shapecollection/remove/#ishape) 方法: ```py slide_shapes = list(slide.shapes) for shape in slide_shapes: @@ -203,8 +202,35 @@ for shape in slide_shapes: slide.shapes.remove(watermark_shape) ``` -## **一个示例** -您可能想要查看**Aspose.Slides免费**的[添加水印](https://products.aspose.app/slides/watermark)和[删除水印](https://products.aspose.app/slides/watermark/remove-watermark)在线工具。 +## **实时示例** + +您可以尝试使用 **Aspose.Slides 免费**的在线工具 [Add Watermark](https://products.aspose.app/slides/watermark) 和 [Remove Watermark](https://products.aspose.app/slides/watermark/remove-watermark)。 + +![在线添加和移除水印工具](online_tools.png) + +## **常见问题** + +**什么是水印,为什么要使用它?** + +水印是叠加在幻灯片上的文字或图像,用于保护知识产权、提升品牌识别度或防止演示文稿被未授权使用。 + +**我能为演示文稿的所有幻灯片添加水印吗?** + +可以,Aspose.Slides 允许您为演示文稿的每一张幻灯片添加水印。您可以遍历所有幻灯片并逐个应用水印设置。 + +**如何调整水印的透明度?** + +您可以通过修改形状的填充设置([FillFormat](https://reference.aspose.com/slides/python-net/aspose.slides/fillformat/))来调整水印的透明度。这样可以让水印保持淡化,不会干扰幻灯片内容。 + +**支持哪些图片格式作为水印?** + +Aspose.Slides 支持多种图片格式,如 PNG、JPEG、GIF、BMP、SVG 等。 + +**我可以自定义文字水印的字体和样式吗?** + +可以,您可以选择任意字体、字号和样式,以匹配演示文稿的设计并保持品牌一致性。 + +**如何更改水印的位置或方向?** -![在线工具以添加和删除水印](online_tools.png) \ No newline at end of file +您可以通过修改 [shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 的坐标、大小和旋转属性来调整水印的位置和方向。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md b/zh/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md index dd88355514..ffb7e333d3 100644 --- a/zh/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md +++ b/zh/python-net/developer-guide/presentation-slide/access-slide-in-presentation/_index.md @@ -1,96 +1,111 @@ --- -title: 在演示文稿中访问幻灯片 +title: 使用 Python 访问演示文稿中的幻灯片 +linktitle: 访问幻灯片 type: docs weight: 20 url: /zh/python-net/access-slide-in-presentation/ -keywords: "访问 PowerPoint 演示文稿,访问幻灯片,编辑幻灯片属性,改变幻灯片位置,设置幻灯片编号,索引,ID,位置 Python,Aspose.Slides" -description: "通过索引、ID 或位置在 Python 中访问 PowerPoint 幻灯片。编辑幻灯片属性" +keywords: +- 访问幻灯片 +- 幻灯片索引 +- 幻灯片 ID +- 幻灯片位置 +- 更改位置 +- 幻灯片属性 +- 幻灯片编号 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解如何使用 Aspose.Slides for Python(via .NET)在 PowerPoint 和 OpenDocument 演示文稿中访问和管理幻灯片。通过代码示例提升生产力。" --- -Aspose.Slides 允许您通过两种方式访问幻灯片:通过索引和通过 ID。 +## **概述** + +本文介绍如何使用 Aspose.Slides for Python 访问 PowerPoint 演示文稿中的特定幻灯片。它展示了如何打开演示文稿、通过索引或唯一 ID 引用幻灯片,以及读取在文件中进行导航所需的基本幻灯片信息。通过这些技术,您可以可靠地定位要检查或处理的确切幻灯片。 ## **按索引访问幻灯片** -演示文稿中的所有幻灯片按幻灯片位置的数字顺序排列,从 0 开始。第一张幻灯片通过索引 0 访问;第二张幻灯片通过索引 1 访问;以此类推。 +演示文稿中的幻灯片按位置索引,起始索引为 0。第一张幻灯片的索引为 0,第二张的索引为 1,以此类推。 -表示演示文稿文件的 Presentation 类将所有幻灯片暴露为 [ISlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/islidecollection/) 集合([ISlide](https://reference.aspose.com/slides/python-net/aspose.slides/islide/) 对象的集合)。以下 Python 代码展示了如何通过其索引访问一张幻灯片: +[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类(表示演示文稿文件)通过 [SlideCollection](https://reference.aspose.com/slides/python-net/aspose.slides/slidecollection/) 包含的 [Slide](https://reference.aspose.com/slides/python-net/aspose.slides/slide/) 对象公开幻灯片。 +下面的 Python 代码演示如何按索引访问幻灯片: ```python import aspose.slides as slides -# 实例化一个表示演示文稿文件的 Presentation 对象 -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # 通过索引获取幻灯片的引用 +# 创建一个表示演示文稿文件的 Presentation。 +with slides.Presentation("sample.pptx") as presentation: + # 按索引获取幻灯片。 slide = presentation.slides[0] ``` + ## **按 ID 访问幻灯片** -演示文稿中的每张幻灯片都有一个唯一的 ID 与之关联。您可以使用 `get_slide_by_id(id)` 方法(由 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类暴露)来定位该 ID。以下 Python 代码展示了如何提供有效的幻灯片 ID 并通过 `get_slide_by_id(id)` 方法访问该幻灯片: +演示文稿中的每张幻灯片都有唯一的 ID。您可以使用 [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) 方法(由 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类公开)来定位该 ID。 +下面的 Python 代码演示如何提供有效的幻灯片 ID 并通过 [get_slide_by_id](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/get_slide_by_id/) 方法访问该幻灯片: ```python import aspose.slides as slides -# 实例化一个表示演示文稿文件的 Presentation 对象 -with slides.Presentation(path + "AccessSlides.pptx") as presentation: - # 获取幻灯片 ID +# 创建一个表示演示文稿文件的 Presentation。 +with slides.Presentation("sample.pptx") as presentation: + # 获取幻灯片 ID。 id = presentation.slides[0].slide_id - # 通过其 ID 访问幻灯片 + # 通过 ID 访问幻灯片。 slide = presentation.get_slide_by_id(id) ``` -## **改变幻灯片位置** -Aspose.Slides 允许您改变幻灯片的位置。例如,您可以指定第一张幻灯片应成为第二张幻灯片。 +## **更改幻灯片的位置** -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 通过索引获取要改变位置的幻灯片的引用。 -1. 通过 `slide_number` 属性设置幻灯片的新位置。 -1. 保存修改后的演示文稿。 +Aspose.Slides 允许您更改幻灯片的位置。例如,您可以将第一张幻灯片变为第二张。 -以下 Python 代码演示了一个操作,其中位置为 1 的幻灯片被移动到位置 2: +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 通过索引获取要更改位置的幻灯片的引用。 +1. 通过 [slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/slide/slide_number/) 属性为幻灯片设置新位置。 +1. 保存修改后的演示文稿。 +下面的 Python 代码将位置 1 的幻灯片移动到位置 2: ```python import aspose.slides as slides -# 实例化一个表示演示文稿文件的 Presentation 对象 -with slides.Presentation(path + "ChangePosition.pptx") as pres: - # 获取将要改变位置的幻灯片 - sld = pres.slides[0] - # 设置幻灯片的新位置 - sld.slide_number = 2 - # 保存修改后的演示文稿 - pres.save("Aspose_out.pptx", slides.export.SaveFormat.PPTX) +# 实例化一个表示演示文稿文件的 Presentation 对象。 +with slides.Presentation("sample.pptx") as presentation: + # 获取将要更改位置的幻灯片。 + slide = presentation.slides[0] + # 为幻灯片设置新的位置。 + slide.slide_number = 2 + # 保存修改后的演示文稿。 + presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -第一张幻灯片成为了第二张;第二张幻灯片成为了第一张。当您改变幻灯片位置时,其他幻灯片会自动调整。 + +第一张幻灯片变为第二张;第二张幻灯片变为第一张。当您更改幻灯片的位置时,其他幻灯片会自动调整。 ## **设置幻灯片编号** -通过 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类暴露的 `first_slide_number` 属性,您可以为演示文稿中的第一张幻灯片指定一个新编号。此操作会导致其他幻灯片编号重新计算。 +使用由 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类公开的 [first_slide_number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) 属性,您可以为演示文稿的第一张幻灯片指定新的编号。此操作会重新计算其他幻灯片的编号。 -1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 -1. 获取幻灯片编号。 -1. 设置幻灯片编号。 +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 设置幻灯片编号。 1. 保存修改后的演示文稿。 -以下 Python 代码演示了一个操作,其中第一张幻灯片的编号被设置为 10: - +下面的 Python 代码演示将第一张幻灯片的编号设置为 10 的操作: ```python import aspose.slides as slides -# 实例化一个表示演示文稿文件的 Presentation 对象 -with slides.Presentation(path + "HelloWorld.pptx") as presentation: - # 获取幻灯片编号 - firstSlideNumber = presentation.first_slide_number - # 设置幻灯片编号 +# 实例化一个表示演示文稿文件的 Presentation 对象。 +with slides.Presentation("sample.pptx") as presentation: + # 设置幻灯片编号。 presentation.first_slide_number = 10 - # 保存修改后的演示文稿 - presentation.save("Set_Slide_Number_out.pptx", slides.export.SaveFormat.PPTX) + # 保存修改后的演示文稿。 + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) ``` -如果您想跳过第一张幻灯片,可以从第二张幻灯片开始编号(并隐藏第一张幻灯片的编号),可以这样实现: +如果您希望跳过第一张幻灯片,可以从第二张幻灯片开始编号(并隐藏第一张幻灯片的编号),如下所示: ```python import aspose.slides as slides @@ -100,15 +115,30 @@ with slides.Presentation() as presentation: presentation.slides.add_empty_slide(layout_slide) presentation.slides.add_empty_slide(layout_slide) - # 设置演示文稿第一张幻灯片的编号 + # 设置演示文稿中第一张幻灯片的编号。 presentation.first_slide_number = 0 - # 显示所有幻灯片的编号 + # 为所有幻灯片显示幻灯片编号。 presentation.header_footer_manager.set_all_slide_numbers_visibility(True) - # 隐藏第一张幻灯片的编号 + # 隐藏第一张幻灯片的幻灯片编号。 presentation.slides[0].header_footer_manager.set_slide_number_visibility(False) - # 保存修改后的演示文稿 - presentation.save("output.pptx", slides.export.SaveFormat.PPTX) -``` \ No newline at end of file + # 保存修改后的演示文稿。 + presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **常见问题** + +**用户看到的幻灯片编号是否与集合的零基索引匹配?** + +幻灯片上显示的编号可以从任意值开始(例如 10),并不必与索引匹配;此关系由演示文稿的 [first slide number](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/first_slide_number/) 设置控制。 + +**隐藏的幻灯片会影响索引吗?** + +会。隐藏的幻灯片仍然保留在集合中并计入索引;“隐藏”指的是显示状态,而不是在集合中的位置。 + +**当添加或删除其他幻灯片时,幻灯片的索引会改变吗?** + +会。索引始终反映当前的幻灯片顺序,并在插入、删除和移动操作后重新计算。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-slide/compare-slides/_index.md b/zh/python-net/developer-guide/presentation-slide/compare-slides/_index.md index a7f53920ad..2568e14144 100644 --- a/zh/python-net/developer-guide/presentation-slide/compare-slides/_index.md +++ b/zh/python-net/developer-guide/presentation-slide/compare-slides/_index.md @@ -1,17 +1,24 @@ --- -title: 比较幻灯片 +title: 在 Python 中比较演示文稿幻灯片 +linktitle: 比较幻灯片 type: docs weight: 50 url: /zh/python-net/compare-slides/ -keywords: "比较 PowerPoint 幻灯片, 比较两张幻灯片, 演示文稿, Python, Aspose.Slides" -description: "在 Python 中比较 PowerPoint 演示文稿幻灯片" +keywords: +- 比较幻灯片 +- 幻灯片比较 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "使用 Aspose.Slides for Python via .NET 以编程方式比较 PowerPoint 和 OpenDocument 演示文稿。快速在代码中识别幻灯片差异。" --- -## **比较两张幻灯片** -Equals 方法已添加到 [IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) 接口和 [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/) 类中。对于结构和静态内容相同的幻灯片/布局和幻灯片/母版幻灯片,它返回 true。 - -如果所有形状、样式、文本、动画和其他设置等都相等,则两张幻灯片是相等的。比较不考虑唯一标识符值,例如 SlideId 和动态内容,例如日期占位符中的当前日期值。 +## **比较两个幻灯片** +已在[IBaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/ibaseslide/) 接口和 [BaseSlide](https://reference.aspose.com/slides/python-net/aspose.slides/baseslide/) 类中添加了 Equals 方法。该方法在结构和静态内容相同的幻灯片/布局和母版幻灯片上返回 true。 +当所有形状、样式、文本、动画及其他设置等全部相同,两个幻灯片被视为相等。比较时不考虑唯一标识符值,例如 SlideId,以及动态内容,例如日期占位符中的当前日期值。 ```py import aspose.slides as slides @@ -20,5 +27,20 @@ with slides.Presentation(path + "AccessSlides.pptx") as p1: for i in range(len(p1.masters)): for j in range(len(p2.masters)): if p1.masters[i] == p2.masters[j]: - print("演示文稿1 的母版幻灯片#{0} 等于 演示文稿2 的母版幻灯片#{1}".format(i,j)) -``` \ No newline at end of file + print("Presentation1 MasterSlide#{0} is equal to Presentation2 MasterSlide#{1}".format(i,j)) +``` + + +## **常见问题** + +**幻灯片被隐藏是否会影响对幻灯片本身的比较?** + +[Hidden status](https://reference.aspose.com/slides/python-net/aspose.slides/slide/hidden/) 是演示/播放层面的属性,而不是视觉内容。两个特定幻灯片的相等性由其结构和静态内容决定;仅仅因为幻灯片被隐藏并不会使它们不同。 + +**超链接及其参数是否被考虑?** + +是的。链接是幻灯片的静态内容的一部分。如果 URL 或超链接操作不同,通常被视为静态内容的差异。 + +**如果图表引用外部 Excel 文件,是否会考虑该文件的内容?** + +不会。比较是基于幻灯片本身进行的。外部数据源通常不会在比较时读取;仅考虑幻灯片结构和静态状态中存在的内容。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/presentation-via-vba/_index.md b/zh/python-net/developer-guide/presentation-via-vba/_index.md index 49233e7b12..825bc5632b 100644 --- a/zh/python-net/developer-guide/presentation-via-vba/_index.md +++ b/zh/python-net/developer-guide/presentation-via-vba/_index.md @@ -1,6 +1,6 @@ --- -title: 在 Python 中管理演示文稿中的 VBA 项目 -linktitle: 通过 VBA 管理演示文稿 +title: 使用 Python 管理演示文稿中的 VBA 项目 +linktitle: 通过 VBA 的演示文稿 type: docs weight: 250 url: /zh/python-net/presentation-via-vba/ @@ -9,117 +9,171 @@ keywords: - VBA - VBA 宏 - 添加宏 -- 移除宏 +- 删除宏 - 提取宏 - 添加 VBA -- 移除 VBA +- 删除 VBA - 提取 VBA - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "了解如何使用适用于 .NET 的 Aspose.Slides for Python 通过 VBA 生成和操作 PowerPoint 与 OpenDocument 演示文稿,从而简化工作流程。" +description: "了解如何使用 Aspose.Slides for Python via .NET 通过 VBA 生成和操作 PowerPoint 与 OpenDocument 演示文稿,以简化工作流。" --- -[Aspose.Slides.Vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/)命名空间包含用于处理宏和VBA代码的类和接口。 +## **概述** -{{% alert title="注意" color="warning" %}} +本文探讨了 Aspose.Slides for Python via .NET 在 PowerPoint 演示文稿中处理宏的关键功能。该库提供了便捷的工具用于添加、删除和提取宏,使您能够自动化演示文稿的创建和修改。 -当您将包含宏的演示文稿转换为其他文件格式(PDF,HTML等)时,Aspose.Slides会忽略所有宏(宏不会被带入生成的文件中)。 +使用 Aspose.Slides,您可以: -当您将宏添加到演示文稿或重新保存包含宏的演示文稿时,Aspose.Slides只会写入宏的字节。 +- 加快演示文稿开发——自动化常规任务可减少准备材料所需的时间。 +- 确保灵活性——管理宏的能力使您能够根据特定任务和场景定制演示文稿。 +- 集成数据——与外部数据源的简易集成帮助保持幻灯片内容的最新。 +- 简化维护——集中式宏管理使应用更改和更新演示文稿更加容易。 -Aspose.Slides **从不** 执行演示文稿中的宏。 +本文随后提供了使用 Aspose.Slides 在 PowerPoint 中有效处理宏的实际示例。 +aspose.slides.vba 命名空间提供了用于处理宏和 VBA 代码的类。[aspose.slides.vba](https://reference.aspose.com/slides/python-net/aspose.slides.vba/) + +{{% alert title="Note" color="warning" %}} +当您将包含宏的演示文稿转换为其他格式(PDF、HTML 等)时,Aspose.Slides 会忽略宏——它们不会传输到输出文件中。 + +当您向演示文稿添加宏或重新保存包含宏的演示文稿时,Aspose.Slides 会原样写入宏字节。 + +Aspose.Slides **永不** 在演示文稿中执行宏。 {{% /alert %}} -## **添加VBA宏** +## **添加 VBA 宏** -Aspose.Slides提供了[VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/)类,允许您创建VBA项目(和项目引用)并编辑现有模块。您可以使用[IVbaProject](https://reference.aspose.com/slides/net/aspose.slides.vba/ivbaproject/)接口来管理嵌入演示文稿中的VBA。 +Aspose.Slides 提供了 [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) 类,用于创建 VBA 项目(以及项目引用)并编辑现有模块。 -1. 创建[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类的实例。 -1. 使用[VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors)构造函数添加新的VBA项目。 -1. 向VbaProject添加一个模块。 -1. 设置模块源代码。 -1. 添加对的引用。 -1. 添加对**Microsoft Office**的引用。 -1. 将引用与VBA项目关联。 +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 +1. 使用 [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/#constructors) 构造函数添加新的 VBA 项目。 +1. 向 VBA 项目添加模块。 +1. 设置模块的源代码。 +1. 添加对 `` 的引用。 +1. 添加对 **Microsoft Office** 的引用。 +1. 将这些引用关联到 VBA 项目。 1. 保存演示文稿。 -以下Python代码演示如何从零开始向演示文稿添加VBA宏: - +以下 Python 代码展示了如何从头向演示文稿添加 VBA 宏: ```python import aspose.slides as slides -# 创建演示文稿类的实例 +# 创建 Presentation 类的实例。 with slides.Presentation() as presentation: - # 创建一个新的VBA项目 + + # 创建一个新的 VBA 项目。 presentation.vba_project = slides.vba.VbaProject() - # 向VBA项目添加一个空模块 + # 向 VBA 项目添加一个空模块。 module = presentation.vba_project.modules.add_empty_module("Module") - - # 设置模块源代码 - module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub" - # 创建对的引用 - stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") + # 设置模块的源代码。 + module.source_code = """ + Sub Test(oShape As Shape) + MsgBox "Hello, world!" + End Sub + """ - # 创建对Office的引用 - officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") + # 创建对 的引用。 + stdole_reference = slides.vba.VbaReferenceOleTypeLib("stdole", + "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation") - # 向VBA项目添加引用 - presentation.vba_project.references.add(stdoleReference) - presentation.vba_project.references.add(officeReference) + # 创建对 Microsoft Office 的引用。 + office_reference = slides.vba.VbaReferenceOleTypeLib("Office", + "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library") - - # 保存演示文稿 - presentation.save("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) -``` + # 将引用添加到 VBA 项目。 + presentation.vba_project.references.add(stdole_reference) + presentation.vba_project.references.add(office_reference) -{{% alert color="primary" %}} + # 保存演示文稿。 + presentation.save("macros.pptm", slides.export.SaveFormat.PPTM) +``` -您可能想查看**Aspose**的[宏移除器](https://products.aspose.app/slides/remove-macros),这是一个用于从PowerPoint、Excel和Word文档中移除宏的免费网络应用程序。 -{{% /alert %}} +{{% alert color="primary" %}} +您可能想尝试 **Aspose** [Macro Remover](https://products.aspose.app/slides/remove-macros),这是一款用于从 PowerPoint、Excel 和 Word 文档中删除宏的免费网络应用。 +{{% /alert %}} -## **删除VBA宏** +## **删除 VBA 宏** -使用[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类下的[VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.presentation/#properties)属性,您可以删除VBA宏。 +使用 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的 [vba_project](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/vba_project/) 属性,您可以删除 VBA 宏。 -1. 创建[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类的实例并加载包含宏的演示文稿。 +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例并加载包含宏的演示文稿。 1. 访问宏模块并将其删除。 1. 保存修改后的演示文稿。 -以下Python代码演示如何删除VBA宏: - +以下 Python 代码展示了如何删除 VBA 宏: ```python import aspose.slides as slides -# 加载包含宏的演示文稿 -with slides.Presentation(path + "VBA.pptm") as presentation: - # 访问Vba模块并将其删除 - presentation.vba_project.modules.remove(presentation.vba_project.modules[0]) +# 加载包含宏的演示文稿。 +with slides.Presentation("VBA.pptm") as presentation: + + # 访问 VBA 模块。 + vba_module = presentation.vba_project.modules[0] - # 保存演示文稿 - presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM) + # 删除 VBA 模块。 + presentation.vba_project.modules.remove(vba_module) + + # 保存演示文稿。 + presentation.save("removed_macro.pptm", slides.export.SaveFormat.PPTM) ``` -## **提取VBA宏** -1. 创建[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类的实例并加载包含宏的演示文稿。 -2. 检查演示文稿是否包含VBA项目。 -3. 循环遍历VBA项目中包含的所有模块以查看宏。 +## **提取 VBA 宏** + +使用 [VbaProject](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/) 类的 `modules` 属性,您可以访问 VBA 项目的所有模块。可使用 [VbaModule](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbamodule/) 类提取模块属性,如名称和代码。 -以下Python代码演示如何从包含宏的演示文稿中提取VBA宏: +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例并加载包含宏的演示文稿。 +1. 检查演示文稿是否包含 VBA 项目。 +1. 遍历 VBA 项目中的所有模块以查看宏。 +以下 Python 代码展示了如何从演示文稿中提取 VBA 宏: ```python import aspose.slides as slides -with slides.Presentation(path + "VBA.pptm") as pres: - if pres.vba_project is not None: # 检查演示文稿是否包含VBA项目 - for module in pres.vba_project.modules: +with slides.Presentation("VBA.pptm") as presentation: + # 检查演示文稿是否包含 VBA 项目。 + if presentation.vba_project is not None: + for module in presentation.vba_project.modules: print(module.name) print(module.source_code) -``` \ No newline at end of file +``` + + +## **检查 VBA 项目是否受密码保护** + +使用 [VbaProject.is_password_protected](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/is_password_protected/) 属性,您可以判断项目属性是否受密码保护。 + +1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例并加载包含宏的演示文稿。 +1. 检查演示文稿是否包含 [VBA project](https://reference.aspose.com/slides/python-net/aspose.slides.vba/vbaproject/)。 +1. 检查 VBA 项目是否受密码保护以查看其属性。 +```py +import aspose.slides as slides + +with slides.Presentation("VBA.pptm") as presentation: + # 检查演示文稿是否包含 VBA 项目。 + if presentation.vba_project is not None: + if presentation.vba_project.is_password_protected: + print(f"The VBA Project '{presentation.vba_project.name}' is protected by password to view project properties.") +``` + + +## **常见问题** + +**如果将演示文稿另存为 PPTX,宏会怎样?** + +宏会被移除,因为 PPTX 不支持 VBA。若要保留宏,请选择 PPTM、PPSM 或 POTM。 + +**Aspose.Slides 能否在演示文稿中运行宏,例如刷新数据?** + +不能。该库永不执行 VBA 代码;只能在 PowerPoint 中使用适当的安全设置时运行宏。 + +**是否支持使用与 VBA 代码关联的 ActiveX 控件?** + +是的,您可以访问现有的 [ActiveX controls](/slides/zh/python-net/activex/),修改其属性并将其移除。这在宏与 ActiveX 交互时非常有用。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md b/zh/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md index b76dd8dcb3..d35660b865 100644 --- a/zh/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md +++ b/zh/python-net/developer-guide/technical-articles/applying-protection-to-presentation/_index.md @@ -1,145 +1,135 @@ --- -title: 为演示文稿应用保护 +title: 使用形状锁在 Python 中防止演示文稿编辑 +linktitle: 防止演示文稿编辑 type: docs weight: 70 url: /zh/python-net/applying-protection-to-presentation/ +keywords: +- 防止编辑 +- 防止被编辑 +- 锁定形状 +- 锁定位置 +- 锁定选择 +- 锁定大小 +- 锁定分组 +- PowerPoint +- OpenDocument +- 演示文稿 +- Python +- Aspose.Slides +description: "了解 Aspose.Slides for Python via .NET 如何在 PPT、PPTX 和 ODP 文件中锁定或解锁形状,从而在确保演示文稿安全的同时,允许受控编辑并加快交付速度。" --- -{{% alert color="primary" %}} +## **背景** -Aspose.Slides 的一个常见用途是在自动化工作流中创建、更新和保存 Microsoft PowerPoint 2007(PPTX)演示文稿。以这种方式使用 Aspose.Slides 的应用程序用户可以访问输出演示文稿。保护这些演示文稿不被编辑是一个常见问题。自动生成的演示文稿保持其原始格式和内容是很重要的。 +Aspose.Slides 的常见用途是作为自动化工作流的一部分,创建、更新并保存 Microsoft PowerPoint (PPTX) 演示文稿。使用 Aspose.Slides 的应用程序的用户可以访问生成的演示文稿,因此保护这些文稿不被编辑是一个常见的关注点。确保自动生成的演示文稿保持其原始格式和内容非常重要。 -本文解释了[演示文稿和幻灯片是如何构建的](/slides/zh/python-net/applying-protection-to-presentation/),以及 Aspose.Slides for Python via .NET 如何[对演示文稿应用保护](/slides/zh/python-net/applying-protection-to-presentation/),然后[从演示文稿中移除保护](/slides/zh/python-net/applying-protection-to-presentation/)。此功能是 Aspose.Slides 独有的,并且在撰写本文时,尚不在 Microsoft PowerPoint 中提供。它为开发人员提供了一种控制其应用程序创建的演示文稿如何使用的方法。 +本文说明了演示文稿和幻灯片的结构,以及 Aspose.Slides for Python 如何对演示文稿应用保护并随后移除保护。它为开发者提供了一种控制其应用程序生成的演示文稿使用方式的方法。 -{{% /alert %}} ## **幻灯片的组成** -PPTX 幻灯片由多个组件组成,例如自动形状、表格、OLE 对象、组合形状、图片框、视频框、连接器和用于构建演示文稿的各种其他元素。 -在 Aspose.Slides for Python via .NET 中,幻灯片上的每个元素都被转换为 Shape 对象。换句话说,幻灯片上的每个元素要么是一个 Shape 对象,要么是从 Shape 对象派生的对象。 +演示文稿的幻灯片由自动形状、表格、OLE 对象、组合形状、图片框、视频框、连接线以及其他用于构建演示文稿的元素组成。在 Aspose.Slides for Python 中,幻灯片上的每个元素都由继承自 [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 类的对象表示。 -PPTX 的结构很复杂,因此与 PPT 不同,在 PPT 中可以对所有类型的形状使用通用锁,PPTX 中的不同形状类型有不同类型的锁。BaseShapeLock 类是通用的 PPTX 锁定类。Aspose.Slides for Python via .NET 支持以下类型的锁: +PPTX 的结构很复杂,因此不同于 PPT(在 PPT 中可以使用通用锁来锁定所有类型的形状),不同的形状类型需要不同的锁。[BaseShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/baseshapelock/) 类是 PPTX 的通用锁定类。Aspose.Slides for Python 在 PPTX 中支持以下类型的锁: -- AutoShapeLock 锁定自动形状。 -- ConnectorLock 锁定连接形状。 -- GraphicalObjectLock 锁定图形对象。 -- GroupshapeLock 锁定组合形状。 -- PictureFrameLock 锁定图片框。 +- [AutoShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/autoshapelock/) 锁定自动形状。 +- [ConnectorLock](https://reference.aspose.com/slides/python-net/aspose.slides/connectorlock/) 锁定连接线形状。 +- [GraphicalObjectLock](https://reference.aspose.com/slides/python-net/aspose.slides/graphicalobjectlock/) 锁定图形对象。 +- [GroupShapeLock](https://reference.aspose.com/slides/python-net/aspose.slides/groupshapelock/) 锁定组合形状。 +- [PictureFrameLock](https://reference.aspose.com/slides/python-net/aspose.slides/pictureframelock/) 锁定图片框。 + +对 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 对象中所有形状对象执行的任何操作都会应用于整个演示文稿。 -对演示文稿对象中的所有 Shape 对象执行的任何操作都将应用于整个演示文稿。 ## **应用和移除保护** -应用保护确保演示文稿无法被编辑。这是一种保护演示文稿内容的有效技术。 + +应用保护可确保演示文稿无法被编辑。这是一种保护演示文稿内容的有用技术。 + ### **对 PPTX 形状应用保护** -Aspose.Slides for Python via .NET 提供了 Shape 类来处理幻灯片上的形状。 -如前所述,每个形状类都有一个相关的形状锁类用于保护。本文重点介绍 NoSelect、NoMove 和 NoResize 锁。这些锁确保形状不能被选择(通过鼠标单击或其他选择方法),也不能被移动或调整大小。 +Aspose.Slides for Python 提供了用于在幻灯片上操作形状的 [Shape](https://reference.aspose.com/slides/python-net/aspose.slides/shape/) 类。 -以下代码示例将保护应用于演示文稿中的所有形状类型。 +如前所述,每个形状类都有对应的形状锁类用于保护。本文重点介绍 NoSelect、NoMove 和 NoResize 锁。这些锁确保形状不能被选中(通过鼠标点击或其他选取方式),且不能被移动或调整大小。 +以下代码示例对演示文稿中的所有形状类型应用保护。 ```py import aspose.slides as slides -# 实例化表示 PPTX 文件的 Presentation 类 -with slides.Presentation(path + "RectPicFrame.pptx") as pres: - # ISlide 对象用于访问演示文稿中的幻灯片 - slide = pres.slides[0] - - # 遍历演示文稿中的所有幻灯片 - for slide in pres.slides: +# 实例化表示 PPTX 文件的 Presentation 类。 +with slides.Presentation("Sample.pptx") as presentation: + # 遍历演示文稿中的所有幻灯片。 + for slide in presentation.slides: + # 遍历幻灯片中的所有形状。 for shape in slide.shapes: - # 如果形状是自动形状 if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - # 应用形状锁 - auto_shape_lock.position_locked = True - auto_shape_lock.select_locked = True - auto_shape_lock.size_locked = True - - # 如果形状是组合形状 + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - # 应用形状锁 - group_shape_lock.grouping_locked = True - group_shape_lock.position_locked = True - group_shape_lock.select_locked = True - group_shape_lock.size_locked = True - - # 如果形状是连接器 + shape.shape_lock.grouping_locked = True + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - # 应用形状锁 - connector_lock.position_move = True - connector_lock.select_locked = True - connector_lock.size_locked = True - # 如果形状是图片框 + shape.shape_lock.position_move = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True elif type(shape) is slides.PictureFrame: - # 类型转换为图片框形状并获取图片框形状锁 - picture_lock = shape.shape_lock - - # 应用形状锁 - picture_lock.position_locked = True - picture_lock.select_locked = True - picture_lock.size_locked = True - - # 保存演示文稿文件 - pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = True + shape.shape_lock.select_locked = True + shape.shape_lock.size_locked = True + # 保存演示文稿文件。 + presentation.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX) ``` ### **移除保护** -使用 Aspose.Slides for Python via .NET 应用的保护只能通过 Aspose.Slides for Python via .NET 移除。要解锁形状,请将应用的锁的值设置为 false。以下代码示例演示了如何在已锁定的演示文稿中解锁形状。 +要解锁形状,请将已应用锁的值设为 `False`。以下代码示例展示了如何在受锁定的演示文稿中解锁形状。 ```py import aspose.slides as slides -# 打开所需的演示文稿 -with slides.Presentation("ProtectedSample.pptx") as pres: - for slide in pres.slides: +# 实例化表示 PPTX 文件的 Presentation 类。 +with slides.Presentation("ProtectedSample.pptx") as presentation: + # 遍历演示文稿中的所有幻灯片。 + for slide in presentation.slides: + # 遍历幻灯片中的所有形状。 for shape in slide.shapes: - - if type(shape) is slides.AutoShape: - auto_shape_lock = shape.shape_lock - - # 应用形状锁 - auto_shape_lock.position_locked = False - auto_shape_lock.select_locked = False - auto_shape_lock.size_locked = False - - elif type(shape) is slides.GroupShape: - group_shape_lock = shape.shape_lock - - # 应用形状锁 - group_shape_lock.grouping_locked = False - group_shape_lock.position_locked = False - group_shape_lock.select_locked = False - group_shape_lock.size_locked = False + if type(shape) is slides.AutoShape: + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + elif type(shape) is slides.GroupShape: + shape.shape_lock.grouping_locked = False + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.Connector: - connector_lock = shape.shape_lock - - # 应用形状锁 - connector_lock.position_move = False - connector_lock.select_locked = False - connector_lock.size_locked = False + shape.shape_lock.position_move = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False elif type(shape) is slides.PictureFrame: - picture_lock = shape.shape_lock - - # 应用形状锁 - picture_lock.position_locked = False - picture_lock.select_locked = False - picture_lock.size_locked = False - # 保存演示文稿文件 - pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX) + shape.shape_lock.position_locked = False + shape.shape_lock.select_locked = False + shape.shape_lock.size_locked = False + # 保存演示文稿文件。 + presentation.save("RemovedProtectionSample.pptx", slides.export.SaveFormat.PPTX) ``` +### **结论** + +Aspose.Slides 提供了多种保护演示文稿中形状的选项。您可以锁定单个形状,或遍历演示文稿中的所有形状并逐一锁定,以有效保护整个文件。通过将锁的值设为 `False` 可以移除保护。 + +## **常见问题** + +**我能在同一演示文稿中同时使用形状锁和密码保护吗?** + +是的。锁定限制对文件内部对象的编辑,而 [password protection](/slides/zh/python-net/password-protected-presentation/) 控制对打开和/或保存更改的访问。这两种机制相互补充并协同工作。 -### **总结** -{{% alert color="primary" %}} +**我能在不影响其他幻灯片的情况下,仅限制特定幻灯片的编辑吗?** -Aspose.Slides 提供了多种选项用于为演示文稿中的形状应用保护。可以锁定特定形状,或遍历演示文稿中的所有形状并有效地锁定所有形状,以锁定演示文稿。 +是的。对选定幻灯片上的形状应用锁定;其余幻灯片仍保持可编辑。 -只有 Aspose.Slides for Python via .NET 可以从之前受保护的演示文稿中移除保护。通过将锁的值设置为 false 来移除保护。 +**形状锁是否适用于组合对象和连接线?** -{{% /alert %}} \ No newline at end of file +是的。支持针对组合、连接线、图形对象以及其他形状类型的专用锁定。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md b/zh/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md index 466a3fe22b..b50f1048c5 100644 --- a/zh/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md +++ b/zh/python-net/developer-guide/technical-articles/extracting-images-from-presentation-shapes/_index.md @@ -1,22 +1,32 @@ --- -title: 从演示文稿形状中提取图像 +title: 在 Python 中从演示文稿形状提取图像 +linktitle: 形状图片 type: docs weight: 90 url: /zh/python-net/extracting-images-from-presentation-shapes/ -keywords: "提取图像, PowerPoint, PPT, PPTX, PowerPoint 演示文稿, Python, Aspose.Slides for Python" -description: "在 Python 中从 PowerPoint 演示文稿中提取图像" +keywords: +- 提取图像 +- 检索图像 +- 幻灯片背景 +- 形状背景 +- PowerPoint +- 演示文稿 +- Python +- Aspose.Slides +description: "使用 Aspose.Slides for Python via .NET 从 PowerPoint 和 OpenDocument 演示文稿的形状中提取图像——快速、代码友好的解决方案。" --- +## **从形状中提取图像** + {{% alert color="primary" %}} -图像通常添加到形状中,并且经常用作幻灯片的背景。图像对象是通过 [IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/) 添加的,它是 [IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/) 对象的集合。 +图像经常被添加到形状中,也常用作幻灯片的背景。图像对象是通过[IImageCollection](https://reference.aspose.com/slides/python-net/aspose.slides/iimagecollection/)添加的,它是[IPPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ippimage/)对象的集合。 -本文解释了如何提取添加到演示文稿中的图像。 +本文介绍如何提取添加到演示文稿中的图像。 {{% /alert %}} -要从演示文稿中提取图像,您必须首先通过浏览每个幻灯片并然后浏览每个形状来定位图像。一旦找到或识别图像,您就可以提取它并将其保存为新文件。 XXX - +要从演示文稿中提取图像,必须先遍历每张幻灯片,然后遍历每个形状来定位图像。找到或识别出图像后,可以将其提取并保存为新文件。 XXX ```py import aspose.slides as slides @@ -54,7 +64,7 @@ with slides.Presentation("pres.pptx") as pres: is_layout = True if back_image is not None: - #设置所需的图片格式 + #设置所需图片格式 image_type = back_image.content_type.split("/")[1] image_format = get_image_format(image_type) @@ -78,4 +88,23 @@ with slides.Presentation("pres.pptx") as pres: shape_image.image.save( file_name.format("shape_"+str(i)+"_", slideIndex, image_type), image_format) -``` \ No newline at end of file +``` + + +## **常见问题** + +**我能提取原始图像而不进行任何裁剪、效果或形状转换吗?** + +是的。当您访问形状的图像时,会从演示文稿的[image collection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/)中获取图像对象,这意味着得到未经裁剪或样式效果处理的原始像素。工作流遍历演示文稿的图像集合以及[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)对象,这些对象存储原始数据。 + +**一次保存大量图像时是否有复制相同文件的风险?** + +是的,如果不加区分地保存所有图像。演示文稿的[image collection](https://reference.aspose.com/slides/python-net/aspose.slides/imagecollection/)可能包含被不同形状或幻灯片引用的相同二进制数据。为避免重复,写入前请比较提取数据的哈希、大小或内容。 + +**如何确定演示文稿集合中某个特定图像关联了哪些形状?** + +Aspose.Slides 不会存储从[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)到形状的反向链接。遍历时手动建立映射:每当发现对[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)的引用时,记录使用该图像的形状。 + +**我能提取嵌入在 OLE 对象(如附加文档)中的图像吗?** + +不能直接提取,因为 OLE 对象是一个容器。需要先提取 OLE 包本身,然后使用其他工具分析其内容。演示文稿的图片形状通过[PPImage](https://reference.aspose.com/slides/python-net/aspose.slides/ppimage/)工作;OLE 是不同的对象类型。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md b/zh/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md index 2c2b61fdcd..4588f3aa2f 100644 --- a/zh/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md +++ b/zh/python-net/developer-guide/technical-articles/get-the-entire-presentation-slide-background-as-an-image/_index.md @@ -1,5 +1,6 @@ --- -title: 获取整个演示文稿幻灯片背景作为图像 +title: 从演示文稿中获取完整幻灯片背景作为图像 +linktitle: 完整幻灯片背景 type: docs weight: 95 url: /zh/python-net/get-the-entire-presentation-slide-background-as-an-image/ @@ -7,28 +8,34 @@ keywords: - 幻灯片 - 背景 - 幻灯片背景 -- 背景转换为图像 +- 最终背景 +- 背景转图像 - PowerPoint +- OpenDocument +- 演示文稿 - PPT - PPTX -- PowerPoint 演示文稿 +- ODP - Python -- Aspose.Slides for Python +- Aspose.Slides +description: "使用 Aspose.Slides for Python 通过 .NET 从 PowerPoint 和 OpenDocument 演示文稿中提取完整幻灯片背景为图像,简化可视化工作流。" --- -在 PowerPoint 演示文稿中,幻灯片背景可以由许多元素组成。除了设置为 [幻灯片背景](/slides/zh/python-net/presentation-background/) 的图像外,最终背景还可以受到演示文稿主题、配色方案以及放置在母版幻灯片和布局幻灯片上的形状的影响。 +## **获取完整幻灯片背景** -Aspose.Slides for Python 并没有提供一个简单的方法来将整个演示文稿的幻灯片背景提取为图像,但您可以按照以下步骤进行操作: +在 PowerPoint 演示文稿中,幻灯片背景可能由多种元素组成。除了设置为 [slide background](/slides/zh/python-net/presentation-background/) 的图像外,最终的背景还可能受到演示主题、配色方案以及放置在母版幻灯片和布局幻灯片上的形状的影响。 + +Aspose.Slides for Python 未提供直接提取整个演示文稿幻灯片背景为图像的简易方法,但您可以按照以下步骤实现: 1. 使用 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类加载演示文稿。 -1. 获取演示文稿的幻灯片大小。 +1. 从演示文稿获取幻灯片尺寸。 1. 选择一张幻灯片。 1. 创建一个临时演示文稿。 -1. 在临时演示文稿中设置相同的幻灯片大小。 -1. 将选择的幻灯片克隆到临时演示文稿中。 -1. 删除克隆幻灯片中的形状。 -1. 将克隆的幻灯片转换为图像。 +1. 在临时演示文稿中设置相同的幻灯片尺寸。 +1. 将选中的幻灯片克隆到临时演示文稿中。 +1. 删除克隆后幻灯片上的所有形状。 +1. 将克隆后的幻灯片转换为图像。 -以下代码示例提取整个演示文稿的幻灯片背景作为图像。 +以下代码示例演示如何将整个演示文稿幻灯片背景提取为图像。 ```py slide_index = 0 image_scale = 1 @@ -46,4 +53,23 @@ with slides.Presentation("sample.pptx") as presentation: with cloned_slide.get_image(image_scale, image_scale) as background: background.save("output.png", slides.ImageFormat.PNG) -``` \ No newline at end of file +``` + + +## **常见问题** + +**从母版幻灯片中复杂的渐变、纹理或图片填充是否会在生成的背景图像中保留下来?** + +是。Aspose.Slides 会渲染在幻灯片、布局或母版上定义的渐变、图片和纹理填充。如果需要隔离继承自母版的外观,请在导出前在当前幻灯片上 [set an own background](/slides/zh/python-net/presentation-background/)。 + +**我可以在保存之前为生成的背景图像添加水印吗?** + +是。您可以在一个工作中的 [copy of the slide](/slides/zh/python-net/clone-slides/) 上添加 [add a watermark](/slides/zh/python-net/watermark/) 形状或图像(放在其他内容后面),然后再导出。这可以生成已经嵌入水印的背景图像。 + +**我可以在不关联到现有幻灯片的情况下获取特定布局或母版的背景吗?** + +是。访问所需的母版或布局,将其应用到一个具有所需尺寸的 [temporary slide](/slides/zh/python-net/clone-slides/),然后导出该幻灯片即可获得该布局或母版衍生的背景。 + +**是否存在影响图像导出的授权限制?** + +渲染功能在拥有 [valid license](/slides/zh/python-net/licensing/) 时可完整使用。评估模式下,输出可能会包含水印等限制。请在每个进程启动时激活授权后再进行批量导出。 \ No newline at end of file diff --git a/zh/python-net/developer-guide/technical-articles/multithreading/_index.md b/zh/python-net/developer-guide/technical-articles/multithreading/_index.md index 1db6193af8..bb0dafc86b 100644 --- a/zh/python-net/developer-guide/technical-articles/multithreading/_index.md +++ b/zh/python-net/developer-guide/technical-articles/multithreading/_index.md @@ -6,30 +6,29 @@ weight: 200 url: /zh/python-net/multithreading/ keywords: - 多线程 -- 多个线程 +- 多线程 - 并行工作 - 转换幻灯片 -- 幻灯片转图片 +- 幻灯片转图像 - PowerPoint - OpenDocument - 演示文稿 - Python - Aspose.Slides -description: "Aspose.Slides for Python via .NET 的多线程功能提升了 PowerPoint 和 OpenDocument 的处理速度。了解高效演示文稿工作流程的最佳实践。" +description: "通过 .NET 多线程,Aspose.Slides for Python 提升 PowerPoint 和 OpenDocument 的处理性能。了解高效演示文稿工作流的最佳实践。" --- ## **介绍** -虽然在演示文稿中进行并行工作是可能的(除了解析/加载/克隆),且大多数情况下运行良好,但在多线程中使用库时,您可能会获得不正确结果的可能性较小。 +虽然可以对演示文稿进行并行操作(除了解析/加载/克隆之外)并且大多数情况下都能顺利进行,但在多线程使用库时仍有小概率会得到不正确的结果。 -我们强烈建议您**不要**在多线程环境中使用单个[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)实例,因为这可能导致不可预测的错误或故障,这些问题不易被检测到。 +我们强烈建议您 **不要** 在多线程环境中使用单个[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)实例,因为这可能导致不可预测的错误或故障,且不易被检测到。 -在多个线程中加载、保存和/或克隆[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类的实例是**不安全**的。这种操作**不**受支持。如果您需要执行此类任务,您必须使用多个单线程进程并行处理操作——每个进程都应使用其自己的演示文稿实例。 +在多个线程中加载、保存和/或克隆[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)类的实例是 **不安全** 的,此类操作 **不受支持**。如果需要执行此类任务,必须使用多个单线程进程并行操作——每个进程都应使用其自己的演示文稿实例。 ## **并行将演示文稿幻灯片转换为图像** -假设我们想要将PowerPoint演示文稿中的所有幻灯片并行转换为PNG图像。由于在多个线程中使用单个`Presentation`实例是不安全的,因此我们将演示文稿幻灯片拆分为单独的演示文稿,并在并行中将幻灯片转换为图像,每个演示文稿在单独的线程中使用。以下代码示例演示了如何做到这一点。 - +假设我们想并行地将 PowerPoint 演示文稿的所有幻灯片转换为 PNG 图像。由于在多个线程中使用单个`Presentation`实例不安全,我们将幻灯片拆分为多个独立的演示文稿,并在各自的线程中并行转换为图像。以下代码示例展示了实现方式。 ```py input_file_path = "sample.pptx" output_file_path_template = "slide_{0}.png" @@ -44,7 +43,7 @@ conversion_tasks = [] def convert_slide(slide_index): - # 将幻灯片i提取到单独的演示文稿中。 + # 将第 i 张幻灯片提取为单独的演示文稿。 with Presentation() as slide_presentation: slide_presentation.slide_size.set_size(slide_size.width, slide_size.height, SlideSizeScaleType.DO_NOT_SCALE) slide_presentation.slides.remove_at(0) @@ -68,4 +67,23 @@ for task in conversion_tasks: task.result() del presentation -``` \ No newline at end of file +``` + + +## **常见问题** + +**我需要在每个线程中调用授权设置吗?** + +不需要。只需在进程/应用域启动线程之前执行一次即可。如果 [license setup](/slides/zh/python-net/licensing/) 可能被并发调用(例如在惰性初始化期间),请对该调用进行同步,因为授权设置方法本身不是线程安全的。 + +**我可以在线程之间传递 `Presentation` 或 `Slide` 对象吗?** + +不建议在线程之间传递“活动”的演示文稿对象:请为每个线程使用独立的实例,或预先为每个线程创建单独的演示文稿/幻灯片容器。此做法遵循不在多线程中共享单个演示文稿实例的一般建议。 + +**如果每个线程都有自己的 `Presentation` 实例,是否可以安全地并行导出为不同格式(PDF、HTML、图像)?** + +可以。只要使用独立的实例并指定不同的输出路径,这类任务通常能够安全并行;请避免共享演示文稿对象和共享的 I/O 流。 + +**在多线程环境中全局字体设置(文件夹、替换)该如何处理?** + +在启动线程之前初始化所有全局字体设置,并在并行工作期间不要更改它们。这可以消除访问共享字体资源时的竞争问题。 \ No newline at end of file diff --git a/zh/python-net/getting-started/features-overview/_index.md b/zh/python-net/getting-started/features-overview/_index.md index 661d2c99a3..c08eca2044 100644 --- a/zh/python-net/getting-started/features-overview/_index.md +++ b/zh/python-net/getting-started/features-overview/_index.md @@ -16,78 +16,98 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解适用于 .NET 的 Aspose.Slides for Python:一款强大的 API,可高效创建、编辑、自动化和转换 PowerPoint 与 OpenDocument 演示文稿。" +description: "发现 Aspose.Slides for Python via .NET:一个强大的 API,可高效地创建、编辑、自动化并转换 PowerPoint 和 OpenDocument 演示文稿。" --- -## **支持的平台** -Aspose.Slides for Python via .NET 可在安装有 Python 3.5 或更高版本的 Windows x64 或 x86 和广泛的 Linux 发行版上使用。目标 Linux 平台还有额外的要求: -- GCC-6 运行时库(或更高版本) -- .NET Core Runtime 的依赖项。安装 .NET Core Runtime 本身不是必须的。 -- 对于 Python 3.5-3.7:需要 `pymalloc` 构建的 Python。`--with-pymalloc` Python 构建选项默认启用。通常,`pymalloc` 构建的 Python 文件名带有 `m` 后缀。 -- `libpython` 共享 Python 库。`--enable-shared` Python 构建选项默认禁用,一些 Python 发行版不包含 `libpython` 共享库。对于某些 Linux 平台,可以使用包管理器安装 `libpython` 共享库,例如:`sudo apt-get install libpython3.7`。普遍的问题是 `libpython` 库安装在不同于共享库标准系统位置的地方。该问题可以通过使用 Python 构建选项在编译 Python 时设置备用库路径来解决,或者通过在共享库的系统标准位置创建指向 `libpython` 库文件的符号链接来解决。通常,Python 3.5-3.7 的 `libpython` 共享库文件名为 `libpythonX.Ym.so.1.0`,而 Python 3.8 或更高版本的文件名为 `libpythonX.Y.so.1.0`(例如:`libpython3.7m.so.1.0`,`libpython3.9.so.1.0`)。 +## **受支持的平台** +Aspose.Slides for Python via .NET 可以在 Windows x64 或 x86 以及安装了 Python 3.5 及以上的广泛 Linux 发行版上使用。目标 Linux 平台还有以下额外要求: +- GCC-6 运行时库(或更高) +- .NET Core Runtime 的依赖项。无需安装 .NET Core Runtime 本身 +- 对于 Python 3.5-3.7:需要 `pymalloc` 构建的 Python。默认启用 `--with-pymalloc` Python 构建选项。通常,`pymalloc` 构建的 Python 在文件名中带有 `m` 后缀。 +- `libpython` 共享 Python 库。默认情况下 `--enable-shared` Python 构建选项是禁用的,某些 Python 发行版不包含 `libpython` 共享库。对于某些 Linux 平台,可以使用包管理器安装 `libpython` 共享库,例如:`sudo apt-get install libpython3.7`。常见问题是 `libpython` 库被安装在不同于系统标准共享库位置的目录中。可以通过在编译 Python 时使用 Python 构建选项设置备用库路径,或在系统标准共享库位置创建指向 `libpython` 库文件的符号链接来解决此问题。通常,`libpython` 共享库文件名为 Python 3.5-3.7 的 `libpythonX.Ym.so.1.0`,或 Python 3.8 及以上的 `libpythonX.Y.so.1.0`(例如:`libpython3.7m.so.1.0`、`libpython3.9.so.1.0`)。 -如果您需要支持更多平台,请查找 “兄弟” 产品 Aspose.Slides for .NET 或 Aspose.Slides for Java。 +如果您需要支持更多平台,请查找 “双胞胎” 产品 Aspose.Slides for .NET 或 Aspose.Slides for Java。 ## **文件格式和转换** -Aspose.Slides for Python via .NET 支持大多数 PowerPoint 文档格式。它还允许您将它们导出到组织广泛使用和交换的流行格式。请查看以下详细信息: +Aspose.Slides for Python via .NET 支持大多数 PowerPoint 文档格式。它还可以将这些文档导出为组织广泛使用和相互交换的流行格式。查看以下详细信息: -|**功能**|**描述**| +|**特性**|**描述**| | :- | :- | -|[Microsoft PowerPoint (PPT)](/slides/zh/python-net/ppt-vs-pptx/)|Aspose.Slides for Python via .NET 为该演示文档格式提供最快的处理速度。| -|[PPT 到 PPTX 转换](/slides/zh/python-net/convert-ppt-to-pptx/)|Aspose.Slides for Python via .NET 支持将 PPT 转换为 PPTX。| -|[可移植文档格式 (PDF)](/slides/zh/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|您可以使用单个方法将所有支持的文件格式导出为 Adobe 可移植文档格式 (PDF) 文档。| -|[XML 解析器规范 (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|您可以使用单个方法将所有支持的文件格式导出为 XML 解析器规范 (XPS) 文档。| -|[标记图像文件格式 (TIFF)](/slides/zh/python-net/convert-powerpoint-to-tiff/)|您可以将所有支持的演示文档格式导出为标记图像文件格式 (TIFF)。| -|[PPTX 到 HTML 转换](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides for Python via .NET 支持将 PresentationEx 转换为 HTML 格式。| +|[Microsoft PowerPoint (PPT)](/slides/zh/python-net/ppt-vs-pptx/)|Aspose.Slides for Python via .NET 为此演示文稿格式提供最快的处理速度。| +|[PPT 转换为 PPTX](/slides/zh/python-net/convert-ppt-to-pptx/)|Aspose.Slides for Python via .NET 支持 PPT 转换为 PPTX。| +|[可移植文档格式 (PDF)](/slides/zh/python-net/convert-powerpoint-ppt-and-pptx-to-pdf/)|您可以使用单一方法将所有支持的文件格式导出为 Adobe 可移植文档格式(PDF)文档。| +|[XML 解析规范 (XPS)](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/)|您可以使用单一方法将所有支持的文件格式导出为 XML 解析规范(XPS)文档。| +|[Tagged Image File Format (TIFF)](/slides/zh/python-net/convert-powerpoint-to-tiff/)|您可以将所有支持的演示文稿文件格式导出为标记图像文件格式(TIFF)。| +|[PPTX 转换为 HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/)|Aspose.Slides for Python via .NET 支持将 PresentationEx 转换为 HTML 格式。| ## **渲染和打印** -Aspose.Slides for Python via .NET 支持将演示文档中的幻灯片高保真度渲染为各种图形格式。请查看以下详细信息: +Aspose.Slides for Python via .NET 支持将演示文稿中的幻灯片高保真渲染为各种图形格式。查看以下详细信息: -|**功能**|**描述**| +|**特性**|**描述**| | :- | :- | -|.NET 支持的图像格式|使用 Aspose.Slides for Python via .NET,您可以将演示文稿幻灯片和幻灯片上的图像渲染为所有 .NET 支持的图形格式,例如 TIFF、PNG、BMP、JPEG、GIF 和元文件。| -|SVG 格式|Aspose.Slides for Python via .NET 还提供内置方法,允许您将演示文稿幻灯片导出为可缩放矢量图形 (SVG) 格式。| -|演示文稿打印|Aspose.Slides for Python via .NET 的最新版本提供了具有不同选项的内置打印方法。| +|支持的 .NET 图像格式|使用 Aspose.Slides for Python via .NET,您可以将演示文稿幻灯片及幻灯片中的图像渲染为所有 .NET 支持的图形格式,如 TIFF、PNG、BMP、JPEG、GIF 和元文件。| +|SVG 格式|Aspose.Slides for Python via .NET 还提供内置方法,允许您将演示文稿幻灯片导出为可缩放矢量图形(SVG)格式。| +|演示文稿打印|Aspose.Slides for Python via .NET 的最新版本提供具有不同选项的内置打印方法。| -## **内容特性** -Aspose.Slides for Python via .NET 允许您访问、修改或创建演示文档几乎所有的项目或内容。请查看以下详细信息: +## **内容功能** +Aspose.Slides for Python via .NET 允许您访问、修改或创建演示文稿文档的几乎所有项目或内容。查看以下详细信息: -|**功能**|**描述**| +|**特性**|**描述**| | :- | :- | -|母版幻灯片|母版幻灯片定义了普通幻灯片的布局。Aspose.Slides for Python via .NET 允许您访问和修改演示文档的母版幻灯片。| -|普通幻灯片|使用 Aspose.Slides for Python via .NET,您可以创建不同类型的新幻灯片;您还可以访问和修改演示文稿中现有的幻灯片。| -|克隆/复制幻灯片|Aspose.Slides for Python via .NET 提供内置方法,允许您在演示文稿中克隆或复制现有幻灯片。您还可以将复制和克隆的幻灯片从一个演示文稿使用到另一个演示文稿。由于幻灯片从母版幻灯片继承其布局,因此内置的克隆方法会自动在克隆时复制母版。| -|管理幻灯片部分|在演示文稿中以不同部分组织幻灯片的方法。| -|占位符和文本占位符|您可以访问幻灯片中的占位符和文本占位符。此外,您可以使用适当的方法从头开始创建带有文本占位符的幻灯片。| -|页眉和页脚|Aspose.Slides for Python via .NET 方便地处理幻灯片中的页眉/页脚。| -|幻灯片中的备注|使用 Aspose.Slides for Python via .NET,您可以访问和修改与幻灯片相关的备注,并添加新的备注。| -|寻找形状|您还可以使用与形状相关的替代文本从幻灯片中找到特定形状。| -|背景|Aspose.Slides for Python via .NET 允许您处理与演示文稿中的母版或普通幻灯片相关的背景。| -|文本框|文本框可以从头开始创建。您可以访问现有的文本框。您还可以在不丢失原始文本格式的情况下修改其文本。| +|母版幻灯片|母版幻灯片定义普通幻灯片的布局。Aspose.Slides for Python via .NET 允许您访问并修改演示文稿的母版幻灯片。| +|普通幻灯片|使用 Aspose.Slides for Python via .NET,您可以创建不同类型的新幻灯片;还可以访问并修改演示文稿中已有的幻灯片。| +|克隆/复制幻灯片|Aspose.Slides for Python via .NET 提供内置方法,允许您在演示文稿中克隆或复制已有幻灯片。您还可以将复制或克隆的幻灯片从一个演示文稿用于另一个演示文稿。由于幻灯片从母版幻灯片继承布局,内置克隆方法在克隆时会自动复制母版。| +|管理幻灯片章节|用于在演示文稿中将幻灯片组织到不同章节的方法。| +|占位符和文本占位符|您可以访问幻灯片中的占位符和文本占位符。此外,您可以使用相应方法从头创建带有文本占位符的幻灯片。| +|页眉和页脚|Aspose.Slides for Python via .NET 方便在幻灯片中处理页眉/页脚。| +|幻灯片备注|使用 Aspose.Slides for Python via .NET,您可以访问并修改与幻灯片关联的备注,并添加新备注。| +|查找形状|您还可以使用形状的替代文本在幻灯片中查找特定形状。| +|背景|Aspose.Slides for Python via .NET 允许您处理与演示文稿中母版或普通幻灯片关联的背景。| +|文本框|可以从头创建文本框。您可以访问已有的文本框,并在不丢失原始文本格式的情况下修改其文本。| |矩形形状|您可以使用 Aspose.Slides for Python via .NET 创建或修改矩形形状。| |折线形状|您可以使用 Aspose.Slides for Python via .NET 创建或修改折线形状。| |椭圆形状|您可以使用 Aspose.Slides for Python via .NET 创建或修改椭圆形状。| -|组合形状|Aspose.Slides for Python via .NET 支持组合形状。| +|组形状|Aspose.Slides for Python via .NET 支持组形状。| |自动形状|Aspose.Slides for Python via .NET 支持自动形状。| -|SmartArt|Aspose.Slides for Python via .NET 提供对 MS PowerPoint 中 SmartArt 形状的支持。| -|图表|Aspose.Slides for Python via .NET 提供对 PowerPoint 中 MSO 图表的支持。| -|形状序列化|Aspose.Slides for Python via .NET 支持大量形状。当 Aspose.Slides for Python via .NET 对某个形状缺乏支持时,您可以使用序列化方法,通过该方法可以序列化来自现有幻灯片的形状。这样,您可以根据需求进一步使用该形状。| +|SmartArt|Aspose.Slides for Python via .NET 为 MS PowerPoint 中的 SmartArt 形状提供支持。| +|图表|Aspose.Slides for Python via .NET 为 PowerPoint 中的 MSO 图表提供支持。| +|形状序列化|Aspose.Slides for Python via .NET 支持大量形状。当 Aspose.Slides for Python via .NET 未对某个形状提供支持时,您可以使用序列化方法将该形状从已有幻灯片序列化。这样,您即可根据需求进一步使用该形状。| |图片框|您可以使用 Aspose.Slides for Python via .NET 管理图片框中的图片。| -|音频框|您可以在幻灯片的音频框中链接或嵌入音频文件,使用 Aspose.Slides for Python via .NET。| -|视频框|您可以在视频框中处理视频文件。Aspose.Slides for Python via .NET 还支持链接和嵌入视频。| -|OLE 框|您可以使用 Aspose.Slides for Python via .NET 管理 OLE 框中的 OLE 对象。| +|音频框|您可以在幻灯片的音频框中链接或嵌入音频文件。| +|视频框|您可以在视频框中处理视频文件。Aspose.Slides for Python via .NET 还提供对链接和嵌入视频的支持。| +|OLE 框|您可以使用 Aspose.Slides for Python via .NET 在 OLE 框中管理 OLE 对象。| |表格|Aspose.Slides for Python via .NET 支持幻灯片中的表格。| |ActiveX 控件|支持 ActiveX 控件。| -|VBA 宏|支持管理演示文稿中的 VBA 宏。| -|文本框|您可以通过与该形状相关的文本框访问任何形状中的文本。| -|文本扫描|您可以通过内置扫描方法在演示文稿或幻灯片级别扫描文本。| -|动画|您可以在形状上应用动画。| +|VBA 宏|支持在演示文稿中管理 VBA 宏。| +|文本框架|您可以通过与形状关联的文本框架访问该形状的文本。| +|文本扫描|您可以通过内置扫描方法在演示文稿或幻灯片层面扫描文本。| +|动画|您可以对形状应用动画。| |幻灯片放映|Aspose.Slides for Python via .NET 支持幻灯片放映和幻灯片切换。| -## **格式化特性** -使用 Aspose.Slides for Python via .NET,您可以格式化演示文稿幻灯片中的文本和形状。请查看以下详细信息: +## **格式化功能** +使用 Aspose.Slides for Python via .NET,您可以对演示文稿幻灯片中的文本和形状进行格式化。查看以下详细信息: -|**功能**|**描述**| +|**特性**|**描述**| | :- | :- | -|文本格式化|

    在 Aspose.Slides for Python via .NET 中,您可以通过与形状关联的文本框管理文本。因此,您可以使用与文本框相关的段落和部分格式化文本。这些文本元素可以通过 Aspose.Slides for Python via .NET 进行格式化。

    - 字体类型

    - 字体大小

    - 字体颜色

    - 字体阴影

    - 段落对齐

    - 段落项目符号

    - 段落方向

    | -|形状格式化|

    在 Aspose.Slides for Python via .NET 中,幻灯片的基本元素是形状。您可以使用 Aspose.Slides for Python via .NET 格式化这些形状元素:

    - 位置

    - 尺寸

    - 线条

    - 填充(包括图案、渐变、实心)

    - 文本

    - 图像

    | \ No newline at end of file +|文本格式化|

    在 Aspose.Slides for Python via .NET 中,您可以通过形状关联的文本框管理文本。因此,您可以使用与文本框关联的段落和文本片段对文本进行格式化。这些文本元素可通过 Aspose.Slides for Python via .NET 进行格式化。

    - 字体类型

    - 字体大小

    - 字体颜色

    - 字体色调

    - 段落对齐

    - 段落项目符号

    - 段落方向

    | +|形状格式化|

    在 Aspose.Slides for Python via .NET 中,幻灯片的基本元素是形状。您可以使用 Aspose.Slides for Python via .NET 对这些形状元素进行格式化:

    - 位置

    - 大小

    - 线条

    - 填充(包括图案、渐变、纯色)

    - 文本

    - 图像

    | + +## **常见问题** + +**我需要在服务器/电脑上安装 Microsoft PowerPoint 才能使库工作吗?** +不需要。PowerPoint 并非必装;Aspose.Slides 是一个用于创建、编辑、转换和渲染演示文稿的独立引擎。 + +**多线程是如何工作的?处理可以并行化吗?** +在不同线程中处理不同文档是安全的;同一 [presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 对象不能在 [multiple threads](/slides/zh/python-net/multithreading/) 中同时使用。 + +**是否支持文件密码和加密?** +是的。[您可以](/slides/zh/python-net/password-protected-presentation/) 打开受加密的演示文稿,设置或移除打开和写入密码,并检查保护状态。 + +**我需要关注 Linux 容器中的字体包吗?** +是的。建议在您的应用程序中安装常用字体包和/或显式 [指定字体目录](/slides/zh/python-net/custom-font/) 以避免意外的字体替换。 + +**评估版是否有限制?** +在 [评估模式](/slides/zh/python-net/licensing/) 下,输出会添加水印并存在某些限制;可获取 [30 天临时许可证](https://purchase.aspose.com/temporary-license/) 以进行完整功能测试。 + +**是否支持将外部格式导入到演示文稿(PDF/HTML → PPTX)?** +是的。您可以向演示文稿中添加 [PDF 页面和 HTML 内容](/slides/zh/python-net/import-presentation/),将其转换为幻灯片。 \ No newline at end of file diff --git a/zh/python-net/getting-started/metered-licensing/_index.md b/zh/python-net/getting-started/metered-licensing/_index.md index 32308b42af..280b9d2d41 100644 --- a/zh/python-net/getting-started/metered-licensing/_index.md +++ b/zh/python-net/getting-started/metered-licensing/_index.md @@ -1,56 +1,88 @@ --- -title: 按使用计费许可 +title: 计量授权 type: docs weight: 90 url: /zh/python-net/metered-licensing/ +keywords: +- 许可证 +- 计量许可证 +- 许可证密钥 +- 公钥 +- 私钥 +- 消耗数量 +- Python +- Aspose.Slides +description: "了解 Aspose.Slides for Python via .NET 计量授权如何灵活处理 PowerPoint 和 OpenDocument 文件,仅为实际使用付费。" --- +## **应用计量密钥** + {{% alert color="primary" %}} -按使用计费许可是一种新的许可机制,可以与现有的许可方法一起使用。如果您希望根据使用 Aspose.Slides API 功能的情况进行计费,则可以选择按使用计费许可。 +计量许可证是一种新的授权机制,可与现有的授权方式一起使用。如果您希望根据对 Aspose.Slides API 功能的使用量计费,请选择计量授权。 -当您购买按使用计费的许可证时,您会获得密钥(而不是许可证文件)。这个按使用计费的密钥可以通过 Aspose 提供的 [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) 类用于计量操作。有关更多详细信息,请参见 [Metered Licensing FAQ](https://purchase.aspose.com/faqs/licensing/metered)。 +购买计量许可证后,您将获得密钥(而非许可证文件)。可以使用 Aspose 为计量操作提供的 [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) 类来应用此计量密钥。更多详情请参阅 [Metered Licensing FAQ](https://purchase.aspose.com/faqs/licensing/metered)。 {{% /alert %}} 1. 创建 [Metered](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) 类的实例。 -1. 将您的公钥和私钥传递给 `set_metered_key` 方法。 -1. 进行一些处理(执行任务)。 -1. 调用 Metered 类的 `get_consumption_quantity()` 方法。 - - 您应该查看到您到目前为止消耗的 API 请求的数量。 +1. 将您的公钥和私钥传递给 [set_metered_key](https://reference.aspose.com/slides/python-net/aspose.slides/metered/set_metered_key/#str-str) 方法。 +1. 执行一些处理(执行任务)。 +1. 调用 `Metered` 类的 [get_consumption_quantity](https://reference.aspose.com/slides/python-net/aspose.slides/metered/get_consumption_quantity/#) 方法。 -以下 Python 代码演示了如何设置按使用计费的公钥和私钥: +您应该能够看到迄今为止已消耗的 API 请求数量/金额。 +以下示例代码展示了如何使用计量授权: ```python import aspose.slides as slides -# 创建 CAD Metered 类的实例 +# 创建 Metered 类的实例 metered = slides.Metered() -# 访问 set_metered_key 属性并将公钥和私钥作为参数传递 -metered.set_metered_key("*****", "*****") - -# 调用 API 前获取计量数据的数量 -amountbefore = slides.metered.get_consumption_quantity() -# 显示信息 -print("调用前消耗的数量: " + str(amountbefore)) - -# 从磁盘加载文档。 -with slides.Presentation("Presentation.pptx") as pres: - # 获取文档的页面数 - print(len(pres.slides)) - # 保存为 PDF - pres.save("out_pdf.pdf", slides.export.SaveFormat.PDF) - -# 调用 API 后获取计量数据的数量 -amountafter = slides.metered.get_consumption_quantity() -# 显示信息 -print("调用后消耗的数量: " + str(amountafter)) +# 将公钥和私钥传递给 Metered 对象 +metered.set_metered_key("", "") + +# 在 API 调用之前获取已消耗的数量值 +amount_before = slides.Metered.get_consumption_quantity() +print("Amount consumed before:", amount_before) + +# 在此使用 Aspose.Slides API 执行操作 +# ... + +# 在 API 调用之后获取已消耗的数量值 +amount_after = slides.Metered.get_consumption_quantity() +print("Amount consumed after:", amount_after) ``` -{{% alert color="warning" title="注意" %}} -要使用按使用计费许可,您需要稳定的互联网连接,因为该许可机制使用互联网不断与我们的服务进行交互并执行计算。 +{{% alert color="warning" title="注意" %}} + +使用计量授权时,需要保持稳定的互联网连接,因为授权机制会通过互联网不断与我们的服务交互并进行计费计算。 + +{{% /alert %}} + +## **常见问题** + +**我可以在同一个应用程序中同时使用计量许可证和常规许可证(永久或临时)吗?** + +可以。计量是一种可以与现有 [licensing methods](/slides/zh/python-net/licensing/) 一起使用的额外授权机制。您可以在应用启动时选择使用哪种机制。 + +**计量许可证的消耗具体指什么:操作还是文件?** + +计量基于 API 使用量,即请求或操作的次数。您可以通过 [consumption‑tracking methods](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) 获取当前的消耗情况。 + +**计量许可证适用于实例经常重启的微服务和无服务器环境吗?** + +适用。由于计费在每次 API 调用层面完成,频繁的冷启动场景是兼容的,只要能够保持稳定的网络访问以进行计量计算。 + +**使用计量许可证时,库的功能是否与永久许可证不同?** + +不不同。这仅涉及授权和计费机制,产品的功能保持一致。 + +**计量许可证与试用版和临时许可证有什么关系?** + +试用版会有限制并添加水印,[temporary license](https://purchase.aspose.com/temporary-license/) 可在 30 天内解除限制,而计量许可证则在解除限制的同时根据实际使用量计费。 + +**我可以通过自动响应消费阈值来控制预算吗?** -{{% /alert %}} \ No newline at end of file +可以。常见做法是定期通过 [tracking methods](https://reference.aspose.com/slides/python-net/aspose.slides/metered/) 读取当前消耗,并在应用或监控层面实现自定义的限制或警报。 \ No newline at end of file diff --git a/zh/python-net/getting-started/system-requirements/_index.md b/zh/python-net/getting-started/system-requirements/_index.md index 3ca77db63f..22a528cbc4 100644 --- a/zh/python-net/getting-started/system-requirements/_index.md +++ b/zh/python-net/getting-started/system-requirements/_index.md @@ -16,14 +16,16 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "了解 Aspose.Slides for Python via .NET 的系统要求。在 Windows、Linux 和 macOS 上确保对 PowerPoint 和 OpenDocument 的无缝支持。" +description: "了解 Aspose.Slides for Python via .NET 的系统要求。确保在 Windows、Linux 和 macOS 上无缝支持 PowerPoint 和 OpenDocument。" --- -Aspose.Slides for Python via .NET 不需要安装任何第三方产品,例如 Microsoft PowerPoint。Aspose.Slides 本身是一个用于创建、修改、转换和呈现各种格式文档的引擎,包括 Microsoft PowerPoint 演示文稿格式。 +## **介绍** -## 受支持的操作系统 +Aspose.Slides for Python via .NET 不需要安装任何第三方产品,例如 Microsoft PowerPoint。Aspose.Slides 是一个用于创建、修改、转换和渲染各种格式文档(包括 Microsoft PowerPoint 演示文稿格式)的引擎。 -Aspose.Slides for Python via .NET 支持安装了 Python 3.5 或更高版本的 Windows 64 位和 32 位、macOS、Linux 64 位操作系统。 +## **支持的操作系统** + +Aspose.Slides for Python 支持在已安装 Python 3.5 或更高版本的系统上运行的 Windows(32 位和 64 位)、macOS 和 64 位 Linux。 @@ -56,7 +58,7 @@ Aspose.Slides for Python via .NET 支持安装了 Python 3.5 或更高版本的
  • Ubuntu
  • OpenSUSE
  • CentOS
  • -
  • 还有其他
  • +
  • 以及其他
  • @@ -70,10 +72,24 @@ Aspose.Slides for Python via .NET 支持安装了 Python 3.5 或更高版本的
    -## 目标 Linux 和 macOS 平台的系统要求 +## **目标 Linux 和 macOS 平台的系统要求** + +- GCC 6 运行时库(或更高版本)。 +- [libgdiplus](https://github.com/mono/libgdiplus),GDI+ API 的开源实现。 +- .NET Core 运行时的依赖项。无需安装 .NET Core 运行时本身。 +- 对于 Python 3.5–3.7:需要 `pymalloc` 构建的 Python。默认启用 `--with-pymalloc` 构建选项。通常,`pymalloc` 构建的 Python 文件名会带有 `m` 后缀。 +- `libpython` 共享库。默认情况下 `--enable-shared` Python 构建选项是关闭的,某些 Python 发行版不包含 `libpython` 共享库。在一些 Linux 平台上,可以使用包管理器安装 `libpython` 共享库(例如 `sudo apt-get install libpython3.7`)。常见问题是 `libpython` 库被安装在非标准的共享库位置。可以通过在编译 Python 时使用构建选项设置备用库路径,或在系统标准共享库目录下创建指向 `libpython` 库文件的符号链接来解决。通常,`libpython` 共享库文件名为 Python 3.5–3.7 的 `libpythonX.Ym.so.1.0`,或 Python 3.8 及以上的 `libpythonX.Y.so.1.0`(例如 `libpython3.7m.so.1.0`、`libpython3.9.so.1.0`)。 + +## **常见问题** + +**转换和渲染是否需要安装 Microsoft PowerPoint?** + +不需要,PowerPoint 并非必装;Aspose.Slides 是一个独立的引擎,可用于[创建](/slides/zh/python-net/create-presentation/)、修改、[转换](/slides/zh/python-net/convert-presentation/)以及[渲染](/slides/zh/python-net/convert-powerpoint-to-png/)演示文稿。 + +**机器上是否需要特定的 .NET 版本(Core/5+/6+)?** + +无需安装 .NET 运行时本身,但必须在 Linux/macOS 上具备其依赖项。这意味着系统应包含通常作为 .NET 依赖项安装的包,而无需完整安装运行时。 + +**渲染时需要哪些字体?** -- GCC-6 运行时库(或更高版本)。 -- [`libgdiplus`](https://github.com/mono/libgdiplus):GDI+ API 的开源实现。 -- .NET Core 运行时的依赖项。安装 .NET Core 运行时本身不是必需的。 -- 对于 Python 3.5-3.7:需要 Python 的 `pymalloc` 构建。默认启用 `--with-pymalloc` Python 构建选项。通常,Python 的 `pymalloc` 构建在文件名中以 `m` 后缀标记。 -- `libpython` 共享 Python 库。默认情况下,`--enable-shared` Python 构建选项是禁用的,一些 Python 发行版不包含 `libpython` 共享库。对于某些 Linux 平台,可以使用包管理器安装 `libpython` 共享库,例如:`sudo apt-get install libpython3.7`。常见问题是 `libpython` 库安装在与系统共享库的标准位置不同的位置。可以通过使用 Python 构建选项在编译 Python 时设置替代库路径来解决此问题,或者通过在系统共享库的标准位置创建指向 `libpython` 库文件的符号链接来解决此问题。通常,Python 3.5-3.7 的 `libpython` 共享库文件名为 `libpythonX.Ym.so.1.0`,或 Python 3.8 或更高版本的 `libpythonX.Y.so.1.0`(例如:libpython3.7m.so.1.0,libpython3.9.so.1.0)。 +实际上,需要演示文稿中使用的字体或相应的[替代字体](/slides/zh/python-net/font-substitution/)。为确保在 Linux/macOS 上渲染一致,建议安装常用的字体包。 \ No newline at end of file