# حل عملي لتغيير حجم المخططات في PPTX

> 

Source: https://docs.aspose.com/slides/ar/php-java/working-solution-for-chart-resizing-in-pptx/
Updated: 2024-10-08


{{% alert color="primary" %}} 

لوحظ أن مخططات Excel المدمجة كـ OLE في عرض PowerPoint من خلال مكونات Aspose يتم تغيير حجمها إلى مقياس غير محدد بعد التفعيل للمرة الأولى. هذه السلوك يخلق فرقًا بصريًا كبيرًا في العرض بين حالات تفعيل المخطط المسبق واللاحق. قامت فريق Aspose بمساعدة فريق Microsoft بالتحقيق في هذه القضية بالتفصيل ووجدت الحل لهذه المشكلة. يغطي هذا المقال الأسباب والحل لهذه القضية.

{{% /alert %}} 
## **الخلفية**
في [المقال السابق](/slides/ar/php-java/creating-excel-chart-and-embedding-it-in-presentation-as-ole-object/) ، شرحنا كيفية إنشاء مخطط Excel باستخدام Aspose.Cells لـ Java ودمج هذا المخطط في عرض PowerPoint باستخدام Aspose.Slides لـ PHP عبر Java. من أجل التعامل مع [قضية تغيير الكائن](/slides/ar/php-java/updating-ole-objects-automatically-using-ms-powerpoint-add-in/) ، قمنا بتعيين صورة المخطط إلى إطار كائن OLE للمخطط. في العرض الناتج، عند النقر المزدوج على إطار الكائن OLE الذي يعرض صورة المخطط، يتم تفعيل مخطط Excel. يمكن للمستخدمين النهائيين إجراء أي تغييرات مرغوبة في دفتر العمل Excel الفعلي ثم العودة إلى الشريحة المعنية عن طريق النقر خارج دفتر العمل Excel المActivated. سيتغير حجم إطار الكائن OLE عندما يعود المستخدم إلى الشريحة. سيكون عامل تغيير الحجم مختلفًا لأحجام مختلفة من إطار الكائن OLE ودفتر العمل Excel المدمج.
## **سبب تغيير الحجم**
نظرًا لأن دفتر العمل Excel له حجمه الخاص، فإنه يحاول الحفاظ على حجمه الأصلي عند التفعيل للمرة الأولى. من ناحية أخرى، سيكون لإطار الكائن OLE حجمه الخاص. وفقًا لمايكروسوفت، عند تفعيل دفتر العمل Excel، يتفاوض Excel وPowerPoint على الحجم ويضمن أنه في النسب الصحيحة كجزء من عملية الدمج. استنادًا إلى الاختلافات في حجم نافذة Excel وحجم / موضع إطار الكائن OLE، يحدث تغيير الحجم.
## **حل عملي**
هناك سيناريوهين محتملين لإنشاء عروض PowerPoint باستخدام Aspose.Slides لـ PHP عبر Java.**السيناريو 1:** إنشاء العرض استنادًا إلى قالب موجود**السيناريو 2:** إنشاء العرض من الصفر. الحل الذي سنقدمه هنا سيكون ساري المفعول لكلا السيناريوهين. ستكون أساس جميع طرق الحلول هو نفسه. وهي: **يجب أن يكون حجم نافذة كائن OLE المدمج هو نفسه حجم إطار كائن OLE** **في شريحة PowerPoint** . الآن، سنناقش نهجين للحل.
## **النهج الأول**
في هذا النهج، سنتعلم كيفية تعيين حجم نافذة دفتر العمل Excel المدمج ليكون معادلًا لحجم إطار كائن OLE في شريحة PowerPoint.**السيناريو 1**لنفرض أننا قد حددنا قالبًا ونرغب في إنشاء العروض استنادًا إلى هذا القالب. لنقل أنه هناك شكل ما في الفهرس 2 في القالب حيث نرغب في وضع إطار OLE يحمل دفتر عمل Excel المدمج. في هذا السيناريو، سيتم اعتبار حجم إطار الكائن OLE محدد مسبقًا (وهو حجم الشكل في الفهرس 2 في القالب). كل ما علينا فعله: تعيين حجم نافذة دفتر العمل ليكون مساوياً لحجم الشكل. ستخدم الكود التالي هذه الغرض:

{{< gist "aspose-com-gists" "1f55f0222bc39a382d831900e8de7400" "Examples-src-main-java-com-aspose-slides-examples-Slides-Charts-ResizeChartWithExistingTemplate-ResizeChartWithExistingTemplate.java" >}}





**السيناريو 2
**لنفرض أننا نرغب في إنشاء تقديم من الصفر ونرغب في إطار كائن OLE بأي حجم مع دفتر عمل Excel مدمج. في الكود التالي، أنشأنا إطار كائن OLE بارتفاع 4 بوصات وعرض 9.5 بوصات في الشريحة عند المحور س=0.5 بوصة ومحور ص=1 بوصة. علاوة على ذلك، قمنا بتعيين حجم نافذة دفتر العمل Excel المعادل، أي: ارتفاع 4 بوصات وعرض 9.5 بوصات.

{{< gist "aspose-com-gists" "1f55f0222bc39a382d831900e8de7400" "Examples-src-main-java-com-aspose-slides-examples-Slides-Charts-ResizeChartFromScratch-ResizeChartFromScratch.java" >}}


## **النهج الثاني**
في هذا النهج، سنتعلم كيفية تعيين حجم المخطط الموجود في دفتر العمل Excel المدمج ليكون معادلًا لحجم إطار كائن OLE في شريحة PowerPoint. هذا النهج مفيد عندما يكون حجم المخطط معروفًا مسبقًا ولن يتغير أبدًا.**السيناريو 1**لنفرض أننا قد حددنا قالبًا ونرغب في إنشاء العروض استنادًا إلى هذا القالب. لنقل أنه يوجد شكل ما في الفهرس 2 في القالب حيث نريد وضع إطار OLE يحمل دفتر عمل Excel المدمج. في هذا السيناريو، سيتم اعتبار حجم إطار OLE محدد مسبقًا (وهو حجم الشكل في الفهرس 2 في القالب). كل ما علينا فعله: تعيين حجم المخطط في دفتر العمل ليكون مساويًا لحجم الشكل. ستخدم الكود التالي هذه الغرض:

{{< gist "aspose-com-gists" "1f55f0222bc39a382d831900e8de7400" "Examples-src-main-java-com-aspose-slides-examples-Slides-Charts-ResizeChartWithExistingTemplateSecondApproach-ResizeChartWithExistingTemplateSecondApproach.java" >}}

**السيناريو 2**: لنفترض أننا نريد إنشاء تقديم من الصفر ونرغب في إطار كائن OLE بأي حجم مع دفتر عمل Excel مدمج. في الكود التالي، أنشأنا إطار كائن OLE بارتفاع 4 بوصات وعرض 9.5 بوصات في الشريحة عند المحور س=0.5 بوصة ومحور ص=1 بوصة. علاوة على ذلك، قمنا بتعيين حجم المخطط المعادل، أي: ارتفاع 4 بوصات وعرض 9.5 بوصات.

{{< gist "aspose-com-gists" "1f55f0222bc39a382d831900e8de7400" "Examples-src-main-java-com-aspose-slides-examples-Slides-Charts-ResizeChartFromScratchSecondApproach-ResizeChartFromScratchSecondApproach.java" >}}
## **الخاتمة**
{{% alert color="primary" %}} 

هناك نهجين لحل مشكلة تغيير حجم المخطط. يعتمد اختيار النهج المناسب على المتطلبات وحالة الاستخدام. يعمل كلا النهجين بنفس الطريقة سواء تم إنشاء العروض من قالب أو من الصفر. أيضًا، لا يوجد حد لحجم إطار الكائن OLE في الحل.

{{% /alert %}}
